Skip to contentSkip to conversation

video: move Versatile CLCD helpers

PATCH New Linus Walleij 2 participants 2 messages May 28, 2014 – Jun 23, 2014

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

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.

Cc Arnd Bergmann <[email protected]>
Cc Jean-Christophe Plagniol-Villard <[email protected]>
Cc Tomi Valkeinen <[email protected]>
Cc linux-fbdev at vger.kernel.org
Cc Russell King <[email protected]>
---
 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
deleted file mode 100644
index 8f3cc9954c16..000000000000
@@ -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
index a938242b0c95..0228165d2d64 100644
@@ -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
index 1d5ee5c9a1dc..ac7184c6ea13 100644
@@ -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
index f2c89fb8fca9..5a19d6e3c791 100644
@@ -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
index 6f34497a4245..641c940f157e 100644
@@ -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
index 2c4332b9f948..06519520db4e 100644
@@ -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
index f88d448b629c..b648242bb335 100644
@@ -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
deleted file mode 100644
index 6bb6a1d2019b..000000000000
@@ -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
index 6c793bc683d9..dfc27de20e03 100644
@@ -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
index 1be26fe10592..cd5baec3ac50 100644
@@ -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
new file mode 100644
index 000000000000..6bb6a1d2019b
@@ -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
#1 lore raw

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/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.

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>