Clean up hardcoded IRQs for mach-omap2, enable SPARSE_IRQ, plaform_data/gpio-omap.h
Subsystems (20)
Tony Lindgren
maintainercover Clean up hardcoded IRQs for mach-omap2, enable SPARSE_IRQ, plaform_data/gpio-omap.h
Hi all,
Here's the first set of omap header clean-up patches needed for single zImage support. This series is based v3.6-rc3 and the following patches to avoid merge conflicts with the includes:
- Arnd's patch "ARM: omap: move platform_data definitions"
- Igor's series "ARM: OMAP: cleanup plat/board.h file"
- Afzal's series "Prepare for GPMC driver conversion (w.r.t MTD)"
Regards,
Tony
---
Tony Lindgren (9):
ARM: OMAP1: Move define of OMAP_LCD_DMA to dma.h
ARM: OMAP1: Define OMAP1_INT_I2C locally
ARM: OMAP2+: Make INTCPS_NR_IRQS local for mach-omap2/irq.c
ARM: OMAP2+: Remove unused nand_irq for GPMC
ARM: OMAP2+: Remove hardcoded twl4030 gpio_base, irq_base and irq_end
ARM: OMAP: Move gpio.h to include/linux/platform_data
ARM: OMAP2+: Prepare for irqs.h removal
ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ
ARM: OMAP1: Move plat/irqs.h to mach/irqs.h
arch/arm/mach-omap1/ams-delta-fiq-handler.S | 1 arch/arm/mach-omap1/board-ams-delta.c | 3 arch/arm/mach-omap1/board-osk.c | 1 arch/arm/mach-omap1/dma.c | 3 arch/arm/mach-omap1/gpio15xx.c | 1 arch/arm/mach-omap1/gpio16xx.c | 1 arch/arm/mach-omap1/gpio7xx.c | 1 arch/arm/mach-omap1/include/mach/ams-delta-fiq.h | 2 arch/arm/mach-omap1/include/mach/gpio.h | 2 arch/arm/mach-omap1/include/mach/irqs.h | 267 ++++++++++++ arch/arm/mach-omap1/leds-h2p2-debug.c | 4 arch/arm/mach-omap1/leds.c | 1 arch/arm/mach-omap2/board-2430sdp.c | 10 arch/arm/mach-omap2/board-3430sdp.c | 3 arch/arm/mach-omap2/board-4430sdp.c | 3 arch/arm/mach-omap2/board-am3517evm.c | 12 - arch/arm/mach-omap2/board-cm-t35.c | 15 - arch/arm/mach-omap2/board-cm-t3517.c | 6 arch/arm/mach-omap2/board-devkit8000.c | 3 arch/arm/mach-omap2/board-flash.c | 3 arch/arm/mach-omap2/board-igep0020.c | 10 arch/arm/mach-omap2/board-ldp.c | 3 arch/arm/mach-omap2/board-n8x0.c | 3 arch/arm/mach-omap2/board-omap3beagle.c | 3 arch/arm/mach-omap2/board-omap3evm.c | 3 arch/arm/mach-omap2/board-omap3logic.c | 3 arch/arm/mach-omap2/board-omap3pandora.c | 3 arch/arm/mach-omap2/board-omap3stalker.c | 3 arch/arm/mach-omap2/board-omap3touchbook.c | 3 arch/arm/mach-omap2/board-omap4panda.c | 3 arch/arm/mach-omap2/board-overo.c | 3 arch/arm/mach-omap2/board-rm680.c | 9 arch/arm/mach-omap2/board-rx51-peripherals.c | 5 arch/arm/mach-omap2/board-ti8168evm.c | 3 arch/arm/mach-omap2/board-zoom-debugboard.c | 1 arch/arm/mach-omap2/board-zoom-display.c | 6 arch/arm/mach-omap2/board-zoom-peripherals.c | 9 arch/arm/mach-omap2/cpuidle34xx.c | 1 arch/arm/mach-omap2/devices.c | 7 arch/arm/mach-omap2/gpio.c | 1 arch/arm/mach-omap2/gpmc-smc91x.c | 1 arch/arm/mach-omap2/gpmc.c | 11 arch/arm/mach-omap2/hsmmc.c | 5 arch/arm/mach-omap2/include/mach/gpio.h | 2 arch/arm/mach-omap2/include/mach/irqs.h | 2 arch/arm/mach-omap2/io.c | 2 arch/arm/mach-omap2/irq.c | 2 arch/arm/mach-omap2/mailbox.c | 3 arch/arm/mach-omap2/mcbsp.c | 1 arch/arm/mach-omap2/msdi.c | 1 arch/arm/mach-omap2/omap-iommu.c | 1 arch/arm/mach-omap2/omap-wakeupgen.c | 1 arch/arm/mach-omap2/omap4-common.c | 7 arch/arm/mach-omap2/omap_hwmod_2420_data.c | 2 arch/arm/mach-omap2/omap_hwmod_2430_data.c | 9 .../mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c | 12 - arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 4 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 33 + arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 6 arch/arm/mach-omap2/omap_l3_noc.c | 6 arch/arm/mach-omap2/omap_phy_internal.c | 2 arch/arm/mach-omap2/pm24xx.c | 3 arch/arm/mach-omap2/pm34xx.c | 2 arch/arm/mach-omap2/prcm.c | 1 arch/arm/mach-omap2/prm2xxx_3xxx.c | 3 arch/arm/mach-omap2/prm44xx.c | 4 arch/arm/mach-omap2/prm_common.c | 1 arch/arm/mach-omap2/serial.c | 1 arch/arm/mach-omap2/timer.c | 10 arch/arm/mach-omap2/twl-common.c | 3 arch/arm/mach-omap2/twl-common.h | 6 arch/arm/mach-omap2/usb-host.c | 1 arch/arm/mach-omap2/usb-musb.c | 1 arch/arm/plat-omap/Kconfig | 1 arch/arm/plat-omap/i2c.c | 3 arch/arm/plat-omap/include/plat/dma.h | 2 arch/arm/plat-omap/include/plat/irqs-44xx.h | 144 ------ arch/arm/plat-omap/include/plat/irqs.h | 453 -------------------- arch/arm/plat-omap/include/plat/omap44xx.h | 1 drivers/dma/omap-dma.c | 2 drivers/gpio/gpio-omap.c | 15 - drivers/gpio/gpio-twl4030.c | 15 - drivers/mfd/twl-core.c | 2 drivers/mtd/nand/ams-delta.c | 8 drivers/mtd/onenand/omap2.c | 8 drivers/tty/serial/8250/8250.c | 4 drivers/video/omap2/dss/dispc.c | 1 drivers/video/omap2/omapfb/omapfb-main.c | 4 include/linux/i2c/twl.h | 3 include/linux/mfd/twl6040.h | 2 include/linux/platform_data/gpio-omap.h | 15 - include/linux/platform_data/mtd-nand-omap2.h | 1 sound/soc/omap/mcbsp.c | 3 sound/soc/omap/omap-mcbsp.c | 1 sound/soc/omap/omap-pcm.c | 1 sound/soc/omap/sdp3430.c | 1 96 files changed, 455 insertions(+), 808 deletions(-) delete mode 100644 arch/arm/plat-omap/include/plat/irqs-44xx.h delete mode 100644 arch/arm/plat-omap/include/plat/irqs.h rename arch/arm/plat-omap/include/plat/gpio.h => include/linux/platform_data/gpio-omap.h (94%)
Signature · 1 line
Signature
Tony Lindgren
maintainerPATCH 1/9 ARM: OMAP1: Move define of OMAP_LCD_DMA to dma.h
This is needed to start removing hardcoded IRQs on omap2+.
--- arch/arm/plat-omap/include/plat/dma.h | 2 ++ arch/arm/plat-omap/include/plat/irqs.h | 1 - 2 files changed, 2 insertions(+), 1 deletion(-)
arch/arm/plat-omap/include/plat/dma.h +2 -0
@@ -31,6 +31,8 @@/* Move omap4 specific defines to dma-44xx.h */ #include "dma-44xx.h" +#define INT_DMA_LCD 25 +/* DMA channels for omap1 */ #define OMAP_DMA_NO_DEVICE 0#define OMAP_DMA_MCSI1_TX 1
arch/arm/plat-omap/include/plat/irqs.h +0 -1
@@ -53,7 +53,6 @@#define INT_DMA_CH3 22#define INT_DMA_CH4 23#define INT_DMA_CH5 24 -#define INT_DMA_LCD 25#define INT_TIMER1 26#define INT_WD_TIMER 27#define INT_BRIDGE_PUB 28
Tony Lindgren
maintainerPATCH 2/9 ARM: OMAP1: Define OMAP1_INT_I2C locally
In reply to Tony LindgrenThis is needed to start removing hardcoded IRQs for omap2+.
--- arch/arm/plat-omap/i2c.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
arch/arm/plat-omap/i2c.c +2 -1
@@ -39,6 +39,7 @@#define OMAP_I2C_SIZE 0x3f#define OMAP1_I2C_BASE 0xfffb3800 +#define OMAP1_INT_I2C (32 + 4)static const char name[] ="omap_i2c" ;
@@ -105,7 +106,7 @@ static inline int omap1_i2c_add_bus(int bus_id) res = pdev->resource; res[0 ].start =OMAP1_I2C_BASE ; res[0 ].end = res[0 ].start +OMAP_I2C_SIZE ; - res[1 ].start =INT_I2C ; + res[1 ].start =OMAP1_INT_I2C ; pdata = &i2c_pdata[bus_id -1 ];/* all OMAP1 have IP version 1 register set */
Tony Lindgren
maintainerPATCH 3/9 ARM: OMAP2+: Make INTCPS_NR_IRQS local for mach-omap2/irq.c
In reply to Tony LindgrenMake INTCPS_NR_IRQS local for mach-omap2/irq.c
--- arch/arm/mach-omap2/irq.c | 2 ++ arch/arm/plat-omap/include/plat/irqs.h | 3 --- 2 files changed, 2 insertions(+), 3 deletions(-)
arch/arm/mach-omap2/irq.c +2 -0
@@ -49,6 +49,8 @@#define OMAP3_IRQ_BASE OMAP2_L4_IO_ADDRESS(OMAP34XX_IC_BASE)#define INTCPS_SIR_IRQ_OFFSET 0x0040/* omap2/3 active interrupt offset */ #define ACTIVEIRQ_MASK 0x7f/* omap2/3 active interrupt bits */ +#define INTCPS_NR_MIR_REGS 3 +#define INTCPS_NR_IRQS 96/* * OMAP2 has a number of different interrupt controllers, each interrupt
arch/arm/plat-omap/include/plat/irqs.h +0 -3
@@ -440,9 +440,6 @@#define OMAP_IRQ_BIT (irq) (1 << ((irq) % 32)) -#define INTCPS_NR_MIR_REGS 3 -#define INTCPS_NR_IRQS 96 -#include <mach/hardware.h> #ifdef CONFIG_FIQ
Tony Lindgren
maintainerPATCH 4/9 ARM: OMAP2+: Remove unused nand_irq for GPMC
In reply to Tony LindgrenThis is no longer needed and assumes a fixed IRQ number that won't work with SPARSE_IRQ.
--- arch/arm/mach-omap2/board-flash.c | 1 - include/linux/platform_data/mtd-nand-omap2.h | 1 - 2 files changed, 2 deletions(-)
arch/arm/mach-omap2/board-flash.c +0 -1
@@ -140,7 +140,6 @@ __init board_nand_init(struct mtd_partition *nand_parts, board_nand_data.devsize = nand_type; board_nand_data.ecc_opt =OMAP_ECC_HAMMING_CODE_DEFAULT ; - board_nand_data.gpmc_irq =OMAP_GPMC_IRQ_BASE + cs; gpmc_nand_init(&board_nand_data); }#endif /* CONFIG_MTD_NAND_OMAP2 || CONFIG_MTD_NAND_OMAP2_MODULE */
include/linux/platform_data/mtd-nand-omap2.h +0 -1
@@ -24,7 +24,6 @@ struct omap_nand_platform_data {struct gpmc_timings *gpmc_t;int nr_parts;bool dev_ready; -int gpmc_irq;enum nand_io xfer_type;int devsize;enum omap_ecc ecc_opt;
PATCH 4/9 ARM: OMAP2+: Remove unused nand_irq for GPMC
Hi Tony,
Quoted 2 lines · Tony Lindgren
This is no longer needed and assumes a fixed IRQ number that won't work with
SPARSE_IRQ.
This cleanup was overlooked in mtd gpmc driver
preparation series
Regards
Afzal
Tony Lindgren
maintainerPATCH 5/9 ARM: OMAP2+: Remove hardcoded twl4030 gpio_base, irq_base and irq_end
In reply to Tony LindgrenWe can't use hardcoded interrupts for SPARSE_IRQ, and can replace the hardcoded gpio_base with twl_gpiochip.base after it's been allocated.
--- arch/arm/mach-omap2/board-2430sdp.c | 3 --- arch/arm/mach-omap2/board-3430sdp.c | 3 --- arch/arm/mach-omap2/board-4430sdp.c | 1 - arch/arm/mach-omap2/board-cm-t35.c | 3 --- arch/arm/mach-omap2/board-devkit8000.c | 3 --- arch/arm/mach-omap2/board-igep0020.c | 3 --- arch/arm/mach-omap2/board-ldp.c | 3 --- arch/arm/mach-omap2/board-omap3beagle.c | 3 --- arch/arm/mach-omap2/board-omap3evm.c | 3 --- arch/arm/mach-omap2/board-omap3logic.c | 3 --- arch/arm/mach-omap2/board-omap3pandora.c | 3 --- arch/arm/mach-omap2/board-omap3stalker.c | 3 --- arch/arm/mach-omap2/board-omap3touchbook.c | 3 --- arch/arm/mach-omap2/board-omap4panda.c | 1 - arch/arm/mach-omap2/board-overo.c | 3 --- arch/arm/mach-omap2/board-rm680.c | 3 --- arch/arm/mach-omap2/board-rx51-peripherals.c | 3 --- arch/arm/mach-omap2/board-zoom-peripherals.c | 3 --- drivers/gpio/gpio-twl4030.c | 15 ++++++++++----- include/linux/i2c/twl.h | 3 --- include/linux/mfd/twl6040.h | 2 -- 21 files changed, 10 insertions(+), 60 deletions(-)
arch/arm/mach-omap2/board-2430sdp.c +0 -3
@@ -211,9 +211,6 @@ static struct regulator_init_data sdp2430_vmmc1 = { };static struct twl4030_gpio_platform_data sdp2430_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , };static struct twl4030_platform_data sdp2430_twldata = {
arch/arm/mach-omap2/board-3430sdp.c +0 -3
@@ -229,9 +229,6 @@ static int sdp3430_twl_gpio_setup(struct device *dev, }static struct twl4030_gpio_platform_data sdp3430_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .pulldowns =BIT (2 ) |BIT (6 ) |BIT (8 ) |BIT (13 ) |BIT (16 ) |BIT (17 ), .setup = sdp3430_twl_gpio_setup,
arch/arm/mach-omap2/board-4430sdp.c +0 -1
@@ -543,7 +543,6 @@ static struct twl6040_platform_data twl6040_data = { .codec = &twl6040_codec, .vibra = &twl6040_vibra, .audpwron_gpio = 127, - .irq_base = TWL6040_CODEC_IRQ_BASE, };static struct twl4030_platform_data sdp4430_twldata = {
arch/arm/mach-omap2/board-cm-t35.c +0 -3
@@ -469,9 +469,6 @@ static int cm_t35_twl_gpio_setup(struct device *dev, unsigned gpio, }static struct twl4030_gpio_platform_data cm_t35_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .setup = cm_t35_twl_gpio_setup, };
arch/arm/mach-omap2/board-devkit8000.c +0 -3
@@ -235,9 +235,6 @@ static int devkit8000_twl_gpio_setup(struct device *dev, }static struct twl4030_gpio_platform_data devkit8000_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .use_leds = true, .pulldowns =BIT (1 ) |BIT (2 ) |BIT (6 ) |BIT (8 ) |BIT (13 ) |BIT (15 ) |BIT (16 ) |BIT (17 ),
arch/arm/mach-omap2/board-igep0020.c +0 -3
@@ -424,9 +424,6 @@ static int igep_twl_gpio_setup(struct device *dev, };static struct twl4030_gpio_platform_data igep_twl4030_gpio_pdata = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .use_leds = true, .setup = igep_twl_gpio_setup, };
arch/arm/mach-omap2/board-ldp.c +0 -3
@@ -274,9 +274,6 @@ static int ldp_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio) }static struct twl4030_gpio_platform_data ldp_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .setup = ldp_twl_gpio_setup, };
arch/arm/mach-omap2/board-omap3beagle.c +0 -3
@@ -296,9 +296,6 @@ static int beagle_twl_gpio_setup(struct device *dev, }static struct twl4030_gpio_platform_data beagle_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .use_leds = true, .pullups =BIT (1 ), .pulldowns =BIT (2 ) |BIT (6 ) |BIT (7 ) |BIT (8 ) |BIT (13 )
arch/arm/mach-omap2/board-omap3evm.c +0 -3
@@ -387,9 +387,6 @@ static int omap3evm_twl_gpio_setup(struct device *dev, }static struct twl4030_gpio_platform_data omap3evm_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .use_leds = true, .setup = omap3evm_twl_gpio_setup, };
arch/arm/mach-omap2/board-omap3logic.c +0 -3
@@ -77,9 +77,6 @@ static struct regulator_init_data omap3logic_vmmc1 = { };static struct twl4030_gpio_platform_data omap3logic_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .use_leds = true, .pullups =BIT (1 ), .pulldowns =BIT (2 ) |BIT (6 ) |BIT (7 ) |BIT (8 )
arch/arm/mach-omap2/board-omap3pandora.c +0 -3
@@ -320,9 +320,6 @@ static int omap3pandora_twl_gpio_setup(struct device *dev, }static struct twl4030_gpio_platform_data omap3pandora_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .setup = omap3pandora_twl_gpio_setup, };
arch/arm/mach-omap2/board-omap3stalker.c +0 -3
@@ -278,9 +278,6 @@ omap3stalker_twl_gpio_setup(struct device *dev, }static struct twl4030_gpio_platform_data omap3stalker_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .use_leds = true, .setup = omap3stalker_twl_gpio_setup, };
arch/arm/mach-omap2/board-omap3touchbook.c +0 -3
@@ -138,9 +138,6 @@ static int touchbook_twl_gpio_setup(struct device *dev, }static struct twl4030_gpio_platform_data touchbook_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .use_leds = true, .pullups =BIT (1 ), .pulldowns =BIT (2 ) |BIT (6 ) |BIT (7 ) |BIT (8 ) |BIT (13 )
arch/arm/mach-omap2/board-omap4panda.c +0 -1
@@ -262,7 +262,6 @@ static struct twl6040_codec_data twl6040_codec = {static struct twl6040_platform_data twl6040_data = { .codec = &twl6040_codec, .audpwron_gpio =127 , - .irq_base =TWL6040_CODEC_IRQ_BASE , };/* Panda board uses the common PMIC configuration */
arch/arm/mach-omap2/board-overo.c +0 -3
@@ -398,9 +398,6 @@ static int overo_twl_gpio_setup(struct device *dev, }static struct twl4030_gpio_platform_data overo_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .use_leds = true, .setup = overo_twl_gpio_setup, };
arch/arm/mach-omap2/board-rm680.c +0 -3
@@ -72,9 +72,6 @@ static struct platform_device *rm680_peripherals_devices[] __initdata = {/* TWL */ static struct twl4030_gpio_platform_data rm680_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .pullups =BIT (0 ), .pulldowns =BIT (1 ) |BIT (2 ) |BIT (8 ) |BIT (15 ), };
arch/arm/mach-omap2/board-rx51-peripherals.c +0 -3
@@ -773,9 +773,6 @@ static int rx51_twlgpio_setup(struct device *dev, unsigned gpio, unsigned n) }static struct twl4030_gpio_platform_data rx51_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .pulldowns =BIT (0 ) |BIT (1 ) |BIT (2 ) |BIT (3 ) |BIT (4 ) |BIT (5 ) |BIT (8 ) |BIT (9 ) |BIT (10 ) |BIT (11 )
arch/arm/mach-omap2/board-zoom-peripherals.c +0 -3
@@ -251,9 +251,6 @@ static void zoom2_set_hs_extmute(int mute) }static struct twl4030_gpio_platform_data zoom_gpio_data = { - .gpio_base =OMAP_MAX_GPIO_LINES , - .irq_base =TWL4030_GPIO_IRQ_BASE , - .irq_end =TWL4030_GPIO_IRQ_END , .setup = zoom_twl_gpio_setup, };
drivers/gpio/gpio-twl4030.c +10 -5
@@ -51,6 +51,7 @@static struct gpio_chip twl_gpiochip; +static int twl4030_gpio_base;static int twl4030_gpio_irq_base;/* genirq interfaces are not available to modules */
@@ -428,8 +429,6 @@ no_irqs: twl_gpiochip.dev = &pdev->dev;if (pdata) { - twl_gpiochip.base = pdata->gpio_base; -/* * NOTE: boards may waste power if they don't set pullups * and pulldowns correctly ... default for non-ULPI pins is
@@ -461,15 +460,21 @@ no_irqs:dev_err (&pdev->dev,"could not register gpiochip, %d\n" , ret); twl_gpiochip.ngpio =0 ;gpio_twl4030_remove (pdev); - }else if (pdata && pdata->setup) { + goto out; + } + + twl4030_gpio_base = twl_gpiochip.base; + +if (pdata && pdata->setup) {int status; status = pdata->setup (&pdev->dev, - pdata->gpio_base,TWL4030_GPIO_MAX ); + twl4030_gpio_base,TWL4030_GPIO_MAX );if (status)dev_dbg (&pdev->dev,"setup --> %d\n" , status); } +out:return ret; }
@@ -481,7 +486,7 @@ static int gpio_twl4030_remove(struct platform_device *pdev)if (pdata && pdata->teardown) { status = pdata->teardown (&pdev->dev, - pdata->gpio_base,TWL4030_GPIO_MAX ); + twl4030_gpio_base,TWL4030_GPIO_MAX );if (status) {dev_dbg (&pdev->dev,"teardown --> %d\n" , status);return status;
include/linux/i2c/twl.h +0 -3
@@ -561,9 +561,6 @@ struct twl4030_bci_platform_data {/* TWL4030_GPIO_MAX (18) GPIOs, with interrupts */ struct twl4030_gpio_platform_data { -int gpio_base; -unsigned irq_base, irq_end; -/* package the two LED signals as output-only GPIOs? */ bool use_leds;
include/linux/mfd/twl6040.h +0 -2
@@ -194,7 +194,6 @@ struct twl6040_vibra_data {struct twl6040_platform_data {int audpwron_gpio;/* audio power-on gpio */ -unsigned int irq_base;struct twl6040_codec_data *codec;struct twl6040_vibra_data *vibra;
@@ -222,7 +221,6 @@ struct twl6040 {unsigned int mclk;unsigned int irq; -unsigned int irq_base;u8 irq_masks_cur;u8 irq_masks_cache; };
PATCH 5/9 ARM: OMAP2+: Remove hardcoded twl4030 gpio_base, irq_base and irq_end
Quoted 9 lines · Tony Lindgren
We can't use hardcoded interrupts for
SPARSE_IRQ, and can replace the hardcodedgpio_basewith twl_gpiochip.base after it's been allocated.Cc Grant Likely <[email protected]>Cc Linus Walleij <[email protected]>Cc Samuel Ortiz <[email protected]>Cc Peter Ujfalusi <[email protected]>Signed-off-by Tony Lindgren <[email protected]>
Oh, cool.
Yours,
Linus Walleij
Tony Lindgren
maintainerPATCH 5/9 ARM: OMAP2+: Remove hardcoded twl4030 gpio_base, irq_base and irq_end
In reply to Tony LindgrenQuoted 3 lines · Tony Lindgren
We can't use hardcoded interrupts for
SPARSE_IRQ, and can replace the hardcodedgpio_basewith twl_gpiochip.base after it's been allocated.
...
include/linux/mfd/twl6040.h struct twl6040_vibra_data { · line 199
Quoted 10 lines
include/linux/mfd/twl6040.h +0
-1@@ -194,7 +194,6 @@ struct twl6040_vibra_data {struct twl6040_platform_data {int audpwron_gpio;/* audio power-on gpio */ -unsigned int irq_base;struct twl6040_codec_data *codec;struct twl6040_vibra_data *vibra;
The platform_data irq_base is not being used it seems..
include/linux/mfd/twl6040.h struct twl6040 { · line 226
Quoted 8 lines
include/linux/mfd/twl6040.h +0
-1@@ -222,7 +221,6 @@ struct twl6040 {unsigned int mclk;unsigned int irq; -unsigned int irq_base;u8 irq_masks_cur;u8 irq_masks_cache; };
..but irq_base here is still in use as that's where the value from irq_alloc_descs() is being stored to. So I'll drop the changes to struct twl6040 from this patch as otherwise twl6040 code won't compile.
Turns out I did not have twl6040 selected in any of the testconfigs that I ran.
Regards,
Tony
PATCH 5/9 ARM: OMAP2+: Remove hardcoded twl4030 gpio_base, irq_base and irq_end
Hi Tony,
Quoted 10 lines · Tony Lindgren
Quoted 3 lines · Tony Lindgren
We can't use hardcoded interrupts for
SPARSE_IRQ, and can replace the hardcodedgpio_basewith twl_gpiochip.base after it's been allocated....
Quoted 4 lines
include/linux/mfd/twl6040.h +0
-0@@ -194,7 +194,6 @@ struct twl6040_vibra_data {
Quoted 8 lines
include/linux/mfd/twl6040.h struct twl6040_vibra_data { · line 199
Quoted 6 lines
include/linux/mfd/twl6040.h +0
-1struct twl6040_platform_data {int audpwron_gpio;/* audio power-on gpio */ -unsigned int irq_base;struct twl6040_codec_data *codec;struct twl6040_vibra_data *vibra;The
platform_datairq_baseis not being used it seems..
Yes, this is not in use.
Quoted 14 lines
include/linux/mfd/twl6040.h struct twl6040 { · line 226
Quoted 9 lines
include/linux/mfd/twl6040.h +0
-1@@ -222,7 +221,6 @@ struct twl6040 {unsigned int mclk;unsigned int irq; -unsigned int irq_base;u8 irq_masks_cur;u8 irq_masks_cache; };..but
irq_basehere is still in use as that's where the value fromirq_alloc_descs()is being stored to. So I'll drop the changes to struct twl6040 from this patch as otherwise twl6040 code won't compile.
Quoted 2 lines
Turns out I did not have twl6040 selected in any of the testconfigs that I ran.
I store the irq_base in a private data for the MFD driver so child drivers can request the correct IRQ.
You can safely remove the irq_base from twl6040_platform_data struct
Signature · 5 lines
Péter -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Tony Lindgren
maintainerPATCH 5/9 ARM: OMAP2+: Remove hardcoded twl4030 gpio_base, irq_base and irq_end
Quoted 8 lines · Peter Ujfalusi
Hi Tony,
Quoted 5 lines · Tony Lindgren
..but
irq_basehere is still in use as that's where the value fromirq_alloc_descs()is being stored to. So I'll drop the changes to struct twl6040 from this patch as otherwise twl6040 code won't compile.
Quoted 7 lines
Quoted 2 lines
Turns out I did not have twl6040 selected in any of the testconfigs that I ran.
I store the
irq_basein a private data for the MFD driver so child drivers can request the correct IRQ.You can safely remove the
irq_basefromtwl6040_platform_datastruct
Can you please do a patch for that against testing-cleanup branch? That way we'll know that the twl changes get tested for audio ;)
Maybe also check if Felipe's earlier patch also has something else that can be removed? That's the "[PATCH] arm: omap: drop unused IRQ defines":
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-June/103274.html#
Regards,
Tony
Tony Lindgren
maintainerPATCH 6/9 ARM: OMAP: Move gpio.h to include/linux/platform_data
In reply to Tony LindgrenThis way we can remove includes of plat/gpio.h which won't work with the single zImage support.
Note that we also remove the cpu_class_is_omap2() check in gpio-omap.c as the drivers should not call it as we need to make it local to arch/arm/mach-omap2 for single zImage support.
While at it, arrange the related includes in the standard way.
--- arch/arm/mach-omap1/board-ams-delta.c | 3 ++- arch/arm/mach-omap1/board-osk.c | 1 + arch/arm/mach-omap1/gpio15xx.c | 1 + arch/arm/mach-omap1/gpio16xx.c | 1 + arch/arm/mach-omap1/gpio7xx.c | 1 + arch/arm/mach-omap1/include/mach/gpio.h | 2 -- arch/arm/mach-omap1/leds-h2p2-debug.c | 4 +++- arch/arm/mach-omap1/leds.c | 1 + arch/arm/mach-omap2/board-am3517evm.c | 9 ++++++--- arch/arm/mach-omap2/board-cm-t35.c | 12 +++++++----- arch/arm/mach-omap2/board-zoom-display.c | 6 +++++- arch/arm/mach-omap2/board-zoom-peripherals.c | 1 + arch/arm/mach-omap2/gpio.c | 1 + arch/arm/mach-omap2/hsmmc.c | 5 ++++- arch/arm/mach-omap2/include/mach/gpio.h | 2 -- arch/arm/mach-omap2/msdi.c | 1 + arch/arm/mach-omap2/omap_hwmod_2420_data.c | 1 - arch/arm/mach-omap2/omap_hwmod_2430_data.c | 6 +++--- arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 6 +++--- arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 6 +++--- arch/arm/mach-omap2/pm24xx.c | 1 + arch/arm/mach-omap2/pm34xx.c | 2 ++ drivers/gpio/gpio-omap.c | 15 ++++++++------- drivers/mtd/nand/ams-delta.c | 8 ++++++-- include/linux/platform_data/gpio-omap.h | 15 ++------------- sound/soc/omap/sdp3430.c | 1 + 27 files changed, 65 insertions(+), 49 deletions(-) rename arch/arm/plat-omap/include/plat/gpio.h => include/linux/platform_data/gpio-omap.h (94%)
arch/arm/mach-omap1/board-ams-delta.c +2 -1
@@ -26,6 +26,8 @@#include <linux/export.h> #include <linux/omapfb.h> #include <linux/io.h> +#include <linux/platform_data/gpio-omap.h> +#include <linux/platform_data/keypad-omap.h> #include <media/soc_camera.h>
@@ -35,7 +37,6 @@#include <asm/mach/map.h> #include <plat/board-ams-delta.h> -#include <linux/platform_data/keypad-omap.h> #include <plat/mux.h> #include <mach/hardware.h>
arch/arm/mach-omap1/board-osk.c +1 -0
@@ -39,6 +39,7 @@#include <linux/mtd/partitions.h> #include <linux/mtd/physmap.h> #include <linux/i2c/tps65010.h> +#include <linux/platform_data/gpio-omap.h> #include <linux/platform_data/omap1_bl.h> #include <asm/mach-types.h>
arch/arm/mach-omap1/gpio15xx.c +1 -0
@@ -17,6 +17,7 @@*/ #include <linux/gpio.h> +#include <linux/platform_data/gpio-omap.h> #define OMAP1_MPUIO_VBASE OMAP1_MPUIO_BASE#define OMAP1510_GPIO_BASE 0xFFFCE000
arch/arm/mach-omap1/gpio16xx.c +1 -0
@@ -17,6 +17,7 @@*/ #include <linux/gpio.h> +#include <linux/platform_data/gpio-omap.h> #define OMAP1610_GPIO1_BASE 0xfffbe400#define OMAP1610_GPIO2_BASE 0xfffbec00
arch/arm/mach-omap1/gpio7xx.c +1 -0
@@ -17,6 +17,7 @@*/ #include <linux/gpio.h> +#include <linux/platform_data/gpio-omap.h> #define OMAP7XX_GPIO1_BASE 0xfffbc000#define OMAP7XX_GPIO2_BASE 0xfffbc800
arch/arm/mach-omap1/include/mach/gpio.h +0 -2
@@ -1,5 +1,3 @@/* * arch/arm/mach-omap1/include/mach/gpio.h */ - -#include <plat/gpio.h>
arch/arm/mach-omap1/leds-h2p2-debug.c +3 -1
@@ -14,13 +14,15 @@#include <linux/kernel_stat.h> #include <linux/sched.h> #include <linux/io.h> +#include <linux/platform_data/gpio-omap.h> -#include <mach/hardware.h> #include <asm/leds.h> #include <asm/mach-types.h> #include <plat/fpga.h> +#include <mach/hardware.h> +#include "leds.h"
arch/arm/mach-omap1/leds.c +1 -0
@@ -6,6 +6,7 @@#include <linux/gpio.h> #include <linux/kernel.h> #include <linux/init.h> +#include <linux/platform_data/gpio-omap.h> #include <asm/leds.h> #include <asm/mach-types.h>
arch/arm/mach-omap2/board-am3517evm.c +6 -3
@@ -25,19 +25,22 @@#include <linux/can/platform/ti_hecc.h> #include <linux/davinci_emac.h> #include <linux/mmc/host.h> +#include <linux/platform_data/gpio-omap.h> -#include <mach/hardware.h> -#include <mach/am35xx.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> -#include "common.h" #include <plat/usb.h> + +#include <mach/hardware.h> +#include <mach/am35xx.h> +#include <video/omapdss.h> #include <video/omap-panel-generic-dpi.h> #include <video/omap-panel-tfp410.h> +#include "common.h" #include "am35xx-emac.h" #include "mux.h" #include "control.h"
arch/arm/mach-omap2/board-cm-t35.c +7 -5
@@ -23,6 +23,9 @@#include <linux/input/matrix_keypad.h> #include <linux/delay.h> #include <linux/gpio.h> +#include <linux/platform_data/gpio-omap.h> +#include <linux/platform_data/mtd-nand-omap2.h> +#include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/i2c/at24.h> #include <linux/i2c/twl.h>
@@ -37,17 +40,16 @@#include <asm/mach/arch.h> #include <asm/mach/map.h> -#include "common.h" -#include <linux/platform_data/mtd-nand-omap2.h> #include <plat/gpmc.h> #include <plat/usb.h> + +#include <mach/hardware.h> +#include <video/omapdss.h> #include <video/omap-panel-generic-dpi.h> #include <video/omap-panel-tfp410.h> -#include <linux/platform_data/spi-omap2-mcspi.h> - -#include <mach/hardware.h> +#include "common.h" #include "mux.h" #include "sdram-micron-mt46h32m32lf-6.h" #include "hsmmc.h"
arch/arm/mach-omap2/board-zoom-display.c +5 -1
@@ -15,9 +15,13 @@#include <linux/i2c/twl.h> #include <linux/spi/spi.h> #include <linux/platform_data/spi-omap2-mcspi.h> -#include <video/omapdss.h> + +#include <plat/cpu.h> +#include <mach/board-zoom.h> +#include <video/omapdss.h> +#define LCD_PANEL_RESET_GPIO_PROD 96#define LCD_PANEL_RESET_GPIO_PILOT 55#define LCD_PANEL_QVGA_GPIO 56
arch/arm/mach-omap2/board-zoom-peripherals.c +1 -0
@@ -19,6 +19,7 @@#include <linux/regulator/fixed.h> #include <linux/wl12xx.h> #include <linux/mmc/host.h> +#include <linux/platform_data/gpio-omap.h> #include <asm/mach-types.h> #include <asm/mach/arch.h>
arch/arm/mach-omap2/gpio.c +1 -0
@@ -21,6 +21,7 @@#include <linux/slab.h> #include <linux/interrupt.h> #include <linux/of.h> +#include <linux/platform_data/gpio-omap.h> #include <plat/omap_hwmod.h> #include <plat/omap_device.h>
arch/arm/mach-omap2/hsmmc.c +4 -1
@@ -14,12 +14,15 @@#include <linux/string.h> #include <linux/delay.h> #include <linux/gpio.h> -#include <mach/hardware.h> +#include <linux/platform_data/gpio-omap.h> +#include <plat/mmc.h> #include <plat/omap-pm.h> #include <plat/mux.h> #include <plat/omap_device.h> +#include <mach/hardware.h> +#include "mux.h" #include "hsmmc.h" #include "control.h"
arch/arm/mach-omap2/include/mach/gpio.h +0 -2
@@ -1,5 +1,3 @@/* * arch/arm/mach-omap2/include/mach/gpio.h */ - -#include <plat/gpio.h>
arch/arm/mach-omap2/msdi.c +1 -0
@@ -23,6 +23,7 @@#include <linux/kernel.h> #include <linux/err.h> +#include <linux/platform_data/gpio-omap.h> #include <plat/omap_hwmod.h> #include <plat/omap_device.h>
arch/arm/mach-omap2/omap_hwmod_2420_data.c +0 -1
@@ -18,7 +18,6 @@#include <plat/dma.h> #include <plat/serial.h> #include <plat/i2c.h> -#include <plat/gpio.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <plat/dmtimer.h> #include <plat/l3_2xxx.h>
arch/arm/mach-omap2/omap_hwmod_2430_data.c +3 -3
@@ -12,15 +12,15 @@* XXX handle crossbar/shared link difference for L3? * XXX these should be marked initdata for multi-OMAP kernels */ +#include <linux/platform_data/dsp-mcbsp.h> +#include <linux/platform_data/spi-omap2-mcspi.h> +#include <plat/omap_hwmod.h> #include <mach/irqs.h> #include <plat/cpu.h> #include <plat/dma.h> #include <plat/serial.h> #include <plat/i2c.h> -#include <plat/gpio.h> -#include <linux/platform_data/dsp-mcbsp.h> -#include <linux/platform_data/spi-omap2-mcspi.h> #include <plat/dmtimer.h> #include <plat/mmc.h> #include <plat/l3_2xxx.h>
arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c +1 -1
@@ -10,9 +10,9 @@*/ #include <plat/omap_hwmod.h> #include <plat/serial.h> -#include <plat/gpio.h> #include <plat/dma.h> #include <plat/dmtimer.h> +#include <linux/platform_data/gpio-omap.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <mach/irqs.h>
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +3 -3
@@ -15,6 +15,9 @@* XXX these should be marked initdata for multi-OMAP kernels */ #include <linux/power/smartreflex.h> +#include <linux/platform_data/gpio-omap.h> +#include <linux/platform_data/dsp-mcbsp.h> +#include <linux/platform_data/spi-omap2-mcspi.h> #include <plat/omap_hwmod.h> #include <mach/irqs.h>
@@ -24,10 +27,7 @@#include <plat/l3_3xxx.h> #include <plat/l4_3xxx.h> #include <plat/i2c.h> -#include <plat/gpio.h> #include <plat/mmc.h> -#include <linux/platform_data/dsp-mcbsp.h> -#include <linux/platform_data/spi-omap2-mcspi.h> #include <plat/dmtimer.h> #include "omap_hwmod_common_data.h"
arch/arm/mach-omap2/omap_hwmod_44xx_data.c +3 -3
@@ -19,15 +19,15 @@*/ #include <linux/io.h> +#include <linux/platform_data/gpio-omap.h> +#include <linux/platform_data/spi-omap2-mcspi.h> +#include <linux/platform_data/dsp-mcbsp.h> #include <linux/power/smartreflex.h> #include <plat/omap_hwmod.h> #include <plat/cpu.h> #include <plat/i2c.h> -#include <plat/gpio.h> #include <plat/dma.h> -#include <linux/platform_data/spi-omap2-mcspi.h> -#include <linux/platform_data/dsp-mcbsp.h> #include <plat/mmc.h> #include <plat/dmtimer.h> #include <plat/common.h>
arch/arm/mach-omap2/pm24xx.c +1 -0
@@ -29,6 +29,7 @@#include <linux/irq.h> #include <linux/time.h> #include <linux/gpio.h> +#include <linux/platform_data/gpio-omap.h> #include <asm/mach/time.h> #include <asm/mach/irq.h>
arch/arm/mach-omap2/pm34xx.c +2 -0
@@ -28,6 +28,8 @@#include <linux/clk.h> #include <linux/delay.h> #include <linux/slab.h> +#include <linux/platform_data/gpio-omap.h> +#include <trace/events/power.h> #include <asm/suspend.h>
drivers/gpio/gpio-omap.c +8 -7
@@ -25,11 +25,9 @@#include <linux/of.h> #include <linux/of_device.h> #include <linux/irqdomain.h> +#include <linux/gpio.h> +#include <linux/platform_data/gpio-omap.h> -#include <mach/hardware.h> -#include <asm/irq.h> -#include <mach/irqs.h> -#include <asm/gpio.h> #include <asm/mach/irq.h> #define OFF_MODE 1
@@ -385,13 +383,16 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio,static int gpio_irq_type (struct irq_data *d,unsigned type) {struct gpio_bank *bank =irq_data_get_irq_chip_data (d); -unsigned gpio; +unsigned gpio =0 ;int retval;unsigned long flags; -if (!cpu_class_is_omap2 () && d->irq >IH_MPUIO_BASE ) +#ifdef CONFIG_ARCH_OMAP1 +if (d->irq >IH_MPUIO_BASE ) gpio =OMAP_MPUIO (d->irq -IH_MPUIO_BASE ); -else +#endif + +if (!gpio) gpio =irq_to_gpio (bank, d->irq);if (type & ~IRQ_TYPE_SENSE_MASK )
drivers/mtd/nand/ams-delta.c +6 -2
@@ -23,12 +23,16 @@#include <linux/mtd/mtd.h> #include <linux/mtd/nand.h> #include <linux/mtd/partitions.h> +#include <linux/gpio.h> +#include <linux/platform_data/gpio-omap.h> +#include <asm/io.h> -#include <mach/hardware.h> #include <asm/sizes.h> -#include <linux/gpio.h> +#include <plat/board-ams-delta.h> +#include <mach/hardware.h> +/* * MTD structure for E3 (Delta) */
include/linux/platform_data/gpio-omap.h renamed from arch/arm/plat-omap/include/plat/gpio.h +2 -13
@@ -1,6 +1,4 @@/* -* arch/arm/plat-omap/include/mach/gpio.h -* * OMAP GPIO handling defines and functions * * Copyright (C) 2003-2005 Nokia Corporation
@@ -155,6 +153,8 @@#define OMAP4_GPIO_CLEARDATAOUT 0x0190#define OMAP4_GPIO_SETDATAOUT 0x0194 +#define OMAP_MAX_GPIO_LINES 192 +#define OMAP_MPUIO (nr) (OMAP_MAX_GPIO_LINES + (nr))#define OMAP_GPIO_IS_MPUIO (nr) ((nr) >= OMAP_MAX_GPIO_LINES)
@@ -213,16 +213,5 @@ extern void omap2_gpio_prepare_for_idle(int off_mode);extern void omap2_gpio_resume_after_idle (void );extern void omap_set_gpio_debounce (int gpio,int enable);extern void omap_set_gpio_debounce_time (int gpio,int enable); -/*-------------------------------------------------------------------------*/ - -/* -* Wrappers for "new style" GPIO calls, using the new infrastructure -* which lets us plug in FPGA, I2C, and other implementations. -* -* The original OMAP-specific calls should eventually be removed. -*/ - -#include <linux/errno.h> -#include <asm-generic/gpio.h> #endif
sound/soc/omap/sdp3430.c +1 -0
@@ -33,6 +33,7 @@#include <asm/mach-types.h> #include <mach/hardware.h> #include <mach/gpio.h> +#include <linux/platform_data/gpio-omap.h> #include <linux/platform_data/dsp-mcbsp.h> /* Register descriptions for twl4030 codec part */
Re: [PATCH 6/9] ARM: OMAP: Move gpio.h to include/linux/platform_data
Quoted 7 lines · Tony Lindgren
This way we can remove includes of
plat/gpio.hwhich won't work with the single zImage support.Note that we also remove the
cpu_class_is_omap2()check ingpio-omap.cas the drivers should not call it as we need to make it local toarch/arm/mach-omap2for single zImage support.
Quoted 7 lines
While at it, arrange the related includes in the standard way.
Cc Grant Likely <[email protected]>Cc Linus Walleij <[email protected]>Acked-by Tony Lindgren <[email protected]>
Yours,
Linus Walleij
RE: [PATCH 6/9] ARM: OMAP: Move gpio.h to include/linux/platform_data
In reply to Tony LindgrenHi,
Quoted 7 lines · Tony Lindgren
This way we can remove includes of
plat/gpio.hwhich won't work with the single zImage support.Note that we also remove the
cpu_class_is_omap2()check ingpio-omap.cas the drivers should not call it as we need to make it local toarch/arm/mach-omap2for single zImage support.
Quoted 7 lines
While at it, arrange the related includes in the standard way.
Cc Grant Likely <[email protected]>Cc Linus Walleij <[email protected]>Acked-by Tony Lindgren <[email protected]>
I think there is only one Tony ;)
Regards
Afzal
Tony Lindgren
maintainerRe: [PATCH 6/9] ARM: OMAP: Move gpio.h to include/linux/platform_data
Quoted 12 lines · Mohammed, Afzal
Hi,
Quoted 9 lines · Tony Lindgren
This way we can remove includes of
plat/gpio.hwhich won't work with the single zImage support.Note that we also remove the
cpu_class_is_omap2()check ingpio-omap.cas the drivers should not call it as we need to make it local toarch/arm/mach-omap2for single zImage support.While at it, arrange the related includes in the standard way.
Quoted 7 lines
Quoted 5 lines
Cc Grant Likely <[email protected]>Cc Linus Walleij <[email protected]>Acked-by Tony Lindgren <[email protected]>I think there is only one Tony ;)
Heh thanks I'll tell myself to replace it with Signed-off-by :)
Tony
Tony Lindgren
maintainerPATCH 7/9 ARM: OMAP2+: Prepare for irqs.h removal
In reply to Tony LindgrenAs the interrupts should only be defined in the platform_data, and eventually coming from device tree, there's no need to define them in header files.
Let's remove the hardcoded references to irqs.h and fix up the includes so we don't rely on headers included in irqs.h. While at it, sort the includes the standard way.
--- arch/arm/mach-omap2/board-2430sdp.c | 7 +++-- arch/arm/mach-omap2/board-4430sdp.c | 2 + arch/arm/mach-omap2/board-am3517evm.c | 3 +- arch/arm/mach-omap2/board-cm-t3517.c | 6 ++-- arch/arm/mach-omap2/board-flash.c | 2 + arch/arm/mach-omap2/board-igep0020.c | 7 +++-- arch/arm/mach-omap2/board-n8x0.c | 3 +- arch/arm/mach-omap2/board-omap4panda.c | 2 + arch/arm/mach-omap2/board-rm680.c | 6 +++- arch/arm/mach-omap2/board-rx51-peripherals.c | 2 + arch/arm/mach-omap2/board-ti8168evm.c | 3 +- arch/arm/mach-omap2/board-zoom-debugboard.c | 1 + arch/arm/mach-omap2/board-zoom-peripherals.c | 5 ++-- arch/arm/mach-omap2/cpuidle34xx.c | 1 - arch/arm/mach-omap2/devices.c | 7 +---- arch/arm/mach-omap2/gpmc-smc91x.c | 1 + arch/arm/mach-omap2/gpmc.c | 11 +++++--- arch/arm/mach-omap2/io.c | 2 + arch/arm/mach-omap2/mailbox.c | 3 +- arch/arm/mach-omap2/mcbsp.c | 1 - arch/arm/mach-omap2/omap-iommu.c | 1 - arch/arm/mach-omap2/omap-wakeupgen.c | 1 + arch/arm/mach-omap2/omap4-common.c | 7 ++--- arch/arm/mach-omap2/omap_hwmod_2420_data.c | 1 - arch/arm/mach-omap2/omap_hwmod_2430_data.c | 3 +- .../mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c | 12 ++++----- arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 2 - arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 27 ++++++++++---------- arch/arm/mach-omap2/omap_l3_noc.c | 6 +++- arch/arm/mach-omap2/omap_phy_internal.c | 2 + arch/arm/mach-omap2/pm24xx.c | 2 - arch/arm/mach-omap2/prcm.c | 1 - arch/arm/mach-omap2/prm2xxx_3xxx.c | 3 +- arch/arm/mach-omap2/prm44xx.c | 4 +-- arch/arm/mach-omap2/prm_common.c | 1 - arch/arm/mach-omap2/serial.c | 1 + arch/arm/mach-omap2/timer.c | 10 ++++--- arch/arm/mach-omap2/twl-common.c | 3 +- arch/arm/mach-omap2/twl-common.h | 6 +--- arch/arm/mach-omap2/usb-host.c | 1 - arch/arm/mach-omap2/usb-musb.c | 1 - arch/arm/plat-omap/include/plat/omap44xx.h | 1 + drivers/dma/omap-dma.c | 2 + drivers/mfd/twl-core.c | 2 + drivers/mtd/onenand/omap2.c | 8 ++++-- drivers/tty/serial/8250/8250.c | 4 +-- drivers/video/omap2/dss/dispc.c | 1 + drivers/video/omap2/omapfb/omapfb-main.c | 4 ++- sound/soc/omap/mcbsp.c | 3 +- sound/soc/omap/omap-mcbsp.c | 1 + sound/soc/omap/omap-pcm.c | 1 + 51 files changed, 105 insertions(+), 92 deletions(-)
arch/arm/mach-omap2/board-2430sdp.c +4 -3
@@ -28,19 +28,20 @@#include <linux/io.h> #include <linux/gpio.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> -#include "common.h" #include <plat/gpmc.h> #include <plat/usb.h> #include <plat/gpmc-smc91x.h> +#include <mach/hardware.h> +#include <video/omapdss.h> #include <video/omap-panel-generic-dpi.h> +#include "common.h" #include "mux.h" #include "hsmmc.h" #include "common-board-devices.h"
@@ -231,7 +232,7 @@ static int __init omap2430_i2c_init(void) sdp2430_i2c1_boardinfo[0 ].irq =gpio_to_irq (78 );omap_register_i2c_bus (1 ,100 , sdp2430_i2c1_boardinfo,ARRAY_SIZE (sdp2430_i2c1_boardinfo)); -omap_pmic_init (2 ,100 ,"twl4030" ,INT_24XX_SYS_NIRQ , +omap_pmic_init (2 ,100 ,"twl4030" ,7 , &sdp2430_twldata);return 0 ; }
arch/arm/mach-omap2/board-4430sdp.c +1 -1
@@ -579,7 +579,7 @@ static int __init omap4_i2c_init(void)TWL_COMMON_REGULATOR_V1V8 | TWL_COMMON_REGULATOR_V2V1);omap4_pmic_init ("twl6030" , &sdp4430_twldata, - &twl6040_data,OMAP44XX_IRQ_SYS_2N ); + &twl6040_data,119 +OMAP44XX_IRQ_GIC_START );omap_register_i2c_bus (2 ,400 ,NULL ,0 );omap_register_i2c_bus (3 ,400 , sdp4430_i2c_3_boardinfo,ARRAY_SIZE (sdp4430_i2c_3_boardinfo));
arch/arm/mach-omap2/board-am3517evm.c +1 -2
@@ -298,8 +298,7 @@ static struct resource am3517_hecc_resources[] = { .flags = IORESOURCE_MEM, }, { - .start = INT_35XX_HECC0_IRQ, - .end = INT_35XX_HECC0_IRQ, + .start = 24, .flags = IORESOURCE_IRQ, }, };
arch/arm/mach-omap2/board-cm-t3517.c +3 -3
@@ -38,13 +38,14 @@#include <asm/mach/arch.h> #include <asm/mach/map.h> -#include "common.h" #include <plat/usb.h> #include <linux/platform_data/mtd-nand-omap2.h> #include <plat/gpmc.h> +#include <plat/serial.h> #include <mach/am35xx.h> +#include "common.h" #include "mux.h" #include "control.h" #include "common-board-devices.h"
@@ -89,8 +90,7 @@ static struct resource cm_t3517_hecc_resources[] = { .flags = IORESOURCE_MEM, }, { - .start = INT_35XX_HECC0_IRQ, - .end = INT_35XX_HECC0_IRQ, + .start = 24, .flags = IORESOURCE_IRQ, }, };
arch/arm/mach-omap2/board-flash.c +1 -1
@@ -16,8 +16,8 @@#include <linux/platform_device.h> #include <linux/mtd/physmap.h> #include <linux/io.h> -#include <plat/irqs.h> +#include <plat/cpu.h> #include <plat/gpmc.h> #include <linux/platform_data/mtd-nand-omap2.h> #include <linux/platform_data/mtd-onenand-omap2.h>
arch/arm/mach-omap2/board-igep0020.c +4 -3
@@ -23,19 +23,20 @@#include <linux/regulator/fixed.h> #include <linux/i2c/twl.h> #include <linux/mmc/host.h> -#include <linux/mtd/nand.h> +#include <linux/platform_data/mtd-onenand-omap2.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> -#include "common.h" #include <plat/gpmc.h> #include <plat/usb.h> +#include <plat/serial.h> +#include <video/omapdss.h> #include <video/omap-panel-tfp410.h> -#include <linux/platform_data/mtd-onenand-omap2.h> +#include "common.h" #include "mux.h" #include "hsmmc.h" #include "sdram-numonyx-m65kxxxxam.h"
arch/arm/mach-omap2/board-n8x0.c +1 -2
@@ -27,7 +27,6 @@#include "common.h" #include <plat/menelaus.h> -#include <mach/irqs.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/mtd-onenand-omap2.h> #include <plat/mmc.h>
@@ -599,7 +598,7 @@ static struct menelaus_platform_data n8x0_menelaus_platform_data __initdata = {static struct i2c_board_info __initdata n8x0_i2c_board_info_1[]__initdata = { {I2C_BOARD_INFO ("menelaus" ,0x72 ), - .irq =INT_24XX_SYS_NIRQ , + .irq =7 , .platform_data = &n8x0_menelaus_platform_data, }, };
arch/arm/mach-omap2/board-omap4panda.c +1 -1
@@ -292,7 +292,7 @@ static int __init omap4_panda_i2c_init(void)TWL_COMMON_REGULATOR_V1V8 | TWL_COMMON_REGULATOR_V2V1);omap4_pmic_init ("twl6030" , &omap4_panda_twldata, - &twl6040_data,OMAP44XX_IRQ_SYS_2N ); + &twl6040_data,119 +OMAP44XX_IRQ_GIC_START );omap_register_i2c_bus (2 ,400 ,NULL ,0 );/* * Bus 3 is attached to the DVI port where devices like the pico DLP
arch/arm/mach-omap2/board-rm680.c +4 -2
@@ -25,9 +25,11 @@#include <plat/mmc.h> #include <plat/usb.h> #include <plat/gpmc.h> -#include "common.h" +#include <plat/serial.h> +#include <linux/platform_data/mtd-onenand-omap2.h> +#include "common.h" #include "mux.h" #include "hsmmc.h" #include "sdram-nokia.h"
@@ -84,7 +86,7 @@ static struct twl4030_platform_data rm680_twl_data = {static void __init rm680_i2c_init (void ) {omap3_pmic_get_config (&rm680_twl_data,TWL_COMMON_PDATA_USB ,0 ); -omap_pmic_init (1 ,2900 ,"twl5031" ,INT_34XX_SYS_NIRQ , &rm680_twl_data); +omap_pmic_init (1 ,2900 ,"twl5031" ,7 , &rm680_twl_data);omap_register_i2c_bus (2 ,400 ,NULL ,0 );omap_register_i2c_bus (3 ,400 ,NULL ,0 ); }
arch/arm/mach-omap2/board-rx51-peripherals.c +1 -1
@@ -1047,7 +1047,7 @@ static int __init rx51_i2c_init(void) rx51_twldata.vdac->constraints.apply_uV = true; rx51_twldata.vdac->constraints.name ="VDAC" ; -omap_pmic_init (1 ,2200 ,"twl5030" ,INT_34XX_SYS_NIRQ , &rx51_twldata); +omap_pmic_init (1 ,2200 ,"twl5030" ,7 , &rx51_twldata);omap_register_i2c_bus (2 ,100 , rx51_peripherals_i2c_board_info_2,ARRAY_SIZE (rx51_peripherals_i2c_board_info_2));#if defined(CONFIG_SENSORS_LIS3_I2C ) || defined(CONFIG_SENSORS_LIS3_I2C_MODULE )
arch/arm/mach-omap2/board-ti8168evm.c +1 -2
@@ -20,9 +20,8 @@#include <asm/mach/arch.h> #include <asm/mach/map.h> -#include <plat/irqs.h> -#include "common.h" #include <plat/usb.h> +#include "common.h" static struct omap_musb_board_data musb_board_data = { .set_phy_power = ti81xx_musb_phy_power,
arch/arm/mach-omap2/board-zoom-debugboard.c +1 -0
@@ -19,6 +19,7 @@#include <plat/gpmc.h> #include <plat/gpmc-smsc911x.h> +#include <plat/serial.h> #include <mach/board-zoom.h>
arch/arm/mach-omap2/board-zoom-peripherals.c +3 -2
@@ -25,11 +25,12 @@#include <asm/mach/arch.h> #include <asm/mach/map.h> -#include "common.h" #include <plat/usb.h> +#include <plat/serial.h> #include <mach/board-zoom.h> +#include "common.h" #include "mux.h" #include "hsmmc.h" #include "common-board-devices.h"
@@ -279,7 +280,7 @@ static int __init omap_i2c_init(void) codec_data->hs_extmute =1 ; codec_data->set_hs_extmute = zoom2_set_hs_extmute; } -omap_pmic_init (1 ,2400 ,"twl5030" ,INT_34XX_SYS_NIRQ , &zoom_twldata); +omap_pmic_init (1 ,2400 ,"twl5030" ,7 , &zoom_twldata);omap_register_i2c_bus (2 ,400 ,NULL ,0 );omap_register_i2c_bus (3 ,400 ,NULL ,0 );return 0 ;
arch/arm/mach-omap2/cpuidle34xx.c +0 -1
@@ -28,7 +28,6 @@#include <linux/cpu_pm.h> #include <plat/prcm.h> -#include <plat/irqs.h> #include "powerdomain.h" #include "clockdomain.h"
arch/arm/mach-omap2/devices.c +2 -5
@@ -20,17 +20,16 @@#include <linux/platform_data/omap4-keypad.h> #include <mach/hardware.h> -#include <mach/irqs.h> #include <asm/mach-types.h> #include <asm/mach/map.h> #include <asm/pmu.h> -#include "iomap.h" #include <plat/dma.h> #include <plat/omap_hwmod.h> #include <plat/omap_device.h> #include <plat/omap4-keypad.h> +#include "iomap.h" #include "mux.h" #include "control.h" #include "devices.h"
@@ -435,13 +434,11 @@ static inline void omap_init_mcspi(void) {}static struct resource omap2_pmu_resource = { .start =3 , - .end =3 , .flags =IORESOURCE_IRQ , };static struct resource omap3_pmu_resource = { - .start =INT_34XX_BENCH_MPU_EMUL , - .end =INT_34XX_BENCH_MPU_EMUL , + .start =3 , .flags =IORESOURCE_IRQ , };
arch/arm/mach-omap2/gpmc-smc91x.c +1 -0
@@ -17,6 +17,7 @@#include <linux/io.h> #include <linux/smc91x.h> +#include <plat/cpu.h> #include <plat/gpmc.h> #include <plat/gpmc-smc91x.h>
arch/arm/mach-omap2/gpmc.c +7 -4
@@ -26,10 +26,13 @@#include <linux/interrupt.h> #include <asm/mach-types.h> -#include <plat/gpmc.h> +#include <plat/cpu.h> +#include <plat/gpmc.h> #include <plat/sdrc.h> +#include <mach/hardware.h> +/* GPMC register offsets */ #define GPMC_REVISION 0x00#define GPMC_SYSCONFIG 0x10
@@ -846,16 +849,16 @@ static int __init gpmc_init(void) l =OMAP2420_GPMC_BASE ; else l =OMAP34XX_GPMC_BASE ; - gpmc_irq =INT_34XX_GPMC_IRQ ; + gpmc_irq =20 ; }else if (cpu_is_omap34xx ()) { ck ="gpmc_fck" ; l =OMAP34XX_GPMC_BASE ; - gpmc_irq =INT_34XX_GPMC_IRQ ; + gpmc_irq =20 ; }else if (cpu_is_omap44xx () ||soc_is_omap54xx ()) {/* Base address and irq number are same for OMAP4/5 */ ck ="gpmc_ck" ; l =OMAP44XX_GPMC_BASE ; - gpmc_irq =OMAP44XX_IRQ_GPMC ; + gpmc_irq =20 +OMAP44XX_IRQ_GIC_START ; }if (WARN_ON (!ck))
arch/arm/mach-omap2/io.c +2 -0
@@ -33,6 +33,8 @@#include <plat/multi.h> #include <plat/dma.h> +#include <mach/hardware.h> +#include "iomap.h" #include "voltage.h" #include "powerdomain.h"
arch/arm/mach-omap2/mailbox.c +2 -1
@@ -16,8 +16,9 @@#include <linux/platform_device.h> #include <linux/io.h> #include <linux/pm_runtime.h> + +#include <plat/cpu.h> #include <plat/mailbox.h> -#include <mach/irqs.h> #define MAILBOX_REVISION 0x000#define MAILBOX_MESSAGE (m) (0x040 + 4 * (m))
arch/arm/mach-omap2/mcbsp.c +0 -1
@@ -18,7 +18,6 @@#include <linux/platform_device.h> #include <linux/slab.h> -#include <mach/irqs.h> #include <plat/dma.h> #include <plat/cpu.h> #include <linux/platform_data/dsp-mcbsp.h>
arch/arm/mach-omap2/omap-iommu.c +0 -1
@@ -14,7 +14,6 @@#include <linux/platform_device.h> #include <plat/iommu.h> -#include <plat/irqs.h> struct iommu_device {resource_size_t base;
arch/arm/mach-omap2/omap-wakeupgen.c +1 -0
@@ -27,6 +27,7 @@#include <asm/hardware/gic.h> +#include <mach/hardware.h> #include <mach/omap-wakeupgen.h> #include <mach/omap-secure.h>
arch/arm/mach-omap2/omap4-common.c +3 -4
@@ -16,15 +16,15 @@#include <linux/io.h> #include <linux/platform_device.h> #include <linux/memblock.h> +#include <linux/of_irq.h> +#include <linux/of_platform.h> +#include <linux/export.h> #include <asm/hardware/gic.h> #include <asm/hardware/cache-l2x0.h> #include <asm/mach/map.h> #include <asm/memblock.h> -#include <linux/of_irq.h> -#include <linux/of_platform.h> -#include <plat/irqs.h> #include <plat/sram.h> #include <plat/omap-secure.h> #include <plat/mmc.h>
@@ -35,7 +35,6 @@#include "common.h" #include "hsmmc.h" #include "omap4-sar-layout.h" -#include <linux/export.h> #ifdef CONFIG_CACHE_L2X0 static void __iomem *l2cache_base;
arch/arm/mach-omap2/omap_hwmod_2420_data.c +0 -1
@@ -13,7 +13,6 @@* XXX these should be marked initdata for multi-OMAP kernels */ #include <plat/omap_hwmod.h> -#include <mach/irqs.h> #include <plat/cpu.h> #include <plat/dma.h> #include <plat/serial.h>
arch/arm/mach-omap2/omap_hwmod_2430_data.c +2 -1
@@ -16,7 +16,6 @@#include <linux/platform_data/spi-omap2-mcspi.h> #include <plat/omap_hwmod.h> -#include <mach/irqs.h> #include <plat/cpu.h> #include <plat/dma.h> #include <plat/serial.h>
@@ -25,6 +24,8 @@#include <plat/mmc.h> #include <plat/l3_2xxx.h> +#include <plat/hardware.h> +#include "omap_hwmod_common_data.h" #include "prm-regbits-24xx.h"
arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c +5 -7
@@ -15,8 +15,6 @@#include <plat/common.h> #include <plat/hdq1w.h> -#include <mach/irqs.h> -#include "omap_hwmod_common_data.h" /* UART */
@@ -237,17 +235,17 @@ struct omap_hwmod_irq_info omap2_timer11_mpu_irqs[] = { };struct omap_hwmod_irq_info omap2_uart1_mpu_irqs[] = { - { .irq =INT_24XX_UART1_IRQ , }, + { .irq =72 , }, { .irq =-1 } };struct omap_hwmod_irq_info omap2_uart2_mpu_irqs[] = { - { .irq =INT_24XX_UART2_IRQ , }, + { .irq =73 , }, { .irq =-1 } };struct omap_hwmod_irq_info omap2_uart3_mpu_irqs[] = { - { .irq =INT_24XX_UART3_IRQ , }, + { .irq =74 , }, { .irq =-1 } };
@@ -257,12 +255,12 @@ struct omap_hwmod_irq_info omap2_dispc_irqs[] = { };struct omap_hwmod_irq_info omap2_i2c1_mpu_irqs[] = { - { .irq =INT_24XX_I2C1_IRQ , }, + { .irq =56 , }, { .irq =-1 } };struct omap_hwmod_irq_info omap2_i2c2_mpu_irqs[] = { - { .irq =INT_24XX_I2C2_IRQ , }, + { .irq =57 , }, { .irq =-1 } };
arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c +0 -2
@@ -15,8 +15,6 @@#include <linux/platform_data/gpio-omap.h> #include <linux/platform_data/spi-omap2-mcspi.h> -#include <mach/irqs.h> -#include "omap_hwmod_common_data.h" #include "cm-regbits-24xx.h" #include "prm-regbits-24xx.h"
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +14 -13
@@ -20,7 +20,6 @@#include <linux/platform_data/spi-omap2-mcspi.h> #include <plat/omap_hwmod.h> -#include <mach/irqs.h> #include <plat/cpu.h> #include <plat/dma.h> #include <plat/serial.h>
@@ -30,11 +29,13 @@#include <plat/mmc.h> #include <plat/dmtimer.h> +#include <mach/hardware.h> +#include <mach/am35xx.h> +#include "omap_hwmod_common_data.h" #include "prm-regbits-34xx.h" #include "cm-regbits-34xx.h" #include "wd_timer.h" -#include <mach/am35xx.h> /* * OMAP3xxx hardware module integration data
@@ -51,8 +52,8 @@/* L3 */ static struct omap_hwmod_irq_info omap3xxx_l3_main_irqs[] = { - { .irq =INT_34XX_L3_DBG_IRQ }, - { .irq =INT_34XX_L3_APP_IRQ }, + { .irq =9 }, + { .irq =10 }, { .irq =-1 } };
@@ -490,7 +491,7 @@ static struct omap_hwmod omap3xxx_uart3_hwmod = {/* UART4 */ static struct omap_hwmod_irq_info uart4_mpu_irqs[] = { - { .irq =INT_36XX_UART4_IRQ , }, + { .irq =80 , }, { .irq =-1 } };
@@ -518,7 +519,7 @@ static struct omap_hwmod omap36xx_uart4_hwmod = { };static struct omap_hwmod_irq_info am35xx_uart4_mpu_irqs[] = { - { .irq =INT_35XX_UART4_IRQ , }, + { .irq =84 , }, { .irq =-1 } };
@@ -804,7 +805,7 @@ static struct omap_i2c_dev_attr i2c3_dev_attr = { };static struct omap_hwmod_irq_info i2c3_mpu_irqs[] = { - { .irq =INT_34XX_I2C3_IRQ , }, + { .irq =61 , }, { .irq =-1 } };
@@ -1585,7 +1586,7 @@ static struct omap_hwmod omap34xx_mcspi3 = {/* mcspi4 */ static struct omap_hwmod_irq_info omap34xx_mcspi4_mpu_irqs[] = { - { .name ="irq" , .irq =INT_34XX_SPI4_IRQ },/* 48 */ + { .name ="irq" , .irq =48 }, { .irq =-1 } };
@@ -1773,7 +1774,7 @@ static struct omap_hwmod omap3xxx_es3plus_mmc1_hwmod = {/* MMC/SD/SDIO2 */ static struct omap_hwmod_irq_info omap34xx_mmc2_mpu_irqs[] = { - { .irq =INT_24XX_MMC2_IRQ , }, + { .irq =86 , }, { .irq =-1 } };
@@ -3214,10 +3215,10 @@ static struct omap_hwmod_ocp_if am35xx_l4_core__mdio = { };static struct omap_hwmod_irq_info am35xx_emac_mpu_irqs[] = { - { .name ="rxthresh" , .irq =INT_35XX_EMAC_C0_RXTHRESH_IRQ }, - { .name ="rx_pulse" , .irq =INT_35XX_EMAC_C0_RX_PULSE_IRQ }, - { .name ="tx_pulse" , .irq =INT_35XX_EMAC_C0_TX_PULSE_IRQ }, - { .name ="misc_pulse" , .irq =INT_35XX_EMAC_C0_MISC_PULSE_IRQ }, + { .name ="rxthresh" , .irq =67 }, + { .name ="rx_pulse" , .irq =68 }, + { .name ="tx_pulse" , .irq =69 }, + { .name ="misc_pulse" , .irq =70 }, { .irq =-1 } };
arch/arm/mach-omap2/omap_l3_noc.c +4 -2
@@ -28,6 +28,8 @@#include <linux/kernel.h> #include <linux/slab.h> +#include <plat/hardware.h> +#include "omap_l3_noc.h" /*
@@ -190,7 +192,7 @@ static int __devinit omap4_l3_probe(struct platform_device *pdev) IRQF_DISABLED, "l3-dbg-irq", l3);if (ret) {pr_crit ("L3: request_irq failed to register for 0x%x\n" , -OMAP44XX_IRQ_L3_DBG ); +9 +OMAP44XX_IRQ_GIC_START ); goto err3; }
@@ -200,7 +202,7 @@ static int __devinit omap4_l3_probe(struct platform_device *pdev) IRQF_DISABLED, "l3-app-irq", l3);if (ret) {pr_crit ("L3: request_irq failed to register for 0x%x\n" , -OMAP44XX_IRQ_L3_APP ); +10 +OMAP44XX_IRQ_GIC_START ); goto err4; }
arch/arm/mach-omap2/omap_phy_internal.c +2 -0
@@ -28,7 +28,9 @@#include <linux/err.h> #include <linux/usb.h> +#include <plat/hardware.h> #include <plat/usb.h> +#include "control.h" /* OMAP control module register for UTMI PHY */
arch/arm/mach-omap2/pm24xx.c +0 -2
@@ -40,8 +40,6 @@#include <plat/sram.h> #include <plat/dma.h> -#include <mach/irqs.h> -#include "common.h" #include "prm2xxx_3xxx.h" #include "prm-regbits-24xx.h"
arch/arm/mach-omap2/prcm.c +0 -1
@@ -27,7 +27,6 @@#include "common.h" #include <plat/prcm.h> -#include <plat/irqs.h> #include "clock.h" #include "clock2xxx.h"
arch/arm/mach-omap2/prm2xxx_3xxx.c +1 -2
@@ -20,7 +20,6 @@#include "common.h" #include <plat/cpu.h> #include <plat/prcm.h> -#include <plat/irqs.h> #include "vp.h"
@@ -40,7 +39,7 @@ static struct omap_prcm_irq_setup omap3_prcm_irq_setup = { .nr_regs = 1, .irqs = omap3_prcm_irqs, .nr_irqs = ARRAY_SIZE(omap3_prcm_irqs), - .irq = INT_34XX_PRCM_MPU_IRQ, + .irq = 11, .read_pending_irqs = &omap3xxx_prm_read_pending_irqs, .ocp_barrier = &omap3xxx_prm_ocp_barrier, .save_and_clear_irqen = &omap3xxx_prm_save_and_clear_irqen,
arch/arm/mach-omap2/prm44xx.c +2 -2
@@ -18,8 +18,8 @@#include <linux/io.h> #include <plat/cpu.h> -#include <plat/irqs.h> #include <plat/prcm.h> +#include <plat/hardware.h> #include "iomap.h" #include "common.h"
@@ -40,7 +40,7 @@ static struct omap_prcm_irq_setup omap4_prcm_irq_setup = { .nr_regs = 2, .irqs = omap4_prcm_irqs, .nr_irqs = ARRAY_SIZE(omap4_prcm_irqs), - .irq = OMAP44XX_IRQ_PRCM, + .irq = 11 + OMAP44XX_IRQ_GIC_START, .read_pending_irqs = &omap44xx_prm_read_pending_irqs, .ocp_barrier = &omap44xx_prm_ocp_barrier, .save_and_clear_irqen = &omap44xx_prm_save_and_clear_irqen,
arch/arm/mach-omap2/prm_common.c +0 -1
@@ -26,7 +26,6 @@#include <plat/common.h> #include <plat/prcm.h> -#include <plat/irqs.h> #include "prm2xxx_3xxx.h" #include "prm44xx.h"
arch/arm/mach-omap2/serial.c +1 -0
@@ -33,6 +33,7 @@#include <plat/omap_hwmod.h> #include <plat/omap_device.h> #include <plat/omap-pm.h> +#include <plat/serial.h> #include "prm2xxx_3xxx.h" #include "pm.h"
arch/arm/mach-omap2/timer.c +6 -4
@@ -38,14 +38,17 @@#include <linux/slab.h> #include <asm/mach/time.h> -#include <plat/dmtimer.h> #include <asm/smp_twd.h> #include <asm/sched_clock.h> -#include "common.h" +#include <plat/omap_hwmod.h> #include <plat/omap_device.h> +#include <plat/dmtimer.h> #include <plat/omap-pm.h> +#include <mach/hardware.h> + +#include "common.h" #include "powerdomain.h" /* Parent clocks, eventually these will come from the clock framework */
@@ -373,8 +376,7 @@ OMAP_SYS_TIMER(3_am33xx)#ifdef CONFIG_ARCH_OMAP4 #ifdef CONFIG_LOCAL_TIMERS static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, - OMAP44XX_LOCAL_TWD_BASE, - OMAP44XX_IRQ_LOCALTIMER); + OMAP44XX_LOCAL_TWD_BASE, 29);#endif static void __init omap4_timer_init (void )
arch/arm/mach-omap2/twl-common.c +2 -1
@@ -26,6 +26,7 @@#include <linux/regulator/machine.h> #include <linux/regulator/fixed.h> +#include <plat/hardware.h> #include <plat/i2c.h> #include <plat/usb.h>
@@ -83,7 +84,7 @@ void __init omap4_pmic_init(const char *pmic_type,omap_mux_init_signal ("sys_nirq1" ,OMAP_PIN_INPUT_PULLUP |OMAP_PIN_OFF_WAKEUPENABLE );strncpy (omap4_i2c1_board_info[0 ].type, pmic_type,sizeof (omap4_i2c1_board_info[0 ].type)); - omap4_i2c1_board_info[0 ].irq =OMAP44XX_IRQ_SYS_1N ; + omap4_i2c1_board_info[0 ].irq =7 +OMAP44XX_IRQ_GIC_START ; omap4_i2c1_board_info[0 ].platform_data = pmic_data;/* TWL6040 audio IC part */
arch/arm/mach-omap2/twl-common.h +2 -4
@@ -1,8 +1,6 @@#ifndef __OMAP_PMIC_COMMON__#define __OMAP_PMIC_COMMON__ -#include <plat/irqs.h> -#define TWL_COMMON_PDATA_USB (1 << 0)#define TWL_COMMON_PDATA_BCI (1 << 1)#define TWL_COMMON_PDATA_MADC (1 << 2)
@@ -40,13 +38,13 @@ void omap_pmic_late_init(void);static inline void omap2_pmic_init (const char *pmic_type,struct twl4030_platform_data *pmic_data) { -omap_pmic_init (2 ,2600 , pmic_type,INT_24XX_SYS_NIRQ , pmic_data); +omap_pmic_init (2 ,2600 , pmic_type,7 , pmic_data); }static inline void omap3_pmic_init (const char *pmic_type,struct twl4030_platform_data *pmic_data) { -omap_pmic_init (1 ,2600 , pmic_type,INT_34XX_SYS_NIRQ , pmic_data); +omap_pmic_init (1 ,2600 , pmic_type,7 , pmic_data); } void omap4_pmic_init(const char *pmic_type,
arch/arm/mach-omap2/usb-host.c +0 -1
@@ -26,7 +26,6 @@#include <asm/io.h> #include <mach/hardware.h> -#include <mach/irqs.h> #include <plat/usb.h> #include <plat/omap_device.h>
arch/arm/mach-omap2/usb-musb.c +0 -1
@@ -27,7 +27,6 @@#include <linux/usb/musb.h> #include <mach/hardware.h> -#include <mach/irqs.h> #include <mach/am35xx.h> #include <plat/usb.h> #include <plat/omap_device.h>
arch/arm/plat-omap/include/plat/omap44xx.h +1 -0
@@ -39,6 +39,7 @@#define IRQ_SIR_IRQ 0x0040#define OMAP44XX_GIC_DIST_BASE 0x48241000#define OMAP44XX_GIC_CPU_BASE 0x48240100 +#define OMAP44XX_IRQ_GIC_START 32#define OMAP44XX_SCU_BASE 0x48240000#define OMAP44XX_LOCAL_TWD_BASE 0x48240600#define OMAP44XX_L2CACHE_BASE 0x48242000
drivers/dma/omap-dma.c +2 -0
@@ -18,6 +18,8 @@#include <linux/spinlock.h> #include "virt-dma.h" + +#include <plat/cpu.h> #include <plat/dma.h> struct omap_dmadev {
drivers/mfd/twl-core.c +2 -0
@@ -46,6 +46,8 @@#include <linux/i2c.h> #include <linux/i2c/twl.h> +#include <plat/cpu.h> +#include "twl-core.h" /*
drivers/mtd/onenand/omap2.c +5 -3
@@ -37,13 +37,15 @@#include <linux/slab.h> #include <linux/regulator/consumer.h> -#include <asm/mach/flash.h> -#include <plat/gpmc.h> -#include <linux/platform_data/mtd-onenand-omap2.h> #include <asm/gpio.h> +#include <asm/mach/flash.h> +#include <plat/cpu.h> +#include <plat/gpmc.h> #include <plat/dma.h> +#include <linux/platform_data/mtd-onenand-omap2.h> +#define DRIVER_NAME "omap2-onenand"#define ONENAND_BUFRAM_SIZE (1024 * 5)
drivers/tty/serial/8250/8250.c +2 -2
@@ -2336,7 +2336,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios,serial_port_out (port,UART_EFR , efr); } -#ifdef CONFIG_ARCH_OMAP +#ifdef CONFIG_ARCH_OMAP1 /* Workaround to enable 115200 baud on OMAP1510 internal ports */ if (cpu_is_omap1510 () &&is_omap_port (up)) {if (baud ==115200 ) {
@@ -2426,7 +2426,7 @@ static unsigned int serial8250_port_size(struct uart_8250_port *pt) {if (pt->port.iotype ==UPIO_AU )return 0x1000 ; -#ifdef CONFIG_ARCH_OMAP +#ifdef CONFIG_ARCH_OMAP1 if (is_omap_port (pt))return 0x16 << pt->port.regshift;#endif
drivers/video/omap2/dss/dispc.c +1 -0
@@ -37,6 +37,7 @@#include <linux/platform_device.h> #include <linux/pm_runtime.h> +#include <plat/cpu.h> #include <plat/clock.h> #include <video/omapdss.h>
drivers/video/omap2/omapfb/omapfb-main.c +3 -1
@@ -30,10 +30,12 @@#include <linux/platform_device.h> #include <linux/omapfb.h> -#include <video/omapdss.h> +#include <plat/cpu.h> #include <plat/vram.h> #include <plat/vrfb.h> +#include <video/omapdss.h> +#include "omapfb.h" #define MODULE_NAME "omapfb"
sound/soc/omap/mcbsp.c +2 -1
@@ -24,9 +24,10 @@#include <linux/delay.h> #include <linux/io.h> #include <linux/slab.h> -#include <linux/platform_data/dsp-mcbsp.h> +#include <plat/cpu.h> +#include "mcbsp.h" static void omap_mcbsp_write (struct omap_mcbsp *mcbsp,u16 reg,u32 val)
sound/soc/omap/omap-mcbsp.c +1 -0
@@ -32,6 +32,7 @@#include <sound/initval.h> #include <sound/soc.h> +#include <plat/cpu.h> #include <plat/dma.h> #include <linux/platform_data/dsp-mcbsp.h> #include "mcbsp.h"
sound/soc/omap/omap-pcm.c +1 -0
@@ -30,6 +30,7 @@#include <sound/pcm_params.h> #include <sound/soc.h> +#include <plat/cpu.h> #include <plat/dma.h> #include "omap-pcm.h"
PATCH 7/9 ARM: OMAP2+: Prepare for irqs.h removal
Hi Tony,
Quoted 22 lines · Tony Lindgren
As the interrupts should only be defined in the
platform_data, and eventually coming from device tree, there's no need to define them in header files.Let's remove the hardcoded references to
irqs.hand fix up the includes so we don't rely on headers included inirqs.h. While at it, sort the includes the standard way.arch/arm/mach-omap2/gpmc.c | 11 +++++---arch/arm/mach-omap2/gpmc.c +1
-1/* GPMC register offsets */ #define GPMC_REVISION 0x00#define GPMC_SYSCONFIG 0x10@@ -846,16 +849,16 @@ static int __init gpmc_init(void) l =OMAP2420_GPMC_BASE ; else l =OMAP34XX_GPMC_BASE ; - gpmc_irq =INT_34XX_GPMC_IRQ ; + gpmc_irq =20 ; }else if (cpu_is_omap34xx ()) {
arch/arm/mach-omap2/gpmc.c static int __init gpmc_init(void) · line 861
Quoted 10 lines
arch/arm/mach-omap2/gpmc.c +2
-2ck ="gpmc_fck" ; l =OMAP34XX_GPMC_BASE ; - gpmc_irq =INT_34XX_GPMC_IRQ ; + gpmc_irq =20 ; }else if (cpu_is_omap44xx () ||soc_is_omap54xx ()) {/* Base address and irq number are same for OMAP4/5 */ ck ="gpmc_ck" ; l =OMAP44XX_GPMC_BASE ; - gpmc_irq =OMAP44XX_IRQ_GPMC ; + gpmc_irq =20 +OMAP44XX_IRQ_GIC_START ;
I have a suggestion to avoid above hardcoded patching on gpmc.c. With driver conversion series it again would have to be patched.
I have made a basic gpmc driver conversion, which is expected to be non-controversial. This was done over your devel-gpmc branch. It is working fine, has only 3 patches
1. Add hwmod entry
2. Adapt to hwmod
3. Basic driver conversion
Here the basic driver gets resources and clk in driver probe using con-id "fck", it has no platform data as of now
It is available @git://gitorious.org/x0148406-public/linux-kernel.git gpmc-simple-drv
Originally this was made on top of my series,
"OMAP-GPMC: generic time calc, prepare for driver"
It was modified so that it can be applied to your devel-gpmc branch.
*I am not sending the patches now to avoid confusion by way of having too many patch series*
In case you like this, let me know, I will post.
As I am proceeding with Paul's suggestion on hwmod reset, I hope Paul can take the first one.
Regards
Afzal
Tony Lindgren
maintainerPATCH 7/9 ARM: OMAP2+: Prepare for irqs.h removal
Quoted 48 lines · Mohammed, Afzal
Hi Tony,
Quoted 22 lines · Tony Lindgren
As the interrupts should only be defined in the
platform_data, and eventually coming from device tree, there's no need to define them in header files.Let's remove the hardcoded references to
irqs.hand fix up the includes so we don't rely on headers included inirqs.h. While at it, sort the includes the standard way.arch/arm/mach-omap2/gpmc.c | 11 +++++---arch/arm/mach-omap2/gpmc.c +1
-1/* GPMC register offsets */ #define GPMC_REVISION 0x00#define GPMC_SYSCONFIG 0x10@@ -846,16 +849,16 @@ static int __init gpmc_init(void) l =OMAP2420_GPMC_BASE ; else l =OMAP34XX_GPMC_BASE ; - gpmc_irq =INT_34XX_GPMC_IRQ ; + gpmc_irq =20 ; }else if (cpu_is_omap34xx ()) {arch/arm/mach-omap2/gpmc.c static int __init gpmc_init(void) · line 861
Quoted 10 lines
arch/arm/mach-omap2/gpmc.c +2
-2ck ="gpmc_fck" ; l =OMAP34XX_GPMC_BASE ; - gpmc_irq =INT_34XX_GPMC_IRQ ; + gpmc_irq =20 ; }else if (cpu_is_omap44xx () ||soc_is_omap54xx ()) {/* Base address and irq number are same for OMAP4/5 */ ck ="gpmc_ck" ; l =OMAP44XX_GPMC_BASE ; - gpmc_irq =OMAP44XX_IRQ_GPMC ; + gpmc_irq =20 +OMAP44XX_IRQ_GIC_START ;I have a suggestion to avoid above hardcoded patching on
gpmc.c. With driver conversion series it again would have to be patched.I have made a basic gpmc driver conversion, which is expected to be non-controversial. This was done over your devel-gpmc branch. It is working fine, has only 3 patches
1. Add hwmod entry
2. Adapt to hwmod
3. Basic driver conversion
Quoted 5 lines
Here the basic driver gets resources and clk in driver probe using con-id "fck", it has no platform data as of now
It is available @git://gitorious.org/x0148406-public/linux-kernel.git gpmc-simple-drv
Great, please post that. But let's get this cleanup out of the way first. It's OK if we have to go back and forth a bit if it means we can avoid dependencies between the patches as this is already all over the place.
Quoted 8 lines
Originally this was made on top of my series,
"OMAP-GPMC: generic time calc, prepare for driver"
It was modified so that it can be applied to your devel-gpmc branch.*I am not sending the patches now to avoid confusion by way of having too many patch series*
In case you like this, let me know, I will post.
Yes please post the patches rebased on testing-cleanup branch that I just pushed. That branch is not immutable yet though as we're waiting to hear from Arnd regrading the first patch in the branch.
Quoted 2 lines
As I am proceeding with Paul's suggestion on hwmod reset, I hope Paul can take the first one.
Let's first nail down the cleanup changes though..
Tony
PATCH 7/9 ARM: OMAP2+: Prepare for irqs.h removal
Hi Tony,
Quoted 10 lines · Tony Lindgren
Quoted 4 lines · Mohammed, Afzal
*I am not sending the patches now to avoid confusion by way of having too many patch series*
In case you like this, let me know, I will post.
Yes please post the patches rebased on testing-cleanup branch that I just pushed. That branch is not immutable yet though as we're waiting to hear from Arnd regrading the first patch in the branch.
The patches rebased on testing-cleanup branch has been posted [1].
Regards
Afzal
PATCH 7/9 ARM: OMAP2+: Prepare for irqs.h removal
Hi Tony,
Quoted 6 lines · Afzal
Quoted 5 lines · Tony Lindgren
Quoted 3 lines · Mohammed, Afzal
*I am not sending the patches now to avoid confusion by way of having too many patch series*
Quoted 7 lines
Quoted 5 lines
Quoted 1 line
In case you like this, let me know, I will post.
Yes please post the patches rebased on testing-cleanup branch that I just pushed. That branch is not immutable yet though as we're waiting to hear from Arnd regrading the first patch in the branch.
The patches rebased on testing-cleanup branch has been posted [1].
Latest version (v8) of patch series has been posted [A] with an enhancement, please ignore v7.
Regards
Afzal
Tony Lindgren
maintainerPATCH 7/9 ARM: OMAP2+: Prepare for irqs.h removal
In reply to Tony LindgrenQuoted 7 lines · Tony Lindgren
As the interrupts should only be defined in the
platform_data, and eventually coming from device tree, there's no need to define them in header files.Let's remove the hardcoded references to
irqs.hand fix up the includes so we don't rely on headers included inirqs.h. While at it, sort the includes the standard way.
Turns out this patch was not quite working with SPARSE_IRQ, we have to add OMAP_INTC_START for that. Also fixed up is compile for drivers/staging/tidspbridge. Updated patch below.
Regards,
Tony
From: Tony Lindgren <[email protected]>
Date: Mon, 27 Aug 2012 17:43:01 -0700
Subject: [PATCH] ARM: OMAP2+: Prepare for irqs.h removal
As the interrupts should only be defined in the platform_data, and eventually coming from device tree, there's no need to define them in header files.
Let's remove the hardcoded references to irqs.h and fix up the includes so we don't rely on headers included in irqs.h. Note that we're defining OMAP_INTC_START as 0 to the interrupts. This will be needed when we enable SPARSE_IRQ.
While at it, sort the includes the standard way, and add the trailing commas where they are missing in the related data structures.
Note that for drivers/staging/tidspbridge we just define things locally.
arch/arm/mach-omap2/board-2430sdp.c +4 -3
@@ -28,19 +28,20 @@#include <linux/io.h> #include <linux/gpio.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> -#include "common.h" #include <plat/gpmc.h> #include <plat/usb.h> #include <plat/gpmc-smc91x.h> +#include <mach/hardware.h> +#include <video/omapdss.h> #include <video/omap-panel-generic-dpi.h> +#include "common.h" #include "mux.h" #include "hsmmc.h" #include "common-board-devices.h"
@@ -231,7 +232,7 @@ static int __init omap2430_i2c_init(void) sdp2430_i2c1_boardinfo[0 ].irq =gpio_to_irq (78 );omap_register_i2c_bus (1 ,100 , sdp2430_i2c1_boardinfo,ARRAY_SIZE (sdp2430_i2c1_boardinfo)); -omap_pmic_init (2 ,100 ,"twl4030" ,INT_24XX_SYS_NIRQ , +omap_pmic_init (2 ,100 ,"twl4030" ,7 +OMAP_INTC_START , &sdp2430_twldata);return 0 ; }
arch/arm/mach-omap2/board-4430sdp.c +1 -1
@@ -579,7 +579,7 @@ static int __init omap4_i2c_init(void)TWL_COMMON_REGULATOR_V1V8 | TWL_COMMON_REGULATOR_V2V1);omap4_pmic_init ("twl6030" , &sdp4430_twldata, - &twl6040_data,OMAP44XX_IRQ_SYS_2N ); + &twl6040_data,119 +OMAP44XX_IRQ_GIC_START );omap_register_i2c_bus (2 ,400 ,NULL ,0 );omap_register_i2c_bus (3 ,400 , sdp4430_i2c_3_boardinfo,ARRAY_SIZE (sdp4430_i2c_3_boardinfo));
arch/arm/mach-omap2/board-am3517evm.c +1 -2
@@ -298,8 +298,7 @@ static struct resource am3517_hecc_resources[] = { .flags = IORESOURCE_MEM, }, { - .start = INT_35XX_HECC0_IRQ, - .end = INT_35XX_HECC0_IRQ, + .start = 24 + OMAP_INTC_START, .flags = IORESOURCE_IRQ, }, };
arch/arm/mach-omap2/board-cm-t3517.c +3 -3
@@ -38,13 +38,14 @@#include <asm/mach/arch.h> #include <asm/mach/map.h> -#include "common.h" #include <plat/usb.h> #include <linux/platform_data/mtd-nand-omap2.h> #include <plat/gpmc.h> +#include <plat/serial.h> #include <mach/am35xx.h> +#include "common.h" #include "mux.h" #include "control.h" #include "common-board-devices.h"
@@ -89,8 +90,7 @@ static struct resource cm_t3517_hecc_resources[] = { .flags = IORESOURCE_MEM, }, { - .start = INT_35XX_HECC0_IRQ, - .end = INT_35XX_HECC0_IRQ, + .start = 24 + OMAP_INTC_START, .flags = IORESOURCE_IRQ, }, };
arch/arm/mach-omap2/board-flash.c +1 -1
@@ -16,8 +16,8 @@#include <linux/platform_device.h> #include <linux/mtd/physmap.h> #include <linux/io.h> -#include <plat/irqs.h> +#include <plat/cpu.h> #include <plat/gpmc.h> #include <linux/platform_data/mtd-nand-omap2.h> #include <linux/platform_data/mtd-onenand-omap2.h>
arch/arm/mach-omap2/board-igep0020.c +4 -3
@@ -23,19 +23,20 @@#include <linux/regulator/fixed.h> #include <linux/i2c/twl.h> #include <linux/mmc/host.h> -#include <linux/mtd/nand.h> +#include <linux/platform_data/mtd-onenand-omap2.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> -#include "common.h" #include <plat/gpmc.h> #include <plat/usb.h> +#include <plat/serial.h> +#include <video/omapdss.h> #include <video/omap-panel-tfp410.h> -#include <linux/platform_data/mtd-onenand-omap2.h> +#include "common.h" #include "mux.h" #include "hsmmc.h" #include "sdram-numonyx-m65kxxxxam.h"
arch/arm/mach-omap2/board-n8x0.c +1 -2
@@ -27,7 +27,6 @@#include "common.h" #include <plat/menelaus.h> -#include <mach/irqs.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/mtd-onenand-omap2.h> #include <plat/mmc.h>
@@ -599,7 +598,7 @@ static struct menelaus_platform_data n8x0_menelaus_platform_data __initdata = {static struct i2c_board_info __initdata n8x0_i2c_board_info_1[]__initdata = { {I2C_BOARD_INFO ("menelaus" ,0x72 ), - .irq =INT_24XX_SYS_NIRQ , + .irq =7 +OMAP_INTC_START , .platform_data = &n8x0_menelaus_platform_data, }, };
arch/arm/mach-omap2/board-omap4panda.c +1 -1
@@ -292,7 +292,7 @@ static int __init omap4_panda_i2c_init(void)TWL_COMMON_REGULATOR_V1V8 | TWL_COMMON_REGULATOR_V2V1);omap4_pmic_init ("twl6030" , &omap4_panda_twldata, - &twl6040_data,OMAP44XX_IRQ_SYS_2N ); + &twl6040_data,119 +OMAP44XX_IRQ_GIC_START );omap_register_i2c_bus (2 ,400 ,NULL ,0 );/* * Bus 3 is attached to the DVI port where devices like the pico DLP
arch/arm/mach-omap2/board-rm680.c +4 -2
@@ -25,9 +25,11 @@#include <plat/mmc.h> #include <plat/usb.h> #include <plat/gpmc.h> -#include "common.h" +#include <plat/serial.h> +#include <linux/platform_data/mtd-onenand-omap2.h> +#include "common.h" #include "mux.h" #include "hsmmc.h" #include "sdram-nokia.h"
@@ -84,7 +86,7 @@ static struct twl4030_platform_data rm680_twl_data = {static void __init rm680_i2c_init (void ) {omap3_pmic_get_config (&rm680_twl_data,TWL_COMMON_PDATA_USB ,0 ); -omap_pmic_init (1 ,2900 ,"twl5031" ,INT_34XX_SYS_NIRQ , &rm680_twl_data); +omap_pmic_init (1 ,2900 ,"twl5031" ,7 +OMAP_INTC_START , &rm680_twl_data);omap_register_i2c_bus (2 ,400 ,NULL ,0 );omap_register_i2c_bus (3 ,400 ,NULL ,0 ); }
arch/arm/mach-omap2/board-rx51-peripherals.c +1 -1
@@ -1047,7 +1047,7 @@ static int __init rx51_i2c_init(void) rx51_twldata.vdac->constraints.apply_uV = true; rx51_twldata.vdac->constraints.name ="VDAC" ; -omap_pmic_init (1 ,2200 ,"twl5030" ,INT_34XX_SYS_NIRQ , &rx51_twldata); +omap_pmic_init (1 ,2200 ,"twl5030" ,7 +OMAP_INTC_START , &rx51_twldata);omap_register_i2c_bus (2 ,100 , rx51_peripherals_i2c_board_info_2,ARRAY_SIZE (rx51_peripherals_i2c_board_info_2));#if defined(CONFIG_SENSORS_LIS3_I2C ) || defined(CONFIG_SENSORS_LIS3_I2C_MODULE )
arch/arm/mach-omap2/board-ti8168evm.c +1 -2
@@ -20,9 +20,8 @@#include <asm/mach/arch.h> #include <asm/mach/map.h> -#include <plat/irqs.h> -#include "common.h" #include <plat/usb.h> +#include "common.h" static struct omap_musb_board_data musb_board_data = { .set_phy_power = ti81xx_musb_phy_power,
arch/arm/mach-omap2/board-zoom-debugboard.c +1 -0
@@ -19,6 +19,7 @@#include <plat/gpmc.h> #include <plat/gpmc-smsc911x.h> +#include <plat/serial.h> #include <mach/board-zoom.h>
arch/arm/mach-omap2/board-zoom-peripherals.c +3 -2
@@ -25,11 +25,12 @@#include <asm/mach/arch.h> #include <asm/mach/map.h> -#include "common.h" #include <plat/usb.h> +#include <plat/serial.h> #include <mach/board-zoom.h> +#include "common.h" #include "mux.h" #include "hsmmc.h" #include "common-board-devices.h"
@@ -279,7 +280,7 @@ static int __init omap_i2c_init(void) codec_data->hs_extmute =1 ; codec_data->set_hs_extmute = zoom2_set_hs_extmute; } -omap_pmic_init (1 ,2400 ,"twl5030" ,INT_34XX_SYS_NIRQ , &zoom_twldata); +omap_pmic_init (1 ,2400 ,"twl5030" ,7 +OMAP_INTC_START , &zoom_twldata);omap_register_i2c_bus (2 ,400 ,NULL ,0 );omap_register_i2c_bus (3 ,400 ,NULL ,0 );return 0 ;
arch/arm/mach-omap2/common-board-devices.c +1 -0
@@ -27,6 +27,7 @@#include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/mtd-nand-omap2.h> +#include "common.h" #include "common-board-devices.h" #if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
arch/arm/mach-omap2/common.h +2 -0
@@ -31,6 +31,8 @@#include <plat/common.h> #include <asm/proc-fns.h> +#define OMAP_INTC_START 0 +#ifdef CONFIG_SOC_OMAP2420 extern void omap242x_map_common_io (void );#else
arch/arm/mach-omap2/cpuidle34xx.c +0 -1
@@ -28,7 +28,6 @@#include <linux/cpu_pm.h> #include <plat/prcm.h> -#include <plat/irqs.h> #include "powerdomain.h" #include "clockdomain.h"
arch/arm/mach-omap2/devices.c +8 -10
@@ -20,17 +20,17 @@#include <linux/platform_data/omap4-keypad.h> #include <mach/hardware.h> -#include <mach/irqs.h> #include <asm/mach-types.h> #include <asm/mach/map.h> #include <asm/pmu.h> -#include "iomap.h" #include <plat/dma.h> #include <plat/omap_hwmod.h> #include <plat/omap_device.h> #include <plat/omap4-keypad.h> +#include "common.h" +#include "iomap.h" #include "mux.h" #include "control.h" #include "devices.h"
@@ -111,7 +111,7 @@ static struct resource omap2cam_resources[] = { .flags = IORESOURCE_MEM, }, { - .start = INT_24XX_CAM_IRQ, + .start = INT_24XX_CAM_IRQ + OMAP_INTC_START, .flags = IORESOURCE_IRQ, } };
@@ -200,7 +200,7 @@ static struct resource omap3isp_resources[] = { .flags = IORESOURCE_MEM, }, { - .start = INT_34XX_CAM_IRQ, + .start = INT_34XX_CAM_IRQ + OMAP_INTC_START, .flags = IORESOURCE_IRQ, } };
@@ -434,14 +434,12 @@ static inline void omap_init_mcspi(void) {}#endif static struct resource omap2_pmu_resource = { - .start =3 , - .end =3 , + .start =3 +OMAP_INTC_START , .flags =IORESOURCE_IRQ , };static struct resource omap3_pmu_resource = { - .start =INT_34XX_BENCH_MPU_EMUL , - .end =INT_34XX_BENCH_MPU_EMUL , + .start =3 +OMAP_INTC_START , .flags =IORESOURCE_IRQ , };
@@ -474,7 +472,7 @@ static struct resource omap2_sham_resources[] = { .flags = IORESOURCE_MEM, }, { - .start = INT_24XX_SHA1MD5, + .start = INT_24XX_SHA1MD5 + OMAP_INTC_START, .flags = IORESOURCE_IRQ, } };
@@ -492,7 +490,7 @@ static struct resource omap3_sham_resources[] = { .flags = IORESOURCE_MEM, }, { - .start = INT_34XX_SHA1MD52_IRQ, + .start = INT_34XX_SHA1MD52_IRQ + OMAP_INTC_START, .flags = IORESOURCE_IRQ, }, {
arch/arm/mach-omap2/gpmc-smc91x.c +1 -0
@@ -17,6 +17,7 @@#include <linux/io.h> #include <linux/smc91x.h> +#include <plat/cpu.h> #include <plat/gpmc.h> #include <plat/gpmc-smc91x.h>
arch/arm/mach-omap2/gpmc.c +9 -4
@@ -26,10 +26,15 @@#include <linux/interrupt.h> #include <asm/mach-types.h> -#include <plat/gpmc.h> +#include <plat/cpu.h> +#include <plat/gpmc.h> #include <plat/sdrc.h> +#include <mach/hardware.h> + +#include "common.h" +/* GPMC register offsets */ #define GPMC_REVISION 0x00#define GPMC_SYSCONFIG 0x10
@@ -846,16 +851,16 @@ static int __init gpmc_init(void) l =OMAP2420_GPMC_BASE ; else l =OMAP34XX_GPMC_BASE ; - gpmc_irq =INT_34XX_GPMC_IRQ ; + gpmc_irq =20 +OMAP_INTC_START ; }else if (cpu_is_omap34xx ()) { ck ="gpmc_fck" ; l =OMAP34XX_GPMC_BASE ; - gpmc_irq =INT_34XX_GPMC_IRQ ; + gpmc_irq =20 +OMAP_INTC_START ; }else if (cpu_is_omap44xx () ||soc_is_omap54xx ()) {/* Base address and irq number are same for OMAP4/5 */ ck ="gpmc_ck" ; l =OMAP44XX_GPMC_BASE ; - gpmc_irq =OMAP44XX_IRQ_GPMC ; + gpmc_irq =20 +OMAP44XX_IRQ_GIC_START ; }if (WARN_ON (!ck))
arch/arm/mach-omap2/io.c +2 -0
@@ -33,6 +33,8 @@#include <plat/multi.h> #include <plat/dma.h> +#include <mach/hardware.h> +#include "iomap.h" #include "voltage.h" #include "powerdomain.h"
arch/arm/mach-omap2/mailbox.c +2 -1
@@ -16,8 +16,9 @@#include <linux/platform_device.h> #include <linux/io.h> #include <linux/pm_runtime.h> + +#include <plat/cpu.h> #include <plat/mailbox.h> -#include <mach/irqs.h> #define MAILBOX_REVISION 0x000#define MAILBOX_MESSAGE (m) (0x040 + 4 * (m))
arch/arm/mach-omap2/mcbsp.c +0 -1
@@ -18,7 +18,6 @@#include <linux/platform_device.h> #include <linux/slab.h> -#include <mach/irqs.h> #include <plat/dma.h> #include <plat/cpu.h> #include <linux/platform_data/ti-mcbsp.h>
arch/arm/mach-omap2/omap-iommu.c +0 -1
@@ -14,7 +14,6 @@#include <linux/platform_device.h> #include <plat/iommu.h> -#include <plat/irqs.h> struct iommu_device {resource_size_t base;
arch/arm/mach-omap2/omap-wakeupgen.c +1 -0
@@ -27,6 +27,7 @@#include <asm/hardware/gic.h> +#include <mach/hardware.h> #include <mach/omap-wakeupgen.h> #include <mach/omap-secure.h>
arch/arm/mach-omap2/omap4-common.c +3 -4
@@ -16,15 +16,15 @@#include <linux/io.h> #include <linux/platform_device.h> #include <linux/memblock.h> +#include <linux/of_irq.h> +#include <linux/of_platform.h> +#include <linux/export.h> #include <asm/hardware/gic.h> #include <asm/hardware/cache-l2x0.h> #include <asm/mach/map.h> #include <asm/memblock.h> -#include <linux/of_irq.h> -#include <linux/of_platform.h> -#include <plat/irqs.h> #include <plat/sram.h> #include <plat/omap-secure.h> #include <plat/mmc.h>
@@ -35,7 +35,6 @@#include "common.h" #include "hsmmc.h" #include "omap4-sar-layout.h" -#include <linux/export.h> #ifdef CONFIG_CACHE_L2X0 static void __iomem *l2cache_base;
arch/arm/mach-omap2/omap_hwmod_2420_data.c +11 -12
@@ -13,7 +13,6 @@* XXX these should be marked initdata for multi-OMAP kernels */ #include <plat/omap_hwmod.h> -#include <mach/irqs.h> #include <plat/cpu.h> #include <plat/dma.h> #include <plat/serial.h>
@@ -161,9 +160,9 @@ static struct omap_hwmod omap2420_dma_system_hwmod = {/* mailbox */ static struct omap_hwmod_irq_info omap2420_mailbox_irqs[] = { - { .name ="dsp" , .irq =26 }, - { .name ="iva" , .irq =34 }, - { .irq =-1 } + { .name ="dsp" , .irq =26 +OMAP_INTC_START , }, + { .name ="iva" , .irq =34 +OMAP_INTC_START , }, + { .irq =-1 }, };static struct omap_hwmod omap2420_mailbox_hwmod = {
@@ -198,9 +197,9 @@ static struct omap_hwmod_opt_clk mcbsp_opt_clks[] = {/* mcbsp1 */ static struct omap_hwmod_irq_info omap2420_mcbsp1_irqs[] = { - { .name ="tx" , .irq =59 }, - { .name ="rx" , .irq =60 }, - { .irq =-1 } + { .name ="tx" , .irq =59 +OMAP_INTC_START , }, + { .name ="rx" , .irq =60 +OMAP_INTC_START , }, + { .irq =-1 }, };static struct omap_hwmod omap2420_mcbsp1_hwmod = {
@@ -224,9 +223,9 @@ static struct omap_hwmod omap2420_mcbsp1_hwmod = {/* mcbsp2 */ static struct omap_hwmod_irq_info omap2420_mcbsp2_irqs[] = { - { .name ="tx" , .irq =62 }, - { .name ="rx" , .irq =63 }, - { .irq =-1 } + { .name ="tx" , .irq =62 +OMAP_INTC_START , }, + { .name ="rx" , .irq =63 +OMAP_INTC_START , }, + { .irq =-1 }, };static struct omap_hwmod omap2420_mcbsp2_hwmod = {
@@ -264,8 +263,8 @@ static struct omap_hwmod_class omap2420_msdi_hwmod_class = {/* msdi1 */ static struct omap_hwmod_irq_info omap2420_msdi1_irqs[] = { - { .irq =83 }, - { .irq =-1 } + { .irq =83 +OMAP_INTC_START , }, + { .irq =-1 }, };static struct omap_hwmod_dma_info omap2420_msdi1_sdma_reqs[] = {
arch/arm/mach-omap2/omap_hwmod_2430_data.c +36 -35
149 lines not on this page · raw message
arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c +53 -55
194 lines not on this page · raw message
arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c +2 -4
@@ -15,16 +15,14 @@#include <linux/platform_data/gpio-omap.h> #include <linux/platform_data/spi-omap2-mcspi.h> -#include <mach/irqs.h> -#include "omap_hwmod_common_data.h" #include "cm-regbits-24xx.h" #include "prm-regbits-24xx.h" #include "wd_timer.h" struct omap_hwmod_irq_info omap2xxx_timer12_mpu_irqs[] = { - { .irq =48 , }, - { .irq =-1 } + { .irq =48 +OMAP_INTC_START , }, + { .irq =-1 }, };struct omap_hwmod_dma_info omap2xxx_dss_sdma_chs[] = {
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +75 -74
333 lines not on this page · raw message
arch/arm/mach-omap2/omap_hwmod_common_data.h +1 -0
@@ -16,6 +16,7 @@#include <plat/omap_hwmod.h> +#include "common.h" #include "display.h" /* Common address space across OMAP2xxx */
arch/arm/mach-omap2/omap_l3_noc.c +4 -2
@@ -28,6 +28,8 @@#include <linux/kernel.h> #include <linux/slab.h> +#include <plat/hardware.h> +#include "omap_l3_noc.h" /*
@@ -190,7 +192,7 @@ static int __devinit omap4_l3_probe(struct platform_device *pdev) IRQF_DISABLED, "l3-dbg-irq", l3);if (ret) {pr_crit ("L3: request_irq failed to register for 0x%x\n" , -OMAP44XX_IRQ_L3_DBG ); +9 +OMAP44XX_IRQ_GIC_START ); goto err3; }
@@ -200,7 +202,7 @@ static int __devinit omap4_l3_probe(struct platform_device *pdev) IRQF_DISABLED, "l3-app-irq", l3);if (ret) {pr_crit ("L3: request_irq failed to register for 0x%x\n" , -OMAP44XX_IRQ_L3_APP ); +10 +OMAP44XX_IRQ_GIC_START ); goto err4; }
arch/arm/mach-omap2/omap_phy_internal.c +2 -0
@@ -28,7 +28,9 @@#include <linux/err.h> #include <linux/usb.h> +#include <plat/hardware.h> #include <plat/usb.h> +#include "control.h" /* OMAP control module register for UTMI PHY */
arch/arm/mach-omap2/pm24xx.c +0 -2
@@ -40,8 +40,6 @@#include <plat/sram.h> #include <plat/dma.h> -#include <mach/irqs.h> -#include "common.h" #include "prm2xxx_3xxx.h" #include "prm-regbits-24xx.h"
arch/arm/mach-omap2/prcm.c +0 -1
@@ -27,7 +27,6 @@#include "common.h" #include <plat/prcm.h> -#include <plat/irqs.h> #include "clock.h" #include "clock2xxx.h"
arch/arm/mach-omap2/prm2xxx_3xxx.c +1 -2
@@ -20,7 +20,6 @@#include "common.h" #include <plat/cpu.h> #include <plat/prcm.h> -#include <plat/irqs.h> #include "vp.h"
@@ -40,7 +39,7 @@ static struct omap_prcm_irq_setup omap3_prcm_irq_setup = { .nr_regs = 1, .irqs = omap3_prcm_irqs, .nr_irqs = ARRAY_SIZE(omap3_prcm_irqs), - .irq = INT_34XX_PRCM_MPU_IRQ, + .irq = 11 + OMAP_INTC_START, .read_pending_irqs = &omap3xxx_prm_read_pending_irqs, .ocp_barrier = &omap3xxx_prm_ocp_barrier, .save_and_clear_irqen = &omap3xxx_prm_save_and_clear_irqen,
arch/arm/mach-omap2/prm44xx.c +2 -2
@@ -18,8 +18,8 @@#include <linux/io.h> #include <plat/cpu.h> -#include <plat/irqs.h> #include <plat/prcm.h> +#include <plat/hardware.h> #include "iomap.h" #include "common.h"
@@ -40,7 +40,7 @@ static struct omap_prcm_irq_setup omap4_prcm_irq_setup = { .nr_regs = 2, .irqs = omap4_prcm_irqs, .nr_irqs = ARRAY_SIZE(omap4_prcm_irqs), - .irq = OMAP44XX_IRQ_PRCM, + .irq = 11 + OMAP44XX_IRQ_GIC_START, .read_pending_irqs = &omap44xx_prm_read_pending_irqs, .ocp_barrier = &omap44xx_prm_ocp_barrier, .save_and_clear_irqen = &omap44xx_prm_save_and_clear_irqen,
arch/arm/mach-omap2/prm_common.c +0 -1
@@ -26,7 +26,6 @@#include <plat/common.h> #include <plat/prcm.h> -#include <plat/irqs.h> #include "prm2xxx_3xxx.h" #include "prm44xx.h"
arch/arm/mach-omap2/serial.c +1 -0
@@ -33,6 +33,7 @@#include <plat/omap_hwmod.h> #include <plat/omap_device.h> #include <plat/omap-pm.h> +#include <plat/serial.h> #include "prm2xxx_3xxx.h" #include "pm.h"
arch/arm/mach-omap2/timer.c +6 -4
@@ -38,14 +38,17 @@#include <linux/slab.h> #include <asm/mach/time.h> -#include <plat/dmtimer.h> #include <asm/smp_twd.h> #include <asm/sched_clock.h> -#include "common.h" +#include <plat/omap_hwmod.h> #include <plat/omap_device.h> +#include <plat/dmtimer.h> #include <plat/omap-pm.h> +#include <mach/hardware.h> + +#include "common.h" #include "powerdomain.h" /* Parent clocks, eventually these will come from the clock framework */
@@ -380,8 +383,7 @@ OMAP_SYS_TIMER(3_am33xx)#ifdef CONFIG_ARCH_OMAP4 #ifdef CONFIG_LOCAL_TIMERS static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, - OMAP44XX_LOCAL_TWD_BASE, - OMAP44XX_IRQ_LOCALTIMER); + OMAP44XX_LOCAL_TWD_BASE, 29 + OMAP_INTC_START);#endif static void __init omap4_timer_init (void )
arch/arm/mach-omap2/twl-common.c +2 -1
@@ -26,6 +26,7 @@#include <linux/regulator/machine.h> #include <linux/regulator/fixed.h> +#include <plat/hardware.h> #include <plat/i2c.h> #include <plat/usb.h>
@@ -84,7 +85,7 @@ void __init omap4_pmic_init(const char *pmic_type,omap_mux_init_signal ("sys_nirq1" ,OMAP_PIN_INPUT_PULLUP |OMAP_PIN_OFF_WAKEUPENABLE );strncpy (omap4_i2c1_board_info[0 ].type, pmic_type,sizeof (omap4_i2c1_board_info[0 ].type)); - omap4_i2c1_board_info[0 ].irq =OMAP44XX_IRQ_SYS_1N ; + omap4_i2c1_board_info[0 ].irq =7 +OMAP44XX_IRQ_GIC_START ; omap4_i2c1_board_info[0 ].platform_data = pmic_data;/* TWL6040 audio IC part */
arch/arm/mach-omap2/twl-common.h +3 -3
@@ -1,7 +1,7 @@#ifndef __OMAP_PMIC_COMMON__#define __OMAP_PMIC_COMMON__ -#include <plat/irqs.h> +#include "common.h" #define TWL_COMMON_PDATA_USB (1 << 0)#define TWL_COMMON_PDATA_BCI (1 << 1)
@@ -40,13 +40,13 @@ void omap_pmic_late_init(void);static inline void omap2_pmic_init (const char *pmic_type,struct twl4030_platform_data *pmic_data) { -omap_pmic_init (2 ,2600 , pmic_type,INT_24XX_SYS_NIRQ , pmic_data); +omap_pmic_init (2 ,2600 , pmic_type,7 +OMAP_INTC_START , pmic_data); }static inline void omap3_pmic_init (const char *pmic_type,struct twl4030_platform_data *pmic_data) { -omap_pmic_init (1 ,2600 , pmic_type,INT_34XX_SYS_NIRQ , pmic_data); +omap_pmic_init (1 ,2600 , pmic_type,7 +OMAP_INTC_START , pmic_data); } void omap4_pmic_init(const char *pmic_type,
arch/arm/mach-omap2/usb-host.c +0 -1
@@ -26,7 +26,6 @@#include <asm/io.h> #include <mach/hardware.h> -#include <mach/irqs.h> #include <plat/usb.h> #include <plat/omap_device.h>
arch/arm/mach-omap2/usb-musb.c +0 -1
@@ -27,7 +27,6 @@#include <linux/usb/musb.h> #include <mach/hardware.h> -#include <mach/irqs.h> #include <mach/am35xx.h> #include <plat/usb.h> #include <plat/omap_device.h>
arch/arm/plat-omap/include/plat/omap44xx.h +1 -0
@@ -39,6 +39,7 @@#define IRQ_SIR_IRQ 0x0040#define OMAP44XX_GIC_DIST_BASE 0x48241000#define OMAP44XX_GIC_CPU_BASE 0x48240100 +#define OMAP44XX_IRQ_GIC_START 32#define OMAP44XX_SCU_BASE 0x48240000#define OMAP44XX_LOCAL_TWD_BASE 0x48240600#define OMAP44XX_L2CACHE_BASE 0x48242000
drivers/dma/omap-dma.c +2 -0
@@ -18,6 +18,8 @@#include <linux/spinlock.h> #include "virt-dma.h" + +#include <plat/cpu.h> #include <plat/dma.h> struct omap_dmadev {
drivers/mfd/twl-core.c +2 -0
@@ -46,6 +46,8 @@#include <linux/i2c.h> #include <linux/i2c/twl.h> +#include <plat/cpu.h> +#include "twl-core.h" /*
drivers/mtd/onenand/omap2.c +5 -3
@@ -37,13 +37,15 @@#include <linux/slab.h> #include <linux/regulator/consumer.h> -#include <asm/mach/flash.h> -#include <plat/gpmc.h> -#include <linux/platform_data/mtd-onenand-omap2.h> #include <asm/gpio.h> +#include <asm/mach/flash.h> +#include <plat/cpu.h> +#include <plat/gpmc.h> #include <plat/dma.h> +#include <linux/platform_data/mtd-onenand-omap2.h> +#define DRIVER_NAME "omap2-onenand"#define ONENAND_BUFRAM_SIZE (1024 * 5)
drivers/staging/tidspbridge/core/dsp-clock.c +2 -0
@@ -16,6 +16,8 @@* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ +#define L4_34XX_BASE 0x48000000 +#include <linux/types.h> /* ----------------------------------- Host OS */
drivers/staging/tidspbridge/core/tiomap3430.c +2 -2
@@ -415,10 +415,10 @@ static int bridge_brd_start(struct bridge_dev_context *dev_ctxt,/* Assert RST1 i.e only the RST only for DSP megacell */ if (!status) {/* -* XXX: ioremapping MUST be removed once ctrl +* XXX: OMAP343X_CTRL_BASE ioremapping MUST be removed once ctrl * function is made available. */ -void __iomem *ctrl =ioremap (OMAP343X_CTRL_BASE ,SZ_4K ); +void __iomem *ctrl =ioremap (0x48002000 ,SZ_4K );if (!ctrl)return -ENOMEM ;
drivers/staging/tidspbridge/core/wdt.c +2 -1
@@ -25,7 +25,8 @@#include <dspbridge/host_os.h> -#define OMAP34XX_WDT3_BASE (L4_PER_34XX_BASE + 0x30000) +#define OMAP34XX_WDT3_BASE (0x49000000 + 0x30000) +#define INT_34XX_WDT3_IRQ 36static struct dsp_wdt_setting dsp_wdt;
drivers/tty/serial/8250/8250.c +2 -2
@@ -2336,7 +2336,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios,serial_port_out (port,UART_EFR , efr); } -#ifdef CONFIG_ARCH_OMAP +#ifdef CONFIG_ARCH_OMAP1 /* Workaround to enable 115200 baud on OMAP1510 internal ports */ if (cpu_is_omap1510 () &&is_omap_port (up)) {if (baud ==115200 ) {
@@ -2426,7 +2426,7 @@ static unsigned int serial8250_port_size(struct uart_8250_port *pt) {if (pt->port.iotype ==UPIO_AU )return 0x1000 ; -#ifdef CONFIG_ARCH_OMAP +#ifdef CONFIG_ARCH_OMAP1 if (is_omap_port (pt))return 0x16 << pt->port.regshift;#endif
drivers/video/omap2/dss/dispc.c +1 -0
@@ -37,6 +37,7 @@#include <linux/platform_device.h> #include <linux/pm_runtime.h> +#include <plat/cpu.h> #include <plat/clock.h> #include <video/omapdss.h>
drivers/video/omap2/omapfb/omapfb-main.c +3 -1
@@ -30,10 +30,12 @@#include <linux/platform_device.h> #include <linux/omapfb.h> -#include <video/omapdss.h> +#include <plat/cpu.h> #include <plat/vram.h> #include <plat/vrfb.h> +#include <video/omapdss.h> +#include "omapfb.h" #define MODULE_NAME "omapfb"
sound/soc/omap/mcbsp.c +2 -1
@@ -24,9 +24,10 @@#include <linux/delay.h> #include <linux/io.h> #include <linux/slab.h> -#include <linux/platform_data/ti-mcbsp.h> +#include <plat/cpu.h> +#include "mcbsp.h" static void omap_mcbsp_write (struct omap_mcbsp *mcbsp,u16 reg,u32 val)
sound/soc/omap/omap-mcbsp.c +1 -0
@@ -32,6 +32,7 @@#include <sound/initval.h> #include <sound/soc.h> +#include <plat/cpu.h> #include <plat/dma.h> #include <linux/platform_data/ti-mcbsp.h> #include "mcbsp.h"
sound/soc/omap/omap-pcm.c +1 -0
@@ -30,6 +30,7 @@#include <sound/pcm_params.h> #include <sound/soc.h> +#include <plat/cpu.h> #include <plat/dma.h> #include "omap-pcm.h"
Tony Lindgren
maintainerPATCH 8/9 ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ
In reply to Tony LindgrenRemove hardcoded IRQs in irqs.h and related files as these are no longer needed.
--- arch/arm/mach-omap2/include/mach/irqs.h | 2 arch/arm/plat-omap/Kconfig | 1 arch/arm/plat-omap/include/plat/irqs-44xx.h | 144 --------------------- arch/arm/plat-omap/include/plat/irqs.h | 183 --------------------------- 4 files changed, 2 insertions(+), 328 deletions(-) delete mode 100644 arch/arm/plat-omap/include/plat/irqs-44xx.h
arch/arm/mach-omap2/include/mach/irqs.h +0 -2
@@ -1,5 +1,3 @@/* * arch/arm/mach-omap2/include/mach/irqs.h */ - -#include <plat/irqs.h>
arch/arm/plat-omap/Kconfig +1 -0
@@ -25,6 +25,7 @@ config ARCH_OMAP2PLUS bool "TI OMAP2/3/4" select CLKDEV_LOOKUP select GENERIC_IRQ_CHIP + select SPARSE_IRQ select OMAP_DM_TIMER select USE_OF select PROC_DEVICETREE if PROC_FS
arch/arm/plat-omap/include/plat/irqs-44xx.h deleted +0 -144
144 lines not on this page · raw message
arch/arm/plat-omap/include/plat/irqs.h +1 -182
201 lines not on this page · raw message
Tony Lindgren
maintainerPATCH 8/9 ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ
Quoted 2 lines · Tony Lindgren
Remove hardcoded IRQs in
irqs.hand related files as these are no longer needed.
Here's a version that actually boots properly on omap2/3/4. Note that for omap4 also patch "[PATCH] ARM: OMAP4: Fix array size for irq_target_cpu" is needed.
Regards,
Tony
From: Tony Lindgren <[email protected]>
Date: Mon, 27 Aug 2012 17:43:01 -0700
Subject: [PATCH] ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ
Remove hardcoded IRQs in irqs.h and related files as these are no longer needed.
arch/arm/mach-omap2/common.h +2 -1
@@ -26,12 +26,13 @@#define __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H#ifndef __ASSEMBLER__ +#include <linux/irq.h> #include <linux/delay.h> #include <linux/i2c/twl.h> #include <plat/common.h> #include <asm/proc-fns.h> -#define OMAP_INTC_START 0 +#define OMAP_INTC_START NR_IRQS#ifdef CONFIG_SOC_OMAP2420 extern void omap242x_map_common_io (void );
arch/arm/mach-omap2/include/mach/irqs.h +0 -2
@@ -1,5 +1,3 @@/* * arch/arm/mach-omap2/include/mach/irqs.h */ - -#include <plat/irqs.h>
arch/arm/plat-omap/Kconfig +1 -0
@@ -25,6 +25,7 @@ config ARCH_OMAP2PLUS bool "TI OMAP2/3/4" select CLKDEV_LOOKUP select GENERIC_IRQ_CHIP + select SPARSE_IRQ select OMAP_DM_TIMER select USE_OF select PROC_DEVICETREE if PROC_FS
arch/arm/plat-omap/include/plat/irqs-44xx.h deleted +0 -144
144 lines not on this page · raw message
arch/arm/plat-omap/include/plat/irqs.h +1 -182
201 lines not on this page · raw message
drivers/staging/tidspbridge/core/wdt.c +1 -1
@@ -26,7 +26,7 @@#define OMAP34XX_WDT3_BASE (0x49000000 + 0x30000) -#define INT_34XX_WDT3_IRQ 36 +#define INT_34XX_WDT3_IRQ (36 + NR_IRQS)static struct dsp_wdt_setting dsp_wdt;
Tony Lindgren
maintainerPATCH 9/9 ARM: OMAP1: Move plat/irqs.h to mach/irqs.h
In reply to Tony LindgrenThis is now omap1 specific files.
--- arch/arm/mach-omap1/ams-delta-fiq-handler.S | 1 arch/arm/mach-omap1/dma.c | 3 arch/arm/mach-omap1/include/mach/ams-delta-fiq.h | 2 arch/arm/mach-omap1/include/mach/irqs.h | 267 ++++++++++++++++++++++ arch/arm/plat-omap/include/plat/irqs.h | 268 ---------------------- 5 files changed, 268 insertions(+), 273 deletions(-) delete mode 100644 arch/arm/plat-omap/include/plat/irqs.h
arch/arm/mach-omap1/ams-delta-fiq-handler.S +1 -0
@@ -18,6 +18,7 @@ #include <plat/board-ams-delta.h> +#include <mach/irqs.h> #include <mach/ams-delta-fiq.h> #include "iomap.h"
arch/arm/mach-omap1/dma.c +2 -1
@@ -27,7 +27,8 @@#include <plat/dma.h> #include <plat/tc.h> -#include <plat/irqs.h> + +#include <mach/irqs.h> #define OMAP1_DMA_BASE (0xfffed800)#define OMAP1_LOGICAL_DMA_CH_COUNT 17
arch/arm/mach-omap1/include/mach/ams-delta-fiq.h +0 -2
@@ -14,8 +14,6 @@#ifndef __AMS_DELTA_FIQ_H#define __AMS_DELTA_FIQ_H -#include <plat/irqs.h> -/* * Interrupt number used for passing control from FIQ to IRQ. * IRQ12, described as reserved, has been selected.
arch/arm/mach-omap1/include/mach/irqs.h +265 -2
270 lines not on this page · raw message
arch/arm/plat-omap/include/plat/irqs.h deleted +0 -268
268 lines not on this page · raw message
cover Clean up hardcoded IRQs for mach-omap2, enable SPARSE_IRQ, plaform_data/gpio-omap.h
In reply to Tony LindgrenQuoted 10 lines · Tony Lindgren
Hi all,
Here's the first set of omap header clean-up patches needed for single zImage support. This series is based v3.6-rc3 and the following patches to avoid merge conflicts with the includes:
- Arnd's patch "ARM: omap: move
platform_datadefinitions"
- Igor's series "ARM: OMAP: cleanupplat/board.hfile"
- Afzal's series "Prepare for GPMC driver conversion (w.r.t MTD)"
Looks like I can drop my omap gpio changes with this. Do you have a git tree with this?
Rob
Quoted 119 lines
Regards,
Tony
---
Tony Lindgren (9):
ARM: OMAP1: Move define ofOMAP_LCD_DMAtodma.h
ARM: OMAP1: DefineOMAP1_INT_I2Clocally
ARM: OMAP2+: MakeINTCPS_NR_IRQSlocal formach-omap2/irq.c
ARM: OMAP2+: Remove unusednand_irqfor GPMC
ARM: OMAP2+: Remove hardcoded twl4030gpio_base,irq_baseandirq_end
ARM: OMAP: Movegpio.htoinclude/linux/platform_data
ARM: OMAP2+: Prepare forirqs.hremoval
ARM: OMAP2+: Remove hardcoded IRQs and enableSPARSE_IRQ
ARM: OMAP1: Moveplat/irqs.htomach/irqs.harch/arm/mach-omap1/ams-delta-fiq-handler.S | 1 arch/arm/mach-omap1/board-ams-delta.c | 3 arch/arm/mach-omap1/board-osk.c | 1 arch/arm/mach-omap1/dma.c | 3 arch/arm/mach-omap1/gpio15xx.c | 1 arch/arm/mach-omap1/gpio16xx.c | 1 arch/arm/mach-omap1/gpio7xx.c | 1 arch/arm/mach-omap1/include/mach/ams-delta-fiq.h | 2 arch/arm/mach-omap1/include/mach/gpio.h | 2 arch/arm/mach-omap1/include/mach/irqs.h | 267 ++++++++++++ arch/arm/mach-omap1/leds-h2p2-debug.c | 4 arch/arm/mach-omap1/leds.c | 1 arch/arm/mach-omap2/board-2430sdp.c | 10 arch/arm/mach-omap2/board-3430sdp.c | 3 arch/arm/mach-omap2/board-4430sdp.c | 3 arch/arm/mach-omap2/board-am3517evm.c | 12 - arch/arm/mach-omap2/board-cm-t35.c | 15 - arch/arm/mach-omap2/board-cm-t3517.c | 6 arch/arm/mach-omap2/board-devkit8000.c | 3 arch/arm/mach-omap2/board-flash.c | 3 arch/arm/mach-omap2/board-igep0020.c | 10 arch/arm/mach-omap2/board-ldp.c | 3 arch/arm/mach-omap2/board-n8x0.c | 3 arch/arm/mach-omap2/board-omap3beagle.c | 3 arch/arm/mach-omap2/board-omap3evm.c | 3 arch/arm/mach-omap2/board-omap3logic.c | 3 arch/arm/mach-omap2/board-omap3pandora.c | 3 arch/arm/mach-omap2/board-omap3stalker.c | 3 arch/arm/mach-omap2/board-omap3touchbook.c | 3 arch/arm/mach-omap2/board-omap4panda.c | 3 arch/arm/mach-omap2/board-overo.c | 3 arch/arm/mach-omap2/board-rm680.c | 9 arch/arm/mach-omap2/board-rx51-peripherals.c | 5 arch/arm/mach-omap2/board-ti8168evm.c | 3 arch/arm/mach-omap2/board-zoom-debugboard.c | 1 arch/arm/mach-omap2/board-zoom-display.c | 6 arch/arm/mach-omap2/board-zoom-peripherals.c | 9 arch/arm/mach-omap2/cpuidle34xx.c | 1 arch/arm/mach-omap2/devices.c | 7 arch/arm/mach-omap2/gpio.c | 1 arch/arm/mach-omap2/gpmc-smc91x.c | 1 arch/arm/mach-omap2/gpmc.c | 11 arch/arm/mach-omap2/hsmmc.c | 5 arch/arm/mach-omap2/include/mach/gpio.h | 2 arch/arm/mach-omap2/include/mach/irqs.h | 2 arch/arm/mach-omap2/io.c | 2 arch/arm/mach-omap2/irq.c | 2 arch/arm/mach-omap2/mailbox.c | 3 arch/arm/mach-omap2/mcbsp.c | 1 arch/arm/mach-omap2/msdi.c | 1 arch/arm/mach-omap2/omap-iommu.c | 1 arch/arm/mach-omap2/omap-wakeupgen.c | 1 arch/arm/mach-omap2/omap4-common.c | 7 arch/arm/mach-omap2/omap_hwmod_2420_data.c | 2 arch/arm/mach-omap2/omap_hwmod_2430_data.c | 9 .../mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c | 12 - arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 4 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 33 + arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 6 arch/arm/mach-omap2/omap_l3_noc.c | 6 arch/arm/mach-omap2/omap_phy_internal.c | 2 arch/arm/mach-omap2/pm24xx.c | 3 arch/arm/mach-omap2/pm34xx.c | 2 arch/arm/mach-omap2/prcm.c | 1 arch/arm/mach-omap2/prm2xxx_3xxx.c | 3 arch/arm/mach-omap2/prm44xx.c | 4 arch/arm/mach-omap2/prm_common.c | 1 arch/arm/mach-omap2/serial.c | 1 arch/arm/mach-omap2/timer.c | 10 arch/arm/mach-omap2/twl-common.c | 3 arch/arm/mach-omap2/twl-common.h | 6 arch/arm/mach-omap2/usb-host.c | 1 arch/arm/mach-omap2/usb-musb.c | 1 arch/arm/plat-omap/Kconfig | 1 arch/arm/plat-omap/i2c.c | 3 arch/arm/plat-omap/include/plat/dma.h | 2 arch/arm/plat-omap/include/plat/irqs-44xx.h | 144 ------ arch/arm/plat-omap/include/plat/irqs.h | 453 -------------------- arch/arm/plat-omap/include/plat/omap44xx.h | 1 drivers/dma/omap-dma.c | 2 drivers/gpio/gpio-omap.c | 15 - drivers/gpio/gpio-twl4030.c | 15 - drivers/mfd/twl-core.c | 2 drivers/mtd/nand/ams-delta.c | 8 drivers/mtd/onenand/omap2.c | 8 drivers/tty/serial/8250/8250.c | 4 drivers/video/omap2/dss/dispc.c | 1 drivers/video/omap2/omapfb/omapfb-main.c | 4 include/linux/i2c/twl.h | 3 include/linux/mfd/twl6040.h | 2 include/linux/platform_data/gpio-omap.h | 15 - include/linux/platform_data/mtd-nand-omap2.h | 1 sound/soc/omap/mcbsp.c | 3 sound/soc/omap/omap-mcbsp.c | 1 sound/soc/omap/omap-pcm.c | 1 sound/soc/omap/sdp3430.c | 1 96 files changed, 455 insertions(+), 808 deletions(-) delete mode 100644 arch/arm/plat-omap/include/plat/irqs-44xx.h delete mode 100644 arch/arm/plat-omap/include/plat/irqs.h rename arch/arm/plat-omap/include/plat/gpio.h => include/linux/platform_data/gpio-omap.h (94%)
Tony Lindgren
maintainercover Clean up hardcoded IRQs for mach-omap2, enable SPARSE_IRQ, plaform_data/gpio-omap.h
Quoted 7 lines · Rob Herring
Quoted 6 lines · Tony Lindgren
Hi all,
Here's the first set of omap header clean-up patches needed for single zImage support. This series is based v3.6-rc3 and the following patches to avoid merge conflicts with the includes:
Quoted 7 lines
Quoted 4 lines
- Arnd's patch "ARM: omap: move
platform_datadefinitions"
- Igor's series "ARM: OMAP: cleanupplat/board.hfile"
- Afzal's series "Prepare for GPMC driver conversion (w.r.t MTD)"Looks like I can drop my omap gpio changes with this. Do you have a git tree with this?
Yes no need for those changes for omap :) I have not pushed out any branch yet, I'm waiting on the scripted platform data move Arnd announced later on in the "[PATCH 4/4] [RFC] ARM: treewide: manually change more" thread that are now in the arm-soc tree testing/platform-data branch.
Regards,
Tony