diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-04-26 11:36:38 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-04-26 11:36:38 -0400 |
commit | cb5528ab19ece76be5299b33746ca7d58c187a26 (patch) | |
tree | 42067aea38b8a72c6bb22dfab1805eda17a75014 /drivers/ide/legacy/falconide.c | |
parent | 54c05395273678fe23e9169a435fdc15ee17535e (diff) |
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 <geert@linux-m68k.org>
Cc: Michael Schmitz <schmitz@debian.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/legacy/falconide.c')
-rw-r--r-- | drivers/ide/legacy/falconide.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/ide/legacy/falconide.c b/drivers/ide/legacy/falconide.c index b88a3c192d84..8c9c9f7f54ca 100644 --- a/drivers/ide/legacy/falconide.c +++ b/drivers/ide/legacy/falconide.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <asm/atariints.h> | 22 | #include <asm/atariints.h> |
23 | #include <asm/atari_stdma.h> | 23 | #include <asm/atari_stdma.h> |
24 | 24 | ||
25 | #define DRV_NAME "falconide" | ||
25 | 26 | ||
26 | /* | 27 | /* |
27 | * Base of the IDE interface | 28 | * Base of the IDE interface |
@@ -74,6 +75,11 @@ static int __init falconide_init(void) | |||
74 | 75 | ||
75 | printk(KERN_INFO "ide: Falcon IDE controller\n"); | 76 | printk(KERN_INFO "ide: Falcon IDE controller\n"); |
76 | 77 | ||
78 | if (!request_mem_region(ATA_HD_BASE, 0x40, DRV_NAME)) { | ||
79 | printk(KERN_ERR "%s: resources busy\n", DRV_NAME); | ||
80 | return -EBUSY; | ||
81 | } | ||
82 | |||
77 | falconide_setup_ports(&hw); | 83 | falconide_setup_ports(&hw); |
78 | 84 | ||
79 | hwif = ide_find_port(); | 85 | hwif = ide_find_port(); |
@@ -83,6 +89,7 @@ static int __init falconide_init(void) | |||
83 | 89 | ||
84 | ide_init_port_data(hwif, index); | 90 | ide_init_port_data(hwif, index); |
85 | ide_init_port_hw(hwif, &hw); | 91 | ide_init_port_hw(hwif, &hw); |
92 | hwif->mmio = 1; | ||
86 | 93 | ||
87 | ide_get_lock(NULL, NULL); | 94 | ide_get_lock(NULL, NULL); |
88 | ide_device_add(idx, NULL); | 95 | ide_device_add(idx, NULL); |