remaining omap multiplatform patches for v3.8 merge window
Subsystems (19)
Tony Lindgren
maintainercover remaining omap multiplatform patches for v3.8 merge window
Hi all,
Here are the remaining patches to be able to build omap2+ with multiplatform enabled. Booting requires disabling ARM_ERRATA_751472 as discussed earlier. And then the OMAP4_ERRATA_I688 can't be used currently.
These patches are based on a merge of the following branches that are needed to keep things compiling:
- omap-for-v3.8/cleanup-headers-prepare-multiplatform-v3
- omap-for-v3.8/clock
- omap-for-v3.8/cleanup-headers-iommu
- omap-for-v3.8/pm-part2
- Tomi's branch 3.8/vram-conversion
- Russell's branch omap-serial
There are few drivers still breaking because of their use of plat/cpu.h and cpu_is_omap macros. The following already have patches queued in linux next:
- drivers/staging/omapdrm/omap_drv.c
- drivers/staging/omapdrm/omap_dmm_tiler.h
The fixes to following have been already posted:
- drivers/crypto/omap-sham.c
And the following should have patches coming:
- drivers/mfd/omap-usb-host.c
- drivers/media/platform/omap/omap_voutlib.c
- drivers/media/platform/omap3isp/isp.c
But for now, the last patch in this series is for testing only.
Regards,
Tony
---
Tony Lindgren (5):
watchdog: OMAP: fixup for ARM multiplatform support
ASoC: OMAP: mcbsp fixes for enabling ARM multiplatform support
ARM: OMAP: Move plat/omap-serial.h to include/linux/platform_data/serial-omap.h
ARM: OMAP: Move plat-omap/dma-omap.h to include/linux/omap-dma.h
RFC: ARM: OMAP: Prepare Kconfig and Makefiles for enabling ARCH_MULTIPLATFORM
arch/arm/Kconfig | 13 + arch/arm/configs/omap2plus_defconfig | 2 arch/arm/mach-omap1/board-h2.c | 2 arch/arm/mach-omap1/board-h3.c | 2 arch/arm/mach-omap1/board-palmte.c | 2 arch/arm/mach-omap1/board-palmtt.c | 2 arch/arm/mach-omap1/board-palmz71.c | 2 arch/arm/mach-omap1/board-sx1.c | 2 arch/arm/mach-omap1/dma.c | 2 arch/arm/mach-omap1/io.c | 2 arch/arm/mach-omap1/lcd_dma.c | 2 arch/arm/mach-omap1/mcbsp.c | 2 arch/arm/mach-omap1/pm.c | 2 arch/arm/mach-omap2/Kconfig | 23 + arch/arm/mach-omap2/Makefile | 3 arch/arm/mach-omap2/board-3430sdp.c | 2 arch/arm/mach-omap2/board-h4.c | 2 arch/arm/mach-omap2/board-rx51-peripherals.c | 2 arch/arm/mach-omap2/board-rx51.c | 2 arch/arm/mach-omap2/devices.c | 2 arch/arm/mach-omap2/dma.c | 2 arch/arm/mach-omap2/io.c | 2 arch/arm/mach-omap2/mcbsp.c | 2 arch/arm/mach-omap2/omap_hwmod_2420_data.c | 2 arch/arm/mach-omap2/omap_hwmod_2430_data.c | 2 .../mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c | 3 arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 2 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 2 arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 2 arch/arm/mach-omap2/pm24xx.c | 2 arch/arm/mach-omap2/pm34xx.c | 3 arch/arm/mach-omap2/serial.c | 4 arch/arm/plat-omap/Kconfig | 30 -- arch/arm/plat-omap/Makefile | 2 arch/arm/plat-omap/dma.c | 2 arch/arm/plat-omap/include/plat-omap/dma-omap.h | 377 -------------------- drivers/crypto/omap-aes.c | 2 drivers/crypto/omap-sham.c | 2 drivers/dma/omap-dma.c | 2 drivers/media/platform/omap/omap_vout.c | 2 drivers/media/platform/omap/omap_vout_vrfb.c | 2 drivers/media/platform/omap3isp/ispstat.h | 2 drivers/media/platform/soc_camera/omap1_camera.c | 2 drivers/mtd/nand/omap2.c | 1 drivers/mtd/onenand/omap2.c | 2 drivers/tty/serial/omap-serial.c | 3 drivers/usb/gadget/omap_udc.c | 2 drivers/usb/musb/tusb6010_omap.c | 2 drivers/video/omap/lcdc.c | 2 drivers/video/omap/omapfb_main.c | 2 drivers/video/omap/sossi.c | 2 drivers/watchdog/omap_wdt.c | 2 include/linux/omap-dma.h | 366 +++++++++++++++++++ include/linux/platform_data/serial-omap.h | 0 sound/soc/omap/mcbsp.c | 4 sound/soc/omap/mcbsp.h | 6 sound/soc/omap/omap-mcbsp.c | 5 57 files changed, 457 insertions(+), 468 deletions(-) delete mode 100644 arch/arm/plat-omap/include/plat-omap/dma-omap.h rename arch/arm/plat-omap/include/plat/omap-serial.h => include/linux/platform_data/serial-omap.h (100%)
Signature · 1 line
Signature
Tony Lindgren
maintainerPATCH 1/5 watchdog: OMAP: fixup for ARM multiplatform support
Recent changes to the omap_wdt.c removed the dependencies to the core omap code, but forgot to remove mach/hardware.h.
We cannot include any plat headers with multiplatform support enabled.
--- drivers/watchdog/omap_wdt.c | 2 -- 1 file changed, 2 deletions(-)
drivers/watchdog/omap_wdt.c +0 -2
@@ -45,8 +45,6 @@#include <linux/uaccess.h> #include <linux/slab.h> #include <linux/pm_runtime.h> -#include <mach/hardware.h> -#include <linux/platform_data/omap-wd-timer.h> #include "omap_wdt.h"
Tony Lindgren
maintainerPATCH 2/5 ASoC: OMAP: mcbsp fixes for enabling ARM multiplatform support
In reply to Tony LindgrenWe cannot include any plat or mach headers for the multiplatform support.
Fix the issue by defining local mcbsp_omap1().
--- sound/soc/omap/mcbsp.c | 4 +--- sound/soc/omap/mcbsp.h | 6 ++++++ sound/soc/omap/omap-mcbsp.c | 5 ++--- 3 files changed, 9 insertions(+), 6 deletions(-)
sound/soc/omap/mcbsp.c +1 -3
@@ -28,8 +28,6 @@#include <linux/platform_data/asoc-ti-mcbsp.h> -#include <plat/cpu.h> -#include "mcbsp.h" static void omap_mcbsp_write (struct omap_mcbsp *mcbsp,u16 reg,u32 val)
@@ -612,7 +610,7 @@ void omap_mcbsp_free(struct omap_mcbsp *mcbsp)* system will refuse to enter idle if the CLKS pin source is not reset * back to internal source. */ -if (!cpu_class_is_omap1 ()) +if (!mcbsp_omap1 ())omap2_mcbsp_set_clks_src (mcbsp,MCBSP_CLKS_PRCM_SRC );spin_lock (&mcbsp->lock);
sound/soc/omap/mcbsp.h +6 -0
@@ -26,6 +26,12 @@#include "omap-pcm.h" +#ifdef CONFIG_ARCH_OMAP1 +#define mcbsp_omap1 () 1 +#else +#define mcbsp_omap1 () 0 +#endif +/* McBSP register numbers. Register address offset = num * reg_step */ enum {/* Common registers */
sound/soc/omap/omap-mcbsp.c +2 -3
@@ -34,7 +34,6 @@#include <sound/initval.h> #include <sound/soc.h> -#include <plat/cpu.h> #include <linux/platform_data/asoc-ti-mcbsp.h> #include "mcbsp.h" #include "omap-mcbsp.h"
@@ -512,7 +511,7 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, regs->srgr2 |=CLKSM ;break ;case OMAP_MCBSP_SYSCLK_CLKS_FCLK : -if (cpu_class_is_omap1 ()) { +if (mcbsp_omap1 ()) { err = -EINVAL ;break ; }
@@ -520,7 +519,7 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, MCBSP_CLKS_PRCM_SRC);break ;case OMAP_MCBSP_SYSCLK_CLKS_EXT : -if (cpu_class_is_omap1 ()) { +if (mcbsp_omap1 ()) { err =0 ;break ; }
Re: [PATCH 2/5] ASoC: OMAP: mcbsp fixes for enabling ARM multiplatform support
Quoted 13 lines · On Wed, 21 Nov 2012 09:42:25 -0800 Tony Lindgren <[email protected]> wrote:
We cannot include any plat or mach headers for the multiplatform support.
Fix the issue by defining local
mcbsp_omap1().cc Peter Ujfalusi <[email protected]>cc Jarkko Nikula <[email protected]>cc Liam Girdwood <[email protected]>cc Mark Brown <[email protected]>cc Jaroslav Kysela <[email protected]>cc Takashi Iwai <[email protected]>Signed-off-by Tony Lindgren <[email protected]>
Quoted 6 lines
--- sound/soc/omap/mcbsp.c | 4 +--- sound/soc/omap/mcbsp.h | 6 ++++++ sound/soc/omap/omap-mcbsp.c | 5 ++--- 3 files changed, 9 insertions(+), 6 deletions(-)
Re: [PATCH 2/5] ASoC: OMAP: mcbsp fixes for enabling ARM multiplatform support
In reply to Tony LindgrenQuoted 5 lines · Tony Lindgren
We cannot include any plat or mach headers for the multiplatform support.
Fix the issue by defining local
mcbsp_omap1().
Quoted 8 lines
cc Peter Ujfalusi <[email protected]>cc Jarkko Nikula <[email protected]>cc Liam Girdwood <[email protected]>cc Mark Brown <[email protected]>cc Jaroslav Kysela <[email protected]>cc Takashi Iwai <[email protected]>Signed-off-by Tony Lindgren <[email protected]>
Tony Lindgren
maintainerPATCH 3/5 ARM: OMAP: Move plat/omap-serial.h to include/linux/platform_data/serial-omap.h
In reply to Tony LindgrenWe need to move this file to allow ARM multiplatform configurations to build for omap2+. This can now be done as this file now only contains platform_data.
--- arch/arm/mach-omap2/serial.c | 4 +--- drivers/tty/serial/omap-serial.c | 3 +-- include/linux/platform_data/serial-omap.h | 0 3 files changed, 2 insertions(+), 5 deletions(-) rename arch/arm/plat-omap/include/plat/omap-serial.h => include/linux/platform_data/serial-omap.h (100%)
arch/arm/mach-omap2/serial.c +1 -3
@@ -26,9 +26,7 @@#include <linux/slab.h> #include <linux/pm_runtime.h> #include <linux/console.h> - -#include <plat/omap-serial.h> -#include <plat-omap/dma-omap.h> +#include <linux/platform_data/serial-omap.h> #include "common.h" #include "omap_hwmod.h"
drivers/tty/serial/omap-serial.c +1 -2
@@ -41,8 +41,7 @@#include <linux/of.h> #include <linux/gpio.h> #include <linux/pinctrl/consumer.h> - -#include <plat/omap-serial.h> +#include <linux/platform_data/serial-omap.h> #define OMAP_MAX_HSUART_PORTS 6
include/linux/platform_data/serial-omap.h renamed from arch/arm/plat-omap/include/plat/omap-serial.h +0 -0
PATCH 3/5 ARM: OMAP: Move plat/omap-serial.h to include/linux/platform_data/serial-omap.h
Quoted 4 lines · Tony Lindgren
We need to move this file to allow ARM multiplatform configurations to build for omap2+. This can now be done as this file now only contains
platform_data.
Quoted 8 lines
cc Russell King <[email protected]>cc Alan Cox <[email protected]>cc Greg Kroah-Hartman <[email protected]>cc Govindraj.R <[email protected]>cc Kevin Hilman <[email protected]>cc Felipe Balbi <[email protected]>cc linux-serial at vger.kernel.orgSigned-off-by Tony Lindgren <[email protected]>
nice, thanks :-)
Quoted 41 lines
--- arch/arm/mach-omap2/serial.c | 4 +--- drivers/tty/serial/omap-serial.c | 3 +-- include/linux/platform_data/serial-omap.h | 0 3 files changed, 2 insertions(+), 5 deletions(-) rename arch/arm/plat-omap/include/plat/omap-serial.h => include/linux/platform_data/serial-omap.h (100%)arch/arm/mach-omap2/serial.c +1
-3@@ -26,9 +26,7 @@#include <linux/slab.h> #include <linux/pm_runtime.h> #include <linux/console.h> - -#include <plat/omap-serial.h> -#include <plat-omap/dma-omap.h> +#include <linux/platform_data/serial-omap.h> #include "common.h" #include "omap_hwmod.h" drivers/tty/serial/omap-serial.c +1
-2@@ -41,8 +41,7 @@#include <linux/of.h> #include <linux/gpio.h> #include <linux/pinctrl/consumer.h> - -#include <plat/omap-serial.h> +#include <linux/platform_data/serial-omap.h> #define OMAP_MAX_HSUART_PORTS 6include/linux/platform_data/serial-omap.h renamed from arch/arm/plat-omap/include/plat/omap-serial.h +0
-0
Signature · 8 lines
balbi -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121121/b25f07c4/attachment.sig>
Tony Lindgren
maintainerPATCH 3/5 ARM: OMAP: Move plat/omap-serial.h to include/linux/platform_data/serial-omap.h
In reply to Tony LindgrenQuoted 3 lines · Tony Lindgren
We need to move this file to allow ARM multiplatform configurations to build for omap2+. This can now be done as this file now only contains
platform_data.
Russell, this one depends on your commit fd9980c7 (SERIAL: omap:
remove OMAP_UART_SYSC_RESET and OMAP_UART_FIFO_CLR).
Is that commit immutable and OK to merge as a dependency to my branch?
Regards,
Tony
Tony Lindgren
maintainerPATCH 4/5 ARM: OMAP: Move plat-omap/dma-omap.h to include/linux/omap-dma.h
In reply to Tony LindgrenBased on earlier discussions[1] we attempted to find a suitable location for the omap DMA header in commit 2b6c4e73 (ARM: OMAP:
DMA: Move plat/dma.h to plat-omap/dma-omap.h) until the conversion to dmaengine is complete.
Unfortunately that was before I was able to try to test compile of the ARM multiplatform builds for omap2+, and the end result was not very good.
So I'm creating yet another all over the place patch to cut the last dependency for building omap2+ for ARM multiplatform. After this, we have finally removed the driver dependencies to the arch/arm code, except for few drivers that are being worked on.
The other option was to make the <plat-omap/dma-omap.h> path to work, but we'd have to add some new header directory to for multiplatform builds.
Or we would have to manually include arch/arm/plat-omap/include again from arch/arm/Makefile for omap2+.
Neither of these alternatives sound appealing as they will likely lead addition of various other headers exposed to the drivers, which we want to avoid for the multiplatform kernels.
Since we already have a minimal include/linux/omap-dma.h, let's just use that instead and add a note to it to not use the custom omap DMA functions any longer where possible.
Note that converting omap DMA to dmaengine depends on dmaengine supporting automatically incrementing the FIFO address at the device end, and converting all the remaining legacy drivers. So it's going to be few more merge windows.
[1] https://patchwork.kernel.org/patch/1519591/#
--- arch/arm/mach-omap1/board-h2.c | 2 arch/arm/mach-omap1/board-h3.c | 2 arch/arm/mach-omap1/board-palmte.c | 2 arch/arm/mach-omap1/board-palmtt.c | 2 arch/arm/mach-omap1/board-palmz71.c | 2 arch/arm/mach-omap1/board-sx1.c | 2 arch/arm/mach-omap1/dma.c | 2 arch/arm/mach-omap1/io.c | 2 arch/arm/mach-omap1/lcd_dma.c | 2 arch/arm/mach-omap1/mcbsp.c | 2 arch/arm/mach-omap1/pm.c | 2 arch/arm/mach-omap2/board-3430sdp.c | 2 arch/arm/mach-omap2/board-h4.c | 2 arch/arm/mach-omap2/board-rx51-peripherals.c | 2 arch/arm/mach-omap2/board-rx51.c | 2 arch/arm/mach-omap2/devices.c | 2 arch/arm/mach-omap2/dma.c | 2 arch/arm/mach-omap2/io.c | 2 arch/arm/mach-omap2/mcbsp.c | 2 arch/arm/mach-omap2/omap_hwmod_2420_data.c | 2 arch/arm/mach-omap2/omap_hwmod_2430_data.c | 2 .../mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c | 3 arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 2 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 2 arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 2 arch/arm/mach-omap2/pm24xx.c | 2 arch/arm/mach-omap2/pm34xx.c | 3 arch/arm/plat-omap/dma.c | 2 arch/arm/plat-omap/include/plat-omap/dma-omap.h | 377 -------------------- drivers/crypto/omap-aes.c | 2 drivers/crypto/omap-sham.c | 2 drivers/dma/omap-dma.c | 2 drivers/media/platform/omap/omap_vout.c | 2 drivers/media/platform/omap/omap_vout_vrfb.c | 2 drivers/media/platform/omap3isp/ispstat.h | 2 drivers/media/platform/soc_camera/omap1_camera.c | 2 drivers/mtd/nand/omap2.c | 1 drivers/mtd/onenand/omap2.c | 2 drivers/usb/gadget/omap_udc.c | 2 drivers/usb/musb/tusb6010_omap.c | 2 drivers/video/omap/lcdc.c | 2 drivers/video/omap/omapfb_main.c | 2 drivers/video/omap/sossi.c | 2 include/linux/omap-dma.h | 366 +++++++++++++++++++ 44 files changed, 407 insertions(+), 421 deletions(-) delete mode 100644 arch/arm/plat-omap/include/plat-omap/dma-omap.h
arch/arm/mach-omap1/board-h2.c +1 -1
@@ -39,7 +39,7 @@#include <asm/mach/map.h> #include <mach/mux.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <mach/tc.h> #include <mach/irda.h> #include <linux/platform_data/keypad-omap.h>
arch/arm/mach-omap1/board-h3.c +1 -1
@@ -43,7 +43,7 @@#include <mach/mux.h> #include <mach/tc.h> #include <linux/platform_data/keypad-omap.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <mach/flash.h> #include <mach/hardware.h>
arch/arm/mach-omap1/board-palmte.c +1 -1
@@ -37,7 +37,7 @@#include <mach/flash.h> #include <mach/mux.h> #include <mach/tc.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <mach/irda.h> #include <linux/platform_data/keypad-omap.h>
arch/arm/mach-omap1/board-palmtt.c +1 -1
@@ -36,7 +36,7 @@#include <mach/flash.h> #include <mach/mux.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <mach/tc.h> #include <mach/irda.h> #include <linux/platform_data/keypad-omap.h>
arch/arm/mach-omap1/board-palmz71.c +1 -1
@@ -38,7 +38,7 @@#include <mach/flash.h> #include <mach/mux.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <mach/tc.h> #include <mach/irda.h> #include <linux/platform_data/keypad-omap.h>
arch/arm/mach-omap1/board-sx1.c +1 -1
@@ -36,7 +36,7 @@#include <mach/flash.h> #include <mach/mux.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <mach/irda.h> #include <mach/tc.h> #include <mach/board-sx1.h>
arch/arm/mach-omap1/dma.c +1 -1
@@ -25,7 +25,7 @@#include <linux/device.h> #include <linux/io.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <mach/tc.h> #include <mach/irqs.h>
arch/arm/mach-omap1/io.c +1 -1
@@ -18,7 +18,7 @@#include <mach/mux.h> #include <mach/tc.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include "iomap.h" #include "common.h"
arch/arm/mach-omap1/lcd_dma.c +1 -1
@@ -27,7 +27,7 @@#include <linux/interrupt.h> #include <linux/io.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <mach/hardware.h> #include <mach/lcdc.h>
arch/arm/mach-omap1/mcbsp.c +1 -1
@@ -19,7 +19,7 @@#include <linux/platform_device.h> #include <linux/slab.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <mach/mux.h> #include "soc.h" #include <linux/platform_data/asoc-ti-mcbsp.h>
arch/arm/mach-omap1/pm.c +1 -1
@@ -52,7 +52,7 @@#include <mach/tc.h> #include <mach/mux.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <plat/dmtimer.h> #include <mach/irqs.h>
arch/arm/mach-omap2/board-3430sdp.c +1 -1
@@ -31,7 +31,7 @@#include <asm/mach/map.h> #include "common.h" -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <video/omapdss.h> #include <video/omap-panel-tfp410.h>
arch/arm/mach-omap2/board-h4.c +1 -1
@@ -32,7 +32,7 @@#include <asm/mach/arch.h> #include <asm/mach/map.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <plat/debug-devices.h> #include <video/omapdss.h>
arch/arm/mach-omap2/board-rx51-peripherals.c +1 -1
@@ -31,7 +31,7 @@#include <asm/system_info.h> #include "common.h" -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include "gpmc-smc91x.h" #include "board-rx51.h"
arch/arm/mach-omap2/board-rx51.c +1 -1
@@ -24,7 +24,7 @@#include <asm/mach/arch.h> #include <asm/mach/map.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include "common.h" #include "mux.h"
arch/arm/mach-omap2/devices.c +1 -1
@@ -23,7 +23,7 @@#include <asm/mach-types.h> #include <asm/mach/map.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include "iomap.h" #include "omap_hwmod.h"
arch/arm/mach-omap2/dma.c +1 -1
@@ -28,7 +28,7 @@#include <linux/init.h> #include <linux/device.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include "soc.h" #include "omap_hwmod.h"
arch/arm/mach-omap2/io.c +1 -1
@@ -25,7 +25,7 @@#include <asm/tlb.h> #include <asm/mach/map.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include "omap_hwmod.h" #include "soc.h"
arch/arm/mach-omap2/mcbsp.c +1 -1
@@ -21,7 +21,7 @@#include <linux/platform_data/asoc-ti-mcbsp.h> #include <linux/pm_runtime.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include "omap_device.h"
arch/arm/mach-omap2/omap_hwmod_2420_data.c +1 -1
@@ -16,7 +16,7 @@#include <linux/i2c-omap.h> #include <linux/platform_data/spi-omap2-mcspi.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <plat/dmtimer.h> #include "omap_hwmod.h"
arch/arm/mach-omap2/omap_hwmod_2430_data.c +1 -1
@@ -17,7 +17,7 @@#include <linux/platform_data/asoc-ti-mcbsp.h> #include <linux/platform_data/spi-omap2-mcspi.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <plat/dmtimer.h> #include "omap_hwmod.h"
arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c +2 -1
@@ -10,7 +10,8 @@* published by the Free Software Foundation. */ -#include <plat-omap/dma-omap.h> +#include <linux/dmaengine.h> +#include <linux/omap-dma.h> #include "omap_hwmod.h" #include "hdq1w.h"
arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c +1 -1
@@ -10,7 +10,7 @@*/ #include <linux/platform_data/gpio-omap.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <plat/dmtimer.h> #include <linux/platform_data/spi-omap2-mcspi.h>
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +1 -1
@@ -19,7 +19,7 @@#include <linux/power/smartreflex.h> #include <linux/platform_data/gpio-omap.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include "l3_3xxx.h" #include "l4_3xxx.h" #include <linux/platform_data/asoc-ti-mcbsp.h>
arch/arm/mach-omap2/omap_hwmod_44xx_data.c +1 -1
@@ -23,7 +23,7 @@#include <linux/power/smartreflex.h> #include <linux/i2c-omap.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/asoc-ti-mcbsp.h>
arch/arm/mach-omap2/pm24xx.c +1 -1
@@ -38,7 +38,7 @@#include <asm/mach-types.h> #include <asm/system_misc.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include "soc.h" #include "common.h"
arch/arm/mach-omap2/pm34xx.c +1 -2
@@ -28,6 +28,7 @@#include <linux/clk.h> #include <linux/delay.h> #include <linux/slab.h> +#include <linux/omap-dma.h> #include <linux/platform_data/gpio-omap.h> #include <trace/events/power.h>
@@ -38,8 +39,6 @@#include "clockdomain.h" #include "powerdomain.h" -#include <plat-omap/dma-omap.h> -#include "soc.h" #include "common.h" #include "cm3xxx.h"
arch/arm/plat-omap/dma.c +1 -1
@@ -36,7 +36,7 @@#include <linux/slab.h> #include <linux/delay.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> /* * MAX_LOGICAL_DMA_CH_COUNT: the maximum number of logical DMA
arch/arm/plat-omap/include/plat-omap/dma-omap.h deleted +0 -377
377 lines not on this page · raw message
drivers/crypto/omap-aes.c +1 -1
@@ -29,7 +29,7 @@#include <crypto/scatterwalk.h> #include <crypto/aes.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> /* OMAP TRM gives bitfields as start:end, where start is the higher bit number. For example 7:0 */
drivers/crypto/omap-sham.c +1 -1
@@ -37,7 +37,7 @@#include <crypto/hash.h> #include <crypto/internal/hash.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <mach/irqs.h> #define SHA_REG_DIGEST (x) (0x00 + ((x) * 0x04))
drivers/dma/omap-dma.c +0 -2
@@ -19,8 +19,6 @@#include "virt-dma.h" -#include <plat-omap/dma-omap.h> -struct omap_dmadev {struct dma_device ddev;spinlock_t lock;
drivers/media/platform/omap/omap_vout.c +1 -1
@@ -45,7 +45,7 @@#include <media/v4l2-ioctl.h> #include <plat/cpu.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <video/omapvrfb.h> #include <video/omapdss.h>
drivers/media/platform/omap/omap_vout_vrfb.c +1 -1
@@ -16,7 +16,7 @@#include <media/videobuf-dma-contig.h> #include <media/v4l2-device.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <video/omapvrfb.h> #include "omap_voutdef.h"
drivers/media/platform/omap3isp/ispstat.h +1 -1
@@ -30,7 +30,7 @@#include <linux/types.h> #include <linux/omap3isp.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <media/v4l2-event.h> #include "isp.h"
drivers/media/platform/soc_camera/omap1_camera.c +1 -1
@@ -34,7 +34,7 @@#include <media/videobuf-dma-contig.h> #include <media/videobuf-dma-sg.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #define DRIVER_NAME "omap1-camera"
drivers/mtd/nand/omap2.c +0 -1
@@ -27,7 +27,6 @@#include <linux/bch.h> #endif -#include <plat-omap/dma-omap.h> #include <linux/platform_data/mtd-nand-omap2.h> #define DRIVER_NAME "omap2-nand"
drivers/mtd/onenand/omap2.c +1 -1
@@ -41,7 +41,7 @@#include <linux/platform_data/mtd-onenand-omap2.h> #include <asm/gpio.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #define DRIVER_NAME "omap2-onenand"
drivers/usb/gadget/omap_udc.c +1 -1
@@ -44,7 +44,7 @@#include <asm/unaligned.h> #include <asm/mach-types.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <mach/usb.h>
drivers/usb/musb/tusb6010_omap.c +1 -1
@@ -16,7 +16,7 @@#include <linux/platform_device.h> #include <linux/dma-mapping.h> #include <linux/slab.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include "musb_core.h" #include "tusb6010.h"
drivers/video/omap/lcdc.c +1 -1
@@ -31,7 +31,7 @@#include <linux/gfp.h> #include <mach/lcdc.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include <asm/mach-types.h>
drivers/video/omap/omapfb_main.c +1 -1
@@ -30,7 +30,7 @@#include <linux/uaccess.h> #include <linux/module.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include "omapfb.h" #include "lcdc.h"
drivers/video/omap/sossi.c +1 -1
@@ -25,7 +25,7 @@#include <linux/io.h> #include <linux/interrupt.h> -#include <plat-omap/dma-omap.h> +#include <linux/omap-dma.h> #include "omapfb.h" #include "lcdc.h"
include/linux/omap-dma.h +366 -0
370 lines not on this page · raw message
PATCH 4/5 ARM: OMAP: Move plat-omap/dma-omap.h to include/linux/omap-dma.h
Hi,
Quoted 64 lines · Tony Lindgren
Based on earlier discussions[1] we attempted to find a suitable location for the omap DMA header in commit
2b6c4e73(ARM: OMAP:
DMA: Moveplat/dma.htoplat-omap/dma-omap.h) until the conversion to dmaengine is complete.Unfortunately that was before I was able to try to test compile of the ARM multiplatform builds for omap2+, and the end result was not very good.
So I'm creating yet another all over the place patch to cut the last dependency for building omap2+ for ARM multiplatform. After this, we have finally removed the driver dependencies to the
arch/armcode, except for few drivers that are being worked on.The other option was to make the <
plat-omap/dma-omap.h> path to work, but we'd have to add some new header directory to for multiplatform builds.Or we would have to manually include
arch/arm/plat-omap/includeagain fromarch/arm/Makefilefor omap2+.Neither of these alternatives sound appealing as they will likely lead addition of various other headers exposed to the drivers, which we want to avoid for the multiplatform kernels.
Since we already have a minimal
include/linux/omap-dma.h, let's just use that instead and add a note to it to not use the custom omap DMA functions any longer where possible.Note that converting omap DMA to dmaengine depends on dmaengine supporting automatically incrementing the FIFO address at the device end, and converting all the remaining legacy drivers. So it's going to be few more merge windows.
[1] https://patchwork.kernel.org/patch/1519591/#
cc Russell King <[email protected]>cc Kevin Hilman <[email protected]>cc "Beno?t Cousson" <[email protected]>cc Herbert Xu <[email protected]>cc "David S. Miller" <[email protected]>cc Vinod Koul <[email protected]>cc Dan Williams <[email protected]>cc Mauro Carvalho Chehab <[email protected]>cc Laurent Pinchart <[email protected]>cc Guennadi Liakhovetski <[email protected]>cc David Woodhouse <[email protected]>cc Kyungmin Park <[email protected]>cc Felipe Balbi <[email protected]>cc Greg Kroah-Hartman <[email protected]>cc Tomi Valkeinen <[email protected]>cc Florian Tobias Schandinat <[email protected]>cc Hans Verkuil <[email protected]>cc Vaibhav Hiremath <[email protected]>cc Lokesh Vutla <[email protected]>cc Rusty Russell <[email protected]>cc Artem Bityutskiy <[email protected]>cc Afzal Mohammed <[email protected]>cc linux-crypto at vger.kernel.orgcc linux-media at vger.kernel.orgcc linux-mtd at lists.infradead.orgcc linux-usb at vger.kernel.orgcc linux-fbdev at vger.kernel.orgSigned-off-by Tony Lindgren <[email protected]>
...
Quoted 2 lines
drivers/usb/gadget/omap_udc.c | 2 drivers/usb/musb/tusb6010_omap.c | 2
for omap_udc and musb:
Signature · 8 lines
balbi -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121121/fe5f9662/attachment.sig>
Tony Lindgren
maintainerPATCH 5/5 RFC: ARM: OMAP: Prepare Kconfig and Makefiles for enabling ARCH_MULTIPLATFORM
In reply to Tony LindgrenNot intended for merging yet as few more drivers need work. You may need to update your config to make sure you have:
CONFIG_ARCH_MULTIPLATFORM=yCONFIG_ARCH_MULTI_V7=yCONFIG_ARCH_OMAP2PLUS=y
And may need CONFIG_ARCH_MULTI_V6=y too.
The omap2plus_defconfig has been updated in this patch.
--- arch/arm/Kconfig | 13 ++++++++++--- arch/arm/configs/omap2plus_defconfig | 2 +- arch/arm/mach-omap2/Kconfig | 23 +++++++++++++++++++++++ arch/arm/mach-omap2/Makefile | 3 +++ arch/arm/plat-omap/Kconfig | 30 ------------------------------ arch/arm/plat-omap/Makefile | 2 ++ 6 files changed, 39 insertions(+), 34 deletions(-)
arch/arm/Kconfig +10 -3
@@ -928,17 +928,24 @@ config ARCH_DAVINCI help Support for TI's DaVinci platform. -config ARCH_OMAP - bool "TI OMAP" +config ARCH_OMAP1 + bool "TI OMAP1" depends on MMU select ARCH_HAS_CPUFREQ select ARCH_HAS_HOLES_MEMORYMODEL + select ARCH_OMAP select ARCH_REQUIRE_GPIOLIB + select CLKDEV_LOOKUP select CLKSRC_MMIO select GENERIC_CLOCKEVENTS + select GENERIC_IRQ_CHIP select HAVE_CLK + select HAVE_IDE + select IRQ_DOMAIN + select NEED_MACH_IO_H if PCCARD + select NEED_MACH_MEMORY_H help - Support for TI's OMAP platform (OMAP1/2/3/4). + Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx) config ARCH_VT8500 bool "VIA/WonderMedia 85xx"
arch/arm/configs/omap2plus_defconfig +1 -1
@@ -20,7 +20,7 @@ CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_BLK_DEV_BSG is not set -CONFIG_ARCH_OMAP=y +CONFIG_ARCH_OMAP2PLUS=y CONFIG_OMAP_RESET_CLOCKS=y CONFIG_OMAP_MUX_DEBUG=y CONFIG_ARM_THUMBEE=y
arch/arm/mach-omap2/Kconfig +23 -0
@@ -1,3 +1,26 @@ +config ARCH_OMAP + bool + +config ARCH_OMAP2PLUS + bool "TI OMAP2/3/4/5 SoCs with device tree support" if (ARCH_MULTI_V6 || ARCH_MULTI_V7) + select ARCH_HAS_CPUFREQ + select ARCH_HAS_HOLES_MEMORYMODEL + select ARCH_OMAP + select ARCH_REQUIRE_GPIOLIB + select CLKDEV_LOOKUP + select CLKSRC_MMIO + select GENERIC_CLOCKEVENTS + select GENERIC_IRQ_CHIP + select HAVE_CLK + select OMAP_DM_TIMER + select PINCTRL + select PROC_DEVICETREE if PROC_FS + select SPARSE_IRQ + select USE_OF + help + Systems based on OMAP2, OMAP3, OMAP4 or OMAP5 + + if ARCH_OMAP2PLUS menu "TI OMAP2/3/4 Specific Features"
arch/arm/mach-omap2/Makefile +3 -0
@@ -2,6 +2,9 @@ # Makefile for the linux kernel. # +ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \ + -I$(srctree)/arch/arm/plat-omap/include + # Common support obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer.o pm.o \ common.o gpio.o dma.o wd_timer.o display.o i2c.o hdq1w.o omap_hwmod.o \
arch/arm/plat-omap/Kconfig +0 -30
@@ -5,36 +5,6 @@ menu "TI OMAP Common Features" config ARCH_OMAP_OTG bool -choice - prompt "OMAP System Type" - default ARCH_OMAP2PLUS - -config ARCH_OMAP1 - bool "TI OMAP1" - select CLKDEV_LOOKUP - select CLKSRC_MMIO - select GENERIC_IRQ_CHIP - select HAVE_IDE - select IRQ_DOMAIN - select NEED_MACH_IO_H if PCCARD - select NEED_MACH_MEMORY_H - help - "Systems based on omap7xx, omap15xx or omap16xx" - -config ARCH_OMAP2PLUS - bool "TI OMAP2/3/4" - select CLKDEV_LOOKUP - select GENERIC_IRQ_CHIP - select OMAP_DM_TIMER - select PINCTRL - select PROC_DEVICETREE if PROC_FS - select SPARSE_IRQ - select USE_OF - help - "Systems based on OMAP2, OMAP3, OMAP4 or OMAP5" - -endchoice - comment "OMAP Feature Selections" config OMAP_DEBUG_DEVICES
arch/arm/plat-omap/Makefile +2 -0
@@ -2,6 +2,8 @@ # Makefile for the linux kernel. # +ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-omap/include + # Common support obj-y := sram.o dma.o fb.o counter_32k.o obj-m :=
cover remaining omap multiplatform patches for v3.8 merge window
In reply to Tony LindgrenQuoted 6 lines · Tony Lindgren
There are few drivers still breaking because of their use of
plat/cpu.handcpu_is_omapmacros. The following already have patches queued in linux next:-
drivers/staging/omapdrm/omap_drv.c
-drivers/staging/omapdrm/omap_dmm_tiler.h
Note that there's a bunch of OMAP drivers in staging which are trivially broken anyway; I've not been bothering to report their breakages which my build system is finding - I figure that if they're trivially broken with compile time errors which aren't config related, and no one's bothering to fixing them, then no one is even trying to build them - which means they're not being used.
And if they're not being used, it's pointless them being in mainline.
Tony Lindgren
maintainercover remaining omap multiplatform patches for v3.8 merge window
Quoted 8 lines · Russell King - ARM Linux
Quoted 6 lines · Tony Lindgren
There are few drivers still breaking because of their use of
plat/cpu.handcpu_is_omapmacros. The following already have patches queued in linux next:-
drivers/staging/omapdrm/omap_drv.c
-drivers/staging/omapdrm/omap_dmm_tiler.h
Quoted 6 lines
Note that there's a bunch of OMAP drivers in staging which are trivially broken anyway; I've not been bothering to report their breakages which my build system is finding - I figure that if they're trivially broken with compile time errors which aren't config related, and no one's bothering to fixing them, then no one is even trying to build them - which means they're not being used.
Do you have a list of the broken drivers somewhere?
Quoted 1 line
And if they're not being used, it's pointless them being in mainline.
Yes makes sense to me.
Regards,
Tony
cover remaining omap multiplatform patches for v3.8 merge window
Quoted 9 lines · Tony Lindgren
Quoted 8 lines · Russell King - ARM Linux
Quoted 6 lines · Tony Lindgren
There are few drivers still breaking because of their use of
plat/cpu.handcpu_is_omapmacros. The following already have patches queued in linux next:-
drivers/staging/omapdrm/omap_drv.c
-drivers/staging/omapdrm/omap_dmm_tiler.h
Quoted 8 lines
Quoted 6 lines
Note that there's a bunch of OMAP drivers in staging which are trivially broken anyway; I've not been bothering to report their breakages which my build system is finding - I figure that if they're trivially broken with compile time errors which aren't config related, and no one's bothering to fixing them, then no one is even trying to build them - which means they're not being used.
Do you have a list of the broken drivers somewhere?
No, I've been ignoring the error messages from anything in staging, so it'll be a matter of digging through the last seven days build logs.