Split omap plat/io.h into local iomap.h files
Subsystems (14)
Tony Lindgren
maintainercover Split omap plat/io.h into local iomap.h files
Hi all,
Here's a better version of a patch set to cut down mach/io.h down to minimum to prepare for mach/io.h removal for omap2+.
This is based on v3.3-rc4 + "ARM: OMAP2xxx: PM: remove obsolete timer disable code in the suspend path" patch.
Regards,
Tony
---
Tony Lindgren (8):
ARM: OMAP2+: Move DISPC L3 firewall to happen in omap_display_init()
ARM: OMAP2+: Move SDRC related functions from io.h into local common.h
ARM: OMAP: Move omap_init_consistent_dma_size() to local common.h
ARM: OMAP1: Move 16xx GPIO system clock to platform init code
ARM: OMAP1: Move most of plat/io.h into local iomap.h
ARM: OMAP2+: Move most of plat/io.h into local iomap.h
ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers
arch/arm/mach-omap1/ams-delta-fiq-handler.S | 3 -
arch/arm/mach-omap1/ams-delta-fiq.c | 1
arch/arm/mach-omap1/board-ams-delta.c | 10 +-
arch/arm/mach-omap1/board-fsample.c | 7 +-
arch/arm/mach-omap1/board-h2.c | 6 +
arch/arm/mach-omap1/board-h3.c | 8 +-
arch/arm/mach-omap1/board-htcherald.c | 5 -
arch/arm/mach-omap1/board-innovator.c | 7 +-
arch/arm/mach-omap1/board-nokia770.c | 6 +
arch/arm/mach-omap1/board-osk.c | 7 +-
arch/arm/mach-omap1/board-palmte.c | 4 +
arch/arm/mach-omap1/board-palmtt.c | 9 +-
arch/arm/mach-omap1/board-palmz71.c | 9 +-
arch/arm/mach-omap1/board-perseus2.c | 7 +-
arch/arm/mach-omap1/board-sx1.c | 6 +
arch/arm/mach-omap1/board-voiceblue.c | 6 +
arch/arm/mach-omap1/clock.c | 2
arch/arm/mach-omap1/clock_data.c | 2
arch/arm/mach-omap1/common.h | 1
arch/arm/mach-omap1/devices.c | 8 +-
arch/arm/mach-omap1/dma.c | 2
arch/arm/mach-omap1/flash.c | 2
arch/arm/mach-omap1/fpga.c | 5 +
arch/arm/mach-omap1/gpio16xx.c | 7 ++
arch/arm/mach-omap1/id.c | 1
arch/arm/mach-omap1/include/mach/entry-macro.S | 4 +
arch/arm/mach-omap1/include/mach/io.h | 78 +++++++++++++++++++
arch/arm/mach-omap1/io.c | 3 +
arch/arm/mach-omap1/iomap.h | 18 ++++
arch/arm/mach-omap1/irq.c | 4 +
arch/arm/mach-omap1/lcd_dma.c | 3 -
arch/arm/mach-omap1/mcbsp.c | 5 +
arch/arm/mach-omap1/pm.c | 6 +
arch/arm/mach-omap1/reset.c | 3 -
arch/arm/mach-omap1/sleep.S | 4 +
arch/arm/mach-omap1/sram.S | 4 +
arch/arm/mach-omap1/time.c | 3 -
arch/arm/mach-omap1/timer32k.c | 7 +-
arch/arm/mach-omap2/clock2420_data.c | 1
arch/arm/mach-omap2/clock2430.c | 1
arch/arm/mach-omap2/clock2430_data.c | 1
arch/arm/mach-omap2/clock3xxx_data.c | 3 -
arch/arm/mach-omap2/clock44xx_data.c | 3 +
arch/arm/mach-omap2/cm2xxx_3xxx.c | 2
arch/arm/mach-omap2/cm44xx.c | 2
arch/arm/mach-omap2/cminst44xx.c | 2
arch/arm/mach-omap2/common.c | 4 -
arch/arm/mach-omap2/common.h | 7 ++
arch/arm/mach-omap2/control.c | 3 -
arch/arm/mach-omap2/control.h | 1
arch/arm/mach-omap2/devices.c | 2
arch/arm/mach-omap2/display.c | 4 +
arch/arm/mach-omap2/include/mach/io.h | 60 ++++++++++++++-
arch/arm/mach-omap2/io.c | 57 ++------------
arch/arm/mach-omap2/iomap.h | 98 ------------------------
arch/arm/mach-omap2/irq.c | 5 +
arch/arm/mach-omap2/omap-smp.c | 3 -
arch/arm/mach-omap2/pm24xx.c | 5 -
arch/arm/mach-omap2/prcm_mpu44xx.c | 2
arch/arm/mach-omap2/prm44xx.c | 3 -
arch/arm/mach-omap2/prminst44xx.c | 2
arch/arm/mach-omap2/sdram-nokia.c | 1
arch/arm/mach-omap2/sdrc2xxx.c | 5 +
arch/arm/mach-omap2/sleep24xx.S | 1
arch/arm/mach-omap2/sleep34xx.S | 4 +
arch/arm/mach-omap2/sram242x.S | 4 +
arch/arm/mach-omap2/sram243x.S | 4 +
arch/arm/mach-omap2/sram34xx.S | 5 +
arch/arm/plat-omap/dma.c | 2
arch/arm/plat-omap/include/plat/tc.h | 4 +
arch/arm/plat-omap/include/plat/usb.h | 40 ++++++++++
arch/arm/plat-omap/sram.c | 9 +-
arch/arm/plat-omap/usb.c | 2
drivers/gpio/gpio-omap.c | 8 --
drivers/video/omap/Kconfig | 2
drivers/video/omap2/dss/dispc.c | 5 -
76 files changed, 385 insertions(+), 255 deletions(-)
create mode 100644 arch/arm/mach-omap1/iomap.h
rename arch/arm/{plat-omap/include/plat/io.h => mach-omap2/iomap.h} (67%)Signature · 1 line
Signature
Tony Lindgren
maintainerPATCH 1/8 ARM: OMAP2+: Move DISPC L3 firewall to happen in omap_display_init()
Otherwise we cannot move most of plat/io.h to be a local iomap.h for mach-omap2.
--- arch/arm/mach-omap2/display.c | 3 +++ drivers/video/omap2/dss/dispc.c | 5 ----- 2 files changed, 3 insertions(+), 5 deletions(-)
arch/arm/mach-omap2/display.c +3 -0
@@ -191,6 +191,9 @@ int __init omap_display_init(struct omap_dss_board_info *board_data)memset (&pdata,0 ,sizeof (pdata));if (cpu_is_omap24xx ()) { +/* L3 firewall setting: enable access to OCM RAM */ +__raw_writel (0x402000b0 ,OMAP2_L3_IO_ADDRESS (0x680050a0 )); + curr_dss_hwmod = omap2_dss_hwmod_data; oh_count =ARRAY_SIZE (omap2_dss_hwmod_data); }else if (cpu_is_omap34xx ()) {
drivers/video/omap2/dss/dispc.c +0 -5
@@ -3272,11 +3272,6 @@ static void _omap_dispc_initial_config(void)if (dss_has_feature (FEAT_FUNCGATED ))REG_FLD_MOD (DISPC_CONFIG ,1 ,9 ,9 ); -/* L3 firewall setting: enable access to OCM RAM */ -/* XXX this should be somewhere in plat-omap */ -if (cpu_is_omap24xx ()) -__raw_writel (0x402000b0 ,OMAP2_L3_IO_ADDRESS (0x680050a0 )); -_dispc_setup_color_conv_coef ();dispc_set_loadmode (OMAP_DSS_LOAD_FRAME_ONLY );
PATCH 1/8 ARM: OMAP2+: Move DISPC L3 firewall to happen in omap_display_init()
Hi,
Quoted 32 lines · Tony Lindgren
Otherwise we cannot move most of
plat/io.hto be a localiomap.hfor mach-omap2.Cc Tomi Valkeinen <[email protected]>Cc linux-fbdev at vger.kernel.orgSigned-off-by Tony Lindgren <[email protected]>--- arch/arm/mach-omap2/display.c | 3 +++ drivers/video/omap2/dss/dispc.c | 5 ----- 2 files changed, 3 insertions(+), 5 deletions(-)arch/arm/mach-omap2/display.c +3
-0@@ -191,6 +191,9 @@ int __init omap_display_init(struct omap_dss_board_info *board_data)memset (&pdata,0 ,sizeof (pdata));if (cpu_is_omap24xx ()) { +/* L3 firewall setting: enable access to OCM RAM */ +__raw_writel (0x402000b0 ,OMAP2_L3_IO_ADDRESS (0x680050a0 )); + curr_dss_hwmod = omap2_dss_hwmod_data; oh_count =ARRAY_SIZE (omap2_dss_hwmod_data); }else if (cpu_is_omap34xx ()) {drivers/video/omap2/dss/dispc.c +0
-0@@ -3272,11 +3272,6 @@ static void _omap_dispc_initial_config(void)if (dss_has_feature (FEAT_FUNCGATED ))
drivers/video/omap2/dss/dispc.c static void _omap_dispc_initial_config(void) · line 3277
Quoted 10 lines
drivers/video/omap2/dss/dispc.c +0
-5REG_FLD_MOD (DISPC_CONFIG ,1 ,9 ,9 ); -/* L3 firewall setting: enable access to OCM RAM */ -/* XXX this should be somewhere in plat-omap */ -if (cpu_is_omap24xx ()) -__raw_writel (0x402000b0 ,OMAP2_L3_IO_ADDRESS (0x680050a0 )); -_dispc_setup_color_conv_coef ();dispc_set_loadmode (OMAP_DSS_LOAD_FRAME_ONLY );
I think the whole raw_writel line can be removed. It's been copied from the old omapfb, and my understanding is that it's about using SRAM for framebuffer. Using SRAM for fb is no longer supported, and I have a patch set that removes the remaining SRAM code from omapfb/omapdss.
Tomi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120222/620c64ad/attachment.sig>
Tony Lindgren
maintainerPATCH 1/8 ARM: OMAP2+: Move DISPC L3 firewall to happen in omap_display_init()
Quoted 43 lines · Tomi Valkeinen
Hi,
Quoted 40 lines · Tony Lindgren
Otherwise we cannot move most of
plat/io.hto be a localiomap.hfor mach-omap2.Cc Tomi Valkeinen <[email protected]>Cc linux-fbdev at vger.kernel.orgSigned-off-by Tony Lindgren <[email protected]>--- arch/arm/mach-omap2/display.c | 3 +++ drivers/video/omap2/dss/dispc.c | 5 ----- 2 files changed, 3 insertions(+), 5 deletions(-)arch/arm/mach-omap2/display.c +3
-0@@ -191,6 +191,9 @@ int __init omap_display_init(struct omap_dss_board_info *board_data)memset (&pdata,0 ,sizeof (pdata));if (cpu_is_omap24xx ()) { +/* L3 firewall setting: enable access to OCM RAM */ +__raw_writel (0x402000b0 ,OMAP2_L3_IO_ADDRESS (0x680050a0 )); + curr_dss_hwmod = omap2_dss_hwmod_data; oh_count =ARRAY_SIZE (omap2_dss_hwmod_data); }else if (cpu_is_omap34xx ()) {drivers/video/omap2/dss/dispc.c +0
-5@@ -3272,11 +3272,6 @@ static void _omap_dispc_initial_config(void)if (dss_has_feature (FEAT_FUNCGATED ))REG_FLD_MOD (DISPC_CONFIG ,1 ,9 ,9 ); -/* L3 firewall setting: enable access to OCM RAM */ -/* XXX this should be somewhere in plat-omap */ -if (cpu_is_omap24xx ()) -__raw_writel (0x402000b0 ,OMAP2_L3_IO_ADDRESS (0x680050a0 )); -_dispc_setup_color_conv_coef ();
Quoted 7 lines
drivers/video/omap2/dss/dispc.c static void _omap_dispc_initial_config(void) · line 3277
Quoted 2 lines
drivers/video/omap2/dss/dispc.c +0
-0dispc_set_loadmode (OMAP_DSS_LOAD_FRAME_ONLY );I think the whole
raw_writelline can be removed. It's been copied from the old omapfb, and my understanding is that it's about using SRAM for framebuffer. Using SRAM for fb is no longer supported, and I have a patch set that removes the remaining SRAM code from omapfb/omapdss.
OK, I'll remove those from drivers/video/omap2/dss/dispc.c so this series keeps building.
Tony
Tony Lindgren
maintainerPATCH 1/8 ARM: OMAP2+: Move DISPC L3 firewall to happen in omap_display_init()
Quoted 52 lines · Tony Lindgren
Quoted 43 lines · Tomi Valkeinen
Hi,
Quoted 40 lines · Tony Lindgren
Otherwise we cannot move most of
plat/io.hto be a localiomap.hfor mach-omap2.Cc Tomi Valkeinen <[email protected]>Cc linux-fbdev at vger.kernel.orgSigned-off-by Tony Lindgren <[email protected]>--- arch/arm/mach-omap2/display.c | 3 +++ drivers/video/omap2/dss/dispc.c | 5 ----- 2 files changed, 3 insertions(+), 5 deletions(-)arch/arm/mach-omap2/display.c +3
-0@@ -191,6 +191,9 @@ int __init omap_display_init(struct omap_dss_board_info *board_data)memset (&pdata,0 ,sizeof (pdata));if (cpu_is_omap24xx ()) { +/* L3 firewall setting: enable access to OCM RAM */ +__raw_writel (0x402000b0 ,OMAP2_L3_IO_ADDRESS (0x680050a0 )); + curr_dss_hwmod = omap2_dss_hwmod_data; oh_count =ARRAY_SIZE (omap2_dss_hwmod_data); }else if (cpu_is_omap34xx ()) {drivers/video/omap2/dss/dispc.c +0
-5@@ -3272,11 +3272,6 @@ static void _omap_dispc_initial_config(void)if (dss_has_feature (FEAT_FUNCGATED ))REG_FLD_MOD (DISPC_CONFIG ,1 ,9 ,9 ); -/* L3 firewall setting: enable access to OCM RAM */ -/* XXX this should be somewhere in plat-omap */ -if (cpu_is_omap24xx ()) -__raw_writel (0x402000b0 ,OMAP2_L3_IO_ADDRESS (0x680050a0 )); -_dispc_setup_color_conv_coef ();Quoted 7 lines
drivers/video/omap2/dss/dispc.c static void _omap_dispc_initial_config(void) · line 3277
Quoted 2 lines
drivers/video/omap2/dss/dispc.c +0
-0dispc_set_loadmode (OMAP_DSS_LOAD_FRAME_ONLY );I think the whole
raw_writelline can be removed. It's been copied from the old omapfb, and my understanding is that it's about using SRAM for framebuffer. Using SRAM for fb is no longer supported, and I have a patch set that removes the remaining SRAM code from omapfb/omapdss.
Quoted 2 lines
OK, I'll remove those from
drivers/video/omap2/dss/dispc.cso this series keeps building.
Here's this one updated.
Tony
From: Tony Lindgren <[email protected]>
Date: Mon, 20 Feb 2012 12:55:07 -0800
Subject: [PATCH] ARM: OMAP2+: Drop DISPC L3 firewall code
This is only needed when using SRAM for framebuffer, and the support for SRAM framebuffer is about to get removed.
Otherwise we cannot move most of plat/io.h to be a local iomap.h for mach-omap2.
drivers/video/omap2/dss/dispc.c +0 -5
@@ -3272,11 +3272,6 @@ static void _omap_dispc_initial_config(void)if (dss_has_feature (FEAT_FUNCGATED ))REG_FLD_MOD (DISPC_CONFIG ,1 ,9 ,9 ); -/* L3 firewall setting: enable access to OCM RAM */ -/* XXX this should be somewhere in plat-omap */ -if (cpu_is_omap24xx ()) -__raw_writel (0x402000b0 ,OMAP2_L3_IO_ADDRESS (0x680050a0 )); -_dispc_setup_color_conv_coef ();dispc_set_loadmode (OMAP_DSS_LOAD_FRAME_ONLY );
Tony Lindgren
maintainerPATCH 2/8 ARM: OMAP2+: Move SDRC related functions from io.h into local common.h
In reply to Tony LindgrenThese should be local to omap2/3/4.
--- arch/arm/mach-omap2/common.h | 5 +++++ arch/arm/plat-omap/include/plat/io.h | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-)
arch/arm/mach-omap2/common.h +5 -0
@@ -235,5 +235,10 @@ static inline u32 omap4_mpuss_read_prev_context_state(void)return 0 ; }#endif + +struct omap_sdrc_params ; +extern void omap_sdrc_init (struct omap_sdrc_params *sdrc_cs0, +struct omap_sdrc_params *sdrc_cs1); +#endif /* __ASSEMBLER__ */ #endif /* __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H */
arch/arm/plat-omap/include/plat/io.h +0 -4
@@ -266,10 +266,6 @@ extern void omap_writeb(u8 v, u32 pa);extern void omap_writew (u16 v,u32 pa);extern void omap_writel (u32 v,u32 pa); -struct omap_sdrc_params ; -extern void omap_sdrc_init (struct omap_sdrc_params *sdrc_cs0, -struct omap_sdrc_params *sdrc_cs1); -extern void __init omap_init_consistent_dma_size (void );#endif
Tony Lindgren
maintainerPATCH 3/8 ARM: OMAP: Move omap_init_consistent_dma_size() to local common.h
In reply to Tony LindgrenWe don't want to keep it in io.h as we want to remove io.h for omap2+ for the common zImage support.
--- arch/arm/mach-omap1/common.h | 1 + arch/arm/mach-omap2/common.h | 2 ++ arch/arm/plat-omap/include/plat/io.h | 2 -- 3 files changed, 3 insertions(+), 2 deletions(-)
arch/arm/mach-omap1/common.h +1 -0
@@ -58,5 +58,6 @@ void omap1_restart(char, const char *);extern struct sys_timer omap1_timer;extern bool omap_32k_timer_init (void ); +extern void __init omap_init_consistent_dma_size (void );#endif /* __ARCH_ARM_MACH_OMAP1_COMMON_H */
arch/arm/mach-omap2/common.h +2 -0
@@ -133,6 +133,8 @@ void am33xx_map_io(void);void omap4_map_io (void );void ti81xx_map_io (void ); +extern void __init omap_init_consistent_dma_size (void ); +/** * omap_test_timeout - busy-loop, testing a condition * @cond: condition to test until it evaluates to true
arch/arm/plat-omap/include/plat/io.h +0 -2
@@ -266,8 +266,6 @@ extern void omap_writeb(u8 v, u32 pa);extern void omap_writew (u16 v,u32 pa);extern void omap_writel (u32 v,u32 pa); -extern void __init omap_init_consistent_dma_size (void ); -#endif #endif
Tony Lindgren
maintainerPATCH 4/8 ARM: OMAP1: Move 16xx GPIO system clock to platform init code
In reply to Tony LindgrenThis way we can remove omap_read/write call from the GPIO driver and remove include to linux/io.h.
--- arch/arm/mach-omap1/gpio16xx.c | 7 +++++++ drivers/gpio/gpio-omap.c | 8 -------- 2 files changed, 7 insertions(+), 8 deletions(-)
arch/arm/mach-omap1/gpio16xx.c +7 -0
@@ -218,6 +218,13 @@ static int __init omap16xx_gpio_init(void)if (!cpu_is_omap16xx ())return -EINVAL ; +/* +* Enable system clock for GPIO module. +* The CAM_CLK_CTRL *is* really the right place. +*/ +omap_writel (omap_readl (ULPD_CAM_CLK_CTRL ) |0x04 , +ULPD_CAM_CLK_CTRL ); +for (i =0 ; i <ARRAY_SIZE (omap16xx_gpio_dev); i++)platform_device_register (omap16xx_gpio_dev[i]);
drivers/gpio/gpio-omap.c +0 -8
@@ -18,7 +18,6 @@#include <linux/syscore_ops.h> #include <linux/err.h> #include <linux/clk.h> -#include <linux/io.h> #include <linux/slab.h> #include <linux/pm_runtime.h>
@@ -1064,13 +1063,6 @@ static void omap_gpio_mod_init(struct gpio_bank *bank, int id) + OMAP1610_GPIO_IRQSTATUS1);__raw_writew (0x0014 , bank->base +OMAP1610_GPIO_SYSCONFIG ); - -/* -* Enable system clock for GPIO module. -* The CAM_CLK_CTRL *is* really the right place. -*/ -omap_writel (omap_readl (ULPD_CAM_CLK_CTRL ) |0x04 , -ULPD_CAM_CLK_CTRL ); }if (cpu_is_omap7xx () && bank->method ==METHOD_GPIO_7XX ) { __raw_writel(0xffffffff, bank->base
Tony Lindgren
maintainerPATCH 4/8 ARM: OMAP1: Move 16xx GPIO system clock to platform init code
Quoted 2 lines · Tony Lindgren
This way we can remove omap_read/write call from the GPIO driver and remove include to
linux/io.h.
...
drivers/gpio/gpio-omap.c line 23
Quoted 10 lines
drivers/gpio/gpio-omap.c +0
-1@@ -18,7 +18,6 @@#include <linux/syscore_ops.h> #include <linux/err.h> #include <linux/clk.h> -#include <linux/io.h> #include <linux/slab.h> #include <linux/pm_runtime.h>
I'll drop this hunk, it causes a conflict with Kevin's GPIO runtime PM series and it's not really related to this patch or actually needed. Updated patch below.
Regards,
Tony
From: Tony Lindgren <[email protected]>
Date: Wed, 22 Feb 2012 14:52:38 -0800
Subject: [PATCH] ARM: OMAP1: Move 16xx GPIO system clock to platform init code
This way we can remove omap_read/write call from the GPIO driver and remove include to linux/io.h.
arch/arm/mach-omap1/gpio16xx.c +7 -0
@@ -218,6 +218,13 @@ static int __init omap16xx_gpio_init(void)if (!cpu_is_omap16xx ())return -EINVAL ; +/* +* Enable system clock for GPIO module. +* The CAM_CLK_CTRL *is* really the right place. +*/ +omap_writel (omap_readl (ULPD_CAM_CLK_CTRL ) |0x04 , +ULPD_CAM_CLK_CTRL ); +for (i =0 ; i <ARRAY_SIZE (omap16xx_gpio_dev); i++)platform_device_register (omap16xx_gpio_dev[i]);
drivers/gpio/gpio-omap.c +0 -7
@@ -1064,13 +1064,6 @@ static void omap_gpio_mod_init(struct gpio_bank *bank, int id) + OMAP1610_GPIO_IRQSTATUS1);__raw_writew (0x0014 , bank->base +OMAP1610_GPIO_SYSCONFIG ); - -/* -* Enable system clock for GPIO module. -* The CAM_CLK_CTRL *is* really the right place. -*/ -omap_writel (omap_readl (ULPD_CAM_CLK_CTRL ) |0x04 , -ULPD_CAM_CLK_CTRL ); }if (cpu_is_omap7xx () && bank->method ==METHOD_GPIO_7XX ) { __raw_writel(0xffffffff, bank->base
PATCH 4/8 ARM: OMAP1: Move 16xx GPIO system clock to platform init code
In reply to Tony LindgrenQuoted 5 lines · Tony Lindgren
This way we can remove omap_read/write call from the GPIO driver and remove include to
linux/io.h.Cc Grant Likely <[email protected]>Signed-off-by Tony Lindgren <[email protected]>
Who will be picking up this series? How intertwined is it with your tree Tony?
g.
Quoted 50 lines
--- arch/arm/mach-omap1/gpio16xx.c | 7 +++++++ drivers/gpio/gpio-omap.c | 8 -------- 2 files changed, 7 insertions(+), 8 deletions(-)arch/arm/mach-omap1/gpio16xx.c +7
-0@@ -218,6 +218,13 @@ static int __init omap16xx_gpio_init(void)if (!cpu_is_omap16xx ())return -EINVAL ; +/* +* Enable system clock for GPIO module. +* The CAM_CLK_CTRL *is* really the right place. +*/ +omap_writel (omap_readl (ULPD_CAM_CLK_CTRL ) |0x04 , +ULPD_CAM_CLK_CTRL ); +for (i =0 ; i <ARRAY_SIZE (omap16xx_gpio_dev); i++)platform_device_register (omap16xx_gpio_dev[i]);drivers/gpio/gpio-omap.c +0
-8@@ -18,7 +18,6 @@#include <linux/syscore_ops.h> #include <linux/err.h> #include <linux/clk.h> -#include <linux/io.h> #include <linux/slab.h> #include <linux/pm_runtime.h> @@ -1064,13 +1063,6 @@ static void omap_gpio_mod_init(struct gpio_bank *bank, int id) + OMAP1610_GPIO_IRQSTATUS1);__raw_writew (0x0014 , bank->base +OMAP1610_GPIO_SYSCONFIG ); - -/* -* Enable system clock for GPIO module. -* The CAM_CLK_CTRL *is* really the right place. -*/ -omap_writel (omap_readl (ULPD_CAM_CLK_CTRL ) |0x04 , -ULPD_CAM_CLK_CTRL ); }if (cpu_is_omap7xx () && bank->method ==METHOD_GPIO_7XX ) { __raw_writel(0xffffffff, bank->base
Signature · 2 lines
Grant Likely, B.Sc, P.Eng. Secret Lab Technologies,Ltd.
Tony Lindgren
maintainerPATCH 4/8 ARM: OMAP1: Move 16xx GPIO system clock to platform init code
Quoted 10 lines · Grant Likely
Quoted 5 lines · Tony Lindgren
This way we can remove omap_read/write call from the GPIO driver and remove include to
linux/io.h.Cc Grant Likely <[email protected]>Signed-off-by Tony Lindgren <[email protected]>Acked-by Grant Likely <[email protected]>Who will be picking up this series? How intertwined is it with your tree Tony?
Thanks for following up on this, no need to do anything on this.
This popped up few weeks ago and was resolved by pulling your GPIO branch into arm-soc. For more info, please see:
Subject: linux-next: manual merge of the arm-soc tree with the gpio tree
http://lkml.org/lkml/2012/3/1/7
Regards,
Tony
Tony Lindgren
maintainerPATCH 5/8 ARM: OMAP1: Move most of plat/io.h into local iomap.h
In reply to Tony LindgrenThere's no need to have these in plat/io.h.
While at it, clean up the includes to group them
like they typically are grouped.
--- arch/arm/mach-omap1/ams-delta-fiq-handler.S | 3 ++- arch/arm/mach-omap1/ams-delta-fiq.c | 1 + arch/arm/mach-omap1/board-ams-delta.c | 10 ++++++---- arch/arm/mach-omap1/board-fsample.c | 7 +++++-- arch/arm/mach-omap1/board-h2.c | 6 +++--- arch/arm/mach-omap1/board-h3.c | 8 ++++---- arch/arm/mach-omap1/board-htcherald.c | 5 ++--- arch/arm/mach-omap1/board-innovator.c | 7 +++++-- arch/arm/mach-omap1/board-nokia770.c | 6 ++++-- arch/arm/mach-omap1/board-osk.c | 7 +++---- arch/arm/mach-omap1/board-palmte.c | 4 +++- arch/arm/mach-omap1/board-palmtt.c | 9 +++++---- arch/arm/mach-omap1/board-palmz71.c | 9 +++++---- arch/arm/mach-omap1/board-perseus2.c | 7 +++++-- arch/arm/mach-omap1/board-sx1.c | 6 ++++-- arch/arm/mach-omap1/board-voiceblue.c | 6 ++++-- arch/arm/mach-omap1/clock.c | 2 +- arch/arm/mach-omap1/clock_data.c | 2 +- arch/arm/mach-omap1/devices.c | 8 ++++---- arch/arm/mach-omap1/dma.c | 2 +- arch/arm/mach-omap1/flash.c | 2 +- arch/arm/mach-omap1/fpga.c | 5 ++++- arch/arm/mach-omap1/id.c | 1 + arch/arm/mach-omap1/include/mach/entry-macro.S | 4 +++- arch/arm/mach-omap1/io.c | 3 +++ arch/arm/mach-omap1/iomap.h | 18 ++++++++++++++++++ arch/arm/mach-omap1/irq.c | 4 +++- arch/arm/mach-omap1/lcd_dma.c | 3 ++- arch/arm/mach-omap1/mcbsp.c | 5 ++++- arch/arm/mach-omap1/pm.c | 6 ++++-- arch/arm/mach-omap1/reset.c | 3 ++- arch/arm/mach-omap1/sleep.S | 4 ++++ arch/arm/mach-omap1/sram.S | 4 ++++ arch/arm/mach-omap1/time.c | 3 ++- arch/arm/mach-omap1/timer32k.c | 7 +++++-- arch/arm/plat-omap/include/plat/io.h | 13 ------------- 36 files changed, 128 insertions(+), 72 deletions(-) create mode 100644 arch/arm/mach-omap1/iomap.h
arch/arm/mach-omap1/ams-delta-fiq-handler.S +2 -1
@@ -15,11 +15,12 @@ #include <linux/linkage.h> -#include <plat/io.h> #include <plat/board-ams-delta.h> #include <mach/ams-delta-fiq.h> +#include "iomap.h" + /* * GPIO related definitions, copied from arch/arm/plat-omap/gpio.c. * Unfortunately, those were not placed in a separate header file.
arch/arm/mach-omap1/ams-delta-fiq.c +1 -0
@@ -22,6 +22,7 @@#include <plat/board-ams-delta.h> #include <asm/fiq.h> +#include <mach/ams-delta-fiq.h> static struct fiq_handler fh = {
arch/arm/mach-omap1/board-ams-delta.c +6 -4
@@ -20,25 +20,27 @@#include <linux/platform_device.h> #include <linux/serial_8250.h> #include <linux/export.h> +#include <linux/io.h> #include <media/soc_camera.h> #include <asm/serial.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> -#include <plat/io.h> #include <plat/board-ams-delta.h> #include <plat/keypad.h> #include <plat/mux.h> #include <plat/usb.h> #include <plat/board.h> -#include "common.h" -#include <mach/camera.h> +#include <mach/hardware.h> #include <mach/ams-delta-fiq.h> +#include <mach/camera.h> + +#include "iomap.h" +#include "common.h" static u8 ams_delta_latch1_reg;static u16 ams_delta_latch2_reg;
arch/arm/mach-omap1/board-fsample.c +5 -2
@@ -22,7 +22,6 @@#include <linux/input.h> #include <linux/smc91x.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -32,9 +31,13 @@#include <plat/flash.h> #include <plat/fpga.h> #include <plat/keypad.h> -#include "common.h" #include <plat/board.h> +#include <mach/hardware.h> + +#include "iomap.h" +#include "common.h" +/* fsample is pretty close to p2-sample */ #define fsample_cpld_read (reg) __raw_readb(reg)
arch/arm/mach-omap1/board-h2.c +3 -3
@@ -31,8 +31,6 @@#include <linux/i2c/tps65010.h> #include <linux/smc91x.h> -#include <mach/hardware.h> -#include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -43,9 +41,11 @@#include <plat/irda.h> #include <plat/usb.h> #include <plat/keypad.h> -#include "common.h" #include <plat/flash.h> +#include <mach/hardware.h> + +#include "common.h" #include "board-h2.h" /* At OMAP1610 Innovator the Ethernet is directly connected to CS1 */
arch/arm/mach-omap1/board-h3.c +4 -4
@@ -33,21 +33,21 @@#include <asm/setup.h> #include <asm/page.h> -#include <mach/hardware.h> -#include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> -#include <mach/irqs.h> #include <plat/mux.h> #include <plat/tc.h> #include <plat/usb.h> #include <plat/keypad.h> #include <plat/dma.h> -#include "common.h" #include <plat/flash.h> +#include <mach/hardware.h> +#include <mach/irqs.h> + +#include "common.h" #include "board-h3.h" /* In OMAP1710 H3 the Ethernet is directly connected to CS1 */
arch/arm/mach-omap1/board-htcherald.c +2 -3
@@ -27,7 +27,7 @@#include <linux/init.h> #include <linux/platform_device.h> #include <linux/input.h> -#include <linux/io.h> +#include <linux/delay.h> #include <linux/gpio.h> #include <linux/gpio_keys.h> #include <linux/i2c.h>
@@ -41,7 +41,6 @@#include <asm/mach/arch.h> #include <plat/omap7xx.h> -#include "common.h" #include <plat/board.h> #include <plat/keypad.h> #include <plat/usb.h>
@@ -49,7 +48,7 @@#include <mach/irqs.h> -#include <linux/delay.h> +#include "common.h" /* LCD register definition */ #define OMAP_LCDC_CONTROL (0xfffec000 + 0x00)
arch/arm/mach-omap1/board-innovator.c +5 -2
@@ -26,7 +26,6 @@#include <linux/input.h> #include <linux/smc91x.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -37,9 +36,13 @@#include <plat/tc.h> #include <plat/usb.h> #include <plat/keypad.h> -#include "common.h" #include <plat/mmc.h> +#include <mach/hardware.h> + +#include "iomap.h" +#include "common.h" +/* At OMAP1610 Innovator the Ethernet is directly connected to CS1 */ #define INNOVATOR1610_ETHR_START 0x04000300
arch/arm/mach-omap1/board-nokia770.c +4 -2
@@ -21,7 +21,6 @@#include <linux/workqueue.h> #include <linux/delay.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -30,12 +29,15 @@#include <plat/usb.h> #include <plat/board.h> #include <plat/keypad.h> -#include "common.h" #include <plat/hwa742.h> #include <plat/lcd_mipid.h> #include <plat/mmc.h> #include <plat/clock.h> +#include <mach/hardware.h> + +#include "common.h" +#define ADS7846_PENDOWN_GPIO 15static const unsigned int nokia770_keymap[] = {
arch/arm/mach-omap1/board-osk.c +3 -4
@@ -34,15 +34,11 @@#include <linux/i2c.h> #include <linux/leds.h> #include <linux/smc91x.h> -#include <linux/mtd/mtd.h> #include <linux/mtd/partitions.h> #include <linux/mtd/physmap.h> -#include <linux/i2c/tps65010.h> -#include <mach/hardware.h> -#include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -51,6 +47,9 @@#include <plat/usb.h> #include <plat/mux.h> #include <plat/tc.h> + +#include <mach/hardware.h> +#include "common.h" /* At OMAP5912 OSK the Ethernet is directly connected to CS1 */
arch/arm/mach-omap1/board-palmte.c +3 -1
@@ -28,7 +28,6 @@#include <linux/interrupt.h> #include <linux/apm-emulation.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -41,6 +40,9 @@#include <plat/board.h> #include <plat/irda.h> #include <plat/keypad.h> + +#include <mach/hardware.h> +#include "common.h" #define PALMTE_USBDETECT_GPIO 0
arch/arm/mach-omap1/board-palmtt.c +5 -4
@@ -24,8 +24,9 @@#include <linux/mtd/partitions.h> #include <linux/mtd/physmap.h> #include <linux/leds.h> +#include <linux/spi/spi.h> +#include <linux/spi/ads7846.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -39,10 +40,10 @@#include <plat/board.h> #include <plat/irda.h> #include <plat/keypad.h> -#include "common.h" -#include <linux/spi/spi.h> -#include <linux/spi/ads7846.h> +#include <mach/hardware.h> + +#include "common.h" #define PALMTT_USBDETECT_GPIO 0#define PALMTT_CABLE_GPIO 1
arch/arm/mach-omap1/board-palmz71.c +5 -4
@@ -27,8 +27,9 @@#include <linux/mtd/mtd.h> #include <linux/mtd/partitions.h> #include <linux/mtd/physmap.h> +#include <linux/spi/spi.h> +#include <linux/spi/ads7846.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -41,10 +42,10 @@#include <plat/board.h> #include <plat/irda.h> #include <plat/keypad.h> -#include "common.h" -#include <linux/spi/spi.h> -#include <linux/spi/ads7846.h> +#include <mach/hardware.h> + +#include "common.h" #define PALMZ71_USBDETECT_GPIO 0#define PALMZ71_PENIRQ_GPIO 6
arch/arm/mach-omap1/board-perseus2.c +5 -2
@@ -22,7 +22,6 @@#include <linux/input.h> #include <linux/smc91x.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -32,9 +31,13 @@#include <plat/fpga.h> #include <plat/flash.h> #include <plat/keypad.h> -#include "common.h" #include <plat/board.h> +#include <mach/hardware.h> + +#include "iomap.h" +#include "common.h" +static const unsigned int p2_keymap[] = {KEY (0 ,0 ,KEY_UP ),KEY (1 ,0 ,KEY_RIGHT ),
arch/arm/mach-omap1/board-sx1.c +4 -2
@@ -28,7 +28,6 @@#include <linux/errno.h> #include <linux/export.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -40,10 +39,13 @@#include <plat/usb.h> #include <plat/tc.h> #include <plat/board.h> -#include "common.h" #include <plat/keypad.h> #include <plat/board-sx1.h> +#include <mach/hardware.h> + +#include "common.h" +/* Write to I2C device */ int sx1_i2c_write_byte (u8 devaddr,u8 regoffset,u8 value) {
arch/arm/mach-omap1/board-voiceblue.c +4 -2
@@ -27,18 +27,20 @@#include <linux/smc91x.h> #include <linux/export.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> #include <plat/board-voiceblue.h> -#include "common.h" #include <plat/flash.h> #include <plat/mux.h> #include <plat/tc.h> #include <plat/usb.h> +#include <mach/hardware.h> + +#include "common.h" +static struct plat_serial8250_port voiceblue_ports[] = { { .mapbase = (unsigned long )(OMAP_CS1_PHYS +0x40000 ),
arch/arm/mach-omap1/clock.c +1 -1
@@ -16,7 +16,6 @@#include <linux/errno.h> #include <linux/err.h> #include <linux/clk.h> -#include <linux/io.h> #include <linux/clkdev.h> #include <asm/mach-types.h>
@@ -27,6 +26,7 @@#include <plat/sram.h> #include <plat/clkdev_omap.h> +#include "iomap.h" #include "clock.h" #include "opp.h"
arch/arm/mach-omap1/clock_data.c +1 -1
@@ -18,7 +18,6 @@#include <linux/clk.h> #include <linux/cpufreq.h> #include <linux/delay.h> -#include <linux/io.h> #include <asm/mach-types.h> /* for machine_is_* */
@@ -28,6 +27,7 @@#include <plat/sram.h> /* for omap_sram_reprogram_clock() */ #include <plat/usb.h> /* for OTG_BASE */ +#include "iomap.h" #include "clock.h" /* Some ARM_IDLECT1 bit shifts - used in struct arm_idlect1_clk */
arch/arm/mach-omap1/devices.c +4 -4
@@ -15,14 +15,10 @@#include <linux/kernel.h> #include <linux/init.h> #include <linux/platform_device.h> -#include <linux/io.h> #include <linux/spi/spi.h> -#include <mach/camera.h> -#include <mach/hardware.h> #include <asm/mach/map.h> -#include "common.h" #include <plat/tc.h> #include <plat/board.h> #include <plat/mux.h>
@@ -30,6 +26,10 @@#include <plat/omap7xx.h> #include <plat/mcbsp.h> +#include <mach/camera.h> +#include <mach/hardware.h> + +#include "common.h" #include "clock.h" /*-------------------------------------------------------------------------*/
arch/arm/mach-omap1/dma.c +1 -1
@@ -19,11 +19,11 @@*/ #include <linux/err.h> -#include <linux/io.h> #include <linux/slab.h> #include <linux/module.h> #include <linux/init.h> #include <linux/device.h> +#include <linux/io.h> #include <plat/dma.h> #include <plat/tc.h>
arch/arm/mach-omap1/flash.c +1 -1
@@ -6,10 +6,10 @@* published by the Free Software Foundation. */ +#include <linux/io.h> #include <linux/mtd/mtd.h> #include <linux/mtd/map.h> -#include <plat/io.h> #include <plat/tc.h> #include <plat/flash.h>
arch/arm/mach-omap1/fpga.c +4 -1
@@ -24,12 +24,15 @@#include <linux/errno.h> #include <linux/io.h> -#include <mach/hardware.h> #include <asm/irq.h> #include <asm/mach/irq.h> #include <plat/fpga.h> +#include <mach/hardware.h> + +#include "iomap.h" +static void fpga_mask_irq (struct irq_data *d) {unsigned int irq = d->irq -OMAP_FPGA_IRQ_BASE ;
arch/arm/mach-omap1/id.c +1 -0
@@ -15,6 +15,7 @@#include <linux/kernel.h> #include <linux/init.h> #include <linux/io.h> +#include <plat/cpu.h> #define OMAP_DIE_ID_0 0xfffe1800
arch/arm/mach-omap1/include/mach/entry-macro.S +3 -1
@@ -9,10 +9,12 @@ * License version 2. This program is licensed "as is" without any * warranty of any kind, whether express or implied. */ + #include <mach/hardware.h> #include <mach/io.h> #include <mach/irqs.h> -#include <asm/hardware/gic.h> + +#include "../../iomap.h" .macro disable_fiq .endm
arch/arm/mach-omap1/io.c +3 -0
@@ -15,9 +15,12 @@#include <asm/tlb.h> #include <asm/mach/map.h> +#include <plat/mux.h> #include <plat/tc.h> +#include "iomap.h" +#include "common.h" #include "clock.h" extern void omap_check_revision (void );
arch/arm/mach-omap1/iomap.h new file +18 -0
@@ -0,0 +1,18 @@ +#ifdef __ASSEMBLER__ +#define IOMEM (x) (x) +#else +#define IOMEM (x) ((void __force __iomem *)(x)) +#endif + +#define OMAP1_IO_OFFSET 0x01000000/* Virtual IO = 0xfefb0000 */ +#define OMAP1_IO_ADDRESS (pa) IOMEM((pa) - OMAP1_IO_OFFSET) + +/* +* ---------------------------------------------------------------------------- +* Omap1 specific IO mapping +* ---------------------------------------------------------------------------- +*/ + +#define OMAP1_IO_PHYS 0xFFFB0000 +#define OMAP1_IO_SIZE 0x40000 +#define OMAP1_IO_VIRT (OMAP1_IO_PHYS - OMAP1_IO_OFFSET)
arch/arm/mach-omap1/irq.c +3 -1
@@ -42,11 +42,13 @@#include <linux/interrupt.h> #include <linux/io.h> -#include <mach/hardware.h> #include <asm/irq.h> #include <asm/mach/irq.h> +#include <plat/cpu.h> +#include <mach/hardware.h> +#define IRQ_BANK (irq) ((irq) >> 5)#define IRQ_BIT (irq) ((irq) & 0x1f)
arch/arm/mach-omap1/lcd_dma.c +2 -1
@@ -27,9 +27,10 @@#include <linux/interrupt.h> #include <linux/io.h> +#include <plat/dma.h> +#include <mach/hardware.h> #include <mach/lcdc.h> -#include <plat/dma.h> int omap_lcd_dma_running (void ) {
arch/arm/mach-omap1/mcbsp.c +4 -1
@@ -19,12 +19,15 @@#include <linux/platform_device.h> #include <linux/slab.h> -#include <mach/irqs.h> #include <plat/dma.h> #include <plat/mux.h> #include <plat/cpu.h> #include <plat/mcbsp.h> +#include <mach/irqs.h> + +#include "iomap.h" +#define DPS_RSTCT2_PER_EN (1 << 0)#define DSP_RSTCT2_WD_PER_EN (1 << 1)
arch/arm/mach-omap1/pm.c +4 -2
@@ -42,14 +42,13 @@#include <linux/sysfs.h> #include <linux/module.h> #include <linux/io.h> +#include <linux/atomic.h> #include <asm/irq.h> -#include <linux/atomic.h> #include <asm/mach/time.h> #include <asm/mach/irq.h> #include <plat/cpu.h> -#include <mach/irqs.h> #include <plat/clock.h> #include <plat/sram.h> #include <plat/tc.h>
@@ -57,6 +56,9 @@#include <plat/dma.h> #include <plat/dmtimer.h> +#include <mach/irqs.h> + +#include "iomap.h" #include "pm.h" static unsigned int arm_sleep_save[ARM_SLEEP_SAVE_SIZE ];
arch/arm/mach-omap1/reset.c +2 -1
@@ -4,9 +4,10 @@#include <linux/kernel.h> #include <linux/io.h> -#include <mach/hardware.h> #include <plat/prcm.h> +#include <mach/hardware.h> +void omap1_restart (char mode,const char *cmd) {/*
arch/arm/mach-omap1/sleep.S +4 -0
@@ -33,8 +33,12 @@ */ #include <linux/linkage.h> + #include <asm/assembler.h> + #include <mach/io.h> + +#include "iomap.h" #include "pm.h" .text
arch/arm/mach-omap1/sram.S +4 -0
@@ -9,10 +9,14 @@ */ #include <linux/linkage.h> + #include <asm/assembler.h> + #include <mach/io.h> #include <mach/hardware.h> +#include "iomap.h" + .text /*
arch/arm/mach-omap1/time.c +2 -1
@@ -45,14 +45,15 @@#include <linux/io.h> #include <asm/system.h> -#include <mach/hardware.h> #include <asm/leds.h> #include <asm/irq.h> #include <asm/sched_clock.h> +#include <mach/hardware.h> #include <asm/mach/irq.h> #include <asm/mach/time.h> +#include "iomap.h" #include "common.h" #ifdef CONFIG_OMAP_MPU_TIMER
arch/arm/mach-omap1/timer32k.c +5 -2
@@ -47,14 +47,17 @@#include <linux/io.h> #include <asm/system.h> -#include <mach/hardware.h> #include <asm/leds.h> #include <asm/irq.h> #include <asm/mach/irq.h> #include <asm/mach/time.h> -#include "common.h" +#include <plat/dmtimer.h> +#include <mach/hardware.h> + +#include "common.h" +/* * --------------------------------------------------------------------------- * 32KHz OS timer
arch/arm/plat-omap/include/plat/io.h +0 -13
@@ -60,9 +60,6 @@#define IOMEM (x) ((void __force __iomem *)(x))#endif -#define OMAP1_IO_OFFSET 0x01000000/* Virtual IO = 0xfefb0000 */ -#define OMAP1_IO_ADDRESS (pa) IOMEM((pa) - OMAP1_IO_OFFSET) -#define OMAP2_L3_IO_OFFSET 0x90000000#define OMAP2_L3_IO_ADDRESS (pa) IOMEM((pa) + OMAP2_L3_IO_OFFSET)/* L3 */
@@ -87,16 +84,6 @@/* * ---------------------------------------------------------------------------- -* Omap1 specific IO mapping -* ---------------------------------------------------------------------------- -*/ - -#define OMAP1_IO_PHYS 0xFFFB0000 -#define OMAP1_IO_SIZE 0x40000 -#define OMAP1_IO_VIRT (OMAP1_IO_PHYS - OMAP1_IO_OFFSET) - -/* -* ---------------------------------------------------------------------------- * Omap2 specific IO mapping * ---------------------------------------------------------------------------- */
Tony Lindgren
maintainerPATCH 5/8 ARM: OMAP1: Move most of plat/io.h into local iomap.h
Quoted 4 lines · Tony Lindgren
There's no need to have these in
plat/io.h.While at it, clean up the includes to group them
like they typically are grouped.
...
Quoted 14 lines
arch/arm/mach-omap1/iomap.h new file +8
-0@@ -0,0 +1,18 @@ +#ifdef __ASSEMBLER__ +#define IOMEM (x) (x) +#else +#define IOMEM (x) ((void __force __iomem *)(x)) +#endif + +#define OMAP1_IO_OFFSET 0x01000000/* Virtual IO = 0xfefb0000 */ +#define OMAP1_IO_ADDRESS (pa) IOMEM((pa) - OMAP1_IO_OFFSET)
arch/arm/mach-omap1/iomap.h line 18
Quoted 10 lines
arch/arm/mach-omap1/iomap.h new file +10
-0+ +/* +* ---------------------------------------------------------------------------- +* Omap1 specific IO mapping +* ---------------------------------------------------------------------------- +*/ + +#define OMAP1_IO_PHYS 0xFFFB0000 +#define OMAP1_IO_SIZE 0x40000 +#define OMAP1_IO_VIRT (OMAP1_IO_PHYS - OMAP1_IO_OFFSET)
Looks like the iomap.h is missing license, so updated patch below.
Regards,
Tony
From: Tony Lindgren <[email protected]>
Date: Wed, 22 Feb 2012 14:52:39 -0800
Subject: [PATCH] ARM: OMAP1: Move most of plat/io.h into local iomap.h
There's no need to have these in plat/io.h.
While at it, clean up the includes to group them
like they typically are grouped.
arch/arm/mach-omap1/ams-delta-fiq-handler.S +2 -1
@@ -15,11 +15,12 @@ #include <linux/linkage.h> -#include <plat/io.h> #include <plat/board-ams-delta.h> #include <mach/ams-delta-fiq.h> +#include "iomap.h" + /* * GPIO related definitions, copied from arch/arm/plat-omap/gpio.c. * Unfortunately, those were not placed in a separate header file.
arch/arm/mach-omap1/ams-delta-fiq.c +1 -0
@@ -22,6 +22,7 @@#include <plat/board-ams-delta.h> #include <asm/fiq.h> +#include <mach/ams-delta-fiq.h> static struct fiq_handler fh = {
arch/arm/mach-omap1/board-ams-delta.c +6 -4
@@ -20,25 +20,27 @@#include <linux/platform_device.h> #include <linux/serial_8250.h> #include <linux/export.h> +#include <linux/io.h> #include <media/soc_camera.h> #include <asm/serial.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> -#include <plat/io.h> #include <plat/board-ams-delta.h> #include <plat/keypad.h> #include <plat/mux.h> #include <plat/usb.h> #include <plat/board.h> -#include "common.h" -#include <mach/camera.h> +#include <mach/hardware.h> #include <mach/ams-delta-fiq.h> +#include <mach/camera.h> + +#include "iomap.h" +#include "common.h" static u8 ams_delta_latch1_reg;static u16 ams_delta_latch2_reg;
arch/arm/mach-omap1/board-fsample.c +5 -2
@@ -22,7 +22,6 @@#include <linux/input.h> #include <linux/smc91x.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -32,9 +31,13 @@#include <plat/flash.h> #include <plat/fpga.h> #include <plat/keypad.h> -#include "common.h" #include <plat/board.h> +#include <mach/hardware.h> + +#include "iomap.h" +#include "common.h" +/* fsample is pretty close to p2-sample */ #define fsample_cpld_read (reg) __raw_readb(reg)
arch/arm/mach-omap1/board-h2.c +3 -3
@@ -31,8 +31,6 @@#include <linux/i2c/tps65010.h> #include <linux/smc91x.h> -#include <mach/hardware.h> -#include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -43,9 +41,11 @@#include <plat/irda.h> #include <plat/usb.h> #include <plat/keypad.h> -#include "common.h" #include <plat/flash.h> +#include <mach/hardware.h> + +#include "common.h" #include "board-h2.h" /* At OMAP1610 Innovator the Ethernet is directly connected to CS1 */
arch/arm/mach-omap1/board-h3.c +4 -4
@@ -33,21 +33,21 @@#include <asm/setup.h> #include <asm/page.h> -#include <mach/hardware.h> -#include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> -#include <mach/irqs.h> #include <plat/mux.h> #include <plat/tc.h> #include <plat/usb.h> #include <plat/keypad.h> #include <plat/dma.h> -#include "common.h" #include <plat/flash.h> +#include <mach/hardware.h> +#include <mach/irqs.h> + +#include "common.h" #include "board-h3.h" /* In OMAP1710 H3 the Ethernet is directly connected to CS1 */
arch/arm/mach-omap1/board-htcherald.c +2 -3
@@ -27,7 +27,7 @@#include <linux/init.h> #include <linux/platform_device.h> #include <linux/input.h> -#include <linux/io.h> +#include <linux/delay.h> #include <linux/gpio.h> #include <linux/gpio_keys.h> #include <linux/i2c.h>
@@ -41,7 +41,6 @@#include <asm/mach/arch.h> #include <plat/omap7xx.h> -#include "common.h" #include <plat/board.h> #include <plat/keypad.h> #include <plat/usb.h>
@@ -49,7 +48,7 @@#include <mach/irqs.h> -#include <linux/delay.h> +#include "common.h" /* LCD register definition */ #define OMAP_LCDC_CONTROL (0xfffec000 + 0x00)
arch/arm/mach-omap1/board-innovator.c +5 -2
@@ -26,7 +26,6 @@#include <linux/input.h> #include <linux/smc91x.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -37,9 +36,13 @@#include <plat/tc.h> #include <plat/usb.h> #include <plat/keypad.h> -#include "common.h" #include <plat/mmc.h> +#include <mach/hardware.h> + +#include "iomap.h" +#include "common.h" +/* At OMAP1610 Innovator the Ethernet is directly connected to CS1 */ #define INNOVATOR1610_ETHR_START 0x04000300
arch/arm/mach-omap1/board-nokia770.c +4 -2
@@ -21,7 +21,6 @@#include <linux/workqueue.h> #include <linux/delay.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -30,12 +29,15 @@#include <plat/usb.h> #include <plat/board.h> #include <plat/keypad.h> -#include "common.h" #include <plat/hwa742.h> #include <plat/lcd_mipid.h> #include <plat/mmc.h> #include <plat/clock.h> +#include <mach/hardware.h> + +#include "common.h" +#define ADS7846_PENDOWN_GPIO 15static const unsigned int nokia770_keymap[] = {
arch/arm/mach-omap1/board-osk.c +3 -4
@@ -34,15 +34,11 @@#include <linux/i2c.h> #include <linux/leds.h> #include <linux/smc91x.h> -#include <linux/mtd/mtd.h> #include <linux/mtd/partitions.h> #include <linux/mtd/physmap.h> -#include <linux/i2c/tps65010.h> -#include <mach/hardware.h> -#include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -51,6 +47,9 @@#include <plat/usb.h> #include <plat/mux.h> #include <plat/tc.h> + +#include <mach/hardware.h> +#include "common.h" /* At OMAP5912 OSK the Ethernet is directly connected to CS1 */
arch/arm/mach-omap1/board-palmte.c +3 -1
@@ -28,7 +28,6 @@#include <linux/interrupt.h> #include <linux/apm-emulation.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -41,6 +40,9 @@#include <plat/board.h> #include <plat/irda.h> #include <plat/keypad.h> + +#include <mach/hardware.h> +#include "common.h" #define PALMTE_USBDETECT_GPIO 0
arch/arm/mach-omap1/board-palmtt.c +5 -4
@@ -24,8 +24,9 @@#include <linux/mtd/partitions.h> #include <linux/mtd/physmap.h> #include <linux/leds.h> +#include <linux/spi/spi.h> +#include <linux/spi/ads7846.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -39,10 +40,10 @@#include <plat/board.h> #include <plat/irda.h> #include <plat/keypad.h> -#include "common.h" -#include <linux/spi/spi.h> -#include <linux/spi/ads7846.h> +#include <mach/hardware.h> + +#include "common.h" #define PALMTT_USBDETECT_GPIO 0#define PALMTT_CABLE_GPIO 1
arch/arm/mach-omap1/board-palmz71.c +5 -4
@@ -27,8 +27,9 @@#include <linux/mtd/mtd.h> #include <linux/mtd/partitions.h> #include <linux/mtd/physmap.h> +#include <linux/spi/spi.h> +#include <linux/spi/ads7846.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -41,10 +42,10 @@#include <plat/board.h> #include <plat/irda.h> #include <plat/keypad.h> -#include "common.h" -#include <linux/spi/spi.h> -#include <linux/spi/ads7846.h> +#include <mach/hardware.h> + +#include "common.h" #define PALMZ71_USBDETECT_GPIO 0#define PALMZ71_PENIRQ_GPIO 6
arch/arm/mach-omap1/board-perseus2.c +5 -2
@@ -22,7 +22,6 @@#include <linux/input.h> #include <linux/smc91x.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -32,9 +31,13 @@#include <plat/fpga.h> #include <plat/flash.h> #include <plat/keypad.h> -#include "common.h" #include <plat/board.h> +#include <mach/hardware.h> + +#include "iomap.h" +#include "common.h" +static const unsigned int p2_keymap[] = {KEY (0 ,0 ,KEY_UP ),KEY (1 ,0 ,KEY_RIGHT ),
arch/arm/mach-omap1/board-sx1.c +4 -2
@@ -28,7 +28,6 @@#include <linux/errno.h> #include <linux/export.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h>
@@ -40,10 +39,13 @@#include <plat/usb.h> #include <plat/tc.h> #include <plat/board.h> -#include "common.h" #include <plat/keypad.h> #include <plat/board-sx1.h> +#include <mach/hardware.h> + +#include "common.h" +/* Write to I2C device */ int sx1_i2c_write_byte (u8 devaddr,u8 regoffset,u8 value) {
arch/arm/mach-omap1/board-voiceblue.c +4 -2
@@ -27,18 +27,20 @@#include <linux/smc91x.h> #include <linux/export.h> -#include <mach/hardware.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> #include <plat/board-voiceblue.h> -#include "common.h" #include <plat/flash.h> #include <plat/mux.h> #include <plat/tc.h> #include <plat/usb.h> +#include <mach/hardware.h> + +#include "common.h" +static struct plat_serial8250_port voiceblue_ports[] = { { .mapbase = (unsigned long )(OMAP_CS1_PHYS +0x40000 ),
arch/arm/mach-omap1/clock.c +1 -1
@@ -16,7 +16,6 @@#include <linux/errno.h> #include <linux/err.h> #include <linux/clk.h> -#include <linux/io.h> #include <linux/clkdev.h> #include <asm/mach-types.h>
@@ -27,6 +26,7 @@#include <plat/sram.h> #include <plat/clkdev_omap.h> +#include "iomap.h" #include "clock.h" #include "opp.h"
arch/arm/mach-omap1/clock_data.c +1 -1
@@ -18,7 +18,6 @@#include <linux/clk.h> #include <linux/cpufreq.h> #include <linux/delay.h> -#include <linux/io.h> #include <asm/mach-types.h> /* for machine_is_* */
@@ -28,6 +27,7 @@#include <plat/sram.h> /* for omap_sram_reprogram_clock() */ #include <plat/usb.h> /* for OTG_BASE */ +#include "iomap.h" #include "clock.h" /* Some ARM_IDLECT1 bit shifts - used in struct arm_idlect1_clk */
arch/arm/mach-omap1/devices.c +4 -4
@@ -15,14 +15,10 @@#include <linux/kernel.h> #include <linux/init.h> #include <linux/platform_device.h> -#include <linux/io.h> #include <linux/spi/spi.h> -#include <mach/camera.h> -#include <mach/hardware.h> #include <asm/mach/map.h> -#include "common.h" #include <plat/tc.h> #include <plat/board.h> #include <plat/mux.h>
@@ -30,6 +26,10 @@#include <plat/omap7xx.h> #include <plat/mcbsp.h> +#include <mach/camera.h> +#include <mach/hardware.h> + +#include "common.h" #include "clock.h" /*-------------------------------------------------------------------------*/
arch/arm/mach-omap1/dma.c +1 -1
@@ -19,11 +19,11 @@*/ #include <linux/err.h> -#include <linux/io.h> #include <linux/slab.h> #include <linux/module.h> #include <linux/init.h> #include <linux/device.h> +#include <linux/io.h> #include <plat/dma.h> #include <plat/tc.h>
arch/arm/mach-omap1/flash.c +1 -1
@@ -6,10 +6,10 @@* published by the Free Software Foundation. */ +#include <linux/io.h> #include <linux/mtd/mtd.h> #include <linux/mtd/map.h> -#include <plat/io.h> #include <plat/tc.h> #include <plat/flash.h>
arch/arm/mach-omap1/fpga.c +4 -1
@@ -24,12 +24,15 @@#include <linux/errno.h> #include <linux/io.h> -#include <mach/hardware.h> #include <asm/irq.h> #include <asm/mach/irq.h> #include <plat/fpga.h> +#include <mach/hardware.h> + +#include "iomap.h" +static void fpga_mask_irq (struct irq_data *d) {unsigned int irq = d->irq -OMAP_FPGA_IRQ_BASE ;
arch/arm/mach-omap1/id.c +1 -0
@@ -15,6 +15,7 @@#include <linux/kernel.h> #include <linux/init.h> #include <linux/io.h> +#include <plat/cpu.h> #define OMAP_DIE_ID_0 0xfffe1800
arch/arm/mach-omap1/include/mach/entry-macro.S +3 -1
@@ -9,10 +9,12 @@ * License version 2. This program is licensed "as is" without any * warranty of any kind, whether express or implied. */ + #include <mach/hardware.h> #include <mach/io.h> #include <mach/irqs.h> -#include <asm/hardware/gic.h> + +#include "../../iomap.h" .macro disable_fiq .endm
arch/arm/mach-omap1/io.c +3 -0
@@ -15,9 +15,12 @@#include <asm/tlb.h> #include <asm/mach/map.h> +#include <plat/mux.h> #include <plat/tc.h> +#include "iomap.h" +#include "common.h" #include "clock.h" extern void omap_check_revision (void );
arch/arm/mach-omap1/iomap.h new file +42 -0
42 lines not on this page · raw message
arch/arm/mach-omap1/irq.c +3 -1
@@ -42,11 +42,13 @@#include <linux/interrupt.h> #include <linux/io.h> -#include <mach/hardware.h> #include <asm/irq.h> #include <asm/mach/irq.h> +#include <plat/cpu.h> +#include <mach/hardware.h> +#define IRQ_BANK (irq) ((irq) >> 5)#define IRQ_BIT (irq) ((irq) & 0x1f)
arch/arm/mach-omap1/lcd_dma.c +2 -1
@@ -27,9 +27,10 @@#include <linux/interrupt.h> #include <linux/io.h> +#include <plat/dma.h> +#include <mach/hardware.h> #include <mach/lcdc.h> -#include <plat/dma.h> int omap_lcd_dma_running (void ) {
arch/arm/mach-omap1/mcbsp.c +4 -1
@@ -19,12 +19,15 @@#include <linux/platform_device.h> #include <linux/slab.h> -#include <mach/irqs.h> #include <plat/dma.h> #include <plat/mux.h> #include <plat/cpu.h> #include <plat/mcbsp.h> +#include <mach/irqs.h> + +#include "iomap.h" +#define DPS_RSTCT2_PER_EN (1 << 0)#define DSP_RSTCT2_WD_PER_EN (1 << 1)
arch/arm/mach-omap1/pm.c +4 -2
@@ -42,14 +42,13 @@#include <linux/sysfs.h> #include <linux/module.h> #include <linux/io.h> +#include <linux/atomic.h> #include <asm/irq.h> -#include <linux/atomic.h> #include <asm/mach/time.h> #include <asm/mach/irq.h> #include <plat/cpu.h> -#include <mach/irqs.h> #include <plat/clock.h> #include <plat/sram.h> #include <plat/tc.h>
@@ -57,6 +56,9 @@#include <plat/dma.h> #include <plat/dmtimer.h> +#include <mach/irqs.h> + +#include "iomap.h" #include "pm.h" static unsigned int arm_sleep_save[ARM_SLEEP_SAVE_SIZE ];
arch/arm/mach-omap1/reset.c +2 -1
@@ -4,9 +4,10 @@#include <linux/kernel.h> #include <linux/io.h> -#include <mach/hardware.h> #include <plat/prcm.h> +#include <mach/hardware.h> +void omap1_restart (char mode,const char *cmd) {/*
arch/arm/mach-omap1/sleep.S +4 -0
@@ -33,8 +33,12 @@ */ #include <linux/linkage.h> + #include <asm/assembler.h> + #include <mach/io.h> + +#include "iomap.h" #include "pm.h" .text
arch/arm/mach-omap1/sram.S +4 -0
@@ -9,10 +9,14 @@ */ #include <linux/linkage.h> + #include <asm/assembler.h> + #include <mach/io.h> #include <mach/hardware.h> +#include "iomap.h" + .text /*
arch/arm/mach-omap1/time.c +2 -1
@@ -45,14 +45,15 @@#include <linux/io.h> #include <asm/system.h> -#include <mach/hardware.h> #include <asm/leds.h> #include <asm/irq.h> #include <asm/sched_clock.h> +#include <mach/hardware.h> #include <asm/mach/irq.h> #include <asm/mach/time.h> +#include "iomap.h" #include "common.h" #ifdef CONFIG_OMAP_MPU_TIMER
arch/arm/mach-omap1/timer32k.c +5 -2
@@ -47,14 +47,17 @@#include <linux/io.h> #include <asm/system.h> -#include <mach/hardware.h> #include <asm/leds.h> #include <asm/irq.h> #include <asm/mach/irq.h> #include <asm/mach/time.h> -#include "common.h" +#include <plat/dmtimer.h> +#include <mach/hardware.h> + +#include "common.h" +/* * --------------------------------------------------------------------------- * 32KHz OS timer
arch/arm/plat-omap/include/plat/io.h +0 -13
@@ -60,9 +60,6 @@#define IOMEM (x) ((void __force __iomem *)(x))#endif -#define OMAP1_IO_OFFSET 0x01000000/* Virtual IO = 0xfefb0000 */ -#define OMAP1_IO_ADDRESS (pa) IOMEM((pa) - OMAP1_IO_OFFSET) -#define OMAP2_L3_IO_OFFSET 0x90000000#define OMAP2_L3_IO_ADDRESS (pa) IOMEM((pa) + OMAP2_L3_IO_OFFSET)/* L3 */
@@ -87,16 +84,6 @@/* * ---------------------------------------------------------------------------- -* Omap1 specific IO mapping -* ---------------------------------------------------------------------------- -*/ - -#define OMAP1_IO_PHYS 0xFFFB0000 -#define OMAP1_IO_SIZE 0x40000 -#define OMAP1_IO_VIRT (OMAP1_IO_PHYS - OMAP1_IO_OFFSET) - -/* -* ---------------------------------------------------------------------------- * Omap2 specific IO mapping * ---------------------------------------------------------------------------- */
Tony Lindgren
maintainerPATCH 6/8 ARM: OMAP2+: Move most of plat/io.h into local iomap.h
In reply to Tony LindgrenThere's no need to have these defines in plat/io.h.
Note that we now need to ifdef omap_read/write calls as they will be available for omap1 only.
While at it, clean up the includes to group them like they typically are grouped.
--- arch/arm/mach-omap2/clock2420_data.c | 1 arch/arm/mach-omap2/clock2430.c | 1 arch/arm/mach-omap2/clock2430_data.c | 1 arch/arm/mach-omap2/clock3xxx_data.c | 3 - arch/arm/mach-omap2/clock44xx_data.c | 3 + arch/arm/mach-omap2/cm2xxx_3xxx.c | 2 arch/arm/mach-omap2/cm44xx.c | 2 arch/arm/mach-omap2/cminst44xx.c | 2 arch/arm/mach-omap2/common.c | 4 - arch/arm/mach-omap2/control.c | 3 - arch/arm/mach-omap2/control.h | 1 arch/arm/mach-omap2/devices.c | 2 arch/arm/mach-omap2/display.c | 1 arch/arm/mach-omap2/io.c | 17 +-- arch/arm/mach-omap2/iomap.h | 179 ++++++++++++++++++++++++++++++++++ arch/arm/mach-omap2/irq.c | 5 + arch/arm/mach-omap2/omap-smp.c | 3 - arch/arm/mach-omap2/pm24xx.c | 5 + arch/arm/mach-omap2/prcm_mpu44xx.c | 2 arch/arm/mach-omap2/prm44xx.c | 3 - arch/arm/mach-omap2/prminst44xx.c | 2 arch/arm/mach-omap2/sdram-nokia.c | 1 arch/arm/mach-omap2/sdrc2xxx.c | 5 + arch/arm/mach-omap2/sleep24xx.S | 1 arch/arm/mach-omap2/sleep34xx.S | 4 + arch/arm/mach-omap2/sram242x.S | 4 + arch/arm/mach-omap2/sram243x.S | 4 + arch/arm/mach-omap2/sram34xx.S | 5 + arch/arm/plat-omap/include/plat/io.h | 174 --------------------------------- arch/arm/plat-omap/include/plat/tc.h | 4 + arch/arm/plat-omap/sram.c | 9 +- 31 files changed, 238 insertions(+), 215 deletions(-) create mode 100644 arch/arm/mach-omap2/iomap.h
arch/arm/mach-omap2/clock2420_data.c +1 -0
@@ -19,6 +19,7 @@#include <plat/clkdev_omap.h> +#include "iomap.h" #include "clock.h" #include "clock2xxx.h" #include "opp2xxx.h"
arch/arm/mach-omap2/clock2430.c +1 -0
@@ -23,6 +23,7 @@#include <plat/clock.h> +#include "iomap.h" #include "clock.h" #include "clock2xxx.h" #include "cm2xxx_3xxx.h"
arch/arm/mach-omap2/clock2430_data.c +1 -0
@@ -19,6 +19,7 @@#include <plat/clkdev_omap.h> +#include "iomap.h" #include "clock.h" #include "clock2xxx.h" #include "opp2xxx.h"
arch/arm/mach-omap2/clock3xxx_data.c +2 -1
@@ -20,14 +20,15 @@#include <linux/clk.h> #include <linux/list.h> +#include <plat/hardware.h> #include <plat/clkdev_omap.h> +#include "iomap.h" #include "clock.h" #include "clock3xxx.h" #include "clock34xx.h" #include "clock36xx.h" #include "clock3517.h" -#include "cm2xxx_3xxx.h" #include "cm-regbits-34xx.h" #include "prm2xxx_3xxx.h"
arch/arm/mach-omap2/clock44xx_data.c +3 -0
@@ -26,8 +26,11 @@#include <linux/kernel.h> #include <linux/list.h> #include <linux/clk.h> + +#include <plat/hardware.h> #include <plat/clkdev_omap.h> +#include "iomap.h" #include "clock.h" #include "clock44xx.h" #include "cm1_44xx.h"
arch/arm/mach-omap2/cm2xxx_3xxx.c +1 -1
@@ -18,8 +18,8 @@#include <linux/err.h> #include <linux/io.h> +#include "iomap.h" #include "common.h" -#include "cm.h" #include "cm2xxx_3xxx.h" #include "cm-regbits-24xx.h"
arch/arm/mach-omap2/cm44xx.c +1 -1
@@ -18,8 +18,8 @@#include <linux/err.h> #include <linux/io.h> +#include "iomap.h" #include "common.h" -#include "cm.h" #include "cm1_44xx.h" #include "cm2_44xx.h"
arch/arm/mach-omap2/cminst44xx.c +1 -1
@@ -20,8 +20,8 @@#include <linux/err.h> #include <linux/io.h> +#include "iomap.h" #include "common.h" -#include "cm.h" #include "cm1_44xx.h" #include "cm2_44xx.h"
arch/arm/mach-omap2/common.c +2 -2
@@ -17,12 +17,12 @@#include <linux/clk.h> #include <linux/io.h> -#include "common.h" #include <plat/board.h> #include <plat/mux.h> -#include <plat/clock.h> +#include "iomap.h" +#include "common.h" #include "sdrc.h" #include "control.h"
arch/arm/mach-omap2/control.c +2 -1
@@ -15,9 +15,10 @@#include <linux/kernel.h> #include <linux/io.h> -#include "common.h" #include <plat/sdrc.h> +#include "iomap.h" +#include "common.h" #include "cm-regbits-34xx.h" #include "prm-regbits-34xx.h" #include "prm2xxx_3xxx.h"
arch/arm/mach-omap2/control.h +0 -1
@@ -16,7 +16,6 @@#ifndef __ARCH_ARM_MACH_OMAP2_CONTROL_H#define __ARCH_ARM_MACH_OMAP2_CONTROL_H -#include <mach/io.h> #include <mach/ctrl_module_core_44xx.h> #include <mach/ctrl_module_wkup_44xx.h> #include <mach/ctrl_module_pad_core_44xx.h>
arch/arm/mach-omap2/devices.c +1 -1
@@ -24,7 +24,7 @@#include <asm/mach/map.h> #include <asm/pmu.h> -#include <plat/tc.h> +#include "iomap.h" #include <plat/board.h> #include <plat/mcbsp.h> #include <plat/mmc.h>
arch/arm/mach-omap2/display.c +1 -0
@@ -30,6 +30,7 @@#include <plat/omap-pm.h> #include "common.h" +#include "iomap.h" #include "mux.h" #include "control.h" #include "display.h"
arch/arm/mach-omap2/io.c +7 -10
@@ -24,26 +24,23 @@#include <linux/omapfb.h> #include <asm/tlb.h> -#include <asm/mach/map.h> #include <plat/sram.h> #include <plat/sdrc.h> #include <plat/serial.h> - -#include "clock2xxx.h" -#include "clock3xxx.h" -#include "clock44xx.h" - -#include "common.h" #include <plat/omap-pm.h> +#include <plat/omap_hwmod.h> +#include <plat/multi.h> + +#include "iomap.h" #include "voltage.h" #include "powerdomain.h" -#include "clockdomain.h" -#include <plat/omap_hwmod.h> -#include <plat/multi.h> #include "common.h" +#include "clock2xxx.h" +#include "clock3xxx.h" +#include "clock44xx.h" /* * The machine specific code may provide the extra mapping besides the
arch/arm/mach-omap2/iomap.h new file +179 -0
179 lines not on this page · raw message
arch/arm/mach-omap2/irq.c +4 -1
@@ -14,10 +14,13 @@#include <linux/init.h> #include <linux/interrupt.h> #include <linux/io.h> -#include <mach/hardware.h> +#include <asm/exception.h> #include <asm/mach/irq.h> +#include <mach/hardware.h> + +#include "iomap.h" /* selected INTC register offsets */
arch/arm/mach-omap2/omap-smp.c +2 -1
@@ -23,11 +23,12 @@#include <asm/cacheflush.h> #include <asm/hardware/gic.h> #include <asm/smp_scu.h> +#include <mach/hardware.h> #include <mach/omap-secure.h> +#include "iomap.h" #include "common.h" -#include "clockdomain.h" /* SCU base address */
arch/arm/mach-omap2/pm24xx.c +3 -2
@@ -35,12 +35,14 @@#include <asm/mach/irq.h> #include <asm/mach-types.h> -#include <mach/irqs.h> #include <plat/clock.h> #include <plat/sram.h> #include <plat/dma.h> #include <plat/board.h> +#include <mach/irqs.h> + +#include "iomap.h" #include "common.h" #include "prm2xxx_3xxx.h" #include "prm-regbits-24xx.h"
@@ -49,7 +51,6 @@#include "sdrc.h" #include "pm.h" #include "control.h" -#include "powerdomain.h" #include "clockdomain.h"
arch/arm/mach-omap2/prcm_mpu44xx.c +1 -1
@@ -15,8 +15,8 @@#include <linux/err.h> #include <linux/io.h> +#include "iomap.h" #include "common.h" -#include "prcm_mpu44xx.h" #include "cm-regbits-44xx.h"
arch/arm/mach-omap2/prm44xx.c +2 -1
@@ -17,11 +17,12 @@#include <linux/err.h> #include <linux/io.h> -#include "common.h" #include <plat/cpu.h> #include <plat/irqs.h> #include <plat/prcm.h> +#include "iomap.h" +#include "common.h" #include "vp.h" #include "prm44xx.h" #include "prm-regbits-44xx.h"
arch/arm/mach-omap2/prminst44xx.c +1 -1
@@ -16,8 +16,8 @@#include <linux/err.h> #include <linux/io.h> +#include "iomap.h" #include "common.h" -#include "prm44xx.h" #include "prminst44xx.h" #include "prm-regbits-44xx.h"
arch/arm/mach-omap2/sdram-nokia.c +0 -1
@@ -17,7 +17,6 @@#include <linux/err.h> #include <linux/io.h> -#include <plat/io.h> #include "common.h" #include <plat/clock.h> #include <plat/sdrc.h>
arch/arm/mach-omap2/sdrc2xxx.c +3 -2
@@ -24,13 +24,14 @@#include <linux/clk.h> #include <linux/io.h> -#include "common.h" #include <plat/clock.h> #include <plat/sram.h> +#include <plat/sdrc.h> +#include "iomap.h" +#include "common.h" #include "prm2xxx_3xxx.h" #include "clock.h" -#include <plat/sdrc.h> #include "sdrc.h" /* Memory timing, DLL mode flags */
arch/arm/mach-omap2/sleep24xx.S +0 -1
@@ -27,7 +27,6 @@ #include <linux/linkage.h> #include <asm/assembler.h> -#include <mach/io.h> #include <plat/omap24xx.h>
arch/arm/mach-omap2/sleep34xx.S +3 -1
@@ -23,10 +23,12 @@ * MA 02111-1307 USA */ #include <linux/linkage.h> + #include <asm/assembler.h> + #include <plat/sram.h> -#include <mach/io.h> +#include "iomap.h" #include "cm2xxx_3xxx.h" #include "prm2xxx_3xxx.h" #include "sdrc.h"
arch/arm/mach-omap2/sram242x.S +3 -1
@@ -29,10 +29,12 @@ * These crashes may be intermittent. */ #include <linux/linkage.h> + #include <asm/assembler.h> -#include <mach/io.h> + #include <mach/hardware.h> +#include "iomap.h" #include "prm2xxx_3xxx.h" #include "cm2xxx_3xxx.h" #include "sdrc.h"
arch/arm/mach-omap2/sram243x.S +3 -1
@@ -29,10 +29,12 @@ * These crashes may be intermittent. */ #include <linux/linkage.h> + #include <asm/assembler.h> -#include <mach/io.h> + #include <mach/hardware.h> +#include "iomap.h" #include "prm2xxx_3xxx.h" #include "cm2xxx_3xxx.h" #include "sdrc.h"
arch/arm/mach-omap2/sram34xx.S +3 -2
@@ -26,11 +26,12 @@ * MA 02111-1307 USA */ #include <linux/linkage.h> + #include <asm/assembler.h> -#include <mach/hardware.h> -#include <mach/io.h> +#include <mach/hardware.h> +#include "iomap.h" #include "sdrc.h" #include "cm2xxx_3xxx.h"
arch/arm/plat-omap/include/plat/io.h +0 -174
180 lines not on this page · raw message
arch/arm/plat-omap/include/plat/tc.h +3 -1
@@ -89,7 +89,8 @@* from NOR flash (using external chipselect 3) rather than mask ROM, * which uses BM to interchange the physical CS0 and CS3 addresses. */ -static inline u32 omap_cs0_phys (void ) +#ifdef CONFIG_ARCH_OMAP1 +static inline u32 omap_cs0m_phys (void ) {return (omap_readl (EMIFS_CONFIG ) &OMAP_EMIFS_CONFIG_BM ) ?OMAP_CS3_PHYS :0 ;
@@ -100,6 +101,7 @@ static inline u32 omap_cs3_phys(void)return (omap_readl (EMIFS_CONFIG ) &OMAP_EMIFS_CONFIG_BM ) ?0 :OMAP_CS3_PHYS ; } +#endif #endif /* __ASSEMBLER__ */
arch/arm/plat-omap/sram.c +4 -5
@@ -31,11 +31,10 @@#include "sram.h" -/* XXX These "sideways" includes are a sign that something is wrong */ -#if defined(CONFIG_ARCH_OMAP2 ) || defined(CONFIG_ARCH_OMAP3 ) -# include "../mach-omap2/prm2xxx_3xxx.h" -# include "../mach-omap2/sdrc.h" -#endif +/* XXX These "sideways" includes will disappear when sram.c becomes a driver */ +#include "../mach-omap2/iomap.h" +#include "../mach-omap2/prm2xxx_3xxx.h" +#include "../mach-omap2/sdrc.h" #define OMAP1_SRAM_PA 0x20000000#define OMAP2_SRAM_PUB_PA (OMAP2_SRAM_PA + 0xf800)
Tony Lindgren
maintainerPATCH 6/8 ARM: OMAP2+: Move most of plat/io.h into local iomap.h
Quoted 7 lines · Tony Lindgren
There's no need to have these defines in
plat/io.h.Note that we now need to ifdef omap_read/write calls as they will be available for omap1 only.
While at it, clean up the includes to group them like they typically are grouped.
This one updated with the license too for iomap.h and added include iomap.h for emu.c that may cause errors with some .config files otherwise.
Regards,
Tony
From: Tony Lindgren <[email protected]>
Date: Wed, 22 Feb 2012 14:52:40 -0800
Subject: [PATCH] ARM: OMAP2+: Move most of plat/io.h into local iomap.h
There's no need to have these defines in plat/io.h.
Note that we now need to ifdef omap_read/write calls as they will be available for omap1 only.
While at it, clean up the includes to group them like they typically are grouped.
arch/arm/mach-omap2/clock2420_data.c +1 -0
@@ -19,6 +19,7 @@#include <plat/clkdev_omap.h> +#include "iomap.h" #include "clock.h" #include "clock2xxx.h" #include "opp2xxx.h"
arch/arm/mach-omap2/clock2430.c +1 -0
@@ -23,6 +23,7 @@#include <plat/clock.h> +#include "iomap.h" #include "clock.h" #include "clock2xxx.h" #include "cm2xxx_3xxx.h"
arch/arm/mach-omap2/clock2430_data.c +1 -0
@@ -19,6 +19,7 @@#include <plat/clkdev_omap.h> +#include "iomap.h" #include "clock.h" #include "clock2xxx.h" #include "opp2xxx.h"
arch/arm/mach-omap2/clock3xxx_data.c +2 -1
@@ -20,14 +20,15 @@#include <linux/clk.h> #include <linux/list.h> +#include <plat/hardware.h> #include <plat/clkdev_omap.h> +#include "iomap.h" #include "clock.h" #include "clock3xxx.h" #include "clock34xx.h" #include "clock36xx.h" #include "clock3517.h" -#include "cm2xxx_3xxx.h" #include "cm-regbits-34xx.h" #include "prm2xxx_3xxx.h"
arch/arm/mach-omap2/clock44xx_data.c +3 -0
@@ -26,8 +26,11 @@#include <linux/kernel.h> #include <linux/list.h> #include <linux/clk.h> + +#include <plat/hardware.h> #include <plat/clkdev_omap.h> +#include "iomap.h" #include "clock.h" #include "clock44xx.h" #include "cm1_44xx.h"
arch/arm/mach-omap2/cm2xxx_3xxx.c +1 -1
@@ -18,8 +18,8 @@#include <linux/err.h> #include <linux/io.h> +#include "iomap.h" #include "common.h" -#include "cm.h" #include "cm2xxx_3xxx.h" #include "cm-regbits-24xx.h"
arch/arm/mach-omap2/cm44xx.c +1 -1
@@ -18,8 +18,8 @@#include <linux/err.h> #include <linux/io.h> +#include "iomap.h" #include "common.h" -#include "cm.h" #include "cm1_44xx.h" #include "cm2_44xx.h"
arch/arm/mach-omap2/cminst44xx.c +1 -1
@@ -20,8 +20,8 @@#include <linux/err.h> #include <linux/io.h> +#include "iomap.h" #include "common.h" -#include "cm.h" #include "cm1_44xx.h" #include "cm2_44xx.h"
arch/arm/mach-omap2/common.c +2 -2
@@ -17,12 +17,12 @@#include <linux/clk.h> #include <linux/io.h> -#include "common.h" #include <plat/board.h> #include <plat/mux.h> -#include <plat/clock.h> +#include "iomap.h" +#include "common.h" #include "sdrc.h" #include "control.h"
arch/arm/mach-omap2/control.c +2 -1
@@ -15,9 +15,10 @@#include <linux/kernel.h> #include <linux/io.h> -#include "common.h" #include <plat/sdrc.h> +#include "iomap.h" +#include "common.h" #include "cm-regbits-34xx.h" #include "prm-regbits-34xx.h" #include "prm2xxx_3xxx.h"
arch/arm/mach-omap2/control.h +0 -1
@@ -16,7 +16,6 @@#ifndef __ARCH_ARM_MACH_OMAP2_CONTROL_H#define __ARCH_ARM_MACH_OMAP2_CONTROL_H -#include <mach/io.h> #include <mach/ctrl_module_core_44xx.h> #include <mach/ctrl_module_wkup_44xx.h> #include <mach/ctrl_module_pad_core_44xx.h>
arch/arm/mach-omap2/devices.c +1 -1
@@ -24,7 +24,7 @@#include <asm/mach/map.h> #include <asm/pmu.h> -#include <plat/tc.h> +#include "iomap.h" #include <plat/board.h> #include <plat/mcbsp.h> #include <plat/mmc.h>
arch/arm/mach-omap2/display.c +1 -0
@@ -30,6 +30,7 @@#include <plat/omap-pm.h> #include "common.h" +#include "iomap.h" #include "mux.h" #include "control.h" #include "display.h"
arch/arm/mach-omap2/emu.c +2 -0
@@ -21,6 +21,8 @@#include <linux/clk.h> #include <linux/err.h> +#include "iomap.h" +MODULE_LICENSE ("GPL" );MODULE_AUTHOR ("Alexander Shishkin" );
arch/arm/mach-omap2/io.c +7 -10
@@ -24,26 +24,23 @@#include <linux/omapfb.h> #include <asm/tlb.h> -#include <asm/mach/map.h> #include <plat/sram.h> #include <plat/sdrc.h> #include <plat/serial.h> - -#include "clock2xxx.h" -#include "clock3xxx.h" -#include "clock44xx.h" - -#include "common.h" #include <plat/omap-pm.h> +#include <plat/omap_hwmod.h> +#include <plat/multi.h> + +#include "iomap.h" #include "voltage.h" #include "powerdomain.h" -#include "clockdomain.h" -#include <plat/omap_hwmod.h> -#include <plat/multi.h> #include "common.h" +#include "clock2xxx.h" +#include "clock3xxx.h" +#include "clock44xx.h" /* * The machine specific code may provide the extra mapping besides the
arch/arm/mach-omap2/iomap.h new file +203 -0
203 lines not on this page · raw message
arch/arm/mach-omap2/irq.c +4 -1
@@ -14,10 +14,13 @@#include <linux/init.h> #include <linux/interrupt.h> #include <linux/io.h> -#include <mach/hardware.h> +#include <asm/exception.h> #include <asm/mach/irq.h> +#include <mach/hardware.h> + +#include "iomap.h" /* selected INTC register offsets */
arch/arm/mach-omap2/omap-smp.c +2 -1
@@ -23,11 +23,12 @@#include <asm/cacheflush.h> #include <asm/hardware/gic.h> #include <asm/smp_scu.h> +#include <mach/hardware.h> #include <mach/omap-secure.h> +#include "iomap.h" #include "common.h" -#include "clockdomain.h" /* SCU base address */
arch/arm/mach-omap2/pm24xx.c +3 -2
@@ -35,12 +35,14 @@#include <asm/mach/irq.h> #include <asm/mach-types.h> -#include <mach/irqs.h> #include <plat/clock.h> #include <plat/sram.h> #include <plat/dma.h> #include <plat/board.h> +#include <mach/irqs.h> + +#include "iomap.h" #include "common.h" #include "prm2xxx_3xxx.h" #include "prm-regbits-24xx.h"
@@ -49,7 +51,6 @@#include "sdrc.h" #include "pm.h" #include "control.h" -#include "powerdomain.h" #include "clockdomain.h"
arch/arm/mach-omap2/prcm_mpu44xx.c +1 -1
@@ -15,8 +15,8 @@#include <linux/err.h> #include <linux/io.h> +#include "iomap.h" #include "common.h" -#include "prcm_mpu44xx.h" #include "cm-regbits-44xx.h"
arch/arm/mach-omap2/prm44xx.c +2 -1
@@ -17,10 +17,11 @@#include <linux/err.h> #include <linux/io.h> -#include "common.h" #include <plat/cpu.h> #include <plat/prcm.h> +#include "iomap.h" +#include "common.h" #include "vp.h" #include "prm44xx.h" #include "prm-regbits-44xx.h"
arch/arm/mach-omap2/prminst44xx.c +1 -1
@@ -16,8 +16,8 @@#include <linux/err.h> #include <linux/io.h> +#include "iomap.h" #include "common.h" -#include "prm44xx.h" #include "prminst44xx.h" #include "prm-regbits-44xx.h"
arch/arm/mach-omap2/sdram-nokia.c +0 -1
@@ -17,7 +17,6 @@#include <linux/err.h> #include <linux/io.h> -#include <plat/io.h> #include "common.h" #include <plat/clock.h> #include <plat/sdrc.h>
arch/arm/mach-omap2/sdrc2xxx.c +3 -2
@@ -24,13 +24,14 @@#include <linux/clk.h> #include <linux/io.h> -#include "common.h" #include <plat/clock.h> #include <plat/sram.h> +#include <plat/sdrc.h> +#include "iomap.h" +#include "common.h" #include "prm2xxx_3xxx.h" #include "clock.h" -#include <plat/sdrc.h> #include "sdrc.h" /* Memory timing, DLL mode flags */
arch/arm/mach-omap2/sleep24xx.S +0 -1
@@ -27,7 +27,6 @@ #include <linux/linkage.h> #include <asm/assembler.h> -#include <mach/io.h> #include <plat/omap24xx.h>
arch/arm/mach-omap2/sleep34xx.S +3 -1
@@ -23,10 +23,12 @@ * MA 02111-1307 USA */ #include <linux/linkage.h> + #include <asm/assembler.h> + #include <plat/sram.h> -#include <mach/io.h> +#include "iomap.h" #include "cm2xxx_3xxx.h" #include "prm2xxx_3xxx.h" #include "sdrc.h"
arch/arm/mach-omap2/sram242x.S +3 -1
@@ -29,10 +29,12 @@ * These crashes may be intermittent. */ #include <linux/linkage.h> + #include <asm/assembler.h> -#include <mach/io.h> + #include <mach/hardware.h> +#include "iomap.h" #include "prm2xxx_3xxx.h" #include "cm2xxx_3xxx.h" #include "sdrc.h"
arch/arm/mach-omap2/sram243x.S +3 -1
@@ -29,10 +29,12 @@ * These crashes may be intermittent. */ #include <linux/linkage.h> + #include <asm/assembler.h> -#include <mach/io.h> + #include <mach/hardware.h> +#include "iomap.h" #include "prm2xxx_3xxx.h" #include "cm2xxx_3xxx.h" #include "sdrc.h"
arch/arm/mach-omap2/sram34xx.S +3 -2
@@ -26,11 +26,12 @@ * MA 02111-1307 USA */ #include <linux/linkage.h> + #include <asm/assembler.h> -#include <mach/hardware.h> -#include <mach/io.h> +#include <mach/hardware.h> +#include "iomap.h" #include "sdrc.h" #include "cm2xxx_3xxx.h"
arch/arm/plat-omap/include/plat/io.h +0 -174
180 lines not on this page · raw message
arch/arm/plat-omap/include/plat/tc.h +3 -1
@@ -89,7 +89,8 @@* from NOR flash (using external chipselect 3) rather than mask ROM, * which uses BM to interchange the physical CS0 and CS3 addresses. */ -static inline u32 omap_cs0_phys (void ) +#ifdef CONFIG_ARCH_OMAP1 +static inline u32 omap_cs0m_phys (void ) {return (omap_readl (EMIFS_CONFIG ) &OMAP_EMIFS_CONFIG_BM ) ?OMAP_CS3_PHYS :0 ;
@@ -100,6 +101,7 @@ static inline u32 omap_cs3_phys(void)return (omap_readl (EMIFS_CONFIG ) &OMAP_EMIFS_CONFIG_BM ) ?0 :OMAP_CS3_PHYS ; } +#endif #endif /* __ASSEMBLER__ */
arch/arm/plat-omap/sram.c +4 -5
@@ -31,11 +31,10 @@#include "sram.h" -/* XXX These "sideways" includes are a sign that something is wrong */ -#if defined(CONFIG_ARCH_OMAP2 ) || defined(CONFIG_ARCH_OMAP3 ) -# include "../mach-omap2/prm2xxx_3xxx.h" -# include "../mach-omap2/sdrc.h" -#endif +/* XXX These "sideways" includes will disappear when sram.c becomes a driver */ +#include "../mach-omap2/iomap.h" +#include "../mach-omap2/prm2xxx_3xxx.h" +#include "../mach-omap2/sdrc.h" #define OMAP1_SRAM_PA 0x20000000#define OMAP2_SRAM_PUB_PA (OMAP2_SRAM_PA + 0xf800)
Tony Lindgren
maintainerPATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
In reply to Tony LindgrenThis is needed so we can eventually remove mach/io.h for omap2+.
--- arch/arm/mach-omap1/include/mach/io.h | 78 ++++++++++++++++++++++++++++++- arch/arm/mach-omap2/common.h | 10 ++++ arch/arm/mach-omap2/include/mach/io.h | 60 +++++++++++++++++++++++- arch/arm/mach-omap2/pm24xx.c | 2 - arch/arm/plat-omap/dma.c | 2 + arch/arm/plat-omap/include/plat/io.h | 84 --------------------------------- arch/arm/plat-omap/usb.c | 2 + 7 files changed, 150 insertions(+), 88 deletions(-) delete mode 100644 arch/arm/plat-omap/include/plat/io.h
arch/arm/mach-omap1/include/mach/io.h +77 -1
@@ -1,5 +1,81 @@/* * arch/arm/mach-omap1/include/mach/io.h +* +* IO definitions for TI OMAP processors and boards +* +* Copied from arch/arm/mach-sa1100/include/mach/io.h +* Copyright (C) 1997-1999 Russell King +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at your +* option) any later version. +* +* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN +* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* You should have received a copy of the GNU General Public License along +* with this program; if not, write to the Free Software Foundation, Inc., +* 675 Mass Ave, Cambridge, MA 02139, USA. +* +* Modifications: +* 06-12-1997 RMK Created. +* 07-04-1999 RMK Major cleanup */ -#include <plat/io.h> +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +#include <mach/hardware.h> + +#define IO_SPACE_LIMIT 0xffffffff + +/* +* We don't actually have real ISA nor PCI buses, but there is so many +* drivers out there that might just work if we fake them... +*/ +#define __io (a) __typesafe_io(a) +#define __mem_pci (a) (a) + +/* +* ---------------------------------------------------------------------------- +* I/O mapping +* ---------------------------------------------------------------------------- +*/ + +#ifdef __ASSEMBLER__ +#define IOMEM (x) (x) +#else +#define IOMEM (x) ((void __force __iomem *)(x)) +#endif + +/* +* ---------------------------------------------------------------------------- +* Omap specific register access +* ---------------------------------------------------------------------------- +*/ + +#ifndef __ASSEMBLER__ + +/* +* NOTE: Please use ioremap + __raw_read/write where possible instead of these +*/ + +extern u8 omap_readb (u32 pa); +extern u16 omap_readw (u32 pa); +extern u32 omap_readl (u32 pa); +extern void omap_writeb (u8 v,u32 pa); +extern void omap_writew (u16 v,u32 pa); +extern void omap_writel (u32 v,u32 pa); + +#endif + +#endif
arch/arm/mach-omap2/common.h +10 -0
@@ -242,5 +242,15 @@ struct omap_sdrc_params;extern void omap_sdrc_init (struct omap_sdrc_params *sdrc_cs0,struct omap_sdrc_params *sdrc_cs1); +/* +* NOTE: Please use ioremap + __raw_read/write where possible instead of these +*/ +extern u8 omap_readb (u32 pa); +extern u16 omap_readw (u32 pa); +extern u32 omap_readl (u32 pa); +extern void omap_writeb (u8 v,u32 pa); +extern void omap_writew (u16 v,u32 pa); +extern void omap_writel (u32 v,u32 pa); +#endif /* __ASSEMBLER__ */ #endif /* __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H */
arch/arm/mach-omap2/include/mach/io.h +59 -1
64 lines not on this page · raw message
arch/arm/mach-omap2/pm24xx.c +0 -2
@@ -26,7 +26,6 @@#include <linux/module.h> #include <linux/delay.h> #include <linux/clk.h> -#include <linux/io.h> #include <linux/irq.h> #include <linux/time.h> #include <linux/gpio.h>
@@ -42,7 +41,6 @@#include <mach/irqs.h> -#include "iomap.h" #include "common.h" #include "prm2xxx_3xxx.h" #include "prm-regbits-24xx.h"
arch/arm/plat-omap/dma.c +2 -0
@@ -164,6 +164,8 @@ static inline void set_gdma_dev(int req, int dev) }#else #define set_gdma_dev (req, dev) do {} while (0) +#define omap_readl (reg) 0 +#define omap_writel (val, reg) do {} while (0)#endif void omap_set_dma_priority (int lch,int dst_port,int priority)
arch/arm/plat-omap/include/plat/io.h deleted +0 -84
84 lines not on this page · raw message
arch/arm/plat-omap/usb.c +2 -0
@@ -29,6 +29,8 @@#include <plat/usb.h> #include <plat/board.h> +#include "../mach-omap2/common.h" +#ifdef CONFIG_ARCH_OMAP_OTG void __init
PATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 48 lines · Tony Lindgren
This is needed so we can eventually remove
mach/io.hfor omap2+.Signed-off-by Tony Lindgren <[email protected]>--- arch/arm/mach-omap1/include/mach/io.h | 78 ++++++++++++++++++++++++++++++- arch/arm/mach-omap2/common.h | 10 ++++ arch/arm/mach-omap2/include/mach/io.h | 60 +++++++++++++++++++++++- arch/arm/mach-omap2/pm24xx.c | 2 - arch/arm/plat-omap/dma.c | 2 + arch/arm/plat-omap/include/plat/io.h | 84 --------------------------------- arch/arm/plat-omap/usb.c | 2 + 7 files changed, 150 insertions(+), 88 deletions(-) delete mode 100644 arch/arm/plat-omap/include/plat/io.harch/arm/mach-omap1/include/mach/io.h +26
-0@@ -1,5 +1,81 @@/* * arch/arm/mach-omap1/include/mach/io.h +* +* IO definitions for TI OMAP processors and boards +* +* Copied from arch/arm/mach-sa1100/include/mach/io.h +* Copyright (C) 1997-1999 Russell King +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at your +* option) any later version. +* +* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN +* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* You should have received a copy of the GNU General Public License along +* with this program; if not, write to the Free Software Foundation, Inc., +* 675 Mass Ave, Cambridge, MA 02139, USA. +*
arch/arm/mach-omap1/include/mach/io.h line 37
Quoted 10 lines
arch/arm/mach-omap1/include/mach/io.h +7
-1+* Modifications: +* 06-12-1997 RMK Created. +* 07-04-1999 RMK Major cleanup */ -#include <plat/io.h> +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +#include <mach/hardware.h>
This shouldn't be needed.
Quoted 12 lines
arch/arm/mach-omap1/include/mach/io.h +12
-0+ +#define IO_SPACE_LIMIT 0xffffffff + +/* +* We don't actually have real ISA nor PCI buses, but there is so many +* drivers out there that might just work if we fake them... +*/ +#define __io (a) __typesafe_io(a) +#define __mem_pci (a) (a) + +/* +* ----------------------------------------------------------------------------
arch/arm/mach-omap1/include/mach/io.h line 59
Quoted 10 lines
arch/arm/mach-omap1/include/mach/io.h +10
-0+* I/O mapping +* ---------------------------------------------------------------------------- +*/ + +#ifdef __ASSEMBLER__ +#define IOMEM (x) (x) +#else +#define IOMEM (x) ((void __force __iomem *)(x)) +#endif +
This can't be moved to iomap.h? I did that for other platforms.
Quoted 8 lines
arch/arm/mach-omap1/include/mach/io.h +8
-0+/* +* ---------------------------------------------------------------------------- +* Omap specific register access +* ---------------------------------------------------------------------------- +*/ + +#ifndef __ASSEMBLER__ +
arch/arm/mach-omap1/include/mach/io.h line 77
Quoted 10 lines
arch/arm/mach-omap1/include/mach/io.h +10
-0+/* +* NOTE: Please use ioremap + __raw_read/write where possible instead of these +*/ + +extern u8 omap_readb (u32 pa); +extern u16 omap_readw (u32 pa); +extern u32 omap_readl (u32 pa); +extern void omap_writeb (u8 v,u32 pa); +extern void omap_writew (u16 v,u32 pa); +extern void omap_writel (u32 v,u32 pa);
These can't be moved to common.h like omap2?
Same comments on omap2 io.h.
Rob
Quoted 235 lines
arch/arm/mach-omap1/include/mach/io.h +4
-0+ +#endif + +#endif arch/arm/mach-omap2/common.h +10
-0@@ -242,5 +242,15 @@ struct omap_sdrc_params;extern void omap_sdrc_init (struct omap_sdrc_params *sdrc_cs0,struct omap_sdrc_params *sdrc_cs1); +/* +* NOTE: Please use ioremap + __raw_read/write where possible instead of these +*/ +extern u8 omap_readb (u32 pa); +extern u16 omap_readw (u32 pa); +extern u32 omap_readl (u32 pa); +extern void omap_writeb (u8 v,u32 pa); +extern void omap_writew (u16 v,u32 pa); +extern void omap_writel (u32 v,u32 pa); +#endif /* __ASSEMBLER__ */ #endif /* __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H */ arch/arm/mach-omap2/include/mach/io.h +59
-1@@ -1,5 +1,63 @@/* * arch/arm/mach-omap2/include/mach/io.h +* +* IO definitions for TI OMAP processors and boards +* +* Copied from arch/arm/mach-sa1100/include/mach/io.h +* Copyright (C) 1997-1999 Russell King +* +* Copyright (C) 2009 Texas Instruments +* Added OMAP4 support - Santosh Shilimkar <[email protected]> +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at your +* option) any later version. +* +* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN +* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* You should have received a copy of the GNU General Public License along +* with this program; if not, write to the Free Software Foundation, Inc., +* 675 Mass Ave, Cambridge, MA 02139, USA. +* +* Modifications: +* 06-12-1997 RMK Created. +* 07-04-1999 RMK Major cleanup */ -#include <plat/io.h> +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +#include <mach/hardware.h> + +#define IO_SPACE_LIMIT 0xffffffff + +/* +* We don't actually have real ISA nor PCI buses, but there is so many +* drivers out there that might just work if we fake them... +*/ +#define __io (a) __typesafe_io(a) +#define __mem_pci (a) (a) + +/* +* ---------------------------------------------------------------------------- +* I/O mapping +* ---------------------------------------------------------------------------- +*/ + +#ifdef __ASSEMBLER__ +#define IOMEM (x) (x) +#else +#define IOMEM (x) ((void __force __iomem *)(x)) +#endif + +#endif arch/arm/mach-omap2/pm24xx.c +0
-2@@ -26,7 +26,6 @@#include <linux/module.h> #include <linux/delay.h> #include <linux/clk.h> -#include <linux/io.h> #include <linux/irq.h> #include <linux/time.h> #include <linux/gpio.h> @@ -42,7 +41,6 @@#include <mach/irqs.h> -#include "iomap.h" #include "common.h" #include "prm2xxx_3xxx.h" #include "prm-regbits-24xx.h" arch/arm/plat-omap/dma.c +2
-0@@ -164,6 +164,8 @@ static inline void set_gdma_dev(int req, int dev) }#else #define set_gdma_dev (req, dev) do {} while (0) +#define omap_readl (reg) 0 +#define omap_writel (val, reg) do {} while (0)#endif void omap_set_dma_priority (int lch,int dst_port,int priority)arch/arm/plat-omap/include/plat/io.h deleted +0
-84@@ -1,84 +0,0 @@ -/* -* arch/arm/plat-omap/include/mach/io.h -* -* IO definitions for TI OMAP processors and boards -* -* Copied from arch/arm/mach-sa1100/include/mach/io.h -* Copyright (C) 1997-1999 Russell King -* -* Copyright (C) 2009 Texas Instruments -* Added OMAP4 support - Santosh Shilimkar <[email protected]> -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of the GNU General Public License as published by the -* Free Software Foundation; either version 2 of the License, or (at your -* option) any later version. -* -* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED -* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN -* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -* You should have received a copy of the GNU General Public License along -* with this program; if not, write to the Free Software Foundation, Inc., -* 675 Mass Ave, Cambridge, MA 02139, USA. -* -* Modifications: -* 06-12-1997 RMK Created. -* 07-04-1999 RMK Major cleanup -*/ - -#ifndef __ASM_ARM_ARCH_IO_H -#define __ASM_ARM_ARCH_IO_H - -#include <mach/hardware.h> - -#define IO_SPACE_LIMIT 0xffffffff - -/* -* We don't actually have real ISA nor PCI buses, but there is so many -* drivers out there that might just work if we fake them... -*/ -#define __io (a) __typesafe_io(a) -#define __mem_pci (a) (a) - -/* -* ---------------------------------------------------------------------------- -* I/O mapping -* ---------------------------------------------------------------------------- -*/ - -#ifdef __ASSEMBLER__ -#define IOMEM (x) (x) -#else -#define IOMEM (x) ((void __force __iomem *)(x)) -#endif - -/* -* ---------------------------------------------------------------------------- -* Omap specific register access -* ---------------------------------------------------------------------------- -*/ - -#ifndef __ASSEMBLER__ - -/* -* NOTE: Please use ioremap + __raw_read/write where possible instead of these -*/ - -extern u8 omap_readb (u32 pa); -extern u16 omap_readw (u32 pa); -extern u32 omap_readl (u32 pa); -extern void omap_writeb (u8 v,u32 pa); -extern void omap_writew (u16 v,u32 pa); -extern void omap_writel (u32 v,u32 pa); - -#endif - -#endif arch/arm/plat-omap/usb.c +2
-0@@ -29,6 +29,8 @@#include <plat/usb.h> #include <plat/board.h> +#include "../mach-omap2/common.h" +#ifdef CONFIG_ARCH_OMAP_OTG void __init _______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Tony Lindgren
maintainerPATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 3 lines · Rob Herring
Quoted 2 lines · Tony Lindgren
This is needed so we can eventually remove
mach/io.hfor omap2+.
...
Quoted 7 lines
arch/arm/mach-omap1/include/mach/io.h line 37
Quoted 5 lines
arch/arm/mach-omap1/include/mach/io.h +4
-1-#include <plat/io.h> +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +#include <mach/hardware.h> This shouldn't be needed.
Good catch, will update things for that.
Quoted 16 lines
Quoted 16 lines
arch/arm/mach-omap1/include/mach/io.h +16
-0+ +#define IO_SPACE_LIMIT 0xffffffff + +/* +* We don't actually have real ISA nor PCI buses, but there is so many +* drivers out there that might just work if we fake them... +*/ +#define __io (a) __typesafe_io(a) +#define __mem_pci (a) (a) + +/* +* ---------------------------------------------------------------------------- +* I/O mapping +* ---------------------------------------------------------------------------- +*/ +
Quoted 8 lines
arch/arm/mach-omap1/include/mach/io.h line 59
Quoted 6 lines
arch/arm/mach-omap1/include/mach/io.h +6
-0+#ifdef __ASSEMBLER__ +#define IOMEM (x) (x) +#else +#define IOMEM (x) ((void __force __iomem *)(x)) +#endif +This can't be moved to
iomap.h? I did that for other platforms.
Well I was thinking we should define these somewhere for everybody, so I was trying to avoid adding yet another copy.. But I can move it and then we can clean it up later to avoid more dependencies here.
Quoted 12 lines
Quoted 12 lines
arch/arm/mach-omap1/include/mach/io.h +12
-0+/* +* ---------------------------------------------------------------------------- +* Omap specific register access +* ---------------------------------------------------------------------------- +*/ + +#ifndef __ASSEMBLER__ + +/* +* NOTE: Please use ioremap + __raw_read/write where possible instead of these +*/ +
Quoted 8 lines
arch/arm/mach-omap1/include/mach/io.h line 77
Quoted 6 lines
arch/arm/mach-omap1/include/mach/io.h +6
-0+extern u8 omap_readb (u32 pa); +extern u16 omap_readw (u32 pa); +extern u32 omap_readl (u32 pa); +extern void omap_writeb (u8 v,u32 pa); +extern void omap_writew (u16 v,u32 pa); +extern void omap_writel (u32 v,u32 pa);These can't be moved to
common.hlike omap2?
Not for omap1 currently because a bunch of legacy drivers are using them :(
Anyways, that should be OK for now as omap1 requires v5 flags and it currently does not make sense to try to compile into a common zImage. At least the USB driver already needs to be cleaned up for that, so eventually omap1 io.h can disappear too.
Quoted 1 line
Same comments on omap2
io.h.
Thanks, will post an updated patch.
Regards,
Tony
Tony Lindgren
maintainerPATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 16 lines · Tony Lindgren
Quoted 14 lines · Rob Herring
Review
Quoted 11 lines · Tony Lindgren
(quoted diff) +11
-0+ +/* + * NOTE: Please use ioremap + __raw_read/write where possible instead of these + */ + +extern u8 omap_readb(u32 pa); +extern u16 omap_readw(u32 pa); +extern u32 omap_readl(u32 pa); +extern void omap_writeb(u8 v, u32 pa); +extern void omap_writew(u16 v, u32 pa); +extern void omap_writel(u32 v, u32 pa);These can't be moved to
common.hlike omap2?
Quoted 2 lines
Not for omap1 currently because a bunch of legacy drivers are using them :(
Looks like we can have them in mach-omap1/include/mach/hardware.h.
Eventually the SoC specific hardware.h files could be renamed to just something like omap1.h, omap2plus.h and so. And then they could be included in the common hardware.h.
Updated patch below, now io.h for both omap1 and omap2+ are minimized, and turns out only minimal driver changes were needed.
Regards,
Tony
From: Tony Lindgren <[email protected]>
Date: Fri, 24 Feb 2012 09:05:43 -0800
Subject: [PATCH] ARM: OMAP: Remove plat/io.h by splitting it into mach/io.h and mach/hardware.h
This is needed to minimize io.h so the SoC specific io.h for ARMs can removed.
Note that minimal driver changes for DSS and RNG are needed to include cpu.h for SoC detection macros.
arch/arm/mach-omap1/clock.c +3 -0
@@ -15,6 +15,7 @@#include <linux/list.h> #include <linux/errno.h> #include <linux/err.h> +#include <linux/io.h> #include <linux/clk.h> #include <linux/clkdev.h>
@@ -26,6 +27,8 @@#include <plat/sram.h> #include <plat/clkdev_omap.h> +#include <mach/hardware.h> +#include "iomap.h" #include "clock.h" #include "opp.h"
arch/arm/mach-omap1/clock_data.c +3 -0
@@ -15,6 +15,7 @@*/ #include <linux/kernel.h> +#include <linux/io.h> #include <linux/clk.h> #include <linux/cpufreq.h> #include <linux/delay.h>
@@ -27,6 +28,8 @@#include <plat/sram.h> /* for omap_sram_reprogram_clock() */ #include <plat/usb.h> /* for OTG_BASE */ +#include <mach/hardware.h> +#include "iomap.h" #include "clock.h"
arch/arm/mach-omap1/flash.c +2 -0
@@ -13,6 +13,8 @@#include <plat/tc.h> #include <plat/flash.h> +#include <mach/hardware.h> +void omap1_set_vpp (struct platform_device *pdev,int enable) {static int count;
arch/arm/mach-omap1/id.c +2 -0
@@ -18,6 +18,8 @@#include <plat/cpu.h> +#include <mach/hardware.h> +#define OMAP_DIE_ID_0 0xfffe1800#define OMAP_DIE_ID_1 0xfffe1804#define OMAP_PRODUCTION_ID_0 0xfffe2000
arch/arm/mach-omap1/include/mach/hardware.h +36 -0
@@ -2,4 +2,40 @@* arch/arm/mach-omap1/include/mach/hardware.h */ +#ifndef __MACH_HARDWARE_H +#define __MACH_HARDWARE_H + +#ifndef __ASSEMBLER__ +/* +* NOTE: Please use ioremap + __raw_read/write where possible instead of these +*/ +extern u8 omap_readb (u32 pa); +extern u16 omap_readw (u32 pa); +extern u32 omap_readl (u32 pa); +extern void omap_writeb (u8 v,u32 pa); +extern void omap_writew (u16 v,u32 pa); +extern void omap_writel (u32 v,u32 pa); + +#include <plat/tc.h> + +/* Almost all documentation for chip and board memory maps assumes +* BM is clear. Most devel boards have a switch to control booting +* from NOR flash (using external chipselect 3) rather than mask ROM, +* which uses BM to interchange the physical CS0 and CS3 addresses. +*/ +static inline u32 omap_cs0m_phys (void ) +{ +return (omap_readl (EMIFS_CONFIG ) &OMAP_EMIFS_CONFIG_BM ) + ?OMAP_CS3_PHYS :0 ; +} + +static inline u32 omap_cs3_phys (void ) +{ +return (omap_readl (EMIFS_CONFIG ) &OMAP_EMIFS_CONFIG_BM ) + ?0 :OMAP_CS3_PHYS ; +} + +#endif +#endif +#include <plat/hardware.h>
arch/arm/mach-omap1/include/mach/io.h +42 -1
47 lines not on this page · raw message
arch/arm/mach-omap1/include/mach/memory.h +2 -1
@@ -18,7 +18,8 @@* Note that the is_lbus_device() test is not very efficient on 1510 * because of the strncmp(). */ -#ifdef CONFIG_ARCH_OMAP15XX +#if defined(CONFIG_ARCH_OMAP15XX ) && !defined(__ASSEMBLER__) +#include <plat/cpu.h> /* * OMAP-1510 Local Bus address offset
arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c +1 -0
@@ -33,6 +33,7 @@#include <linux/cpufreq.h> #include <linux/slab.h> +#include <plat/cpu.h> #include <plat/clock.h> #include <plat/sram.h> #include <plat/sdrc.h>
arch/arm/mach-omap2/clkt_dpll.c +1 -0
@@ -22,6 +22,7 @@#include <asm/div64.h> #include <plat/clock.h> +#include <plat/cpu.h> #include "clock.h" #include "cm-regbits-24xx.h"
arch/arm/mach-omap2/clock2420_data.c +2 -0
@@ -14,9 +14,11 @@*/ #include <linux/kernel.h> +#include <linux/io.h> #include <linux/clk.h> #include <linux/list.h> +#include <plat/hardware.h> #include <plat/clkdev_omap.h> #include "iomap.h"
arch/arm/mach-omap2/clock2430.c +1 -0
@@ -21,6 +21,7 @@#include <linux/clk.h> #include <linux/io.h> +#include <plat/hardware.h> #include <plat/clock.h> #include "iomap.h"
arch/arm/mach-omap2/clock2430_data.c +1 -0
@@ -17,6 +17,7 @@#include <linux/clk.h> #include <linux/list.h> +#include <plat/hardware.h> #include <plat/clkdev_omap.h> #include "iomap.h"
arch/arm/mach-omap2/clock2xxx.c +1 -0
@@ -22,6 +22,7 @@#include <linux/clk.h> #include <linux/io.h> +#include <plat/cpu.h> #include <plat/clock.h> #include "clock.h"
arch/arm/mach-omap2/clock3xxx.c +1 -0
@@ -21,6 +21,7 @@#include <linux/clk.h> #include <linux/io.h> +#include <plat/hardware.h> #include <plat/clock.h> #include "clock.h"
arch/arm/mach-omap2/common.h +10 -0
@@ -242,5 +242,15 @@ struct omap_sdrc_params;extern void omap_sdrc_init (struct omap_sdrc_params *sdrc_cs0,struct omap_sdrc_params *sdrc_cs1); +/* +* NOTE: Please use ioremap + __raw_read/write where possible instead of these +*/ +extern u8 omap_readb (u32 pa); +extern u16 omap_readw (u32 pa); +extern u32 omap_readl (u32 pa); +extern void omap_writeb (u8 v,u32 pa); +extern void omap_writew (u16 v,u32 pa); +extern void omap_writel (u32 v,u32 pa); +#endif /* __ASSEMBLER__ */ #endif /* __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H */
arch/arm/mach-omap2/gpmc-nand.c +1 -0
@@ -16,6 +16,7 @@#include <asm/mach/flash.h> +#include <plat/cpu.h> #include <plat/nand.h> #include <plat/board.h> #include <plat/gpmc.h>
arch/arm/mach-omap2/gpmc-onenand.c +1 -0
@@ -18,6 +18,7 @@#include <asm/mach/flash.h> +#include <plat/cpu.h> #include <plat/onenand.h> #include <plat/board.h> #include <plat/gpmc.h>
arch/arm/mach-omap2/include/mach/io.h +45 -1
50 lines not on this page · raw message
arch/arm/mach-omap2/opp2420_data.c +2 -0
@@ -28,6 +28,8 @@* http://repository.maemo.org/pool/diablo/free/k/kernel-source-diablo/ */ +#include <plat/hardware.h> +#include "opp2xxx.h" #include "sdrc.h" #include "clock.h"
arch/arm/mach-omap2/opp2430_data.c +2 -0
@@ -26,6 +26,8 @@* This is technically part of the OMAP2xxx clock code. */ +#include <plat/hardware.h> +#include "opp2xxx.h" #include "sdrc.h" #include "clock.h"
arch/arm/mach-omap2/pm24xx.c +0 -2
@@ -26,7 +26,6 @@#include <linux/module.h> #include <linux/delay.h> #include <linux/clk.h> -#include <linux/io.h> #include <linux/irq.h> #include <linux/time.h> #include <linux/gpio.h>
@@ -42,7 +41,6 @@#include <mach/irqs.h> -#include "iomap.h" #include "common.h" #include "prm2xxx_3xxx.h" #include "prm-regbits-24xx.h"
arch/arm/mach-omap2/sleep34xx.S +1 -0
@@ -26,6 +26,7 @@ #include <asm/assembler.h> +#include <plat/hardware.h> #include <plat/sram.h> #include "iomap.h"
arch/arm/plat-omap/counter_32k.c +1 -0
@@ -21,6 +21,7 @@#include <asm/sched_clock.h> +#include <plat/hardware.h> #include <plat/common.h> #include <plat/board.h>
arch/arm/plat-omap/dma.c +2 -0
@@ -164,6 +164,8 @@ static inline void set_gdma_dev(int req, int dev) }#else #define set_gdma_dev (req, dev) do {} while (0) +#define omap_readl (reg) 0 +#define omap_writel (val, reg) do {} while (0)#endif void omap_set_dma_priority (int lch,int dst_port,int priority)
arch/arm/plat-omap/dmtimer.c +2 -0
@@ -43,6 +43,8 @@#include <plat/dmtimer.h> +#include <mach/hardware.h> +static LIST_HEAD (omap_timer_list);static DEFINE_SPINLOCK (dm_timer_lock);
arch/arm/plat-omap/include/plat/hardware.h +6 -0
@@ -43,6 +43,12 @@#endif #include <plat/serial.h> +#ifdef __ASSEMBLER__ +#define IOMEM (x) (x) +#else +#define IOMEM (x) ((void __force __iomem *)(x)) +#endif +/* * --------------------------------------------------------------------------- * Common definitions for all OMAP processors
arch/arm/plat-omap/include/plat/io.h deleted +0 -84
84 lines not on this page · raw message
arch/arm/plat-omap/include/plat/tc.h +0 -19
@@ -84,25 +84,6 @@#define EMIFS_CCS (n) (EMIFS_CS0_CONFIG + (4 * (n)))#define EMIFS_ACS (n) (EMIFS_ACS0 + (4 * (n))) -/* Almost all documentation for chip and board memory maps assumes -* BM is clear. Most devel boards have a switch to control booting -* from NOR flash (using external chipselect 3) rather than mask ROM, -* which uses BM to interchange the physical CS0 and CS3 addresses. -*/ -#ifdef CONFIG_ARCH_OMAP1 -static inline u32 omap_cs0m_phys (void ) -{ -return (omap_readl (EMIFS_CONFIG ) &OMAP_EMIFS_CONFIG_BM ) - ?OMAP_CS3_PHYS :0 ; -} - -static inline u32 omap_cs3_phys (void ) -{ -return (omap_readl (EMIFS_CONFIG ) &OMAP_EMIFS_CONFIG_BM ) - ?0 :OMAP_CS3_PHYS ; -} -#endif -#endif /* __ASSEMBLER__ */ #endif /* __ASM_ARCH_TC_H */
arch/arm/plat-omap/mux.c +4 -1
@@ -26,8 +26,11 @@#include <linux/init.h> #include <linux/kernel.h> #include <linux/io.h> -#include <asm/system.h> #include <linux/spinlock.h> + +#include <asm/system.h> + +#include <plat/cpu.h> #include <plat/mux.h> #ifdef CONFIG_OMAP_MUX
arch/arm/plat-omap/usb.c +4 -0
@@ -29,6 +29,10 @@#include <plat/usb.h> #include <plat/board.h> +#include <mach/hardware.h> + +#include "../mach-omap2/common.h" +#ifdef CONFIG_ARCH_OMAP_OTG void __init
drivers/char/hw_random/omap-rng.c +2 -0
@@ -26,6 +26,8 @@#include <asm/io.h> +#include <plat/cpu.h> +#define RNG_OUT_REG 0x00/* Output register */ #define RNG_STAT_REG 0x04/* Status register [0] = STAT_BUSY */
drivers/video/omap2/dss/dss.c +3 -0
@@ -33,7 +33,10 @@#include <linux/pm_runtime.h> #include <video/omapdss.h> + +#include <plat/cpu.h> #include <plat/clock.h> +#include "dss.h" #include "dss_features.h"
PATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 20 lines · Tony Lindgren
Quoted 16 lines · Tony Lindgren
Quoted 14 lines · Rob Herring
arch/arm/mach-omap2/common.h struct omap_sdrc_params; · line 253
Quoted 11 lines · Tony Lindgren
arch/arm/mach-omap2/common.h +11
-0+ +/* +* NOTE: Please use ioremap + __raw_read/write where possible instead of these +*/ + +extern u8 omap_readb (u32 pa); +extern u16 omap_readw (u32 pa); +extern u32 omap_readl (u32 pa); +extern void omap_writeb (u8 v,u32 pa); +extern void omap_writew (u16 v,u32 pa); +extern void omap_writel (u32 v,u32 pa);These can't be moved to
common.hlike omap2?Quoted 2 lines
Not for omap1 currently because a bunch of legacy drivers are using them :(
Quoted 9 lines
Looks like we can have them in
mach-omap1/include/mach/hardware.h.Eventually the SoC specific
hardware.hfiles could be renamed to just something likeomap1.h,omap2plus.hand so. And then they could be included in the commonhardware.h.Updated patch below, now
io.hfor both omap1 and omap2+ are minimized, and turns out only minimal driver changes were needed.
Looks good to me. Do you have a branch for this that I can base on?
Rob
Quoted 679 lines
Regards,
Tony
From: Tony Lindgren <[email protected]>
Date: Fri, 24 Feb 2012 09:05:43 -0800
Subject: [PATCH] ARM: OMAP: Removeplat/io.hby splitting it intomach/io.handmach/hardware.hThis is needed to minimize
io.hso the SoC specificio.hfor ARMs can removed.Note that minimal driver changes for DSS and RNG are needed to include
cpu.hfor SoC detection macros.Cc Tomi Valkeinen <[email protected]>Cc Matt Mackall <[email protected]>Cc Herbert Xu <[email protected]>Signed-off-by Tony Lindgren <[email protected]>arch/arm/mach-omap1/clock.c +3
-0@@ -15,6 +15,7 @@#include <linux/list.h> #include <linux/errno.h> #include <linux/err.h> +#include <linux/io.h> #include <linux/clk.h> #include <linux/clkdev.h> @@ -26,6 +27,8 @@#include <plat/sram.h> #include <plat/clkdev_omap.h> +#include <mach/hardware.h> +#include "iomap.h" #include "clock.h" #include "opp.h" arch/arm/mach-omap1/clock_data.c +3
-0@@ -15,6 +15,7 @@*/ #include <linux/kernel.h> +#include <linux/io.h> #include <linux/clk.h> #include <linux/cpufreq.h> #include <linux/delay.h> @@ -27,6 +28,8 @@#include <plat/sram.h> /* for omap_sram_reprogram_clock() */ #include <plat/usb.h> /* for OTG_BASE */ +#include <mach/hardware.h> +#include "iomap.h" #include "clock.h" arch/arm/mach-omap1/flash.c +2
-0@@ -13,6 +13,8 @@#include <plat/tc.h> #include <plat/flash.h> +#include <mach/hardware.h> +void omap1_set_vpp (struct platform_device *pdev,int enable) {static int count;arch/arm/mach-omap1/id.c +2
-0@@ -18,6 +18,8 @@#include <plat/cpu.h> +#include <mach/hardware.h> +#define OMAP_DIE_ID_0 0xfffe1800#define OMAP_DIE_ID_1 0xfffe1804#define OMAP_PRODUCTION_ID_0 0xfffe2000arch/arm/mach-omap1/include/mach/hardware.h +36
-0@@ -2,4 +2,40 @@* arch/arm/mach-omap1/include/mach/hardware.h */ +#ifndef __MACH_HARDWARE_H +#define __MACH_HARDWARE_H + +#ifndef __ASSEMBLER__ +/* +* NOTE: Please use ioremap + __raw_read/write where possible instead of these +*/ +extern u8 omap_readb (u32 pa); +extern u16 omap_readw (u32 pa); +extern u32 omap_readl (u32 pa); +extern void omap_writeb (u8 v,u32 pa); +extern void omap_writew (u16 v,u32 pa); +extern void omap_writel (u32 v,u32 pa); + +#include <plat/tc.h> + +/* Almost all documentation for chip and board memory maps assumes +* BM is clear. Most devel boards have a switch to control booting +* from NOR flash (using external chipselect 3) rather than mask ROM, +* which uses BM to interchange the physical CS0 and CS3 addresses. +*/ +static inline u32 omap_cs0m_phys (void ) +{ +return (omap_readl (EMIFS_CONFIG ) &OMAP_EMIFS_CONFIG_BM ) + ?OMAP_CS3_PHYS :0 ; +} + +static inline u32 omap_cs3_phys (void ) +{ +return (omap_readl (EMIFS_CONFIG ) &OMAP_EMIFS_CONFIG_BM ) + ?0 :OMAP_CS3_PHYS ; +} + +#endif +#endif +#include <plat/hardware.h> arch/arm/mach-omap1/include/mach/io.h +42
-1@@ -1,5 +1,46 @@/* * arch/arm/mach-omap1/include/mach/io.h +* +* IO definitions for TI OMAP processors and boards +* +* Copied from arch/arm/mach-sa1100/include/mach/io.h +* Copyright (C) 1997-1999 Russell King +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at your +* option) any later version. +* +* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN +* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* You should have received a copy of the GNU General Public License along +* with this program; if not, write to the Free Software Foundation, Inc., +* 675 Mass Ave, Cambridge, MA 02139, USA. +* +* Modifications: +* 06-12-1997 RMK Created. +* 07-04-1999 RMK Major cleanup */ -#include <plat/io.h> +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +#define IO_SPACE_LIMIT 0xffffffff + +/* +* We don't actually have real ISA nor PCI buses, but there is so many +* drivers out there that might just work if we fake them... +*/ +#define __io (a) __typesafe_io(a) +#define __mem_pci (a) (a) + +#endif arch/arm/mach-omap1/include/mach/memory.h +2
-1@@ -18,7 +18,8 @@* Note that the is_lbus_device() test is not very efficient on 1510 * because of the strncmp(). */ -#ifdef CONFIG_ARCH_OMAP15XX +#if defined(CONFIG_ARCH_OMAP15XX ) && !defined(__ASSEMBLER__) +#include <plat/cpu.h> /* * OMAP-1510 Local Bus address offset arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c +1
-0@@ -33,6 +33,7 @@#include <linux/cpufreq.h> #include <linux/slab.h> +#include <plat/cpu.h> #include <plat/clock.h> #include <plat/sram.h> #include <plat/sdrc.h> arch/arm/mach-omap2/clkt_dpll.c +1
-0@@ -22,6 +22,7 @@#include <asm/div64.h> #include <plat/clock.h> +#include <plat/cpu.h> #include "clock.h" #include "cm-regbits-24xx.h" arch/arm/mach-omap2/clock2420_data.c +2
-0@@ -14,9 +14,11 @@*/ #include <linux/kernel.h> +#include <linux/io.h> #include <linux/clk.h> #include <linux/list.h> +#include <plat/hardware.h> #include <plat/clkdev_omap.h> #include "iomap.h" arch/arm/mach-omap2/clock2430.c +1
-0@@ -21,6 +21,7 @@#include <linux/clk.h> #include <linux/io.h> +#include <plat/hardware.h> #include <plat/clock.h> #include "iomap.h" arch/arm/mach-omap2/clock2430_data.c +1
-0@@ -17,6 +17,7 @@#include <linux/clk.h> #include <linux/list.h> +#include <plat/hardware.h> #include <plat/clkdev_omap.h> #include "iomap.h" arch/arm/mach-omap2/clock2xxx.c +1
-0@@ -22,6 +22,7 @@#include <linux/clk.h> #include <linux/io.h> +#include <plat/cpu.h> #include <plat/clock.h> #include "clock.h" arch/arm/mach-omap2/clock3xxx.c +1
-0@@ -21,6 +21,7 @@#include <linux/clk.h> #include <linux/io.h> +#include <plat/hardware.h> #include <plat/clock.h> #include "clock.h" arch/arm/mach-omap2/common.h +10
-0@@ -242,5 +242,15 @@ struct omap_sdrc_params;extern void omap_sdrc_init (struct omap_sdrc_params *sdrc_cs0,struct omap_sdrc_params *sdrc_cs1); +/* +* NOTE: Please use ioremap + __raw_read/write where possible instead of these +*/ +extern u8 omap_readb (u32 pa); +extern u16 omap_readw (u32 pa); +extern u32 omap_readl (u32 pa); +extern void omap_writeb (u8 v,u32 pa); +extern void omap_writew (u16 v,u32 pa); +extern void omap_writel (u32 v,u32 pa); +#endif /* __ASSEMBLER__ */ #endif /* __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H */ arch/arm/mach-omap2/gpmc-nand.c +1
-0@@ -16,6 +16,7 @@#include <asm/mach/flash.h> +#include <plat/cpu.h> #include <plat/nand.h> #include <plat/board.h> #include <plat/gpmc.h> arch/arm/mach-omap2/gpmc-onenand.c +1
-0@@ -18,6 +18,7 @@#include <asm/mach/flash.h> +#include <plat/cpu.h> #include <plat/onenand.h> #include <plat/board.h> #include <plat/gpmc.h> arch/arm/mach-omap2/include/mach/io.h +45
-1@@ -1,5 +1,49 @@/* * arch/arm/mach-omap2/include/mach/io.h +* +* IO definitions for TI OMAP processors and boards +* +* Copied from arch/arm/mach-sa1100/include/mach/io.h +* Copyright (C) 1997-1999 Russell King +* +* Copyright (C) 2009 Texas Instruments +* Added OMAP4 support - Santosh Shilimkar <[email protected]> +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at your +* option) any later version. +* +* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN +* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* You should have received a copy of the GNU General Public License along +* with this program; if not, write to the Free Software Foundation, Inc., +* 675 Mass Ave, Cambridge, MA 02139, USA. +* +* Modifications: +* 06-12-1997 RMK Created. +* 07-04-1999 RMK Major cleanup */ -#include <plat/io.h> +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +#define IO_SPACE_LIMIT 0xffffffff + +/* +* We don't actually have real ISA nor PCI buses, but there is so many +* drivers out there that might just work if we fake them... +*/ +#define __io (a) __typesafe_io(a) +#define __mem_pci (a) (a) + +#endif arch/arm/mach-omap2/opp2420_data.c +2
-0@@ -28,6 +28,8 @@* http://repository.maemo.org/pool/diablo/free/k/kernel-source-diablo/ */ +#include <plat/hardware.h> +#include "opp2xxx.h" #include "sdrc.h" #include "clock.h" arch/arm/mach-omap2/opp2430_data.c +2
-0@@ -26,6 +26,8 @@* This is technically part of the OMAP2xxx clock code. */ +#include <plat/hardware.h> +#include "opp2xxx.h" #include "sdrc.h" #include "clock.h" arch/arm/mach-omap2/pm24xx.c +0
-2@@ -26,7 +26,6 @@#include <linux/module.h> #include <linux/delay.h> #include <linux/clk.h> -#include <linux/io.h> #include <linux/irq.h> #include <linux/time.h> #include <linux/gpio.h> @@ -42,7 +41,6 @@#include <mach/irqs.h> -#include "iomap.h" #include "common.h" #include "prm2xxx_3xxx.h" #include "prm-regbits-24xx.h" arch/arm/mach-omap2/sleep34xx.S +1
-0@@ -26,6 +26,7 @@ #include <asm/assembler.h> +#include <plat/hardware.h> #include <plat/sram.h> #include "iomap.h"arch/arm/plat-omap/counter_32k.c +1
-0@@ -21,6 +21,7 @@#include <asm/sched_clock.h> +#include <plat/hardware.h> #include <plat/common.h> #include <plat/board.h> arch/arm/plat-omap/dma.c +2
-0@@ -164,6 +164,8 @@ static inline void set_gdma_dev(int req, int dev) }#else #define set_gdma_dev (req, dev) do {} while (0) +#define omap_readl (reg) 0 +#define omap_writel (val, reg) do {} while (0)#endif void omap_set_dma_priority (int lch,int dst_port,int priority)arch/arm/plat-omap/dmtimer.c +2
-0@@ -43,6 +43,8 @@#include <plat/dmtimer.h> +#include <mach/hardware.h> +static LIST_HEAD (omap_timer_list);static DEFINE_SPINLOCK (dm_timer_lock);arch/arm/plat-omap/include/plat/hardware.h +6
-0@@ -43,6 +43,12 @@#endif #include <plat/serial.h> +#ifdef __ASSEMBLER__ +#define IOMEM (x) (x) +#else +#define IOMEM (x) ((void __force __iomem *)(x)) +#endif +/* * --------------------------------------------------------------------------- * Common definitions for all OMAP processors arch/arm/plat-omap/include/plat/io.h deleted +0
-84@@ -1,84 +0,0 @@ -/* -* arch/arm/plat-omap/include/mach/io.h -* -* IO definitions for TI OMAP processors and boards -* -* Copied from arch/arm/mach-sa1100/include/mach/io.h -* Copyright (C) 1997-1999 Russell King -* -* Copyright (C) 2009 Texas Instruments -* Added OMAP4 support - Santosh Shilimkar <[email protected]> -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of the GNU General Public License as published by the -* Free Software Foundation; either version 2 of the License, or (at your -* option) any later version. -* -* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED -* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN -* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -* You should have received a copy of the GNU General Public License along -* with this program; if not, write to the Free Software Foundation, Inc., -* 675 Mass Ave, Cambridge, MA 02139, USA. -* -* Modifications: -* 06-12-1997 RMK Created. -* 07-04-1999 RMK Major cleanup -*/ - -#ifndef __ASM_ARM_ARCH_IO_H -#define __ASM_ARM_ARCH_IO_H - -#include <mach/hardware.h> - -#define IO_SPACE_LIMIT 0xffffffff - -/* -* We don't actually have real ISA nor PCI buses, but there is so many -* drivers out there that might just work if we fake them... -*/ -#define __io (a) __typesafe_io(a) -#define __mem_pci (a) (a) - -/* -* ---------------------------------------------------------------------------- -* I/O mapping -* ---------------------------------------------------------------------------- -*/ - -#ifdef __ASSEMBLER__ -#define IOMEM (x) (x) -#else -#define IOMEM (x) ((void __force __iomem *)(x)) -#endif - -/* -* ---------------------------------------------------------------------------- -* Omap specific register access -* ---------------------------------------------------------------------------- -*/ - -#ifndef __ASSEMBLER__ - -/* -* NOTE: Please use ioremap + __raw_read/write where possible instead of these -*/ - -extern u8 omap_readb (u32 pa); -extern u16 omap_readw (u32 pa); -extern u32 omap_readl (u32 pa); -extern void omap_writeb (u8 v,u32 pa); -extern void omap_writew (u16 v,u32 pa); -extern void omap_writel (u32 v,u32 pa); - -#endif - -#endif arch/arm/plat-omap/include/plat/tc.h +0
-19@@ -84,25 +84,6 @@#define EMIFS_CCS (n) (EMIFS_CS0_CONFIG + (4 * (n)))#define EMIFS_ACS (n) (EMIFS_ACS0 + (4 * (n))) -/* Almost all documentation for chip and board memory maps assumes -* BM is clear. Most devel boards have a switch to control booting -* from NOR flash (using external chipselect 3) rather than mask ROM, -* which uses BM to interchange the physical CS0 and CS3 addresses. -*/ -#ifdef CONFIG_ARCH_OMAP1 -static inline u32 omap_cs0m_phys (void ) -{ -return (omap_readl (EMIFS_CONFIG ) &OMAP_EMIFS_CONFIG_BM ) - ?OMAP_CS3_PHYS :0 ; -} - -static inline u32 omap_cs3_phys (void ) -{ -return (omap_readl (EMIFS_CONFIG ) &OMAP_EMIFS_CONFIG_BM ) - ?0 :OMAP_CS3_PHYS ; -} -#endif -#endif /* __ASSEMBLER__ */ #endif /* __ASM_ARCH_TC_H */ arch/arm/plat-omap/mux.c +4
-1@@ -26,8 +26,11 @@#include <linux/init.h> #include <linux/kernel.h> #include <linux/io.h> -#include <asm/system.h> #include <linux/spinlock.h> + +#include <asm/system.h> + +#include <plat/cpu.h> #include <plat/mux.h> #ifdef CONFIG_OMAP_MUX arch/arm/plat-omap/usb.c +4
-0@@ -29,6 +29,10 @@#include <plat/usb.h> #include <plat/board.h> +#include <mach/hardware.h> + +#include "../mach-omap2/common.h" +#ifdef CONFIG_ARCH_OMAP_OTG void __init drivers/char/hw_random/omap-rng.c +2
-0@@ -26,6 +26,8 @@#include <asm/io.h> +#include <plat/cpu.h> +#define RNG_OUT_REG 0x00/* Output register */ #define RNG_STAT_REG 0x04/* Status register [0] = STAT_BUSY */ drivers/video/omap2/dss/dss.c +3
-0@@ -33,7 +33,10 @@#include <linux/pm_runtime.h> #include <video/omapdss.h> + +#include <plat/cpu.h> #include <plat/clock.h> +#include "dss.h" #include "dss_features.h"
Tony Lindgren
maintainerPATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 27 lines · Rob Herring
Quoted 26 lines · Tony Lindgren
Quoted 16 lines · Tony Lindgren
Quoted 14 lines · Rob Herring
Review
Quoted 11 lines · Tony Lindgren
(quoted diff) +11
-0+ +/* + * NOTE: Please use ioremap + __raw_read/write where possible instead of these + */ + +extern u8 omap_readb(u32 pa); +extern u16 omap_readw(u32 pa); +extern u32 omap_readl(u32 pa); +extern void omap_writeb(u8 v, u32 pa); +extern void omap_writew(u16 v, u32 pa); +extern void omap_writel(u32 v, u32 pa);These can't be moved to
common.hlike omap2?Quoted 2 lines
Not for omap1 currently because a bunch of legacy drivers are using them :(
Looks like we can have them in
mach-omap1/include/mach/hardware.h.Eventually the SoC specific
hardware.hfiles could be renamed to just something likeomap1.h,omap2plus.hand so. And then they could be included in the commonhardware.h.
Quoted 5 lines
Quoted 3 lines
Updated patch below, now
io.hfor both omap1 and omap2+ are minimized, and turns out only minimal driver changes were needed.Looks good to me. Do you have a branch for this that I can base on?
Yes it's now in iomap branch that merged into my cleanup branch that I'll ask Arnd and Olof to pull tomorrow.
So take your pick out of the following two:
1. iomap branch based on v3.3-rc4 that you probably want to use
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap iomap
2. cleanup branch based on RMK's commit 61b80086a525c8a6081257ae40da5dee2bcaee16 (Merge branch 'entry-macro-cleanup' of git://sources.calxeda.com/kernel/linux into for-armsoc)
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap cleanup
BTW, I noticed the following fix is needed for some .configs that I found with randconfig builds, that's only in the cleanup branch as I already merged in iomap and pushed it out. Should not affect your patches though.
Regards,
Tony
From: Tony Lindgren <[email protected]>
Date: Tue, 28 Feb 2012 17:28:09 -0800
Subject: [PATCH] ARM: OMAP2+: Fix L4_EMU_34XX_BASE error after iomap changes
With the introduction of iomap changes platform init code fails for emu.c if CONFIG_OMAP3_EMU is selected:
arch/arm/mach-omap2/emu.c:35:8: error:
'L4_EMU_34XX_BASE' undeclared here (not in a function)
arch/arm/mach-omap2/emu.c +2 -0
@@ -21,6 +21,8 @@#include <linux/clk.h> #include <linux/err.h> +#include <mach/hardware.h> +#include "iomap.h" MODULE_LICENSE ("GPL" );
Tony Lindgren
maintainerPATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 34 lines · Tony Lindgren
Quoted 27 lines · Rob Herring
Quoted 26 lines · Tony Lindgren
Quoted 16 lines · Tony Lindgren
Quoted 14 lines · Rob Herring
Review
Quoted 11 lines · Tony Lindgren
(quoted diff) +11
-0+ +/* + * NOTE: Please use ioremap + __raw_read/write where possible instead of these + */ + +extern u8 omap_readb(u32 pa); +extern u16 omap_readw(u32 pa); +extern u32 omap_readl(u32 pa); +extern void omap_writeb(u8 v, u32 pa); +extern void omap_writew(u16 v, u32 pa); +extern void omap_writel(u32 v, u32 pa);These can't be moved to
common.hlike omap2?Quoted 2 lines
Not for omap1 currently because a bunch of legacy drivers are using them :(
Looks like we can have them in
mach-omap1/include/mach/hardware.h.Eventually the SoC specific
hardware.hfiles could be renamed to just something likeomap1.h,omap2plus.hand so. And then they could be included in the commonhardware.h.Quoted 5 lines
Quoted 3 lines
Updated patch below, now
io.hfor both omap1 and omap2+ are minimized, and turns out only minimal driver changes were needed.Looks good to me. Do you have a branch for this that I can base on?
Quoted 8 lines
Yes it's now in iomap branch that merged into my cleanup branch that I'll ask Arnd and Olof to pull tomorrow.
So take your pick out of the following two:
1. iomap branch based on v3.3-rc4 that you probably want to use
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omapiomap
Correction: #1 above is based on v3.3-rc3, not -rc4.
Quoted 4 lines
2. cleanup branch based on RMK's commit
61b80086a525c8a6081257ae40da5dee2bcaee16(Merge branch 'entry-macro-cleanup' ofgit://sources.calxeda.com/kernel/linuxinto for-armsoc)
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omapcleanup
Regards,
Tony
PATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
In reply to Tony LindgrenQuoted 47 lines · Tony Lindgren
Quoted 27 lines · Rob Herring
Quoted 26 lines · Tony Lindgren
Quoted 16 lines · Tony Lindgren
Quoted 14 lines · Rob Herring
Review
Quoted 11 lines · Tony Lindgren
(quoted diff) +11
-0+ +/* + * NOTE: Please use ioremap + __raw_read/write where possible instead of these + */ + +extern u8 omap_readb(u32 pa); +extern u16 omap_readw(u32 pa); +extern u32 omap_readl(u32 pa); +extern void omap_writeb(u8 v, u32 pa); +extern void omap_writew(u16 v, u32 pa); +extern void omap_writel(u32 v, u32 pa);These can't be moved to
common.hlike omap2?Quoted 2 lines
Not for omap1 currently because a bunch of legacy drivers are using them :(
Looks like we can have them in
mach-omap1/include/mach/hardware.h.Eventually the SoC specific
hardware.hfiles could be renamed to just something likeomap1.h,omap2plus.hand so. And then they could be included in the commonhardware.h.Quoted 5 lines
Quoted 3 lines
Updated patch below, now
io.hfor both omap1 and omap2+ are minimized, and turns out only minimal driver changes were needed.Looks good to me. Do you have a branch for this that I can base on?
Yes it's now in iomap branch that merged into my cleanup branch that I'll ask Arnd and Olof to pull tomorrow.
So take your pick out of the following two:
1. iomap branch based on v3.3-rc4 that you probably want to use
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omapiomap2. cleanup branch based on RMK's commit
61b80086a525c8a6081257ae40da5dee2bcaee16(Merge branch 'entry-macro-cleanup' ofgit://sources.calxeda.com/kernel/linuxinto for-armsoc)
Quoted 8 lines
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omapcleanupBTW, I noticed the following fix is needed for some .configs that I found with randconfig builds, that's only in the cleanup branch as I already merged in iomap and pushed it out. Should not affect your patches though.
BTW, all these includes need to get removed. I'll add a fix to my series unless you already have fixes:
arch/arm/mach-omap1/sleep.S:#include <mach/io.h> arch/arm/mach-omap1/sram.S:#include <mach/io.h> arch/arm/plat-omap/include/plat/sdrc.h:#include <mach/io.h> drivers/media/video/davinci/vpbe_osd.c:#include <mach/io.h> drivers/media/video/davinci/vpbe_venc.c:#include <mach/io.h> drivers/video/omap2/vrfb.c:#include <mach/io.h>
Rob
Quoted 28 lines
Regards,
Tony
From: Tony Lindgren <[email protected]>
Date: Tue, 28 Feb 2012 17:28:09 -0800
Subject: [PATCH] ARM: OMAP2+: FixL4_EMU_34XX_BASEerror after iomap changesWith the introduction of iomap changes platform init code fails for
emu.cifCONFIG_OMAP3_EMUis selected:
arch/arm/mach-omap2/emu.c:35:8: error:
'L4_EMU_34XX_BASE' undeclared here (not in a function)Signed-off-by Tony Lindgren <[email protected]>arch/arm/mach-omap2/emu.c +2
-0@@ -21,6 +21,8 @@#include <linux/clk.h> #include <linux/err.h> +#include <mach/hardware.h> +#include "iomap.h" MODULE_LICENSE ("GPL" );
PATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 9 lines · Rob Herring
BTW, all these includes need to get removed. I'll add a fix to my series unless you already have fixes:
arch/arm/mach-omap1/sleep.S:#include <
mach/io.h> arch/arm/mach-omap1/sram.S:#include <mach/io.h> arch/arm/plat-omap/include/plat/sdrc.h:#include <mach/io.h> drivers/media/video/davinci/vpbe_osd.c:#include <mach/io.h> drivers/media/video/davinci/vpbe_venc.c:#include <mach/io.h> drivers/video/omap2/vrfb.c:#include <mach/io.h>
All the ones included from .h and .c files should be using linux/io.h and not some other derivative.
Tony Lindgren
maintainerPATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 11 lines · Russell King - ARM Linux
Quoted 9 lines · Rob Herring
BTW, all these includes need to get removed. I'll add a fix to my series unless you already have fixes:
arch/arm/mach-omap1/sleep.S:#include <
mach/io.h> arch/arm/mach-omap1/sram.S:#include <mach/io.h> arch/arm/plat-omap/include/plat/sdrc.h:#include <mach/io.h> drivers/media/video/davinci/vpbe_osd.c:#include <mach/io.h> drivers/media/video/davinci/vpbe_venc.c:#include <mach/io.h> drivers/video/omap2/vrfb.c:#include <mach/io.h>
Quoted 2 lines
All the ones included from .h and .c files should be using
linux/io.hand not some other derivative.
Oops looks like I missed some files while fixing up the .c files. The .S files should be able to just use the local header now.
I'll do a patch for that, won't touch the davinci files though.
Regards,
Tony
Tony Lindgren
maintainerPATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 12 lines · Tony Lindgren
Quoted 11 lines · Russell King - ARM Linux
Quoted 9 lines · Rob Herring
BTW, all these includes need to get removed. I'll add a fix to my series unless you already have fixes:
arch/arm/mach-omap1/sleep.S:#include <
mach/io.h> arch/arm/mach-omap1/sram.S:#include <mach/io.h> arch/arm/plat-omap/include/plat/sdrc.h:#include <mach/io.h> drivers/media/video/davinci/vpbe_osd.c:#include <mach/io.h> drivers/media/video/davinci/vpbe_venc.c:#include <mach/io.h> drivers/video/omap2/vrfb.c:#include <mach/io.h>
Quoted 7 lines
Quoted 2 lines
All the ones included from .h and .c files should be using
linux/io.hand not some other derivative.Oops looks like I missed some files while fixing up the .c files. The .S files should be able to just use the local header now.
I'll do a patch for that, won't touch the davinci files though.
Here's the patch to remove mach/io.h for omaps. We can now remove all of them like Rob suggested :)
Rob, I assume you'll apply this into your branch?
Regards,
Tony
From: Tony Lindgren <[email protected]>
Date: Wed, 29 Feb 2012 17:01:22 -0800
Subject: [PATCH] ARM: OMAP: Remove remaining includes for mach/io.h
These are no longer needed with the recent iomap.h changes.
arch/arm/mach-omap1/include/mach/entry-macro.S +0 -1
@@ -11,7 +11,6 @@ */ #include <mach/hardware.h> -#include <mach/io.h> #include <mach/irqs.h> #include "../../iomap.h"
arch/arm/mach-omap1/sram.S +0 -1
@@ -12,7 +12,6 @@ #include <asm/assembler.h> -#include <mach/io.h> #include <mach/hardware.h> #include "iomap.h"
arch/arm/plat-omap/include/plat/sdrc.h +0 -2
@@ -16,8 +16,6 @@* published by the Free Software Foundation. */ -#include <mach/io.h> -/* SDRC register offsets - read/write with sdrc_{read,write}_reg() */ #define SDRC_SYSCONFIG 0x010
drivers/video/omap2/vrfb.c +0 -1
@@ -27,7 +27,6 @@#include <linux/bitops.h> #include <linux/mutex.h> -#include <mach/io.h> #include <plat/vrfb.h> #include <plat/sdrc.h>
PATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 19 lines · Tony Lindgren
Quoted 18 lines · Tony Lindgren
Quoted 11 lines · Russell King - ARM Linux
Quoted 9 lines · Rob Herring
BTW, all these includes need to get removed. I'll add a fix to my series unless you already have fixes:
arch/arm/mach-omap1/sleep.S:#include <
mach/io.h> arch/arm/mach-omap1/sram.S:#include <mach/io.h> arch/arm/plat-omap/include/plat/sdrc.h:#include <mach/io.h> drivers/media/video/davinci/vpbe_osd.c:#include <mach/io.h> drivers/media/video/davinci/vpbe_venc.c:#include <mach/io.h> drivers/video/omap2/vrfb.c:#include <mach/io.h>Quoted 2 lines
All the ones included from .h and .c files should be using
linux/io.hand not some other derivative.Oops looks like I missed some files while fixing up the .c files. The .S files should be able to just use the local header now.
Quoted 7 lines
Quoted 1 line
I'll do a patch for that, won't touch the davinci files though.
Here's the patch to remove
mach/io.hfor omaps. We can now remove all of them like Rob suggested :)Rob, I assume you'll apply this into your branch?
Yes
Quoted 38 lines
Regards,
Tony
From: Tony Lindgren <[email protected]>
Date: Wed, 29 Feb 2012 17:01:22 -0800
Subject: [PATCH] ARM: OMAP: Remove remaining includes formach/io.hThese are no longer needed with the recent
iomap.hchanges.Reported-by Rob Herring <[email protected]>Signed-off-by Tony Lindgren <[email protected]>arch/arm/mach-omap1/include/mach/entry-macro.S +0
-1@@ -11,7 +11,6 @@ */ #include <mach/hardware.h> -#include <mach/io.h> #include <mach/irqs.h> #include "../../iomap.h"arch/arm/mach-omap1/sram.S +0
-1@@ -12,7 +12,6 @@ #include <asm/assembler.h> -#include <mach/io.h> #include <mach/hardware.h> #include "iomap.h"
arch/arm/plat-omap/include/plat/sdrc.h line 20
Quoted 5 lines
arch/arm/plat-omap/include/plat/sdrc.h +0
-2@@ -16,8 +16,6 @@* published by the Free Software Foundation. */ -#include <mach/io.h> -
I added iomap.h here as there are macros in the header from it.
Rob
Quoted 13 lines
arch/arm/plat-omap/include/plat/sdrc.h +0
-0/* SDRC register offsets - read/write with sdrc_{read,write}_reg() */ #define SDRC_SYSCONFIG 0x010drivers/video/omap2/vrfb.c +0
-1@@ -27,7 +27,6 @@#include <linux/bitops.h> #include <linux/mutex.h> -#include <mach/io.h> #include <plat/vrfb.h> #include <plat/sdrc.h>
Tony Lindgren
maintainerPATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 6 lines · Rob Herring
Quoted 3 lines · Tony Lindgren
Rob, I assume you'll apply this into your branch?
Yes
OK
Quoted 10 lines
arch/arm/plat-omap/include/plat/sdrc.h line 20
Quoted 8 lines
arch/arm/plat-omap/include/plat/sdrc.h +0
-2@@ -16,8 +16,6 @@* published by the Free Software Foundation. */ -#include <mach/io.h> -I added
iomap.hhere as there are macros in the header from it.
Hmm, did you get some compile error? I though all code using sdrc.h already has iomap.h included. This file should eventually be local to mach-omap2.
Regards,
Tony
PATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 16 lines · Tony Lindgren
Quoted 6 lines · Rob Herring
Quoted 3 lines · Tony Lindgren
Rob, I assume you'll apply this into your branch?
Yes
OK
Quoted 6 lines
Quoted 6 lines
arch/arm/plat-omap/include/plat/sdrc.h +0
-0@@ -16,8 +16,6 @@* published by the Free Software Foundation. */
Quoted 9 lines
Quoted 4 lines
arch/arm/plat-omap/include/plat/sdrc.h line 20
Quoted 2 lines
arch/arm/plat-omap/include/plat/sdrc.h +0
-2-#include <mach/io.h> -I added
iomap.hhere as there are macros in the header from it.Hmm, did you get some compile error? I though all code using
sdrc.halready hasiomap.hincluded. This file should eventually be local to mach-omap2.
No, just examined the file. If it compiles, either way is fine with me.
Rob
Tony Lindgren
maintainerPATCH 7/8 ARM: OMAP: Remove plat/io.h by moving it into mach/io.h
Quoted 22 lines · Rob Herring
Quoted 21 lines · Tony Lindgren
Quoted 6 lines · Rob Herring
Quoted 3 lines · Tony Lindgren
Rob, I assume you'll apply this into your branch?
Yes
OK
Quoted 10 lines
arch/arm/plat-omap/include/plat/sdrc.h line 20
Quoted 8 lines
arch/arm/plat-omap/include/plat/sdrc.h +0
-2@@ -16,8 +16,6 @@* published by the Free Software Foundation. */ -#include <mach/io.h> -I added
iomap.hhere as there are macros in the header from it.
Quoted 6 lines
Quoted 4 lines
Hmm, did you get some compile error? I though all code using
sdrc.halready hasiomap.hincluded. This file should eventually be local to mach-omap2.No, just examined the file. If it compiles, either way is fine with me.
OK let's leave it out then as it simplifies further clean up. I tested it with omap1_defconfig and omap2plus_defconfig, will also run some randconfigs with it.
Regards,
Tony
Tony Lindgren
maintainerPATCH 8/8 ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers
In reply to Tony LindgrenDrivers should no longer use omap_read/write functions but instead use ioremap + read/write functions.
As some USB legacy code is still shared between omap1 and omap2420, let's limit the omap_read/write to plat/usb.h.
Also, let's make drivers/video/omap/lcdc.c depend on ARCH_OMAP1 as it is not needed for omap2+.
Note that the long term fix is to update the drivers to use ioremap and read/write functions. That can now be done as a separate patch series that is limited to the USB drivers.
--- arch/arm/mach-omap2/common.h | 10 -------- arch/arm/mach-omap2/io.c | 40 --------------------------------- arch/arm/plat-omap/include/plat/usb.h | 40 +++++++++++++++++++++++++++++++++ drivers/video/omap/Kconfig | 2 +- 4 files changed, 41 insertions(+), 51 deletions(-)
arch/arm/mach-omap2/common.h +0 -10
@@ -242,15 +242,5 @@ struct omap_sdrc_params;extern void omap_sdrc_init (struct omap_sdrc_params *sdrc_cs0,struct omap_sdrc_params *sdrc_cs1); -/* -* NOTE: Please use ioremap + __raw_read/write where possible instead of these -*/ -extern u8 omap_readb (u32 pa); -extern u16 omap_readw (u32 pa); -extern u32 omap_readl (u32 pa); -extern void omap_writeb (u8 v,u32 pa); -extern void omap_writew (u16 v,u32 pa); -extern void omap_writel (u32 v,u32 pa); -#endif /* __ASSEMBLER__ */ #endif /* __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H */
arch/arm/mach-omap2/io.c +0 -40
@@ -487,43 +487,3 @@ void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,_omap2_init_reprogram_sdrc (); } } - -/* -* NOTE: Please use ioremap + __raw_read/write where possible instead of these -*/ - -u8 omap_readb (u32 pa) -{ -return __raw_readb (OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_readb); - -u16 omap_readw (u32 pa) -{ -return __raw_readw (OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_readw); - -u32 omap_readl (u32 pa) -{ -return __raw_readl (OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_readl); - -void omap_writeb (u8 v,u32 pa) -{ -__raw_writeb (v,OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_writeb); - -void omap_writew (u16 v,u32 pa) -{ -__raw_writew (v,OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_writew); - -void omap_writel (u32 v,u32 pa) -{ -__raw_writel (v,OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_writel);
arch/arm/plat-omap/include/plat/usb.h +40 -0
@@ -3,6 +3,7 @@#ifndef __ASM_ARCH_OMAP_USB_H#define __ASM_ARCH_OMAP_USB_H +#include <linux/io.h> #include <linux/usb/musb.h> #include <plat/board.h>
@@ -105,6 +106,45 @@ extern int omap4430_phy_set_clk(struct device *dev, int on);extern int omap4430_phy_init (struct device *dev);extern int omap4430_phy_exit (struct device *dev);extern int omap4430_phy_suspend (struct device *dev,int suspend); + +/* +* NOTE: Please update omap USB drivers to use ioremap + read/write +*/ + +#define OMAP2_L4_IO_OFFSET 0xb2000000 +#define OMAP2_L4_IO_ADDRESS (pa) IOMEM((pa) + OMAP2_L4_IO_OFFSET) + +static inline u8 omap_readb (u32 pa) +{ +return __raw_readb (OMAP2_L4_IO_ADDRESS (pa)); +} + +static inline u16 omap_readw (u32 pa) +{ +return __raw_readw (OMAP2_L4_IO_ADDRESS (pa)); +} + +static inline u32 omap_readl (u32 pa) +{ +return __raw_readl (OMAP2_L4_IO_ADDRESS (pa)); +} + +static inline void omap_writeb (u8 v,u32 pa) +{ +__raw_writeb (v,OMAP2_L4_IO_ADDRESS (pa)); +} + + +static inline void omap_writew (u16 v,u32 pa) +{ +__raw_writew (v,OMAP2_L4_IO_ADDRESS (pa)); +} + +static inline void omap_writel (u32 v,u32 pa) +{ +__raw_writel (v,OMAP2_L4_IO_ADDRESS (pa)); +} +#endif extern void am35x_musb_reset (void );
drivers/video/omap/Kconfig +1 -1
@@ -11,7 +11,7 @@ config FB_OMAP config FB_OMAP_LCDC_EXTERNAL bool "External LCD controller support" - depends on FB_OMAP + depends on FB_OMAP && ARCH_OMAP1 help Say Y here, if you want to have support for boards with an external LCD controller connected to the SoSSI/RFBI interface.
PATCH 8/8 ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers
Quoted 8 lines · Tony Lindgren
Drivers should no longer use omap_read/write functions but instead use ioremap + read/write functions.
As some USB legacy code is still shared between omap1 and omap2420, let's limit the omap_read/write to
plat/usb.h.Also, let's make
drivers/video/omap/lcdc.cdepend onARCH_OMAP1as it is not needed for omap2+.
I'm ok with the lcdc.c change, but I also have a patch series that makes the same change, plus removes the omap2 code from drivers/video/omap/.
Can you check the series, and give ack if the arch/arm side looks fine? It's this one: [PATCH 00/16] OMAPDSS: old OMAPFB cleanup
Tomi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120222/ecb60c80/attachment.sig>
Tony Lindgren
maintainerPATCH 8/8 ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers
Quoted 4 lines · Tomi Valkeinen
Quoted 3 lines · Tony Lindgren
Drivers should no longer use omap_read/write functions but instead use ioremap + read/write functions.
Quoted 8 lines
Quoted 5 lines
As some USB legacy code is still shared between omap1 and omap2420, let's limit the omap_read/write to
plat/usb.h.Also, let's make
drivers/video/omap/lcdc.cdepend onARCH_OMAP1as it is not needed for omap2+.I'm ok with the
lcdc.cchange, but I also have a patch series that makes the same change, plus removes the omap2 code fromdrivers/video/omap/.
OK, I'll drop the lcdc.c change from my series as that should only affect randconfig builds.
Quoted 2 lines
Can you check the series, and give ack if the
arch/armside looks fine? It's this one: [PATCH 00/16] OMAPDSS: old OMAPFB cleanup
Yeah great, I've acked those. Let's do a test merge when I have these in cleanup branch, looks like the conflicts should be trivial.
Tony
Tony Lindgren
maintainerPATCH 8/8 ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers
Quoted 8 lines · Tony Lindgren
Quoted 7 lines · Tomi Valkeinen
Quoted 6 lines · Tony Lindgren
Drivers should no longer use omap_read/write functions but instead use ioremap + read/write functions.
As some USB legacy code is still shared between omap1 and omap2420, let's limit the omap_read/write to
plat/usb.h.
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
Also, let's make
drivers/video/omap/lcdc.cdepend onARCH_OMAP1as it is not needed for omap2+.I'm ok with the
lcdc.cchange, but I also have a patch series that makes the same change, plus removes the omap2 code fromdrivers/video/omap/.OK, I'll drop the
lcdc.cchange from my series as that should only affect randconfig builds.
Here's this one updated. Noticed one more legacy driver that needs omap_read/write defined to build on 2420.
Regards,
Tony
Date: Tue, 21 Feb 2012 13:27:33 -0800
Subject: [PATCH] ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers
Drivers should no longer use omap_read/write functions but instead use ioremap + read/write functions.
As some USB legacy code is still shared between omap1 and omap2420, let's limit the omap_read/write to plat/usb.h.
Note that the long term fix is to update the drivers to use ioremap and read/write functions. That can now be done as a separate patch series that is limited to the USB drivers.
Also make sure the legacy omap1-keypad.c driver builds if selected for 2420 based systems.
arch/arm/mach-omap2/common.h +0 -10
@@ -242,15 +242,5 @@ struct omap_sdrc_params;extern void omap_sdrc_init (struct omap_sdrc_params *sdrc_cs0,struct omap_sdrc_params *sdrc_cs1); -/* -* NOTE: Please use ioremap + __raw_read/write where possible instead of these -*/ -extern u8 omap_readb (u32 pa); -extern u16 omap_readw (u32 pa); -extern u32 omap_readl (u32 pa); -extern void omap_writeb (u8 v,u32 pa); -extern void omap_writew (u16 v,u32 pa); -extern void omap_writel (u32 v,u32 pa); -#endif /* __ASSEMBLER__ */ #endif /* __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H */
arch/arm/mach-omap2/io.c +0 -40
@@ -487,43 +487,3 @@ void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,_omap2_init_reprogram_sdrc (); } } - -/* -* NOTE: Please use ioremap + __raw_read/write where possible instead of these -*/ - -u8 omap_readb (u32 pa) -{ -return __raw_readb (OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_readb); - -u16 omap_readw (u32 pa) -{ -return __raw_readw (OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_readw); - -u32 omap_readl (u32 pa) -{ -return __raw_readl (OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_readl); - -void omap_writeb (u8 v,u32 pa) -{ -__raw_writeb (v,OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_writeb); - -void omap_writew (u16 v,u32 pa) -{ -__raw_writew (v,OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_writew); - -void omap_writel (u32 v,u32 pa) -{ -__raw_writel (v,OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_writel);
arch/arm/plat-omap/include/plat/keypad.h +2 -0
@@ -12,6 +12,8 @@#ifndef CONFIG_ARCH_OMAP1 #warning Please update the board to use matrix-keypad driver +#define omap_readw (reg) 0 +#define omap_writew (val, reg) do {} while(0)#endif #include <linux/input/matrix_keypad.h>
arch/arm/plat-omap/include/plat/usb.h +40 -0
@@ -3,6 +3,7 @@#ifndef __ASM_ARCH_OMAP_USB_H#define __ASM_ARCH_OMAP_USB_H +#include <linux/io.h> #include <linux/usb/musb.h> #include <plat/board.h>
@@ -105,6 +106,45 @@ extern int omap4430_phy_set_clk(struct device *dev, int on);extern int omap4430_phy_init (struct device *dev);extern int omap4430_phy_exit (struct device *dev);extern int omap4430_phy_suspend (struct device *dev,int suspend); + +/* +* NOTE: Please update omap USB drivers to use ioremap + read/write +*/ + +#define OMAP2_L4_IO_OFFSET 0xb2000000 +#define OMAP2_L4_IO_ADDRESS (pa) IOMEM((pa) + OMAP2_L4_IO_OFFSET) + +static inline u8 omap_readb (u32 pa) +{ +return __raw_readb (OMAP2_L4_IO_ADDRESS (pa)); +} + +static inline u16 omap_readw (u32 pa) +{ +return __raw_readw (OMAP2_L4_IO_ADDRESS (pa)); +} + +static inline u32 omap_readl (u32 pa) +{ +return __raw_readl (OMAP2_L4_IO_ADDRESS (pa)); +} + +static inline void omap_writeb (u8 v,u32 pa) +{ +__raw_writeb (v,OMAP2_L4_IO_ADDRESS (pa)); +} + + +static inline void omap_writew (u16 v,u32 pa) +{ +__raw_writew (v,OMAP2_L4_IO_ADDRESS (pa)); +} + +static inline void omap_writel (u32 v,u32 pa) +{ +__raw_writel (v,OMAP2_L4_IO_ADDRESS (pa)); +} +#endif extern void am35x_musb_reset (void );
Tony Lindgren
maintainerPATCH 8/8 ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers
Quoted 12 lines · Tony Lindgren
Quoted 11 lines · Tony Lindgren
Quoted 10 lines · Tomi Valkeinen
Quoted 8 lines · Tony Lindgren
Drivers should no longer use omap_read/write functions but instead use ioremap + read/write functions.
As some USB legacy code is still shared between omap1 and omap2420, let's limit the omap_read/write to
plat/usb.h.Also, let's make
drivers/video/omap/lcdc.cdepend onARCH_OMAP1as it is not needed for omap2+.
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
I'm ok with the
lcdc.cchange, but I also have a patch series that makes the same change, plus removes the omap2 code fromdrivers/video/omap/.OK, I'll drop the
lcdc.cchange from my series as that should only affect randconfig builds.Here's this one updated. Noticed one more legacy driver that needs omap_read/write defined to build on 2420.
This one needed some updates for usb.h after updating patch 7/8 in this series. Updated patch below.
Regards,
Tony
From: Tony Lindgren <[email protected]>
Date: Wed, 22 Feb 2012 14:52:41 -0800
Subject: [PATCH] ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers
Drivers should no longer use omap_read/write functions but instead use ioremap + read/write functions.
As some USB legacy code is still shared between omap1 and omap2420, let's limit the omap_read/write to plat/usb.h.
Note that the long term fix is to update the drivers to use ioremap and read/write functions. That can now be done as a separate patch series that is limited to the USB drivers.
Also make sure the legacy omap1-keypad.c driver builds if selected for 2420 based systems.
arch/arm/mach-omap2/common.h +0 -10
@@ -242,15 +242,5 @@ struct omap_sdrc_params;extern void omap_sdrc_init (struct omap_sdrc_params *sdrc_cs0,struct omap_sdrc_params *sdrc_cs1); -/* -* NOTE: Please use ioremap + __raw_read/write where possible instead of these -*/ -extern u8 omap_readb (u32 pa); -extern u16 omap_readw (u32 pa); -extern u32 omap_readl (u32 pa); -extern void omap_writeb (u8 v,u32 pa); -extern void omap_writew (u16 v,u32 pa); -extern void omap_writel (u32 v,u32 pa); -#endif /* __ASSEMBLER__ */ #endif /* __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H */
arch/arm/mach-omap2/io.c +0 -40
@@ -487,43 +487,3 @@ void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,_omap2_init_reprogram_sdrc (); } } - -/* -* NOTE: Please use ioremap + __raw_read/write where possible instead of these -*/ - -u8 omap_readb (u32 pa) -{ -return __raw_readb (OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_readb); - -u16 omap_readw (u32 pa) -{ -return __raw_readw (OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_readw); - -u32 omap_readl (u32 pa) -{ -return __raw_readl (OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_readl); - -void omap_writeb (u8 v,u32 pa) -{ -__raw_writeb (v,OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_writeb); - -void omap_writew (u16 v,u32 pa) -{ -__raw_writew (v,OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_writew); - -void omap_writel (u32 v,u32 pa) -{ -__raw_writel (v,OMAP2_L4_IO_ADDRESS (pa)); -} -EXPORT_SYMBOL (omap_writel);
arch/arm/plat-omap/include/plat/keypad.h +2 -0
@@ -12,6 +12,8 @@#ifndef CONFIG_ARCH_OMAP1 #warning Please update the board to use matrix-keypad driver +#define omap_readw (reg) 0 +#define omap_writew (val, reg) do {} while (0)#endif #include <linux/input/matrix_keypad.h>
arch/arm/plat-omap/include/plat/usb.h +41 -0
53 lines not on this page · raw message