static int __init ali14xx_probe(void) { printk(KERN_DEBUG "ali14xx: base=0x%03x, regOn=0x%02x.\n", basePort, regOn); /* initialize controller registers */ if (!initRegisters()) { printk(KERN_ERR "ali14xx: Chip initialization failed.\n"); return 1; } return ide_legacy_device_add(&ali14xx_port_info, 0); }
static int __init ht6560b_init(void) { if (probe_ht6560b == 0) return -ENODEV; if (!request_region(HT_CONFIG_PORT, 1, DRV_NAME)) { printk(KERN_NOTICE "%s: HT_CONFIG_PORT not found\n", __func__); return -ENODEV; } if (!try_to_init_ht6560b()) { printk(KERN_NOTICE "%s: HBA not found\n", __func__); goto release_region; } return ide_legacy_device_add(&ht6560b_port_info, 0); release_region: release_region(HT_CONFIG_PORT, 1); return -ENODEV; }
static int __init umc8672_probe(void) { unsigned long flags; if (!request_region(0x108, 2, "umc8672")) { printk(KERN_ERR "umc8672: ports 0x108-0x109 already in use.\n"); return 1; } local_irq_save(flags); outb_p(0x5A, 0x108); /* enable umc */ if (in_umc (0xd5) != 0xa0) { local_irq_restore(flags); printk(KERN_ERR "umc8672: not found\n"); release_region(0x108, 2); return 1; } outb_p(0xa5, 0x108); /* disable umc */ umc_set_speeds(current_speeds); local_irq_restore(flags); return ide_legacy_device_add(&umc8672_port_info, 0); }