bast-ide: fix resources reservation
PATCH 1/1 bast-ide: fix resources reservation
* Tell IDE layer to not manage resources by setting hwif->mmio flag and request resources in bastide_init().
* Use request_mem_region() for resources reservation.
* Use driver name for resources reservation.
Cc Ben Dooks <[email protected]>
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
--- drivers/ide/arm/bast-ide.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
drivers/ide/arm/bast-ide.c +10 -0
@@ -21,6 +21,8 @@#include <asm/arch/bast-map.h> #include <asm/arch/bast-irq.h> +#define DRV_NAME "bast-ide" +static int __init bastide_register (unsigned int base,unsigned int aux,int irq) {ide_hwif_t *hwif;
@@ -53,6 +55,7 @@ static int __init bastide_register(unsigide_init_port_data (hwif, i);ide_init_port_hw (hwif, &hw); + hwif->mmio =1 ; hwif->quirkproc =NULL ; idx[0 ] = i;
@@ -64,6 +67,8 @@ out:static int __init bastide_init (void ) { +unsigned long base =BAST_VA_IDEPRI +BAST_IDE_CS ; +/* we can treat the VR1000 and the BAST the same */ if (!(machine_is_bast () ||machine_is_vr1000 ()))
@@ -71,6 +76,11 @@ static int __init bastide_init(void)printk ("BAST: IDE driver, (c) 2003-2004 Simtec Electronics\n" ); +if (!request_mem_region (base,0x400000 ,DRV_NAME )) { +printk (KERN_ERR "%s: resources busy\n" ,DRV_NAME ); +return -EBUSY ; + } +bastide_register (BAST_VA_IDEPRI ,BAST_VA_IDEPRIAUX ,IRQ_IDE0 );bastide_register (BAST_VA_IDESEC ,BAST_VA_IDESECAUX ,IRQ_IDE1 );