pata-rb532-cf: get rid of the irq_to_gpio() call
The RB532 platform specific irq_to_gpio() implementation has been removed with commit832f5dacfa
("MIPS: Remove all the uses of custom gpio.h"). Now the platform uses the generic stub which causes the following error: pata-rb532-cf pata-rb532-cf: no GPIO found for irq149 pata-rb532-cf: probe of pata-rb532-cf failed with error -2 Drop the irq_to_gpio() call and get the GPIO number from platform data instead. After this change, the driver works again: scsi host0: pata-rb532-cf ata1: PATA max PIO4 irq 149 ata1.00: CFA: CF 1GB, 20080820, max MWDMA4 ata1.00: 1989792 sectors, multi 0: LBA ata1.00: configured for PIO4 scsi 0:0:0:0: Direct-Access ATA CF 1GB 0820 PQ: 0\ ANSI: 5 sd 0:0:0:0: [sda] 1989792 512-byte logical blocks: (1.01 GB/971 MiB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't\ support DPO or FUA sda: sda1 sda2 sd 0:0:0:0: [sda] Attached SCSI disk Fixes:832f5dacfa
("MIPS: Remove all the uses of custom gpio.h") Cc: Alban Bedel <albeu@free.fr> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: <stable@vger.kernel.org> #v4.3+ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
287e6611ab
commit
018361767a
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue