diff options
Diffstat (limited to 'kernel/drivers/ata/pata_rb532_cf.c')
-rw-r--r-- | kernel/drivers/ata/pata_rb532_cf.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/kernel/drivers/ata/pata_rb532_cf.c b/kernel/drivers/ata/pata_rb532_cf.c index 6d08446b8..c8b6a780a 100644 --- a/kernel/drivers/ata/pata_rb532_cf.c +++ b/kernel/drivers/ata/pata_rb532_cf.c @@ -27,11 +27,12 @@ #include <linux/io.h> #include <linux/interrupt.h> #include <linux/irq.h> +#include <linux/gpio.h> #include <linux/libata.h> #include <scsi/scsi_host.h> -#include <asm/gpio.h> +#include <asm/mach-rc32434/rb.h> #define DRV_NAME "pata-rb532-cf" #define DRV_VERSION "0.1.0" @@ -108,6 +109,7 @@ static int rb532_pata_driver_probe(struct platform_device *pdev) int gpio; struct resource *res; struct ata_host *ah; + struct cf_device *pdata; struct rb532_cf_info *info; int ret; @@ -123,7 +125,13 @@ static int rb532_pata_driver_probe(struct platform_device *pdev) return -ENOENT; } - gpio = irq_to_gpio(irq); + pdata = dev_get_platdata(&pdev->dev); + if (!pdata) { + dev_err(&pdev->dev, "no platform data specified\n"); + return -EINVAL; + } + + gpio = pdata->gpio_pin; if (gpio < 0) { dev_err(&pdev->dev, "no GPIO found for irq%d\n", irq); return -ENOENT; |