Commit f0949f73 authored by Mike Rapoport's avatar Mike Rapoport Committed by Tony Lindgren

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: default avatarMike Rapoport <mike@compulab.co.il>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent f0e615c3
...@@ -147,7 +147,6 @@ static struct omap_smsc911x_platform_data __initdata board_smsc911x_data = { ...@@ -147,7 +147,6 @@ static struct omap_smsc911x_platform_data __initdata board_smsc911x_data = {
.cs = OMAP3LOGIC_SMSC911X_CS, .cs = OMAP3LOGIC_SMSC911X_CS,
.gpio_irq = -EINVAL, .gpio_irq = -EINVAL,
.gpio_reset = -EINVAL, .gpio_reset = -EINVAL,
.flags = IORESOURCE_IRQ_LOWLEVEL,
}; };
/* TODO/FIXME (comment by Peter Barada, LogicPD): /* TODO/FIXME (comment by Peter Barada, LogicPD):
......
...@@ -30,7 +30,7 @@ static struct resource gpmc_smsc911x_resources[] = { ...@@ -30,7 +30,7 @@ static struct resource gpmc_smsc911x_resources[] = {
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
}, },
[1] = { [1] = {
.flags = IORESOURCE_IRQ, .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
}, },
}; };
...@@ -79,8 +79,6 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data) ...@@ -79,8 +79,6 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data)
gpio_direction_input(gpmc_cfg->gpio_irq); gpio_direction_input(gpmc_cfg->gpio_irq);
gpmc_smsc911x_resources[1].start = gpio_to_irq(gpmc_cfg->gpio_irq); gpmc_smsc911x_resources[1].start = gpio_to_irq(gpmc_cfg->gpio_irq);
gpmc_smsc911x_resources[1].flags |=
(gpmc_cfg->flags & IRQF_TRIGGER_MASK);
if (gpio_is_valid(gpmc_cfg->gpio_reset)) { if (gpio_is_valid(gpmc_cfg->gpio_reset)) {
ret = gpio_request(gpmc_cfg->gpio_reset, "smsc911x reset"); 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,6 +94,9 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data)
gpio_set_value(gpmc_cfg->gpio_reset, 1); gpio_set_value(gpmc_cfg->gpio_reset, 1);
} }
if (gpmc_cfg->flags)
gpmc_smsc911x_config.flags = gpmc_cfg->flags;
if (platform_device_register(&gpmc_smsc911x_device) < 0) { if (platform_device_register(&gpmc_smsc911x_device) < 0) {
printk(KERN_ERR "Unable to register smsc911x device\n"); printk(KERN_ERR "Unable to register smsc911x device\n");
gpio_free(gpmc_cfg->gpio_reset); gpio_free(gpmc_cfg->gpio_reset);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment