int __init pmac_ide_probe(void) { int error; if (!machine_is(powermac)) return -ENODEV; #ifdef CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST error = pci_register_driver(&pmac_ide_pci_driver); if (error) goto out; error = macio_register_driver(&pmac_ide_macio_driver); if (error) { pci_unregister_driver(&pmac_ide_pci_driver); goto out; } #else error = macio_register_driver(&pmac_ide_macio_driver); if (error) goto out; error = pci_register_driver(&pmac_ide_pci_driver); if (error) { macio_unregister_driver(&pmac_ide_macio_driver); goto out; } #endif out: return error; }
static void __exit exit_pmz(void) { int i; /* Get rid of macio-driver (detach from macio) */ macio_unregister_driver(&pmz_driver); for (i = 0; i < pmz_ports_count; i++) { struct uart_pmac_port *uport = &pmz_ports[i]; if (uport->node != NULL) { uart_remove_one_port(&pmz_uart_reg, &uport->port); pmz_dispose_port(uport); } } /* Unregister UART driver */ uart_unregister_driver(&pmz_uart_reg); }
static void __exit exit_airport(void) { return macio_unregister_driver(&airport_driver); }
static void __exit i2c_keywest_cleanup(void) { macio_unregister_driver(&i2c_keywest_macio_driver); of_unregister_driver(&i2c_keywest_of_platform_driver); }