aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/gpmc-smsc911x.c
diff options
context:
space:
mode:
authorMike Rapoport <mike@compulab.co.il>2011-04-16 18:29:29 -0400
committerTony Lindgren <tony@atomide.com>2011-04-20 11:53:59 -0400
commitf0949f73a75093fb86d6554101bd79046633a297 (patch)
treeb27f0257abedfc53ff03b8141d16eeb487351530 /arch/arm/mach-omap2/gpmc-smsc911x.c
parentf0e615c3cb72b42191b558c130409335812621d8 (diff)
omap: gpmc-smsc911x: always set irq flags to IORESOURCE_IRQ_LOWLEVEL
SMSC911x devices attached to OMAP GPMC always use low level irqs. Setting the appropriate flag in the irq resourse strucure allows using .flags field in the omap_smsc911x_platform_data for driver specific flags Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/gpmc-smsc911x.c')
-rw-r--r--arch/arm/mach-omap2/gpmc-smsc911x.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/gpmc-smsc911x.c b/arch/arm/mach-omap2/gpmc-smsc911x.c
index 703f150dd01d..b331f3cd38f1 100644
--- a/arch/arm/mach-omap2/gpmc-smsc911x.c
+++ b/arch/arm/mach-omap2/gpmc-smsc911x.c
@@ -30,7 +30,7 @@ static struct resource gpmc_smsc911x_resources[] = {
30 .flags = IORESOURCE_MEM, 30 .flags = IORESOURCE_MEM,
31 }, 31 },
32 [1] = { 32 [1] = {
33 .flags = IORESOURCE_IRQ, 33 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
34 }, 34 },
35}; 35};
36 36
@@ -79,8 +79,6 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data)
79 79
80 gpio_direction_input(gpmc_cfg->gpio_irq); 80 gpio_direction_input(gpmc_cfg->gpio_irq);
81 gpmc_smsc911x_resources[1].start = gpio_to_irq(gpmc_cfg->gpio_irq); 81 gpmc_smsc911x_resources[1].start = gpio_to_irq(gpmc_cfg->gpio_irq);
82 gpmc_smsc911x_resources[1].flags |=
83 (gpmc_cfg->flags & IRQF_TRIGGER_MASK);
84 82
85 if (gpio_is_valid(gpmc_cfg->gpio_reset)) { 83 if (gpio_is_valid(gpmc_cfg->gpio_reset)) {
86 ret = gpio_request(gpmc_cfg->gpio_reset, "smsc911x reset"); 84 ret = gpio_request(gpmc_cfg->gpio_reset, "smsc911x reset");
@@ -96,6 +94,9 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data)
96 gpio_set_value(gpmc_cfg->gpio_reset, 1); 94 gpio_set_value(gpmc_cfg->gpio_reset, 1);
97 } 95 }
98 96
97 if (gpmc_cfg->flags)
98 gpmc_smsc911x_config.flags = gpmc_cfg->flags;
99
99 if (platform_device_register(&gpmc_smsc911x_device) < 0) { 100 if (platform_device_register(&gpmc_smsc911x_device) < 0) {
100 printk(KERN_ERR "Unable to register smsc911x device\n"); 101 printk(KERN_ERR "Unable to register smsc911x device\n");
101 gpio_free(gpmc_cfg->gpio_reset); 102 gpio_free(gpmc_cfg->gpio_reset);