791 }
792 if (force_addr && address != force_addr) {
793
794 dev_err(&dev->dev, "Failed to force ISA address\n");
795 return -ENODEV;
796 }
797
798 if (PCIBIOS_SUCCESSFUL !=
799 pci_read_config_byte(dev, SIS5595_ENABLE_REG, &enable)) {
800 dev_err(&dev->dev, "Failed to read enable register\n");
801 return -ENODEV;
802 }
803 if (!(enable & 0x80)) {
804 if ((PCIBIOS_SUCCESSFUL !=
805 pci_write_config_byte(dev, SIS5595_ENABLE_REG,
806 enable | 0x80))
807 || (PCIBIOS_SUCCESSFUL !=
808 pci_read_config_byte(dev, SIS5595_ENABLE_REG, &enable))
809 || (!(enable & 0x80))) {
810
811 dev_err(&dev->dev, "Failed to enable HWM device\n");
812 return -ENODEV;
813 }
814 }
815
816 if (platform_driver_register(&sis5595_driver)) {
817 dev_dbg(&dev->dev, "Failed to register sis5595 driver\n");
818 goto exit;
819 }
820
821 s_bridge = pci_dev_get(dev);
822
823 if (sis5595_device_add(address))
824 goto exit_unregister;
825
826
827
828
829
830 return -ENODEV;
831