summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/ata/pata_rb532_cf.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/ata/pata_rb532_cf.c')
-rw-r--r--kernel/drivers/ata/pata_rb532_cf.c12
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;