video: move Versatile CLCD helpers
Subsystems (5)
PATCH 1/1 video: move Versatile CLCD helpers
This moves the Versatile-specific helper code and panel database down into the drivers/video folder next to the CLCD driver itself, preserving the config symbol but also moving the header to platform data.
This is necessary to rid the Integrator of this final <plat/*> inclusion dependency and get us one less user of the plat-versatile folder.
--- arch/arm/mach-integrator/include/mach/uncompress.h | 48 ------ arch/arm/mach-integrator/integrator_cp.c | 3 +- arch/arm/mach-realview/core.c | 2 +- arch/arm/mach-versatile/core.c | 2 +- arch/arm/mach-vexpress/ct-ca9x4.c | 3 +- arch/arm/plat-versatile/Kconfig | 3 - arch/arm/plat-versatile/Makefile | 1 - arch/arm/plat-versatile/clcd.c | 182 --------------------- arch/arm/plat-versatile/include/plat/clcd.h | 9 - drivers/video/Kconfig | 6 + drivers/video/Makefile | 1 + drivers/video/amba-clcd-versatile.c | 182 +++++++++++++++++++++ include/linux/platform_data/video-clcd-versatile.h | 9 + 13 files changed, 202 insertions(+), 249 deletions(-) delete mode 100644 arch/arm/mach-integrator/include/mach/uncompress.h delete mode 100644 arch/arm/plat-versatile/clcd.c delete mode 100644 arch/arm/plat-versatile/include/plat/clcd.h create mode 100644 drivers/video/amba-clcd-versatile.c create mode 100644 include/linux/platform_data/video-clcd-versatile.h
arch/arm/mach-integrator/include/mach/uncompress.h deleted +0 -48
@@ -1,48 +0,0 @@ -/* -* arch/arm/mach-integrator/include/mach/uncompress.h -* -* Copyright (C) 1999 ARM Limited -* -* 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 program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#define AMBA_UART_DR (*(volatile unsigned char *)0x16000000) -#define AMBA_UART_LCRH (*(volatile unsigned char *)0x16000008) -#define AMBA_UART_LCRM (*(volatile unsigned char *)0x1600000c) -#define AMBA_UART_LCRL (*(volatile unsigned char *)0x16000010) -#define AMBA_UART_CR (*(volatile unsigned char *)0x16000014) -#define AMBA_UART_FR (*(volatile unsigned char *)0x16000018) - -/* -* This does not append a newline -*/ -static void putc (int c) -{ -while (AMBA_UART_FR & (1 <<5 )) -barrier (); - -AMBA_UART_DR = c; -} - -static inline void flush (void ) -{ -while (AMBA_UART_FR & (1 <<3 )) -barrier (); -} - -/* -* nothing to do -*/ -#define arch_decomp_setup ()
arch/arm/mach-integrator/integrator_cp.c +1 -2
@@ -18,6 +18,7 @@#include <linux/amba/bus.h> #include <linux/amba/kmi.h> #include <linux/amba/clcd.h> +#include <linux/platform_data/video-clcd-versatile.h> #include <linux/amba/mmci.h> #include <linux/io.h> #include <linux/irqchip/versatile-fpga.h>
@@ -36,8 +37,6 @@#include <asm/mach/map.h> #include <asm/mach/time.h> -#include <plat/clcd.h> -#include "hardware.h" #include "cm.h" #include "common.h"
arch/arm/mach-realview/core.c +1 -1
@@ -25,6 +25,7 @@#include <linux/interrupt.h> #include <linux/amba/bus.h> #include <linux/amba/clcd.h> +#include <linux/platform_data/video-clcd-versatile.h> #include <linux/io.h> #include <linux/smsc911x.h> #include <linux/ata_platform.h>
@@ -47,7 +48,6 @@#include <mach/irqs.h> #include <asm/hardware/timer-sp.h> -#include <plat/clcd.h> #include <plat/sched_clock.h> #include "core.h"
arch/arm/mach-versatile/core.c +1 -1
@@ -28,6 +28,7 @@#include <linux/of_platform.h> #include <linux/amba/bus.h> #include <linux/amba/clcd.h> +#include <linux/platform_data/video-clcd-versatile.h> #include <linux/amba/pl061.h> #include <linux/amba/mmci.h> #include <linux/amba/pl022.h>
@@ -53,7 +54,6 @@#include <mach/platform.h> #include <asm/hardware/timer-sp.h> -#include <plat/clcd.h> #include <plat/sched_clock.h> #include "core.h"
arch/arm/mach-vexpress/ct-ca9x4.c +1 -2
@@ -8,6 +8,7 @@#include <linux/platform_device.h> #include <linux/amba/bus.h> #include <linux/amba/clcd.h> +#include <linux/platform_data/video-clcd-versatile.h> #include <linux/clkdev.h> #include <linux/vexpress.h> #include <linux/irqchip/arm-gic.h>
@@ -29,8 +30,6 @@#include <mach/motherboard.h> #include <mach/irqs.h> -#include <plat/clcd.h> -static struct map_desc ct_ca9x4_io_desc[]__initdata = { { .virtual =V2T_PERIPH ,
arch/arm/plat-versatile/Kconfig +0 -3
@@ -3,9 +3,6 @@ if PLAT_VERSATILE config PLAT_VERSATILE_CLOCK bool -config PLAT_VERSATILE_CLCD - bool - config PLAT_VERSATILE_LEDS def_bool y if NEW_LEDS depends on ARCH_REALVIEW || ARCH_VERSATILE
arch/arm/plat-versatile/Makefile +0 -1
@@ -1,7 +1,6 @@ ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include obj-$(CONFIG_PLAT_VERSATILE_CLOCK) += clock.o -obj-$(CONFIG_PLAT_VERSATILE_CLCD) += clcd.o obj-$(CONFIG_PLAT_VERSATILE_LEDS) += leds.o obj-$(CONFIG_PLAT_VERSATILE_SCHED_CLOCK) += sched-clock.o obj-$(CONFIG_SMP) += headsmp.o platsmp.o
arch/arm/plat-versatile/clcd.c deleted +0 -182
182 lines not on this page · raw message
arch/arm/plat-versatile/include/plat/clcd.h deleted +0 -9
@@ -1,9 +0,0 @@ -#ifndef PLAT_CLCD_H -#define PLAT_CLCD_H - -struct clcd_panel *versatile_clcd_get_panel (const char *); -int versatile_clcd_setup_dma (struct clcd_fb *,unsigned long ); -int versatile_clcd_mmap_dma (struct clcd_fb *,struct vm_area_struct *); -void versatile_clcd_remove_dma (struct clcd_fb *); - -#endif
drivers/video/Kconfig +6 -0
@@ -321,6 +321,12 @@ config FB_ARMCLCD here and read <file:Documentation/kbuild/modules.txt>. The module will be called amba-clcd. +# Helper logic selected only by the ARM Versatile platform family. +config PLAT_VERSATILE_CLCD + depends on FB_ARMCLCD + depends on PLAT_VERSATILE + bool + config FB_ACORN bool "Acorn VIDC support" depends on (FB = y) && ARM && ARCH_ACORN
drivers/video/Makefile +1 -0
@@ -98,6 +98,7 @@ obj-$(CONFIG_FB_ATMEL) += atmel_lcdfb.o obj-$(CONFIG_FB_PVR2) += pvr2fb.o obj-$(CONFIG_FB_VOODOO1) += sstfb.o obj-$(CONFIG_FB_ARMCLCD) += amba-clcd.o +obj-$(CONFIG_PLAT_VERSATILE_CLCD) += amba-clcd-versatile.o obj-$(CONFIG_FB_GOLDFISH) += goldfishfb.o obj-$(CONFIG_FB_68328) += 68328fb.o obj-$(CONFIG_FB_GBE) += gbefb.o
drivers/video/amba-clcd-versatile.c new file +182 -0
182 lines not on this page · raw message
include/linux/platform_data/video-clcd-versatile.h new file +9 -0
@@ -0,0 +1,9 @@ +#ifndef PLAT_CLCD_H +#define PLAT_CLCD_H + +struct clcd_panel *versatile_clcd_get_panel (const char *); +int versatile_clcd_setup_dma (struct clcd_fb *,unsigned long ); +int versatile_clcd_mmap_dma (struct clcd_fb *,struct vm_area_struct *); +void versatile_clcd_remove_dma (struct clcd_fb *); + +#endif
Signature · 1 line
1.9.3
PATCH 1/1 video: move Versatile CLCD helpers
Quoted 8 lines · Linus Walleij
This moves the Versatile-specific helper code and panel database down into the
drivers/videofolder next to the CLCD driver itself, preserving the config symbol but also moving the header to platform data.This is necessary to rid the Integrator of this final <plat/*> inclusion dependency and get us one less user of the plat-versatile folder.
I don't like those display controller specific panel lookup tables at all, but... Maybe it's still better to have them in the driver itself instead of the arch/arm/.
I presume it's easier to queue this via arm tree, as it touches quite many files there, and only adds a new file in video/.
So my (grudging) ack:
Tomi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140623/0f6ed766/attachment.sig>