All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver
@ 2011-12-15 12:11 Manjunath Hadli
  2011-12-15 12:11   ` Manjunath Hadli
                   ` (10 more replies)
  0 siblings, 11 replies; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:11 UTC (permalink / raw)
  To: linux-arm-kernel

Re-arrange definitions and remove unnecessary code so that we can
have a common header for all davinci platforms. This will enable
us to share defines and enable common routines to be used without
polluting hardware.h. 

This is consistent with Russel's pet peaves notes regarding
non-pollution of include/mach.

Having this as the base, have a common system module
base address (DAVINCI_SYSTEM_MODULE_BASE) and removing IO_ADDRESS
macro,add support for dm644x VPBE display driver.

Changes from last version:
1. Sergei's comments for changing form XXX_REG_BASE to XXX_BASE.
2. Removal of unnecassary typecasting.

Manjunath Hadli (11):
  davinci: vpif: remove obsolete header file inclusion
  ARM: davinci: dm644x: remove the macros from the header to move to c
    file
  ARM: davinci: dm365: remove the macros from the header to move to c
    file
  ARM: davinci: dm646x: remove the macros from the header to move to c
    file
  ARM: davinci: create new common platform header for davinci
  davinci: eliminate use of IO_ADDRESS() on sysmod
  davinci: dm644x: Replace register base value with a defined macro
  davinci: dm644x: change vpfe capture structure variables for
    consistency
  davinci: dm644x: move vpfe init from soc to board specific files
  davinci: dm644x: add support for v4l2 video display
  davinci: dm644x EVM: add support for VPBE display

 arch/arm/mach-davinci/board-dm355-evm.c       |    2 +-
 arch/arm/mach-davinci/board-dm355-leopard.c   |    2 +-
 arch/arm/mach-davinci/board-dm365-evm.c       |    2 +-
 arch/arm/mach-davinci/board-dm644x-evm.c      |  133 ++++++++++++++++--
 arch/arm/mach-davinci/board-dm646x-evm.c      |    2 +-
 arch/arm/mach-davinci/board-neuros-osd2.c     |    2 +-
 arch/arm/mach-davinci/board-sffsdr.c          |    2 +-
 arch/arm/mach-davinci/davinci.h               |  101 +++++++++++++
 arch/arm/mach-davinci/devices.c               |   25 ++--
 arch/arm/mach-davinci/dm355.c                 |    3 +-
 arch/arm/mach-davinci/dm365.c                 |   19 +++-
 arch/arm/mach-davinci/dm644x.c                |  186 ++++++++++++++++++++++---
 arch/arm/mach-davinci/dm646x.c                |   10 ++-
 arch/arm/mach-davinci/include/mach/dm355.h    |   32 -----
 arch/arm/mach-davinci/include/mach/dm365.h    |   52 -------
 arch/arm/mach-davinci/include/mach/dm644x.h   |   47 ------
 arch/arm/mach-davinci/include/mach/dm646x.h   |   41 ------
 arch/arm/mach-davinci/include/mach/hardware.h |    2 -
 drivers/media/video/davinci/vpif.h            |    2 +-
 drivers/media/video/davinci/vpif_display.c    |    2 -
 20 files changed, 438 insertions(+), 229 deletions(-)
 create mode 100644 arch/arm/mach-davinci/davinci.h
 delete mode 100644 arch/arm/mach-davinci/include/mach/dm355.h
 delete mode 100644 arch/arm/mach-davinci/include/mach/dm365.h
 delete mode 100644 arch/arm/mach-davinci/include/mach/dm644x.h
 delete mode 100644 arch/arm/mach-davinci/include/mach/dm646x.h

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v6 01/11] davinci: vpif: remove obsolete header file inclusion
  2011-12-15 12:11 [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver Manjunath Hadli
@ 2011-12-15 12:11   ` Manjunath Hadli
  2011-12-15 12:11 ` [PATCH v6 02/11] ARM: davinci: dm644x: remove the macros from the header to move to c file Manjunath Hadli
                     ` (9 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:11 UTC (permalink / raw)
  To: dlos, LAK; +Cc: Manjunath Hadli, Mauro Carvalho Chehab, LMML

remove inclusion of header files from vpif.h and vpif_dispaly.c
and add appropriate header file for building.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: LMML <linux-media@vger.kernel.org>
---
 drivers/media/video/davinci/vpif.h         |    2 +-
 drivers/media/video/davinci/vpif_display.c |    2 --
 2 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/drivers/media/video/davinci/vpif.h b/drivers/media/video/davinci/vpif.h
index 25036cb..c96268a 100644
--- a/drivers/media/video/davinci/vpif.h
+++ b/drivers/media/video/davinci/vpif.h
@@ -19,7 +19,7 @@
 #include <linux/io.h>
 #include <linux/videodev2.h>
 #include <mach/hardware.h>
-#include <mach/dm646x.h>
+#include <linux/i2c.h>
 #include <media/davinci/vpif_types.h>
 
 /* Maximum channel allowed */
diff --git a/drivers/media/video/davinci/vpif_display.c b/drivers/media/video/davinci/vpif_display.c
index 286f029..7fa34b4 100644
--- a/drivers/media/video/davinci/vpif_display.c
+++ b/drivers/media/video/davinci/vpif_display.c
@@ -39,8 +39,6 @@
 #include <media/v4l2-ioctl.h>
 #include <media/v4l2-chip-ident.h>
 
-#include <mach/dm646x.h>
-
 #include "vpif_display.h"
 #include "vpif.h"
 
-- 
1.6.2.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v6 01/11] davinci: vpif: remove obsolete header file inclusion
@ 2011-12-15 12:11   ` Manjunath Hadli
  0 siblings, 0 replies; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:11 UTC (permalink / raw)
  To: linux-arm-kernel

remove inclusion of header files from vpif.h and vpif_dispaly.c
and add appropriate header file for building.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: LMML <linux-media@vger.kernel.org>
---
 drivers/media/video/davinci/vpif.h         |    2 +-
 drivers/media/video/davinci/vpif_display.c |    2 --
 2 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/drivers/media/video/davinci/vpif.h b/drivers/media/video/davinci/vpif.h
index 25036cb..c96268a 100644
--- a/drivers/media/video/davinci/vpif.h
+++ b/drivers/media/video/davinci/vpif.h
@@ -19,7 +19,7 @@
 #include <linux/io.h>
 #include <linux/videodev2.h>
 #include <mach/hardware.h>
-#include <mach/dm646x.h>
+#include <linux/i2c.h>
 #include <media/davinci/vpif_types.h>
 
 /* Maximum channel allowed */
diff --git a/drivers/media/video/davinci/vpif_display.c b/drivers/media/video/davinci/vpif_display.c
index 286f029..7fa34b4 100644
--- a/drivers/media/video/davinci/vpif_display.c
+++ b/drivers/media/video/davinci/vpif_display.c
@@ -39,8 +39,6 @@
 #include <media/v4l2-ioctl.h>
 #include <media/v4l2-chip-ident.h>
 
-#include <mach/dm646x.h>
-
 #include "vpif_display.h"
 #include "vpif.h"
 
-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v6 02/11] ARM: davinci: dm644x: remove the macros from the header to move to c file
  2011-12-15 12:11 [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver Manjunath Hadli
  2011-12-15 12:11   ` Manjunath Hadli
@ 2011-12-15 12:11 ` Manjunath Hadli
  2011-12-20  6:30   ` Nori, Sekhar
  2011-12-15 12:11 ` [PATCH v6 03/11] ARM: davinci: dm365: " Manjunath Hadli
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:11 UTC (permalink / raw)
  To: linux-arm-kernel

move the register base addresses and offsets used only by dm644x
platform file from platform header dm644x.h to dm644x.c as they
are used only in the c file.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
---
 arch/arm/mach-davinci/dm644x.c              |    7 +++++++
 arch/arm/mach-davinci/include/mach/dm644x.h |    7 -------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c
index 3470983..27d1371 100644
--- a/arch/arm/mach-davinci/dm644x.c
+++ b/arch/arm/mach-davinci/dm644x.c
@@ -35,6 +35,13 @@
  */
 #define DM644X_REF_FREQ		27000000
 
+#define DM644X_EMAC_BASE		0x01c80000
+#define DM644X_EMAC_MDIO_BASE		(DM644X_EMAC_BASE + 0x4000)
+#define DM644X_EMAC_CNTRL_OFFSET	0x0000
+#define DM644X_EMAC_CNTRL_MOD_OFFSET	0x1000
+#define DM644X_EMAC_CNTRL_RAM_OFFSET	0x2000
+#define DM644X_EMAC_CNTRL_RAM_SIZE	0x2000
+
 static struct pll_data pll1_data = {
 	.num       = 1,
 	.phys_base = DAVINCI_PLL1_BASE,
diff --git a/arch/arm/mach-davinci/include/mach/dm644x.h b/arch/arm/mach-davinci/include/mach/dm644x.h
index 5a1b26d..724377f 100644
--- a/arch/arm/mach-davinci/include/mach/dm644x.h
+++ b/arch/arm/mach-davinci/include/mach/dm644x.h
@@ -27,13 +27,6 @@
 #include <mach/asp.h>
 #include <media/davinci/vpfe_capture.h>
 
-#define DM644X_EMAC_BASE		(0x01C80000)
-#define DM644X_EMAC_MDIO_BASE		(DM644X_EMAC_BASE + 0x4000)
-#define DM644X_EMAC_CNTRL_OFFSET	(0x0000)
-#define DM644X_EMAC_CNTRL_MOD_OFFSET	(0x1000)
-#define DM644X_EMAC_CNTRL_RAM_OFFSET	(0x2000)
-#define DM644X_EMAC_CNTRL_RAM_SIZE	(0x2000)
-
 #define DM644X_ASYNC_EMIF_CONTROL_BASE	0x01E00000
 #define DM644X_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
 #define DM644X_ASYNC_EMIF_DATA_CE1_BASE 0x04000000
-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v6 03/11] ARM: davinci: dm365: remove the macros from the header to move to c file
  2011-12-15 12:11 [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver Manjunath Hadli
  2011-12-15 12:11   ` Manjunath Hadli
  2011-12-15 12:11 ` [PATCH v6 02/11] ARM: davinci: dm644x: remove the macros from the header to move to c file Manjunath Hadli
@ 2011-12-15 12:11 ` Manjunath Hadli
  2011-12-20  9:02   ` Nori, Sekhar
  2011-12-15 12:11 ` [PATCH v6 04/11] ARM: davinci: dm646x: " Manjunath Hadli
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:11 UTC (permalink / raw)
  To: linux-arm-kernel

move the register base addresses and offsets used only by dm365
platform file from platform header dm365.h to dm365.c as they
are used only in the c file.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
---
 arch/arm/mach-davinci/dm365.c              |   16 ++++++++++++++++
 arch/arm/mach-davinci/include/mach/dm365.h |   16 ----------------
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c
index 679e168..77edee8 100644
--- a/arch/arm/mach-davinci/dm365.c
+++ b/arch/arm/mach-davinci/dm365.c
@@ -40,6 +40,22 @@
 
 #define DM365_REF_FREQ		24000000	/* 24 MHz on the DM365 EVM */
 
+/* Base of key scan register bank */
+#define DM365_KEYSCAN_BASE		0x01c69400
+
+#define DM365_RTC_BASE			0x01c69000
+
+#define DAVINCI_DM365_VC_BASE		0x01d0c000
+#define DAVINCI_DMA_VC_TX		2
+#define DAVINCI_DMA_VC_RX		3
+
+#define DM365_EMAC_BASE			0x01d07000
+#define DM365_EMAC_MDIO_BASE		(DM365_EMAC_BASE + 0x4000)
+#define DM365_EMAC_CNTRL_OFFSET		0x0000
+#define DM365_EMAC_CNTRL_MOD_OFFSET	0x3000
+#define DM365_EMAC_CNTRL_RAM_OFFSET	0x1000
+#define DM365_EMAC_CNTRL_RAM_SIZE	0x2000
+
 static struct pll_data pll1_data = {
 	.num		= 1,
 	.phys_base	= DAVINCI_PLL1_BASE,
diff --git a/arch/arm/mach-davinci/include/mach/dm365.h b/arch/arm/mach-davinci/include/mach/dm365.h
index 2563bf4..51924de 100644
--- a/arch/arm/mach-davinci/include/mach/dm365.h
+++ b/arch/arm/mach-davinci/include/mach/dm365.h
@@ -20,22 +20,6 @@
 #include <mach/keyscan.h>
 #include <media/davinci/vpfe_capture.h>
 
-#define DM365_EMAC_BASE			(0x01D07000)
-#define DM365_EMAC_MDIO_BASE		(DM365_EMAC_BASE + 0x4000)
-#define DM365_EMAC_CNTRL_OFFSET		(0x0000)
-#define DM365_EMAC_CNTRL_MOD_OFFSET	(0x3000)
-#define DM365_EMAC_CNTRL_RAM_OFFSET	(0x1000)
-#define DM365_EMAC_CNTRL_RAM_SIZE	(0x2000)
-
-/* Base of key scan register bank */
-#define DM365_KEYSCAN_BASE		(0x01C69400)
-
-#define DM365_RTC_BASE			(0x01C69000)
-
-#define DAVINCI_DM365_VC_BASE		(0x01D0C000)
-#define DAVINCI_DMA_VC_TX		2
-#define DAVINCI_DMA_VC_RX		3
-
 #define DM365_ASYNC_EMIF_CONTROL_BASE	0x01D10000
 #define DM365_ASYNC_EMIF_DATA_CE0_BASE	0x02000000
 #define DM365_ASYNC_EMIF_DATA_CE1_BASE	0x04000000
-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v6 04/11] ARM: davinci: dm646x: remove the macros from the header to move to c file
  2011-12-15 12:11 [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver Manjunath Hadli
                   ` (2 preceding siblings ...)
  2011-12-15 12:11 ` [PATCH v6 03/11] ARM: davinci: dm365: " Manjunath Hadli
@ 2011-12-15 12:11 ` Manjunath Hadli
  2011-12-20 13:19   ` Nori, Sekhar
  2011-12-15 12:11 ` [PATCH v6 05/11] ARM: davinci: create new common platform header for davinci Manjunath Hadli
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:11 UTC (permalink / raw)
  To: linux-arm-kernel

move the register base addresses and offsets used only by dm646x
platform file from platform header dm646x.h to dm646x.c as they
are used only in the c file.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
---
 arch/arm/mach-davinci/dm646x.c              |    7 +++++++
 arch/arm/mach-davinci/include/mach/dm646x.h |    7 -------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c
index 0b68ed5..0560e82 100644
--- a/arch/arm/mach-davinci/dm646x.c
+++ b/arch/arm/mach-davinci/dm646x.c
@@ -46,6 +46,13 @@
 #define DM646X_REF_FREQ		27000000
 #define DM646X_AUX_FREQ		24000000
 
+#define DM646X_EMAC_BASE		0x01c80000
+#define DM646X_EMAC_MDIO_BASE		(DM646X_EMAC_BASE + 0x4000)
+#define DM646X_EMAC_CNTRL_OFFSET	0x0000
+#define DM646X_EMAC_CNTRL_MOD_OFFSET	0x1000
+#define DM646X_EMAC_CNTRL_RAM_OFFSET	0x2000
+#define DM646X_EMAC_CNTRL_RAM_SIZE	0x2000
+
 static struct pll_data pll1_data = {
 	.num       = 1,
 	.phys_base = DAVINCI_PLL1_BASE,
diff --git a/arch/arm/mach-davinci/include/mach/dm646x.h b/arch/arm/mach-davinci/include/mach/dm646x.h
index a8ee6c9..eb95864 100644
--- a/arch/arm/mach-davinci/include/mach/dm646x.h
+++ b/arch/arm/mach-davinci/include/mach/dm646x.h
@@ -18,13 +18,6 @@
 #include <linux/davinci_emac.h>
 #include <media/davinci/vpif_types.h>
 
-#define DM646X_EMAC_BASE		(0x01C80000)
-#define DM646X_EMAC_MDIO_BASE		(DM646X_EMAC_BASE + 0x4000)
-#define DM646X_EMAC_CNTRL_OFFSET	(0x0000)
-#define DM646X_EMAC_CNTRL_MOD_OFFSET	(0x1000)
-#define DM646X_EMAC_CNTRL_RAM_OFFSET	(0x2000)
-#define DM646X_EMAC_CNTRL_RAM_SIZE	(0x2000)
-
 #define DM646X_ASYNC_EMIF_CONTROL_BASE	0x20008000
 #define DM646X_ASYNC_EMIF_CS2_SPACE_BASE 0x42000000
 
-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v6 05/11] ARM: davinci: create new common platform header for davinci
  2011-12-15 12:11 [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver Manjunath Hadli
                   ` (3 preceding siblings ...)
  2011-12-15 12:11 ` [PATCH v6 04/11] ARM: davinci: dm646x: " Manjunath Hadli
@ 2011-12-15 12:11 ` Manjunath Hadli
  2011-12-20 19:15   ` Nori, Sekhar
  2011-12-15 12:11 ` [PATCH v6 06/11] davinci: eliminate use of IO_ADDRESS() on sysmod Manjunath Hadli
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:11 UTC (permalink / raw)
  To: linux-arm-kernel

remove the code from individual platform header files for
dm365, dm355, dm644x and dm646x and consolidate it into a
single and common header file davinci.h.

This reduces the pollution in the include/mach and is consistent
with Russel's suggestions as part of his "pet peaves" mail.

The further patches in the series take  advantage of this consolidation
for easy implementation of IO_ADDRESS elimination.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
---
 arch/arm/mach-davinci/board-dm355-evm.c     |    2 +-
 arch/arm/mach-davinci/board-dm355-leopard.c |    2 +-
 arch/arm/mach-davinci/board-dm365-evm.c     |    2 +-
 arch/arm/mach-davinci/board-dm644x-evm.c    |    2 +-
 arch/arm/mach-davinci/board-dm646x-evm.c    |    2 +-
 arch/arm/mach-davinci/board-neuros-osd2.c   |    2 +-
 arch/arm/mach-davinci/board-sffsdr.c        |    2 +-
 arch/arm/mach-davinci/davinci.h             |   87 +++++++++++++++++++++++++++
 arch/arm/mach-davinci/dm355.c               |    2 +-
 arch/arm/mach-davinci/dm365.c               |    2 +-
 arch/arm/mach-davinci/dm644x.c              |    2 +-
 arch/arm/mach-davinci/dm646x.c              |    2 +-
 arch/arm/mach-davinci/include/mach/dm355.h  |   32 ----------
 arch/arm/mach-davinci/include/mach/dm365.h  |   36 -----------
 arch/arm/mach-davinci/include/mach/dm644x.h |   40 ------------
 arch/arm/mach-davinci/include/mach/dm646x.h |   34 ----------
 16 files changed, 98 insertions(+), 153 deletions(-)
 create mode 100644 arch/arm/mach-davinci/davinci.h
 delete mode 100644 arch/arm/mach-davinci/include/mach/dm355.h
 delete mode 100644 arch/arm/mach-davinci/include/mach/dm365.h
 delete mode 100644 arch/arm/mach-davinci/include/mach/dm644x.h
 delete mode 100644 arch/arm/mach-davinci/include/mach/dm646x.h

diff --git a/arch/arm/mach-davinci/board-dm355-evm.c b/arch/arm/mach-davinci/board-dm355-evm.c
index 4e0e707..7ae0d15 100644
--- a/arch/arm/mach-davinci/board-dm355-evm.c
+++ b/arch/arm/mach-davinci/board-dm355-evm.c
@@ -26,7 +26,7 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
-#include <mach/dm355.h>
+#include "davinci.h"
 #include <mach/i2c.h>
 #include <mach/serial.h>
 #include <mach/nand.h>
diff --git a/arch/arm/mach-davinci/board-dm355-leopard.c b/arch/arm/mach-davinci/board-dm355-leopard.c
index ff2d241..56f88de 100644
--- a/arch/arm/mach-davinci/board-dm355-leopard.c
+++ b/arch/arm/mach-davinci/board-dm355-leopard.c
@@ -23,7 +23,7 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
-#include <mach/dm355.h>
+#include "davinci.h"
 #include <mach/i2c.h>
 #include <mach/serial.h>
 #include <mach/nand.h>
diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c
index 1918ae7..613ed00 100644
--- a/arch/arm/mach-davinci/board-dm365-evm.c
+++ b/arch/arm/mach-davinci/board-dm365-evm.c
@@ -32,7 +32,7 @@
 #include <asm/mach/arch.h>
 
 #include <mach/mux.h>
-#include <mach/dm365.h>
+#include "davinci.h"
 #include <mach/common.h>
 #include <mach/i2c.h>
 #include <mach/serial.h>
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c
index 0cf8abf..00e8599 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -30,7 +30,7 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
-#include <mach/dm644x.h>
+#include "davinci.h"
 #include <mach/common.h>
 #include <mach/i2c.h>
 #include <mach/serial.h>
diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c
index e574d7f..c0f9ea2 100644
--- a/arch/arm/mach-davinci/board-dm646x-evm.c
+++ b/arch/arm/mach-davinci/board-dm646x-evm.c
@@ -36,7 +36,7 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
-#include <mach/dm646x.h>
+#include "davinci.h"
 #include <mach/common.h>
 #include <mach/serial.h>
 #include <mach/i2c.h>
diff --git a/arch/arm/mach-davinci/board-neuros-osd2.c b/arch/arm/mach-davinci/board-neuros-osd2.c
index e5f231a..edc6ff7 100644
--- a/arch/arm/mach-davinci/board-neuros-osd2.c
+++ b/arch/arm/mach-davinci/board-neuros-osd2.c
@@ -30,7 +30,7 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 
-#include <mach/dm644x.h>
+#include "davinci.h"
 #include <mach/common.h>
 #include <mach/i2c.h>
 #include <mach/serial.h>
diff --git a/arch/arm/mach-davinci/board-sffsdr.c b/arch/arm/mach-davinci/board-sffsdr.c
index 5dd4da9..122c7aa 100644
--- a/arch/arm/mach-davinci/board-sffsdr.c
+++ b/arch/arm/mach-davinci/board-sffsdr.c
@@ -35,7 +35,7 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/flash.h>
 
-#include <mach/dm644x.h>
+#include "davinci.h"
 #include <mach/common.h>
 #include <mach/i2c.h>
 #include <mach/serial.h>
diff --git a/arch/arm/mach-davinci/davinci.h b/arch/arm/mach-davinci/davinci.h
new file mode 100644
index 0000000..3e6def4
--- /dev/null
+++ b/arch/arm/mach-davinci/davinci.h
@@ -0,0 +1,87 @@
+/*
+ * This file contains the processor specific definitions
+ * of the TI DM644x, DM355, DM365, and DM646x.
+ *
+ * Copyright (C) 2011 Texas Instruments Incorporated
+ *
+ * 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 version 2.
+ *
+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+#ifndef __DAVINCI_H
+#define __DAVINCI_H
+
+#include <mach/asp.h>
+#include <linux/clk.h>
+#include <linux/i2c.h>
+#include <mach/keyscan.h>
+#include <linux/videodev2.h>
+#include <linux/davinci_emac.h>
+#include <linux/platform_device.h>
+#include <media/davinci/vpfe_capture.h>
+#include <media/davinci/vpif_types.h>
+
+/* DM355 base addresses */
+#define DM355_ASYNC_EMIF_CONTROL_BASE	0x01e10000
+#define DM355_ASYNC_EMIF_DATA_CE0_BASE	0x02000000
+
+#define ASP1_TX_EVT_EN	1
+#define ASP1_RX_EVT_EN	2
+
+/* DM365 base addresses */
+#define DM365_ASYNC_EMIF_CONTROL_BASE	0x01d10000
+#define DM365_ASYNC_EMIF_DATA_CE0_BASE	0x02000000
+#define DM365_ASYNC_EMIF_DATA_CE1_BASE	0x04000000
+
+/* DM644x base addresses */
+#define DM644X_ASYNC_EMIF_CONTROL_BASE	0x01e00000
+#define DM644X_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
+#define DM644X_ASYNC_EMIF_DATA_CE1_BASE 0x04000000
+#define DM644X_ASYNC_EMIF_DATA_CE2_BASE 0x06000000
+#define DM644X_ASYNC_EMIF_DATA_CE3_BASE 0x08000000
+
+/* DM646x base addresses */
+#define DM646X_ASYNC_EMIF_CONTROL_BASE	0x20008000
+#define DM646X_ASYNC_EMIF_CS2_SPACE_BASE 0x42000000
+
+/* DM355 function declarations */
+struct spi_board_info;
+
+void __init dm355_init(void);
+void dm355_init_spi0(unsigned chipselect_mask,
+		struct spi_board_info *info, unsigned len);
+void __init dm355_init_asp1(u32 evt_enable, struct snd_platform_data *pdata);
+void dm355_set_vpfe_config(struct vpfe_config *cfg);
+
+/* DM365 function declarations */
+void __init dm365_init(void);
+void __init dm365_init_asp(struct snd_platform_data *pdata);
+void __init dm365_init_vc(struct snd_platform_data *pdata);
+void __init dm365_init_ks(struct davinci_ks_platform_data *pdata);
+void __init dm365_init_rtc(void);
+void dm365_init_spi0(unsigned chipselect_mask,
+			struct spi_board_info *info, unsigned len);
+
+void dm365_set_vpfe_config(struct vpfe_config *cfg);
+
+/* DM644x function declarations */
+void __init dm644x_init(void);
+void __init dm644x_init_asp(struct snd_platform_data *pdata);
+void dm644x_set_vpfe_config(struct vpfe_config *cfg);
+
+/* DM646x function declarations */
+void __init dm646x_init(void);
+void __init dm646x_init_mcasp0(struct snd_platform_data *pdata);
+void __init dm646x_init_mcasp1(struct snd_platform_data *pdata);
+int __init dm646x_init_edma(struct edma_rsv_info *rsv);
+
+void dm646x_video_init(void);
+
+void dm646x_setup_vpif(struct vpif_display_config *,
+		       struct vpif_capture_config *);
+#endif /*__DAVINCI_H */
diff --git a/arch/arm/mach-davinci/dm355.c b/arch/arm/mach-davinci/dm355.c
index fe520d4..36744ff 100644
--- a/arch/arm/mach-davinci/dm355.c
+++ b/arch/arm/mach-davinci/dm355.c
@@ -18,7 +18,7 @@
 
 #include <asm/mach/map.h>
 
-#include <mach/dm355.h>
+#include "davinci.h"
 #include <mach/cputype.h>
 #include <mach/edma.h>
 #include <mach/psc.h>
diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c
index 77edee8..3171cd1 100644
--- a/arch/arm/mach-davinci/dm365.c
+++ b/arch/arm/mach-davinci/dm365.c
@@ -21,7 +21,7 @@
 
 #include <asm/mach/map.h>
 
-#include <mach/dm365.h>
+#include "davinci.h"
 #include <mach/cputype.h>
 #include <mach/edma.h>
 #include <mach/psc.h>
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c
index 27d1371..b84b220 100644
--- a/arch/arm/mach-davinci/dm644x.c
+++ b/arch/arm/mach-davinci/dm644x.c
@@ -15,7 +15,7 @@
 
 #include <asm/mach/map.h>
 
-#include <mach/dm644x.h>
+#include "davinci.h"
 #include <mach/cputype.h>
 #include <mach/edma.h>
 #include <mach/irqs.h>
diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c
index 0560e82..a6a9cde 100644
--- a/arch/arm/mach-davinci/dm646x.c
+++ b/arch/arm/mach-davinci/dm646x.c
@@ -16,7 +16,7 @@
 
 #include <asm/mach/map.h>
 
-#include <mach/dm646x.h>
+#include "davinci.h"
 #include <mach/cputype.h>
 #include <mach/edma.h>
 #include <mach/irqs.h>
diff --git a/arch/arm/mach-davinci/include/mach/dm355.h b/arch/arm/mach-davinci/include/mach/dm355.h
deleted file mode 100644
index 36dff4a..0000000
--- a/arch/arm/mach-davinci/include/mach/dm355.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Chip specific defines for DM355 SoC
- *
- * Author: Kevin Hilman, Deep Root Systems, LLC
- *
- * 2007 (c) Deep Root Systems, LLC. This file is licensed under
- * the terms of the GNU General Public License version 2. This program
- * is licensed "as is" without any warranty of any kind, whether express
- * or implied.
- */
-#ifndef __ASM_ARCH_DM355_H
-#define __ASM_ARCH_DM355_H
-
-#include <mach/hardware.h>
-#include <mach/asp.h>
-#include <media/davinci/vpfe_capture.h>
-
-#define DM355_ASYNC_EMIF_CONTROL_BASE	0x01E10000
-#define DM355_ASYNC_EMIF_DATA_CE0_BASE	0x02000000
-
-#define ASP1_TX_EVT_EN	1
-#define ASP1_RX_EVT_EN	2
-
-struct spi_board_info;
-
-void __init dm355_init(void);
-void dm355_init_spi0(unsigned chipselect_mask,
-		struct spi_board_info *info, unsigned len);
-void __init dm355_init_asp1(u32 evt_enable, struct snd_platform_data *pdata);
-void dm355_set_vpfe_config(struct vpfe_config *cfg);
-
-#endif /* __ASM_ARCH_DM355_H */
diff --git a/arch/arm/mach-davinci/include/mach/dm365.h b/arch/arm/mach-davinci/include/mach/dm365.h
deleted file mode 100644
index 51924de..0000000
--- a/arch/arm/mach-davinci/include/mach/dm365.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2009 Texas Instruments Incorporated
- *
- * 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 version 2.
- *
- * This program is distributed "as is" WITHOUT ANY WARRANTY of any
- * kind, whether express or implied; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-#ifndef __ASM_ARCH_DM365_H
-#define __ASM_ARCH_DM665_H
-
-#include <linux/platform_device.h>
-#include <linux/davinci_emac.h>
-#include <mach/hardware.h>
-#include <mach/asp.h>
-#include <mach/keyscan.h>
-#include <media/davinci/vpfe_capture.h>
-
-#define DM365_ASYNC_EMIF_CONTROL_BASE	0x01D10000
-#define DM365_ASYNC_EMIF_DATA_CE0_BASE	0x02000000
-#define DM365_ASYNC_EMIF_DATA_CE1_BASE	0x04000000
-
-void __init dm365_init(void);
-void __init dm365_init_asp(struct snd_platform_data *pdata);
-void __init dm365_init_vc(struct snd_platform_data *pdata);
-void __init dm365_init_ks(struct davinci_ks_platform_data *pdata);
-void __init dm365_init_rtc(void);
-void dm365_init_spi0(unsigned chipselect_mask,
-			struct spi_board_info *info, unsigned len);
-
-void dm365_set_vpfe_config(struct vpfe_config *cfg);
-#endif /* __ASM_ARCH_DM365_H */
diff --git a/arch/arm/mach-davinci/include/mach/dm644x.h b/arch/arm/mach-davinci/include/mach/dm644x.h
deleted file mode 100644
index 724377f..0000000
--- a/arch/arm/mach-davinci/include/mach/dm644x.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * This file contains the processor specific definitions
- * of the TI DM644x.
- *
- * Copyright (C) 2008 Texas Instruments.
- *
- * 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
- *
- */
-#ifndef __ASM_ARCH_DM644X_H
-#define __ASM_ARCH_DM644X_H
-
-#include <linux/davinci_emac.h>
-#include <mach/hardware.h>
-#include <mach/asp.h>
-#include <media/davinci/vpfe_capture.h>
-
-#define DM644X_ASYNC_EMIF_CONTROL_BASE	0x01E00000
-#define DM644X_ASYNC_EMIF_DATA_CE0_BASE 0x02000000
-#define DM644X_ASYNC_EMIF_DATA_CE1_BASE 0x04000000
-#define DM644X_ASYNC_EMIF_DATA_CE2_BASE 0x06000000
-#define DM644X_ASYNC_EMIF_DATA_CE3_BASE 0x08000000
-
-void __init dm644x_init(void);
-void __init dm644x_init_asp(struct snd_platform_data *pdata);
-void dm644x_set_vpfe_config(struct vpfe_config *cfg);
-
-#endif /* __ASM_ARCH_DM644X_H */
diff --git a/arch/arm/mach-davinci/include/mach/dm646x.h b/arch/arm/mach-davinci/include/mach/dm646x.h
deleted file mode 100644
index eb95864..0000000
--- a/arch/arm/mach-davinci/include/mach/dm646x.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Chip specific defines for DM646x SoC
- *
- * Author: Kevin Hilman, Deep Root Systems, LLC
- *
- * 2007 (c) Deep Root Systems, LLC. This file is licensed under
- * the terms of the GNU General Public License version 2. This program
- * is licensed "as is" without any warranty of any kind, whether express
- * or implied.
- */
-#ifndef __ASM_ARCH_DM646X_H
-#define __ASM_ARCH_DM646X_H
-
-#include <mach/hardware.h>
-#include <mach/asp.h>
-#include <linux/i2c.h>
-#include <linux/videodev2.h>
-#include <linux/davinci_emac.h>
-#include <media/davinci/vpif_types.h>
-
-#define DM646X_ASYNC_EMIF_CONTROL_BASE	0x20008000
-#define DM646X_ASYNC_EMIF_CS2_SPACE_BASE 0x42000000
-
-void __init dm646x_init(void);
-void __init dm646x_init_mcasp0(struct snd_platform_data *pdata);
-void __init dm646x_init_mcasp1(struct snd_platform_data *pdata);
-int __init dm646x_init_edma(struct edma_rsv_info *rsv);
-
-void dm646x_video_init(void);
-
-void dm646x_setup_vpif(struct vpif_display_config *,
-		       struct vpif_capture_config *);
-
-#endif /* __ASM_ARCH_DM646X_H */
-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v6 06/11] davinci: eliminate use of IO_ADDRESS() on sysmod
  2011-12-15 12:11 [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver Manjunath Hadli
                   ` (4 preceding siblings ...)
  2011-12-15 12:11 ` [PATCH v6 05/11] ARM: davinci: create new common platform header for davinci Manjunath Hadli
@ 2011-12-15 12:11 ` Manjunath Hadli
  2011-12-15 12:11 ` [PATCH v6 07/11] davinci: dm644x: Replace register base value with a defined macro Manjunath Hadli
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:11 UTC (permalink / raw)
  To: linux-arm-kernel

Current devices.c file has a number of instances where
IO_ADDRESS() is used for system module register
access. Eliminate this in favor of a ioremap()
based access.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
---
 arch/arm/mach-davinci/davinci.h               |    9 +++++++++
 arch/arm/mach-davinci/devices.c               |   25 ++++++++++++++++---------
 arch/arm/mach-davinci/dm355.c                 |    1 +
 arch/arm/mach-davinci/dm365.c                 |    1 +
 arch/arm/mach-davinci/dm644x.c                |    1 +
 arch/arm/mach-davinci/dm646x.c                |    1 +
 arch/arm/mach-davinci/include/mach/hardware.h |    2 --
 7 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-davinci/davinci.h b/arch/arm/mach-davinci/davinci.h
index 3e6def4..06ed38a 100644
--- a/arch/arm/mach-davinci/davinci.h
+++ b/arch/arm/mach-davinci/davinci.h
@@ -20,12 +20,21 @@
 #include <linux/clk.h>
 #include <linux/i2c.h>
 #include <mach/keyscan.h>
+#include <mach/hardware.h>
 #include <linux/videodev2.h>
 #include <linux/davinci_emac.h>
 #include <linux/platform_device.h>
 #include <media/davinci/vpfe_capture.h>
 #include <media/davinci/vpif_types.h>
 
+#define DAVINCI_SYSTEM_MODULE_BASE        0x01c40000
+
+#ifndef __ASSEMBLER__
+extern void __iomem *davinci_sysmodbase;
+#define DAVINCI_SYSMODULE_VIRT(x)	(davinci_sysmodbase + (x))
+void davinci_map_sysmod(void);
+#endif
+
 /* DM355 base addresses */
 #define DM355_ASYNC_EMIF_CONTROL_BASE	0x01e10000
 #define DM355_ASYNC_EMIF_DATA_CE0_BASE	0x02000000
diff --git a/arch/arm/mach-davinci/devices.c b/arch/arm/mach-davinci/devices.c
index 806a2f0..580d48a 100644
--- a/arch/arm/mach-davinci/devices.c
+++ b/arch/arm/mach-davinci/devices.c
@@ -22,6 +22,7 @@
 #include <mach/edma.h>
 #include <mach/mmc.h>
 #include <mach/time.h>
+#include "davinci.h"
 
 #include "clock.h"
 
@@ -36,6 +37,14 @@
 /* System control register offsets */
 #define DM64XX_VDD3P3V_PWDN	0x48
 
+void __iomem  *davinci_sysmodbase;
+
+void davinci_map_sysmod(void)
+{
+	davinci_sysmodbase = ioremap_nocache(DAVINCI_SYSTEM_MODULE_BASE, 0x800);
+	WARN_ON(!davinci_sysmodbase);
+}
+
 static struct resource i2c_resources[] = {
 	{
 		.start		= DAVINCI_I2C_BASE,
@@ -212,12 +221,12 @@ void __init davinci_setup_mmc(int module, struct davinci_mmc_config *config)
 			davinci_cfg_reg(DM355_SD1_DATA2);
 			davinci_cfg_reg(DM355_SD1_DATA3);
 		} else if (cpu_is_davinci_dm365()) {
-			void __iomem *pupdctl1 =
-				IO_ADDRESS(DAVINCI_SYSTEM_MODULE_BASE + 0x7c);
-
 			/* Configure pull down control */
-			__raw_writel((__raw_readl(pupdctl1) & ~0xfc0),
-					pupdctl1);
+			void __iomem *pupdctl1 = DAVINCI_SYSMODULE_VIRT(0x7c);
+			unsigned v;
+
+			v = __raw_readl(pupdctl1);
+			__raw_writel(v & ~0xfc0, pupdctl1);
 
 			mmcsd1_resources[0].start = DM365_MMCSD1_BASE;
 			mmcsd1_resources[0].end = DM365_MMCSD1_BASE +
@@ -246,11 +255,9 @@ void __init davinci_setup_mmc(int module, struct davinci_mmc_config *config)
 			mmcsd0_resources[2].start = IRQ_DM365_SDIOINT0;
 		} else if (cpu_is_davinci_dm644x()) {
 			/* REVISIT: should this be in board-init code? */
-			void __iomem *base =
-				IO_ADDRESS(DAVINCI_SYSTEM_MODULE_BASE);
-
 			/* Power-on 3.3V IO cells */
-			__raw_writel(0, base + DM64XX_VDD3P3V_PWDN);
+			__raw_writel(0,
+				DAVINCI_SYSMODULE_VIRT(DM64XX_VDD3P3V_PWDN));
 			/*Set up the pull regiter for MMC */
 			davinci_cfg_reg(DM644X_MSTK);
 		}
diff --git a/arch/arm/mach-davinci/dm355.c b/arch/arm/mach-davinci/dm355.c
index 36744ff..1f90c5a 100644
--- a/arch/arm/mach-davinci/dm355.c
+++ b/arch/arm/mach-davinci/dm355.c
@@ -872,6 +872,7 @@ void __init dm355_init_asp1(u32 evt_enable, struct snd_platform_data *pdata)
 void __init dm355_init(void)
 {
 	davinci_common_init(&davinci_soc_info_dm355);
+	davinci_map_sysmod();
 }
 
 static int __init dm355_init_devices(void)
diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c
index 3171cd1..f0801b9 100644
--- a/arch/arm/mach-davinci/dm365.c
+++ b/arch/arm/mach-davinci/dm365.c
@@ -1139,6 +1139,7 @@ void __init dm365_init_rtc(void)
 void __init dm365_init(void)
 {
 	davinci_common_init(&davinci_soc_info_dm365);
+	davinci_map_sysmod();
 }
 
 static struct resource dm365_vpss_resources[] = {
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c
index b84b220..6b1d473 100644
--- a/arch/arm/mach-davinci/dm644x.c
+++ b/arch/arm/mach-davinci/dm644x.c
@@ -787,6 +787,7 @@ void __init dm644x_init_asp(struct snd_platform_data *pdata)
 void __init dm644x_init(void)
 {
 	davinci_common_init(&davinci_soc_info_dm644x);
+	davinci_map_sysmod();
 }
 
 static int __init dm644x_init_devices(void)
diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c
index a6a9cde..1da02fe 100644
--- a/arch/arm/mach-davinci/dm646x.c
+++ b/arch/arm/mach-davinci/dm646x.c
@@ -914,6 +914,7 @@ int __init dm646x_init_edma(struct edma_rsv_info *rsv)
 void __init dm646x_init(void)
 {
 	davinci_common_init(&davinci_soc_info_dm646x);
+	davinci_map_sysmod();
 }
 
 static int __init dm646x_init_devices(void)
diff --git a/arch/arm/mach-davinci/include/mach/hardware.h b/arch/arm/mach-davinci/include/mach/hardware.h
index 414e0b9..0209b1f 100644
--- a/arch/arm/mach-davinci/include/mach/hardware.h
+++ b/arch/arm/mach-davinci/include/mach/hardware.h
@@ -19,8 +19,6 @@
  * and the chip/board init code should then explicitly include
  * <chipname>.h
  */
-#define DAVINCI_SYSTEM_MODULE_BASE        0x01C40000
-
 /*
  * I/O mapping
  */
-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v6 07/11] davinci: dm644x: Replace register base value with a defined macro
  2011-12-15 12:11 [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver Manjunath Hadli
                   ` (5 preceding siblings ...)
  2011-12-15 12:11 ` [PATCH v6 06/11] davinci: eliminate use of IO_ADDRESS() on sysmod Manjunath Hadli
@ 2011-12-15 12:11 ` Manjunath Hadli
  2011-12-15 12:11 ` [PATCH v6 08/11] davinci: dm644x: change vpfe capture structure variables for consistency Manjunath Hadli
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:11 UTC (permalink / raw)
  To: linux-arm-kernel

Replace hard coded value of vpss register base to a define macro
DM644X_VPSS_BASE for proper readability

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
---
 arch/arm/mach-davinci/dm644x.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c
index 6b1d473..39d1332 100644
--- a/arch/arm/mach-davinci/dm644x.c
+++ b/arch/arm/mach-davinci/dm644x.c
@@ -594,13 +594,15 @@ static struct platform_device dm644x_asp_device = {
 	.resource	= dm644x_asp_resources,
 };
 
+#define DM644X_VPSS_BASE	0x01c73400
+
 static struct resource dm644x_vpss_resources[] = {
 	{
 		/* VPSS Base address */
 		.name		= "vpss",
-		.start          = 0x01c73400,
-		.end            = 0x01c73400 + 0xff,
-		.flags          = IORESOURCE_MEM,
+		.start		= DM644X_VPSS_BASE,
+		.end		= DM644X_VPSS_BASE + 0xff,
+		.flags		= IORESOURCE_MEM,
 	},
 };
 
-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v6 08/11] davinci: dm644x: change vpfe capture structure variables for consistency
  2011-12-15 12:11 [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver Manjunath Hadli
                   ` (6 preceding siblings ...)
  2011-12-15 12:11 ` [PATCH v6 07/11] davinci: dm644x: Replace register base value with a defined macro Manjunath Hadli
@ 2011-12-15 12:11 ` Manjunath Hadli
  2011-12-15 12:11 ` [PATCH v6 09/11] davinci: dm644x: move vpfe init from soc to board specific files Manjunath Hadli
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:11 UTC (permalink / raw)
  To: linux-arm-kernel

Add SoC and board prefixes to variable names so that it is
consistent with the rest of the file.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
---
 arch/arm/mach-davinci/board-dm644x-evm.c |   24 ++++++++++++------------
 arch/arm/mach-davinci/dm644x.c           |   12 ++++++------
 2 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c
index 00e8599..fbd3856 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -189,7 +189,7 @@ static struct platform_device davinci_fb_device = {
 	.num_resources = 0,
 };
 
-static struct tvp514x_platform_data tvp5146_pdata = {
+static struct tvp514x_platform_data dm644xevm_tvp5146_pdata = {
 	.clk_polarity = 0,
 	.hs_polarity = 1,
 	.vs_polarity = 1
@@ -197,7 +197,7 @@ static struct tvp514x_platform_data tvp5146_pdata = {
 
 #define TVP514X_STD_ALL	(V4L2_STD_NTSC | V4L2_STD_PAL)
 /* Inputs available at the TVP5146 */
-static struct v4l2_input tvp5146_inputs[] = {
+static struct v4l2_input dm644xevm_tvp5146_inputs[] = {
 	{
 		.index = 0,
 		.name = "Composite",
@@ -217,7 +217,7 @@ static struct v4l2_input tvp5146_inputs[] = {
  * ouput that goes to vpfe. There is a one to one correspondence
  * with tvp5146_inputs
  */
-static struct vpfe_route tvp5146_routes[] = {
+static struct vpfe_route dm644xevm_tvp5146_routes[] = {
 	{
 		.input = INPUT_CVBS_VI2B,
 		.output = OUTPUT_10BIT_422_EMBEDDED_SYNC,
@@ -228,13 +228,13 @@ static struct vpfe_route tvp5146_routes[] = {
 	},
 };
 
-static struct vpfe_subdev_info vpfe_sub_devs[] = {
+static struct vpfe_subdev_info dm644xevm_vpfe_sub_devs[] = {
 	{
 		.name = "tvp5146",
 		.grp_id = 0,
-		.num_inputs = ARRAY_SIZE(tvp5146_inputs),
-		.inputs = tvp5146_inputs,
-		.routes = tvp5146_routes,
+		.num_inputs = ARRAY_SIZE(dm644xevm_tvp5146_inputs),
+		.inputs = dm644xevm_tvp5146_inputs,
+		.routes = dm644xevm_tvp5146_routes,
 		.can_route = 1,
 		.ccdc_if_params = {
 			.if_type = VPFE_BT656,
@@ -243,15 +243,15 @@ static struct vpfe_subdev_info vpfe_sub_devs[] = {
 		},
 		.board_info = {
 			I2C_BOARD_INFO("tvp5146", 0x5d),
-			.platform_data = &tvp5146_pdata,
+			.platform_data = &dm644xevm_tvp5146_pdata,
 		},
 	},
 };
 
-static struct vpfe_config vpfe_cfg = {
-	.num_subdevs = ARRAY_SIZE(vpfe_sub_devs),
+static struct vpfe_config dm644xevm_capture_cfg = {
+	.num_subdevs = ARRAY_SIZE(dm644xevm_vpfe_sub_devs),
 	.i2c_adapter_id = 1,
-	.sub_devs = vpfe_sub_devs,
+	.sub_devs = dm644xevm_vpfe_sub_devs,
 	.card_name = "DM6446 EVM",
 	.ccdc = "DM6446 CCDC",
 };
@@ -625,7 +625,7 @@ static void __init
 davinci_evm_map_io(void)
 {
 	/* setup input configuration for VPFE input devices */
-	dm644x_set_vpfe_config(&vpfe_cfg);
+	dm644x_set_vpfe_config(&dm644xevm_capture_cfg);
 	dm644x_init();
 }
 
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c
index 39d1332..7144277 100644
--- a/arch/arm/mach-davinci/dm644x.c
+++ b/arch/arm/mach-davinci/dm644x.c
@@ -614,7 +614,7 @@ static struct platform_device dm644x_vpss_device = {
 	.resource		= dm644x_vpss_resources,
 };
 
-static struct resource vpfe_resources[] = {
+static struct resource dm644x_vpfe_resources[] = {
 	{
 		.start          = IRQ_VDINT0,
 		.end            = IRQ_VDINT0,
@@ -648,11 +648,11 @@ static struct platform_device dm644x_ccdc_dev = {
 	},
 };
 
-static struct platform_device vpfe_capture_dev = {
+static struct platform_device dm644x_vpfe_dev = {
 	.name		= CAPTURE_DRV_NAME,
 	.id		= -1,
-	.num_resources	= ARRAY_SIZE(vpfe_resources),
-	.resource	= vpfe_resources,
+	.num_resources	= ARRAY_SIZE(dm644x_vpfe_resources),
+	.resource	= dm644x_vpfe_resources,
 	.dev = {
 		.dma_mask		= &vpfe_capture_dma_mask,
 		.coherent_dma_mask	= DMA_BIT_MASK(32),
@@ -661,7 +661,7 @@ static struct platform_device vpfe_capture_dev = {
 
 void dm644x_set_vpfe_config(struct vpfe_config *cfg)
 {
-	vpfe_capture_dev.dev.platform_data = cfg;
+	dm644x_vpfe_dev.dev.platform_data = cfg;
 }
 
 /*----------------------------------------------------------------------*/
@@ -809,7 +809,7 @@ static int __init dm644x_init_devices(void)
 
 	platform_device_register(&dm644x_vpss_device);
 	platform_device_register(&dm644x_ccdc_dev);
-	platform_device_register(&vpfe_capture_dev);
+	platform_device_register(&dm644x_vpfe_dev);
 
 	return 0;
 }
-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v6 09/11] davinci: dm644x: move vpfe init from soc to board specific files
  2011-12-15 12:11 [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver Manjunath Hadli
                   ` (7 preceding siblings ...)
  2011-12-15 12:11 ` [PATCH v6 08/11] davinci: dm644x: change vpfe capture structure variables for consistency Manjunath Hadli
@ 2011-12-15 12:11 ` Manjunath Hadli
  2011-12-15 12:11 ` [PATCH v6 10/11] davinci: dm644x: add support for v4l2 video display Manjunath Hadli
  2011-12-15 12:12 ` [PATCH v6 11/11] davinci: dm644x EVM: add support for VPBE display Manjunath Hadli
  10 siblings, 0 replies; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:11 UTC (permalink / raw)
  To: linux-arm-kernel

Move all vpfe platform device registrations to the board specific
file like the rest of the devices, and have all of them together.

This would remove the  restriction of inclusion and registration of
vpfe platform devices for non-vpfe boards.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
---
 arch/arm/mach-davinci/board-dm644x-evm.c |    3 +--
 arch/arm/mach-davinci/davinci.h          |    2 +-
 arch/arm/mach-davinci/dm644x.c           |   29 +++++++++++++++++------------
 3 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c
index fbd3856..8884125 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -624,8 +624,6 @@ static struct davinci_uart_config uart_config __initdata = {
 static void __init
 davinci_evm_map_io(void)
 {
-	/* setup input configuration for VPFE input devices */
-	dm644x_set_vpfe_config(&dm644xevm_capture_cfg);
 	dm644x_init();
 }
 
@@ -697,6 +695,7 @@ static __init void davinci_evm_init(void)
 	evm_init_i2c();
 
 	davinci_setup_mmc(0, &dm6446evm_mmc_config);
+	dm644x_init_video(&dm644xevm_capture_cfg);
 
 	davinci_serial_init(&uart_config);
 	dm644x_init_asp(&dm644x_evm_snd_data);
diff --git a/arch/arm/mach-davinci/davinci.h b/arch/arm/mach-davinci/davinci.h
index 06ed38a..13cb029 100644
--- a/arch/arm/mach-davinci/davinci.h
+++ b/arch/arm/mach-davinci/davinci.h
@@ -81,7 +81,7 @@ void dm365_set_vpfe_config(struct vpfe_config *cfg);
 /* DM644x function declarations */
 void __init dm644x_init(void);
 void __init dm644x_init_asp(struct snd_platform_data *pdata);
-void dm644x_set_vpfe_config(struct vpfe_config *cfg);
+int __init dm644x_init_video(struct vpfe_config *);
 
 /* DM646x function declarations */
 void __init dm646x_init(void);
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c
index 7144277..4606e5c 100644
--- a/arch/arm/mach-davinci/dm644x.c
+++ b/arch/arm/mach-davinci/dm644x.c
@@ -659,11 +659,6 @@ static struct platform_device dm644x_vpfe_dev = {
 	},
 };
 
-void dm644x_set_vpfe_config(struct vpfe_config *cfg)
-{
-	dm644x_vpfe_dev.dev.platform_data = cfg;
-}
-
 /*----------------------------------------------------------------------*/
 
 static struct map_desc dm644x_io_desc[] = {
@@ -792,14 +787,28 @@ void __init dm644x_init(void)
 	davinci_map_sysmod();
 }
 
+static struct platform_device *dm644x_video_devices[] __initdata = {
+	&dm644x_vpss_device,
+	&dm644x_ccdc_dev,
+	&dm644x_vpfe_dev,
+};
+
+int __init dm644x_init_video(struct vpfe_config *vpfe_cfg)
+{
+	dm644x_vpfe_dev.dev.platform_data = vpfe_cfg;
+	/* Add ccdc clock aliases */
+	clk_add_alias("master", dm644x_ccdc_dev.name, "vpss_master", NULL);
+	clk_add_alias("slave", dm644x_ccdc_dev.name, "vpss_slave", NULL);
+	platform_add_devices(dm644x_video_devices,
+				ARRAY_SIZE(dm644x_video_devices));
+	return 0;
+}
+
 static int __init dm644x_init_devices(void)
 {
 	if (!cpu_is_davinci_dm644x())
 		return 0;
 
-	/* Add ccdc clock aliases */
-	clk_add_alias("master", dm644x_ccdc_dev.name, "vpss_master", NULL);
-	clk_add_alias("slave", dm644x_ccdc_dev.name, "vpss_slave", NULL);
 	platform_device_register(&dm644x_edma_device);
 
 	platform_device_register(&dm644x_mdio_device);
@@ -807,10 +816,6 @@ static int __init dm644x_init_devices(void)
 	clk_add_alias(NULL, dev_name(&dm644x_mdio_device.dev),
 		      NULL, &dm644x_emac_device.dev);
 
-	platform_device_register(&dm644x_vpss_device);
-	platform_device_register(&dm644x_ccdc_dev);
-	platform_device_register(&dm644x_vpfe_dev);
-
 	return 0;
 }
 postcore_initcall(dm644x_init_devices);
-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v6 10/11] davinci: dm644x: add support for v4l2 video display
  2011-12-15 12:11 [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver Manjunath Hadli
                   ` (8 preceding siblings ...)
  2011-12-15 12:11 ` [PATCH v6 09/11] davinci: dm644x: move vpfe init from soc to board specific files Manjunath Hadli
@ 2011-12-15 12:11 ` Manjunath Hadli
  2011-12-15 12:12 ` [PATCH v6 11/11] davinci: dm644x EVM: add support for VPBE display Manjunath Hadli
  10 siblings, 0 replies; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:11 UTC (permalink / raw)
  To: linux-arm-kernel

Create platform devices for various video modules like venc,osd,
vpbe and v4l2 driver for dm644x. Change the dm644x_init_video to
make room for display config, and register the vpfe or vpbe devices
based on the config pointer validity to make sure boards without vpfe
or vpbe can be built with minimal changes.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
---
 arch/arm/mach-davinci/board-dm644x-evm.c |    2 +-
 arch/arm/mach-davinci/davinci.h          |    7 +-
 arch/arm/mach-davinci/dm644x.c           |  163 +++++++++++++++++++++++++++---
 3 files changed, 154 insertions(+), 18 deletions(-)

diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c
index 8884125..eb7daff 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -695,7 +695,7 @@ static __init void davinci_evm_init(void)
 	evm_init_i2c();
 
 	davinci_setup_mmc(0, &dm6446evm_mmc_config);
-	dm644x_init_video(&dm644xevm_capture_cfg);
+	dm644x_init_video(&dm644xevm_capture_cfg, NULL);
 
 	davinci_serial_init(&uart_config);
 	dm644x_init_asp(&dm644x_evm_snd_data);
diff --git a/arch/arm/mach-davinci/davinci.h b/arch/arm/mach-davinci/davinci.h
index 13cb029..bdaa586 100644
--- a/arch/arm/mach-davinci/davinci.h
+++ b/arch/arm/mach-davinci/davinci.h
@@ -26,6 +26,11 @@
 #include <linux/platform_device.h>
 #include <media/davinci/vpfe_capture.h>
 #include <media/davinci/vpif_types.h>
+#include <media/davinci/vpss.h>
+#include <media/davinci/vpbe_types.h>
+#include <media/davinci/vpbe_venc.h>
+#include <media/davinci/vpbe.h>
+#include <media/davinci/vpbe_osd.h>
 
 #define DAVINCI_SYSTEM_MODULE_BASE        0x01c40000
 
@@ -81,7 +86,7 @@ void dm365_set_vpfe_config(struct vpfe_config *cfg);
 /* DM644x function declarations */
 void __init dm644x_init(void);
 void __init dm644x_init_asp(struct snd_platform_data *pdata);
-int __init dm644x_init_video(struct vpfe_config *);
+int __init dm644x_init_video(struct vpfe_config *, struct vpbe_config *);
 
 /* DM646x function declarations */
 void __init dm646x_init(void);
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c
index 4606e5c..243876c 100644
--- a/arch/arm/mach-davinci/dm644x.c
+++ b/arch/arm/mach-davinci/dm644x.c
@@ -627,7 +627,7 @@ static struct resource dm644x_vpfe_resources[] = {
 	},
 };
 
-static u64 vpfe_capture_dma_mask = DMA_BIT_MASK(32);
+static u64 dm644x_video_dma_mask = DMA_BIT_MASK(32);
 static struct resource dm644x_ccdc_resource[] = {
 	/* CCDC Base address */
 	{
@@ -643,7 +643,7 @@ static struct platform_device dm644x_ccdc_dev = {
 	.num_resources  = ARRAY_SIZE(dm644x_ccdc_resource),
 	.resource       = dm644x_ccdc_resource,
 	.dev = {
-		.dma_mask               = &vpfe_capture_dma_mask,
+		.dma_mask               = &dm644x_video_dma_mask,
 		.coherent_dma_mask      = DMA_BIT_MASK(32),
 	},
 };
@@ -654,7 +654,127 @@ static struct platform_device dm644x_vpfe_dev = {
 	.num_resources	= ARRAY_SIZE(dm644x_vpfe_resources),
 	.resource	= dm644x_vpfe_resources,
 	.dev = {
-		.dma_mask		= &vpfe_capture_dma_mask,
+		.dma_mask		= &dm644x_video_dma_mask,
+		.coherent_dma_mask	= DMA_BIT_MASK(32),
+	},
+};
+
+#define DM644X_OSD_BASE		0x01c72600
+
+static struct resource dm644x_osd_resources[] = {
+	{
+		.start	= DM644X_OSD_BASE,
+		.end	= DM644X_OSD_BASE + 0x1ff,
+		.flags	= IORESOURCE_MEM,
+	},
+};
+
+static struct osd_platform_data dm644x_osd_data = {
+	.vpbe_type     = VPBE_VERSION_1,
+};
+
+static struct platform_device dm644x_osd_dev = {
+	.name		= VPBE_OSD_SUBDEV_NAME,
+	.id		= -1,
+	.num_resources	= ARRAY_SIZE(dm644x_osd_resources),
+	.resource	= dm644x_osd_resources,
+	.dev		= {
+		.dma_mask		= &dm644x_video_dma_mask,
+		.coherent_dma_mask	= DMA_BIT_MASK(32),
+		.platform_data		= &dm644x_osd_data,
+	},
+};
+
+#define DM644X_VENC_BASE		0x01c72400
+
+static struct resource dm644x_venc_resources[] = {
+	{
+		.start	= DM644X_VENC_BASE,
+		.end	= DM644X_VENC_BASE + 0x17f,
+		.flags	= IORESOURCE_MEM,
+	},
+};
+
+static int dm644x_venc_setup_clock(enum vpbe_enc_timings_type type,
+				   unsigned int mode)
+{
+	int ret = 0;
+	void __iomem *vpss_clkctl_reg;
+
+	vpss_clkctl_reg = DAVINCI_SYSMODULE_VIRT(0x44);
+
+	switch (type) {
+	case VPBE_ENC_STD:
+		writel(0x18, vpss_clkctl_reg);
+		break;
+	case VPBE_ENC_DV_PRESET:
+		switch (mode) {
+		case V4L2_DV_480P59_94:
+		case V4L2_DV_576P50:
+			writel(0x19, vpss_clkctl_reg);
+			break;
+		case V4L2_DV_720P60:
+		case V4L2_DV_1080I60:
+		case V4L2_DV_1080P30:
+			/*
+			 * For HD, use external clock source since
+			 * HD requires higher clock rate
+			 */
+			writel(0xa, vpss_clkctl_reg);
+			break;
+		default:
+			ret = -EINVAL;
+			break;
+		}
+		break;
+	default:
+		ret  = -EINVAL;
+	}
+
+	return ret;
+}
+
+static struct resource dm644x_v4l2_disp_resources[] = {
+	{
+		.start	= IRQ_VENCINT,
+		.end	= IRQ_VENCINT,
+		.flags	= IORESOURCE_IRQ,
+	},
+};
+
+static struct platform_device dm644x_vpbe_display = {
+	.name		= "vpbe-v4l2",
+	.id		= -1,
+	.num_resources	= ARRAY_SIZE(dm644x_v4l2_disp_resources),
+	.resource	= dm644x_v4l2_disp_resources,
+	.dev		= {
+		.dma_mask		= &dm644x_video_dma_mask,
+		.coherent_dma_mask	= DMA_BIT_MASK(32),
+	},
+};
+
+static struct venc_platform_data dm644x_venc_pdata = {
+	.venc_type	= VPBE_VERSION_1,
+	.setup_clock	= dm644x_venc_setup_clock,
+};
+
+static struct platform_device dm644x_venc_dev = {
+	.name		= VPBE_VENC_SUBDEV_NAME,
+	.id		= -1,
+	.num_resources	= ARRAY_SIZE(dm644x_venc_resources),
+	.resource	= dm644x_venc_resources,
+	.dev		= {
+		.dma_mask		= &dm644x_video_dma_mask,
+		.coherent_dma_mask	= DMA_BIT_MASK(32),
+		.platform_data		= &dm644x_venc_pdata,
+	},
+};
+
+static struct platform_device dm644x_vpbe_dev = {
+	.name		= "vpbe_controller",
+	.id		= -1,
+	.dev		= {
+		.dma_mask		= &dm644x_video_dma_mask,
 		.coherent_dma_mask	= DMA_BIT_MASK(32),
 	},
 };
@@ -787,20 +907,31 @@ void __init dm644x_init(void)
 	davinci_map_sysmod();
 }
 
-static struct platform_device *dm644x_video_devices[] __initdata = {
-	&dm644x_vpss_device,
-	&dm644x_ccdc_dev,
-	&dm644x_vpfe_dev,
-};
-
-int __init dm644x_init_video(struct vpfe_config *vpfe_cfg)
+int __init dm644x_init_video(struct vpfe_config *vpfe_cfg,
+				struct vpbe_config *vpbe_cfg)
 {
-	dm644x_vpfe_dev.dev.platform_data = vpfe_cfg;
-	/* Add ccdc clock aliases */
-	clk_add_alias("master", dm644x_ccdc_dev.name, "vpss_master", NULL);
-	clk_add_alias("slave", dm644x_ccdc_dev.name, "vpss_slave", NULL);
-	platform_add_devices(dm644x_video_devices,
-				ARRAY_SIZE(dm644x_video_devices));
+	if (vpfe_cfg || vpbe_cfg)
+		platform_device_register(&dm644x_vpss_device);
+
+	if (vpfe_cfg) {
+		dm644x_vpfe_dev.dev.platform_data = vpfe_cfg;
+		platform_device_register(&dm644x_ccdc_dev);
+		platform_device_register(&dm644x_vpfe_dev);
+		/* Add ccdc clock aliases */
+		clk_add_alias("master", dm644x_ccdc_dev.name,
+			      "vpss_master", NULL);
+		clk_add_alias("slave", dm644x_ccdc_dev.name,
+			      "vpss_slave", NULL);
+	}
+
+	if (vpbe_cfg) {
+		dm644x_vpbe_dev.dev.platform_data = vpbe_cfg;
+		platform_device_register(&dm644x_osd_dev);
+		platform_device_register(&dm644x_venc_dev);
+		platform_device_register(&dm644x_vpbe_dev);
+		platform_device_register(&dm644x_vpbe_display);
+	}
+
 	return 0;
 }
 
-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v6 11/11] davinci: dm644x EVM: add support for VPBE display
  2011-12-15 12:11 [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver Manjunath Hadli
                   ` (9 preceding siblings ...)
  2011-12-15 12:11 ` [PATCH v6 10/11] davinci: dm644x: add support for v4l2 video display Manjunath Hadli
@ 2011-12-15 12:12 ` Manjunath Hadli
  10 siblings, 0 replies; 22+ messages in thread
From: Manjunath Hadli @ 2011-12-15 12:12 UTC (permalink / raw)
  To: linux-arm-kernel

This patch adds support for V4L2 video display to DM6446 EVM.
Support for SD and ED modes is provided, along with Composite
and Component outputs.Also added vpbe_config as a parameter for
dm644x_init_video to allow for registration of vpbe platform devices.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
---
 arch/arm/mach-davinci/board-dm644x-evm.c |  108 +++++++++++++++++++++++++++++-
 1 files changed, 107 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c
index eb7daff..af81dbb 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -612,6 +612,112 @@ static void __init evm_init_i2c(void)
 	i2c_register_board_info(1, i2c_info, ARRAY_SIZE(i2c_info));
 }
 
+#define VENC_STD_ALL	(V4L2_STD_NTSC | V4L2_STD_PAL)
+
+/* venc standard timings */
+static struct vpbe_enc_mode_info dm644xevm_enc_std_timing[] = {
+	{
+		.name		= "ntsc",
+		.timings_type	= VPBE_ENC_STD,
+		.timings	= {V4L2_STD_525_60},
+		.interlaced	= 1,
+		.xres		= 720,
+		.yres		= 480,
+		.aspect		= {11, 10},
+		.fps		= {30000, 1001},
+		.left_margin	= 0x79,
+		.upper_margin	= 0x10,
+	},
+	{
+		.name		= "pal",
+		.timings_type	= VPBE_ENC_STD,
+		.timings	= {V4L2_STD_625_50},
+		.interlaced	= 1,
+		.xres		= 720,
+		.yres		= 576,
+		.aspect		= {54, 59},
+		.fps		= {25, 1},
+		.left_margin	= 0x7e,
+		.upper_margin	= 0x16,
+	},
+};
+
+/* venc dv preset timings */
+static struct vpbe_enc_mode_info dm644xevm_enc_preset_timing[] = {
+	{
+		.name		= "480p59_94",
+		.timings_type	= VPBE_ENC_DV_PRESET,
+		.timings	= {V4L2_DV_480P59_94},
+		.interlaced	= 0,
+		.xres		= 720,
+		.yres		= 480,
+		.aspect		= {1, 1},
+		.fps		= {5994, 100},
+		.left_margin	= 0x80,
+		.upper_margin	= 0x20,
+	},
+	{
+		.name		= "576p50",
+		.timings_type	= VPBE_ENC_DV_PRESET,
+		.timings	= {V4L2_DV_576P50},
+		.interlaced	= 0,
+		.xres		= 720,
+		.yres		= 576,
+		.aspect		= {1, 1},
+		.fps		= {50, 1},
+		.left_margin	= 0x7e,
+		.upper_margin	= 0x30,
+	},
+};
+
+/*
+ * The outputs available from VPBE + encoders. Keep the order same
+ * as that of encoders. First those from venc followed by that from
+ * encoders. Index in the output refers to index on a particular encoder.
+ * Driver uses this index to pass it to encoder when it supports more than
+ * one output. Application uses index of the array to set an output.
+ */
+static struct vpbe_output dm644xevm_vpbe_outputs[] = {
+	{
+		.output		= {
+			.index		= 0,
+			.name		= "Composite",
+			.type		= V4L2_OUTPUT_TYPE_ANALOG,
+			.std		= VENC_STD_ALL,
+			.capabilities	= V4L2_OUT_CAP_STD,
+		},
+		.subdev_name	= VPBE_VENC_SUBDEV_NAME,
+		.default_mode	= "ntsc",
+		.num_modes	= ARRAY_SIZE(dm644xevm_enc_std_timing),
+		.modes		= dm644xevm_enc_std_timing,
+	},
+	{
+		.output		= {
+			.index		= 1,
+			.name		= "Component",
+			.type		= V4L2_OUTPUT_TYPE_ANALOG,
+			.capabilities	= V4L2_OUT_CAP_PRESETS,
+		},
+		.subdev_name	= VPBE_VENC_SUBDEV_NAME,
+		.default_mode	= "480p59_94",
+		.num_modes	= ARRAY_SIZE(dm644xevm_enc_preset_timing),
+		.modes		= dm644xevm_enc_preset_timing,
+	},
+};
+
+static struct vpbe_config dm644xevm_display_cfg = {
+	.module_name	= "dm644x-vpbe-display",
+	.i2c_adapter_id	= 1,
+	.osd		= {
+		.module_name	= VPBE_OSD_SUBDEV_NAME,
+	},
+	.venc		= {
+		.module_name	= VPBE_VENC_SUBDEV_NAME,
+	},
+	.num_outputs	= ARRAY_SIZE(dm644xevm_vpbe_outputs),
+	.outputs	= dm644xevm_vpbe_outputs,
+};
+
 static struct platform_device *davinci_evm_devices[] __initdata = {
 	&davinci_fb_device,
 	&rtc_dev,
@@ -695,7 +801,7 @@ static __init void davinci_evm_init(void)
 	evm_init_i2c();
 
 	davinci_setup_mmc(0, &dm6446evm_mmc_config);
-	dm644x_init_video(&dm644xevm_capture_cfg, NULL);
+	dm644x_init_video(&dm644xevm_capture_cfg, &dm644xevm_display_cfg);
 
 	davinci_serial_init(&uart_config);
 	dm644x_init_asp(&dm644x_evm_snd_data);
-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* RE: [PATCH v6 01/11] davinci: vpif: remove obsolete header file inclusion
  2011-12-15 12:11   ` Manjunath Hadli
@ 2011-12-16 14:22     ` Hadli, Manjunath
  -1 siblings, 0 replies; 22+ messages in thread
From: Hadli, Manjunath @ 2011-12-16 14:22 UTC (permalink / raw)
  To: Hadli, Manjunath, dlos, LAK; +Cc: Mauro Carvalho Chehab, LMML, Nori, Sekhar


Mauro,
  Sekhar needs your ack on this to get a series of mach patches in. Can you please have a look at this?

-Manju 
On Thu, Dec 15, 2011 at 17:41:50, Hadli, Manjunath wrote:
> remove inclusion of header files from vpif.h and vpif_dispaly.c and add appropriate header file for building.
> 
> Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
> Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
> Cc: LMML <linux-media@vger.kernel.org>
> ---
>  drivers/media/video/davinci/vpif.h         |    2 +-
>  drivers/media/video/davinci/vpif_display.c |    2 --
>  2 files changed, 1 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/video/davinci/vpif.h b/drivers/media/video/davinci/vpif.h
> index 25036cb..c96268a 100644
> --- a/drivers/media/video/davinci/vpif.h
> +++ b/drivers/media/video/davinci/vpif.h
> @@ -19,7 +19,7 @@
>  #include <linux/io.h>
>  #include <linux/videodev2.h>
>  #include <mach/hardware.h>
> -#include <mach/dm646x.h>
> +#include <linux/i2c.h>
>  #include <media/davinci/vpif_types.h>
>  
>  /* Maximum channel allowed */
> diff --git a/drivers/media/video/davinci/vpif_display.c b/drivers/media/video/davinci/vpif_display.c
> index 286f029..7fa34b4 100644
> --- a/drivers/media/video/davinci/vpif_display.c
> +++ b/drivers/media/video/davinci/vpif_display.c
> @@ -39,8 +39,6 @@
>  #include <media/v4l2-ioctl.h>
>  #include <media/v4l2-chip-ident.h>
>  
> -#include <mach/dm646x.h>
> -
>  #include "vpif_display.h"
>  #include "vpif.h"
>  
> --
> 1.6.2.4
> 
> 


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v6 01/11] davinci: vpif: remove obsolete header file inclusion
@ 2011-12-16 14:22     ` Hadli, Manjunath
  0 siblings, 0 replies; 22+ messages in thread
From: Hadli, Manjunath @ 2011-12-16 14:22 UTC (permalink / raw)
  To: linux-arm-kernel


Mauro,
  Sekhar needs your ack on this to get a series of mach patches in. Can you please have a look at this?

-Manju 
On Thu, Dec 15, 2011 at 17:41:50, Hadli, Manjunath wrote:
> remove inclusion of header files from vpif.h and vpif_dispaly.c and add appropriate header file for building.
> 
> Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
> Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
> Cc: LMML <linux-media@vger.kernel.org>
> ---
>  drivers/media/video/davinci/vpif.h         |    2 +-
>  drivers/media/video/davinci/vpif_display.c |    2 --
>  2 files changed, 1 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/video/davinci/vpif.h b/drivers/media/video/davinci/vpif.h
> index 25036cb..c96268a 100644
> --- a/drivers/media/video/davinci/vpif.h
> +++ b/drivers/media/video/davinci/vpif.h
> @@ -19,7 +19,7 @@
>  #include <linux/io.h>
>  #include <linux/videodev2.h>
>  #include <mach/hardware.h>
> -#include <mach/dm646x.h>
> +#include <linux/i2c.h>
>  #include <media/davinci/vpif_types.h>
>  
>  /* Maximum channel allowed */
> diff --git a/drivers/media/video/davinci/vpif_display.c b/drivers/media/video/davinci/vpif_display.c
> index 286f029..7fa34b4 100644
> --- a/drivers/media/video/davinci/vpif_display.c
> +++ b/drivers/media/video/davinci/vpif_display.c
> @@ -39,8 +39,6 @@
>  #include <media/v4l2-ioctl.h>
>  #include <media/v4l2-chip-ident.h>
>  
> -#include <mach/dm646x.h>
> -
>  #include "vpif_display.h"
>  #include "vpif.h"
>  
> --
> 1.6.2.4
> 
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* RE: [PATCH v6 01/11] davinci: vpif: remove obsolete header file inclusion
  2011-12-15 12:11   ` Manjunath Hadli
@ 2011-12-19 20:02     ` Nori, Sekhar
  -1 siblings, 0 replies; 22+ messages in thread
From: Nori, Sekhar @ 2011-12-19 20:02 UTC (permalink / raw)
  To: Hadli, Manjunath, dlos, LAK; +Cc: Mauro Carvalho Chehab, LMML

Hi Manju,

In the subject line, calling mach/dm646x.h obsolete
is not right since as of this patch mach/dm646x.h
still exists.

On Thu, Dec 15, 2011 at 17:41:50, Hadli, Manjunath wrote:
> remove inclusion of header files from vpif.h and vpif_dispaly.c
> and add appropriate header file for building.

The main purpose of the patch is to remove machine specific
includes from driver files since that (among other things)
comes in the way of platform code consolidation. This needs
to come out in the description. Right now the description is
just describing the change without answering the question - why?

> 
> Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
> Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
> Cc: LMML <linux-media@vger.kernel.org>
> ---
>  drivers/media/video/davinci/vpif.h         |    2 +-
>  drivers/media/video/davinci/vpif_display.c |    2 --
>  2 files changed, 1 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/video/davinci/vpif.h b/drivers/media/video/davinci/vpif.h
> index 25036cb..c96268a 100644
> --- a/drivers/media/video/davinci/vpif.h
> +++ b/drivers/media/video/davinci/vpif.h
> @@ -19,7 +19,7 @@
>  #include <linux/io.h>
>  #include <linux/videodev2.h>
>  #include <mach/hardware.h>

It appears mach/hardware.h can be removed as well. Can you please
check?

> -#include <mach/dm646x.h>
> +#include <linux/i2c.h>

I2C is actually needed by include/media/davinci/vpif_types.h so it
should go there.

Thanks,
Sekhar


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v6 01/11] davinci: vpif: remove obsolete header file inclusion
@ 2011-12-19 20:02     ` Nori, Sekhar
  0 siblings, 0 replies; 22+ messages in thread
From: Nori, Sekhar @ 2011-12-19 20:02 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Manju,

In the subject line, calling mach/dm646x.h obsolete
is not right since as of this patch mach/dm646x.h
still exists.

On Thu, Dec 15, 2011 at 17:41:50, Hadli, Manjunath wrote:
> remove inclusion of header files from vpif.h and vpif_dispaly.c
> and add appropriate header file for building.

The main purpose of the patch is to remove machine specific
includes from driver files since that (among other things)
comes in the way of platform code consolidation. This needs
to come out in the description. Right now the description is
just describing the change without answering the question - why?

> 
> Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
> Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
> Cc: LMML <linux-media@vger.kernel.org>
> ---
>  drivers/media/video/davinci/vpif.h         |    2 +-
>  drivers/media/video/davinci/vpif_display.c |    2 --
>  2 files changed, 1 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/video/davinci/vpif.h b/drivers/media/video/davinci/vpif.h
> index 25036cb..c96268a 100644
> --- a/drivers/media/video/davinci/vpif.h
> +++ b/drivers/media/video/davinci/vpif.h
> @@ -19,7 +19,7 @@
>  #include <linux/io.h>
>  #include <linux/videodev2.h>
>  #include <mach/hardware.h>

It appears mach/hardware.h can be removed as well. Can you please
check?

> -#include <mach/dm646x.h>
> +#include <linux/i2c.h>

I2C is actually needed by include/media/davinci/vpif_types.h so it
should go there.

Thanks,
Sekhar

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v6 02/11] ARM: davinci: dm644x: remove the macros from the header to move to c file
  2011-12-15 12:11 ` [PATCH v6 02/11] ARM: davinci: dm644x: remove the macros from the header to move to c file Manjunath Hadli
@ 2011-12-20  6:30   ` Nori, Sekhar
  0 siblings, 0 replies; 22+ messages in thread
From: Nori, Sekhar @ 2011-12-20  6:30 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Manju,

"remove the macros from the header to move to c file" in subject line
is too convoluted to read and doesn't convey the real purpose of the
patch. It can simply be stated as:

"move private definitions to C file"

On Thu, Dec 15, 2011 at 17:41:51, Hadli, Manjunath wrote:
> move the register base addresses and offsets used only by dm644x
> platform file from platform header dm644x.h to dm644x.c as they
> are used only in the c file.

And add here:

This helps reduce code in arch/arm/mach-davinci/include/mach
which is not really needed by rest of the kernel.

You have already spun 6 versions of the patch so I will just
make these changes locally and commit it. No need to send
a replacement.

Thanks,
Sekhar

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v6 03/11] ARM: davinci: dm365: remove the macros from the header to move to c file
  2011-12-15 12:11 ` [PATCH v6 03/11] ARM: davinci: dm365: " Manjunath Hadli
@ 2011-12-20  9:02   ` Nori, Sekhar
  0 siblings, 0 replies; 22+ messages in thread
From: Nori, Sekhar @ 2011-12-20  9:02 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Dec 15, 2011 at 17:41:52, Hadli, Manjunath wrote:
> move the register base addresses and offsets used only by dm365
> platform file from platform header dm365.h to dm365.c as they
> are used only in the c file.
> 
> Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>

Comitting this patch while making changes to the headline and 
description similar to that I made for patch 2/11

Thanks,
Sekhar

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v6 04/11] ARM: davinci: dm646x: remove the macros from the header to move to c file
  2011-12-15 12:11 ` [PATCH v6 04/11] ARM: davinci: dm646x: " Manjunath Hadli
@ 2011-12-20 13:19   ` Nori, Sekhar
  0 siblings, 0 replies; 22+ messages in thread
From: Nori, Sekhar @ 2011-12-20 13:19 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Dec 15, 2011 at 17:41:53, Hadli, Manjunath wrote:
> move the register base addresses and offsets used only by dm646x
> platform file from platform header dm646x.h to dm646x.c as they
> are used only in the c file.

Comitting this as well with the changes as described for patch
2/11.

Thanks,
Sekhar

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v6 05/11] ARM: davinci: create new common platform header for davinci
  2011-12-15 12:11 ` [PATCH v6 05/11] ARM: davinci: create new common platform header for davinci Manjunath Hadli
@ 2011-12-20 19:15   ` Nori, Sekhar
  2011-12-21  7:29     ` Hadli, Manjunath
  0 siblings, 1 reply; 22+ messages in thread
From: Nori, Sekhar @ 2011-12-20 19:15 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Manju,

On Thu, Dec 15, 2011 at 17:41:54, Hadli, Manjunath wrote:
> remove the code from individual platform header files for

Not just the code, the files themselves are being removed.

> dm365, dm355, dm644x and dm646x and consolidate it into a
> single and common header file davinci.h.

.. placed in arch/arm/mach-davinci/

> 
> This reduces the pollution in the include/mach and is consistent
> with Russel's suggestions as part of his "pet peaves" mail.
> 
> The further patches in the series take  advantage of this consolidation
> for easy implementation of IO_ADDRESS elimination.
> 
> Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
> ---

[...]

> diff --git a/arch/arm/mach-davinci/board-dm355-evm.c b/arch/arm/mach-davinci/board-dm355-evm.c
> index 4e0e707..7ae0d15 100644
> --- a/arch/arm/mach-davinci/board-dm355-evm.c
> +++ b/arch/arm/mach-davinci/board-dm355-evm.c
> @@ -26,7 +26,7 @@
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
>  
> -#include <mach/dm355.h>
> +#include "davinci.h"
>  #include <mach/i2c.h>

Local headers should typically be the last ones
included. Can you please revisit the header file
inclusion order throughout this patch? The headers
in linux/ need to be added first followed by asm/
mach/ and then the private headers.

Also, like headers need to be grouped together using
empty lines. You can look at arch/arm/mach-davinci/board-dm644x-evm.c
as an example of how existing code looks.

[...]

> diff --git a/arch/arm/mach-davinci/davinci.h b/arch/arm/mach-davinci/davinci.h

> +/* DM355 function declarations */
> +struct spi_board_info;
> +
> +void __init dm355_init(void);
> +void dm355_init_spi0(unsigned chipselect_mask,
> +		struct spi_board_info *info, unsigned len);
> +void __init dm355_init_asp1(u32 evt_enable, struct snd_platform_data *pdata);
> +void dm355_set_vpfe_config(struct vpfe_config *cfg);
> +
> +/* DM365 function declarations */
> +void __init dm365_init(void);
> +void __init dm365_init_asp(struct snd_platform_data *pdata);
> +void __init dm365_init_vc(struct snd_platform_data *pdata);
> +void __init dm365_init_ks(struct davinci_ks_platform_data *pdata);
> +void __init dm365_init_rtc(void);
> +void dm365_init_spi0(unsigned chipselect_mask,
> +			struct spi_board_info *info, unsigned len);
> +

You can drop the empty line here...

> +void dm365_set_vpfe_config(struct vpfe_config *cfg);
> +
> +/* DM644x function declarations */
> +void __init dm644x_init(void);
> +void __init dm644x_init_asp(struct snd_platform_data *pdata);
> +void dm644x_set_vpfe_config(struct vpfe_config *cfg);
> +
> +/* DM646x function declarations */
> +void __init dm646x_init(void);
> +void __init dm646x_init_mcasp0(struct snd_platform_data *pdata);
> +void __init dm646x_init_mcasp1(struct snd_platform_data *pdata);
> +int __init dm646x_init_edma(struct edma_rsv_info *rsv);
> +
> +void dm646x_video_init(void);
> +
> +void dm646x_setup_vpif(struct vpif_display_config *,
> +		       struct vpif_capture_config *);

.. and these two as well.

I have merged 2/11, 3/11 and 4/11 of this series into
my master branch. Can you please respin 1/11 and 5/11
of this series based on my new master and with my
comments fixed?

Based on your patch 1/11, I guess you have grepped the
driver sources to make sure none of them are including
any of the files you are deleting. Want to double check.

Thanks,
Sekhar

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v6 05/11] ARM: davinci: create new common platform header for davinci
  2011-12-20 19:15   ` Nori, Sekhar
@ 2011-12-21  7:29     ` Hadli, Manjunath
  0 siblings, 0 replies; 22+ messages in thread
From: Hadli, Manjunath @ 2011-12-21  7:29 UTC (permalink / raw)
  To: linux-arm-kernel

Sekhar,
On Wed, Dec 21, 2011 at 00:45:47, Nori, Sekhar wrote:
> Hi Manju,
> 
> On Thu, Dec 15, 2011 at 17:41:54, Hadli, Manjunath wrote:
> > remove the code from individual platform header files for
> 
> Not just the code, the files themselves are being removed.
> 
> > dm365, dm355, dm644x and dm646x and consolidate it into a single and 
> > common header file davinci.h.
> 
> .. placed in arch/arm/mach-davinci/
> 
> > 
> > This reduces the pollution in the include/mach and is consistent with 
> > Russel's suggestions as part of his "pet peaves" mail.
> > 
> > The further patches in the series take  advantage of this 
> > consolidation for easy implementation of IO_ADDRESS elimination.
> > 
> > Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
> > ---
> 
> [...]
> 
> > diff --git a/arch/arm/mach-davinci/board-dm355-evm.c 
> > b/arch/arm/mach-davinci/board-dm355-evm.c
> > index 4e0e707..7ae0d15 100644
> > --- a/arch/arm/mach-davinci/board-dm355-evm.c
> > +++ b/arch/arm/mach-davinci/board-dm355-evm.c
> > @@ -26,7 +26,7 @@
> >  #include <asm/mach-types.h>
> >  #include <asm/mach/arch.h>
> >  
> > -#include <mach/dm355.h>
> > +#include "davinci.h"
> >  #include <mach/i2c.h>
> 
> Local headers should typically be the last ones included. Can you please revisit the header file inclusion order throughout this patch? The headers in linux/ need to be added first followed by asm/ mach/ and then the private headers.
> 
> Also, like headers need to be grouped together using empty lines. You can look at arch/arm/mach-davinci/board-dm644x-evm.c
> as an example of how existing code looks.
> 
> [...]
> 
> > diff --git a/arch/arm/mach-davinci/davinci.h 
> > b/arch/arm/mach-davinci/davinci.h
> 
> > +/* DM355 function declarations */
> > +struct spi_board_info;
> > +
> > +void __init dm355_init(void);
> > +void dm355_init_spi0(unsigned chipselect_mask,
> > +		struct spi_board_info *info, unsigned len); void __init 
> > +dm355_init_asp1(u32 evt_enable, struct snd_platform_data *pdata); 
> > +void dm355_set_vpfe_config(struct vpfe_config *cfg);
> > +
> > +/* DM365 function declarations */
> > +void __init dm365_init(void);
> > +void __init dm365_init_asp(struct snd_platform_data *pdata); void 
> > +__init dm365_init_vc(struct snd_platform_data *pdata); void __init 
> > +dm365_init_ks(struct davinci_ks_platform_data *pdata); void __init 
> > +dm365_init_rtc(void); void dm365_init_spi0(unsigned chipselect_mask,
> > +			struct spi_board_info *info, unsigned len);
> > +
> 
> You can drop the empty line here...
> 
> > +void dm365_set_vpfe_config(struct vpfe_config *cfg);
> > +
> > +/* DM644x function declarations */
> > +void __init dm644x_init(void);
> > +void __init dm644x_init_asp(struct snd_platform_data *pdata); void 
> > +dm644x_set_vpfe_config(struct vpfe_config *cfg);
> > +
> > +/* DM646x function declarations */
> > +void __init dm646x_init(void);
> > +void __init dm646x_init_mcasp0(struct snd_platform_data *pdata); void 
> > +__init dm646x_init_mcasp1(struct snd_platform_data *pdata); int 
> > +__init dm646x_init_edma(struct edma_rsv_info *rsv);
> > +
> > +void dm646x_video_init(void);
> > +
> > +void dm646x_setup_vpif(struct vpif_display_config *,
> > +		       struct vpif_capture_config *);
> 
> .. and these two as well.
> 
> I have merged 2/11, 3/11 and 4/11 of this series into my master branch. Can you please respin 1/11 and 5/11 of this series based on my new master and with my comments fixed?
I will. Can you send me the link for your new master?

> 
> Based on your patch 1/11, I guess you have grepped the driver sources to make sure none of them are including any of the files you are deleting. Want to double check.
There was another file-sound codec with the inclusion of the header which
was not needed. I have deleted the inclusion from that file. Will send 
across that patch also.

> 
> Thanks,
> Sekhar
> 
> 
Thx,
-Manju

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2011-12-21  7:29 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-15 12:11 [PATCH v6 00/11] ARM: davinci:add support for dm644x vpbe display driver Manjunath Hadli
2011-12-15 12:11 ` [PATCH v6 01/11] davinci: vpif: remove obsolete header file inclusion Manjunath Hadli
2011-12-15 12:11   ` Manjunath Hadli
2011-12-16 14:22   ` Hadli, Manjunath
2011-12-16 14:22     ` Hadli, Manjunath
2011-12-19 20:02   ` Nori, Sekhar
2011-12-19 20:02     ` Nori, Sekhar
2011-12-15 12:11 ` [PATCH v6 02/11] ARM: davinci: dm644x: remove the macros from the header to move to c file Manjunath Hadli
2011-12-20  6:30   ` Nori, Sekhar
2011-12-15 12:11 ` [PATCH v6 03/11] ARM: davinci: dm365: " Manjunath Hadli
2011-12-20  9:02   ` Nori, Sekhar
2011-12-15 12:11 ` [PATCH v6 04/11] ARM: davinci: dm646x: " Manjunath Hadli
2011-12-20 13:19   ` Nori, Sekhar
2011-12-15 12:11 ` [PATCH v6 05/11] ARM: davinci: create new common platform header for davinci Manjunath Hadli
2011-12-20 19:15   ` Nori, Sekhar
2011-12-21  7:29     ` Hadli, Manjunath
2011-12-15 12:11 ` [PATCH v6 06/11] davinci: eliminate use of IO_ADDRESS() on sysmod Manjunath Hadli
2011-12-15 12:11 ` [PATCH v6 07/11] davinci: dm644x: Replace register base value with a defined macro Manjunath Hadli
2011-12-15 12:11 ` [PATCH v6 08/11] davinci: dm644x: change vpfe capture structure variables for consistency Manjunath Hadli
2011-12-15 12:11 ` [PATCH v6 09/11] davinci: dm644x: move vpfe init from soc to board specific files Manjunath Hadli
2011-12-15 12:11 ` [PATCH v6 10/11] davinci: dm644x: add support for v4l2 video display Manjunath Hadli
2011-12-15 12:12 ` [PATCH v6 11/11] davinci: dm644x EVM: add support for VPBE display Manjunath Hadli

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.