X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fide%2Flegacy%2Fumc8672.c;h=b54a14a577550acf3af76bfceaadf3c221433c90;hb=375614422509c98a1f3dbef410206bf81775169b;hp=757156060a6b897bc3e64cc097ce1ec29e1fd1e7;hpb=ac95beedf8bc97b24f9540d4da9952f07221c023;p=linux-2.6-omap-h63xx.git diff --git a/drivers/ide/legacy/umc8672.c b/drivers/ide/legacy/umc8672.c index 757156060a6..b54a14a5775 100644 --- a/drivers/ide/legacy/umc8672.c +++ b/drivers/ide/legacy/umc8672.c @@ -51,6 +51,8 @@ #include +#define DRV_NAME "umc8672" + /* * Default speeds. These can be changed with "auto-tune" and/or hdparm. */ @@ -125,18 +127,16 @@ static const struct ide_port_ops umc8672_port_ops = { }; static const struct ide_port_info umc8672_port_info __initdata = { + .name = DRV_NAME, .chipset = ide_umc8672, .port_ops = &umc8672_port_ops, - .host_flags = IDE_HFLAG_NO_DMA | IDE_HFLAG_NO_AUTOTUNE, + .host_flags = IDE_HFLAG_NO_DMA, .pio_mask = ATA_PIO4, }; static int __init umc8672_probe(void) { - ide_hwif_t *hwif, *mate; unsigned long flags; - static u8 idx[4] = { 0xff, 0xff, 0xff, 0xff }; - hw_regs_t hw[2]; if (!request_region(0x108, 2, "umc8672")) { printk(KERN_ERR "umc8672: ports 0x108-0x109 already in use.\n"); @@ -155,32 +155,10 @@ static int __init umc8672_probe(void) umc_set_speeds(current_speeds); local_irq_restore(flags); - memset(&hw, 0, sizeof(hw)); - - ide_std_init_ports(&hw[0], 0x1f0, 0x3f6); - hw[0].irq = 14; - - ide_std_init_ports(&hw[1], 0x170, 0x376); - hw[1].irq = 15; - - hwif = ide_find_port(); - if (hwif) { - ide_init_port_hw(hwif, &hw[0]); - idx[0] = hwif->index; - } - - mate = ide_find_port(); - if (mate) { - ide_init_port_hw(mate, &hw[1]); - idx[1] = mate->index; - } - - ide_device_add(idx, &umc8672_port_info); - - return 0; + return ide_legacy_device_add(&umc8672_port_info, 0); } -int probe_umc8672; +static int probe_umc8672; module_param_named(probe, probe_umc8672, bool, 0); MODULE_PARM_DESC(probe, "probe for UMC8672 chipset");