diff options
Diffstat (limited to 'arch/arm/mach-imx/mach-mx31ads.c')
-rw-r--r-- | arch/arm/mach-imx/mach-mx31ads.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/arm/mach-imx/mach-mx31ads.c b/arch/arm/mach-imx/mach-mx31ads.c index 4518e5448227..6f19f98ddbe9 100644 --- a/arch/arm/mach-imx/mach-mx31ads.c +++ b/arch/arm/mach-imx/mach-mx31ads.c | |||
@@ -62,7 +62,6 @@ | |||
62 | #define PBC_INTSTATUS_REG (PBC_INTSTATUS + PBC_BASE_ADDRESS) | 62 | #define PBC_INTSTATUS_REG (PBC_INTSTATUS + PBC_BASE_ADDRESS) |
63 | #define PBC_INTMASK_SET_REG (PBC_INTMASK_SET + PBC_BASE_ADDRESS) | 63 | #define PBC_INTMASK_SET_REG (PBC_INTMASK_SET + PBC_BASE_ADDRESS) |
64 | #define PBC_INTMASK_CLEAR_REG (PBC_INTMASK_CLEAR + PBC_BASE_ADDRESS) | 64 | #define PBC_INTMASK_CLEAR_REG (PBC_INTMASK_CLEAR + PBC_BASE_ADDRESS) |
65 | #define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_4) | ||
66 | 65 | ||
67 | #define MXC_EXP_IO_BASE MXC_BOARD_IRQ_START | 66 | #define MXC_EXP_IO_BASE MXC_BOARD_IRQ_START |
68 | #define MXC_IRQ_TO_EXPIO(irq) ((irq) - MXC_EXP_IO_BASE) | 67 | #define MXC_IRQ_TO_EXPIO(irq) ((irq) - MXC_EXP_IO_BASE) |
@@ -209,7 +208,7 @@ static struct irq_chip expio_irq_chip = { | |||
209 | 208 | ||
210 | static void __init mx31ads_init_expio(void) | 209 | static void __init mx31ads_init_expio(void) |
211 | { | 210 | { |
212 | int i; | 211 | int i, irq; |
213 | 212 | ||
214 | printk(KERN_INFO "MX31ADS EXPIO(CPLD) hardware\n"); | 213 | printk(KERN_INFO "MX31ADS EXPIO(CPLD) hardware\n"); |
215 | 214 | ||
@@ -226,8 +225,9 @@ static void __init mx31ads_init_expio(void) | |||
226 | irq_set_chip_and_handler(i, &expio_irq_chip, handle_level_irq); | 225 | irq_set_chip_and_handler(i, &expio_irq_chip, handle_level_irq); |
227 | set_irq_flags(i, IRQF_VALID); | 226 | set_irq_flags(i, IRQF_VALID); |
228 | } | 227 | } |
229 | irq_set_irq_type(EXPIO_PARENT_INT, IRQ_TYPE_LEVEL_HIGH); | 228 | irq = gpio_to_irq(IOMUX_TO_GPIO(MX31_PIN_GPIO1_4)); |
230 | irq_set_chained_handler(EXPIO_PARENT_INT, mx31ads_expio_irq_handler); | 229 | irq_set_irq_type(irq, IRQ_TYPE_LEVEL_HIGH); |
230 | irq_set_chained_handler(irq, mx31ads_expio_irq_handler); | ||
231 | } | 231 | } |
232 | 232 | ||
233 | #ifdef CONFIG_MACH_MX31ADS_WM1133_EV1 | 233 | #ifdef CONFIG_MACH_MX31ADS_WM1133_EV1 |
@@ -488,13 +488,17 @@ static struct i2c_board_info __initdata mx31ads_i2c1_devices[] = { | |||
488 | { | 488 | { |
489 | I2C_BOARD_INFO("wm8350", 0x1a), | 489 | I2C_BOARD_INFO("wm8350", 0x1a), |
490 | .platform_data = &mx31_wm8350_pdata, | 490 | .platform_data = &mx31_wm8350_pdata, |
491 | .irq = IOMUX_TO_IRQ(MX31_PIN_GPIO1_3), | 491 | /* irq number is run-time assigned */ |
492 | }, | 492 | }, |
493 | #endif | 493 | #endif |
494 | }; | 494 | }; |
495 | 495 | ||
496 | static void __init mxc_init_i2c(void) | 496 | static void __init mxc_init_i2c(void) |
497 | { | 497 | { |
498 | #ifdef CONFIG_MACH_MX31ADS_WM1133_EV1 | ||
499 | mx31ads_i2c1_devices[0].irq = | ||
500 | gpio_to_irq(IOMUX_TO_GPIO(MX31_PIN_GPIO1_3)); | ||
501 | #endif | ||
498 | i2c_register_board_info(1, mx31ads_i2c1_devices, | 502 | i2c_register_board_info(1, mx31ads_i2c1_devices, |
499 | ARRAY_SIZE(mx31ads_i2c1_devices)); | 503 | ARRAY_SIZE(mx31ads_i2c1_devices)); |
500 | 504 | ||