diff options
author | Mike Rapoport <mike@compulab.co.il> | 2011-04-16 18:29:29 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-04-20 11:53:59 -0400 |
commit | f0949f73a75093fb86d6554101bd79046633a297 (patch) | |
tree | b27f0257abedfc53ff03b8141d16eeb487351530 /arch/arm/mach-omap2/gpmc-smsc911x.c | |
parent | f0e615c3cb72b42191b558c130409335812621d8 (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.c | 7 |
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); |