From: Bartlomiej Zolnierkiewicz Date: Sat, 26 Apr 2008 15:36:38 +0000 (+0200) Subject: falconide: fix resources reservation (take 2) X-Git-Tag: v2.6.26-rc1~1044^2~27 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cb5528ab19ece76be5299b33746ca7d58c187a26;p=linux-2.6 falconide: fix resources reservation (take 2) * Tell IDE layer to not manage resources by setting hwif->mmio flag and request resources in falconide_init(). * Use request_mem_region() for resources reservation. * Use driver name for resources reservation. v2: * Fix missing printk() parameter. (Noticed by Geert Uytterhoeven) Cc: Geert Uytterhoeven Cc: Michael Schmitz Signed-off-by: Bartlomiej Zolnierkiewicz --- diff --git a/drivers/ide/legacy/falconide.c b/drivers/ide/legacy/falconide.c index b88a3c192d..8c9c9f7f54 100644 --- a/drivers/ide/legacy/falconide.c +++ b/drivers/ide/legacy/falconide.c @@ -22,6 +22,7 @@ #include #include +#define DRV_NAME "falconide" /* * Base of the IDE interface @@ -74,6 +75,11 @@ static int __init falconide_init(void) printk(KERN_INFO "ide: Falcon IDE controller\n"); + if (!request_mem_region(ATA_HD_BASE, 0x40, DRV_NAME)) { + printk(KERN_ERR "%s: resources busy\n", DRV_NAME); + return -EBUSY; + } + falconide_setup_ports(&hw); hwif = ide_find_port(); @@ -83,6 +89,7 @@ static int __init falconide_init(void) ide_init_port_data(hwif, index); ide_init_port_hw(hwif, &hw); + hwif->mmio = 1; ide_get_lock(NULL, NULL); ide_device_add(idx, NULL);