|
@@ -32,6 +32,8 @@
|
|
#include <linux/libata.h>
|
|
#include <linux/libata.h>
|
|
#include <scsi/scsi_host.h>
|
|
#include <scsi/scsi_host.h>
|
|
|
|
|
|
|
|
+#include <asm/mach-rc32434/rb.h>
|
|
|
|
+
|
|
#define DRV_NAME "pata-rb532-cf"
|
|
#define DRV_NAME "pata-rb532-cf"
|
|
#define DRV_VERSION "0.1.0"
|
|
#define DRV_VERSION "0.1.0"
|
|
#define DRV_DESC "PATA driver for RouterBOARD 532 Compact Flash"
|
|
#define DRV_DESC "PATA driver for RouterBOARD 532 Compact Flash"
|
|
@@ -107,6 +109,7 @@ static int rb532_pata_driver_probe(struct platform_device *pdev)
|
|
int gpio;
|
|
int gpio;
|
|
struct resource *res;
|
|
struct resource *res;
|
|
struct ata_host *ah;
|
|
struct ata_host *ah;
|
|
|
|
+ struct cf_device *pdata;
|
|
struct rb532_cf_info *info;
|
|
struct rb532_cf_info *info;
|
|
int ret;
|
|
int ret;
|
|
|
|
|
|
@@ -122,7 +125,13 @@ static int rb532_pata_driver_probe(struct platform_device *pdev)
|
|
return -ENOENT;
|
|
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) {
|
|
if (gpio < 0) {
|
|
dev_err(&pdev->dev, "no GPIO found for irq%d\n", irq);
|
|
dev_err(&pdev->dev, "no GPIO found for irq%d\n", irq);
|
|
return -ENOENT;
|
|
return -ENOENT;
|