Re: n810 video

2010-11-02 Thread Tomi Valkeinen
Hi,

On Mon, 2010-11-01 at 17:07 +0100, ext Grazvydas Ignotas wrote:
 hi,
 
 On Sat, Oct 30, 2010 at 11:40 AM, Maksim A. Boyko
 maksim.a.bo...@gmail.com wrote:
  Hi,
 
  I try to switch on OMAP2/3 Display Subsystem Support and Omap frame
  buffer support on n810  (commit 8b4b01).
 
  In OMAP2/3 Display Subsystem Support I used:
  CONFIG_OMAP2_VRAM_SIZE=4
  CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
  CONFIG_OMAP2_DSS_DPI=y
  CONFIG_OMAP2_DSS_VENC=y
  CONFIG_PANEL_GENERIC=y
 
  In Omap frame buffer support I used:
  CONFIG_FB=y
  CONFIG_FB_OMAP_LCDC_EXTERNAL=y
  CONFIG_FB_OMAP_LCDC_BLIZZARD=y
  CONFIG_FB_OMAP_LCD_MIPID=y
  CONFIG_FB_OMAP_BOOTLOADER_INIT=y
  CONFIG_FB_OMAP=y
  CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
 
  I create fb device:
  #mknod /dev/fb0 c 29 0
  #chgrp video  /dev/fb0
  #chmod 660  /dev/fb0
 
  But XServer 1.7.7-8 from debian squeeze armel don't work in both
  cases. Tail of Xorg.0.log
 
  (II) LoadModule: omapfb
  (II) Loading /usr/lib/xorg/modules/drivers/omapfb_drv.so
  (II) Module omapfb: vendor=X.Org Foundation
 compiled for 1.7.4, module version = 0.1.1
 ABI class: X.Org Video Driver, version 6.0
  (II) omapfb: Driver for OMAP framebuffer (omapfb) and external LCD 
  controllers:
 omap1/2/3, S1D13745, HWA742
  (WW) Falling back to old probe method for OMAPFB
  (WW) Could not open '/dev/fb0': No such device or address(EE) No
  devices detected
 
 The kernel driver probably failed to start, check your dmesg. I guess
 you'll need to update arch/arm/mach-omap2/board-n8x0.c and add dss2
 platform_data (see other board-* files for some examples).

Unfortunately there's no support in DSS2 for N800's Blizzard chip, so
you'll have to use the older omapfb driver. Or alternatively port the
Blizzard driver to DSS2, and probably make some fixes for DSS2's RFBI
support.

 Tomi


--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/2] OMAP: DSS2: Add new display panel

2010-11-02 Thread Tomi Valkeinen
On Mon, 2010-11-01 at 17:45 +0100, ext Bryan Wu wrote:
 On Mon, Nov 1, 2010 at 10:15 AM, Tomi Valkeinen
 tomi.valkei...@nokia.com wrote:

  What we need is a common driver for all these dummy panels, and the
  driver would contain configurations for all the supported panels. The
  board file would pass the name of the panel used in that board to the
  driver, and the driver would use the configurations for that panel.
 
 
 It looks like that we just need one file name displays.c to do those
 generic things and pass the configuration from board files to this
 driver, such as timing or other things.

Not quite. If you pass timing information from the board files then
every board file has to define all the timings, even if they are using
the same panel.

That's why the configs should be in the panel driver, and the board file
only has to define which panel is actually connected.

  This has been discussed a few times in l-o list, but I haven't found
  time to implement it and nobody else has done it either.
 
 
 I'm quite happy to do this, thanks,

Thanks, I appreciate that.

 Tomi


--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] OMAP: Fix build failure on MEMBLOCK_REAL_LIMIT

2010-11-02 Thread Tomi Valkeinen
On Mon, 2010-11-01 at 17:30 +0100, ext Namhyung Kim wrote:
 The MEMBLOCK_REAL_LIMIT symbol was removed by the commit e63075a3c937
 (memblock: Introduce default allocation limit and use it to replace
 explicit ones) so it breaks beagle board build as follows:
 
   CC  drivers/video/omap2/vram.o
 drivers/video/omap2/vram.c: In function 'omap_vram_reserve_sdram_memblock':
 drivers/video/omap2/vram.c:573: error: 'MEMBLOCK_REAL_LIMIT' undeclared 
 (first use in this function)
 drivers/video/omap2/vram.c:573: error: (Each undeclared identifier is 
 reported only once
 drivers/video/omap2/vram.c:573: error: for each function it appears in.)
 make[5]: *** [drivers/video/omap2/vram.o] Error 1
 make[4]: *** [drivers/video/omap2] Error 2
 make[3]: *** [drivers/video] Error 2
 make[2]: *** [drivers] Error 2
 make[1]: *** [sub-make] Error 2
 make: *** [all] Error 2

Thanks, applied to my tree.

 Tomi


--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2] McBSP: Fix the free variable update at remove.

2010-11-02 Thread shubhrajyoti
From: Shubhrajyoti D shubhrajy...@ti.com

At remove the free variable is wrongly updated.Attempting to solve the same.

Signed-off-by: Shubhrajyoti D shubhrajy...@ti.com
---
-[v2] Instead of using 0/1 use a macro

 arch/arm/plat-omap/include/plat/mcbsp.h |3 +++
 arch/arm/plat-omap/mcbsp.c  |   10 +-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/arch/arm/plat-omap/include/plat/mcbsp.h 
b/arch/arm/plat-omap/include/plat/mcbsp.h
index b87d83c..8988733 100644
--- a/arch/arm/plat-omap/include/plat/mcbsp.h
+++ b/arch/arm/plat-omap/include/plat/mcbsp.h
@@ -37,6 +37,9 @@ static struct platform_device omap_mcbsp##port_nr = { \
.id = OMAP_MCBSP##port_nr,  \
 }
 
+#define TRUE   1
+#define FALSE  0
+
 #define OMAP7XX_MCBSP1_BASE0xfffb1000
 #define OMAP7XX_MCBSP2_BASE0xfffb1800
 
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index eac4b97..438b3c7 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -755,7 +755,7 @@ int omap_mcbsp_request(unsigned int id)
goto err_kfree;
}
 
-   mcbsp-free = 0;
+   mcbsp-free = FALSE;
mcbsp-reg_cache = reg_cache;
spin_unlock(mcbsp-lock);
 
@@ -815,7 +815,7 @@ err_clk_disable:
clk_disable(mcbsp-iclk);
 
spin_lock(mcbsp-lock);
-   mcbsp-free = 1;
+   mcbsp-free = TRUE;
mcbsp-reg_cache = NULL;
 err_kfree:
spin_unlock(mcbsp-lock);
@@ -858,7 +858,7 @@ void omap_mcbsp_free(unsigned int id)
if (mcbsp-free)
dev_err(mcbsp-dev, McBSP%d was not reserved\n, mcbsp-id);
else
-   mcbsp-free = 1;
+   mcbsp-free = TRUE;
mcbsp-reg_cache = NULL;
spin_unlock(mcbsp-lock);
 
@@ -1771,7 +1771,7 @@ static int __devinit omap_mcbsp_probe(struct 
platform_device *pdev)
 
spin_lock_init(mcbsp-lock);
mcbsp-id = id + 1;
-   mcbsp-free = 1;
+   mcbsp-free = TRUE;
mcbsp-dma_tx_lch = -1;
mcbsp-dma_rx_lch = -1;
 
@@ -1845,7 +1845,7 @@ static int __devexit omap_mcbsp_remove(struct 
platform_device *pdev)
 
mcbsp-fclk = NULL;
mcbsp-iclk = NULL;
-   mcbsp-free = 0;
+   mcbsp-free = TRUE;
mcbsp-dev = NULL;
}
 
-- 
1.7.0.4

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH] McBSP: Fix the free variable update at remove.

2010-11-02 Thread Datta, Shubhrajyoti
Hi Vishwa,
Thanks for your review

 -Original Message-
 From: Sripathy, Vishwanath
 Sent: Saturday, October 30, 2010 12:35 AM
 To: Datta, Shubhrajyoti; linux-omap@vger.kernel.org
 Cc: Pandita, Vikram; ABRAHAM, KISHON VIJAY
 Subject: RE: [PATCH] McBSP: Fix the free variable update at remove.
 
 Shubro,
 
  -Original Message-
  From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
  ow...@vger.kernel.org] On Behalf Of Datta, Shubhrajyoti
  Sent: Friday, October 29, 2010 4:19 AM
  To: linux-omap@vger.kernel.org
  Cc: Pandita, Vikram; Datta, Shubhrajyoti; ABRAHAM, KISHON VIJAY
  Subject: [PATCH] McBSP: Fix the free variable update at remove.
 
  From: Shubhrajyoti D shubhrajy...@ti.com
 
  At remove the free variable is wrongly updated.Attempting to solve the
  same.
 
 
  Signed-off-by: Shubhrajyoti D shubhrajy...@ti.com
  Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
  Reported-by: Vikram Pandita vikram.pand...@ti.com
  ---
   arch/arm/plat-omap/mcbsp.c |2 +-
   1 files changed, 1 insertions(+), 1 deletions(-)
 
  diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
  index eac4b97..6802ed1 100644
  --- a/arch/arm/plat-omap/mcbsp.c
  +++ b/arch/arm/plat-omap/mcbsp.c
  @@ -1845,7 +1845,7 @@ static int __devexit
  omap_mcbsp_remove(struct platform_device *pdev)
 
  mcbsp-fclk = NULL;
  mcbsp-iclk = NULL;
  -   mcbsp-free = 0;
  +   mcbsp-free = 1;
 Isn't it better to use TRUE/FALSE instead of 1/0 if it's a Boolean
 variable?
Addressed it in the v2. Thanks.
 
 Vishwa
 
  mcbsp-dev = NULL;
  }
 
  --
  1.7.0.4
 
  --
  To unsubscribe from this list: send the line unsubscribe linux-omap in
  the body of a message to majord...@vger.kernel.org
  More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2] McBSP: Fix the free variable update at remove.

2010-11-02 Thread Jarkko Nikula
On Tue,  2 Nov 2010 15:54:48 +0530
shubhrajy...@ti.com wrote:

 From: Shubhrajyoti D shubhrajy...@ti.com
 
 At remove the free variable is wrongly updated.Attempting to solve the same.
 
 Signed-off-by: Shubhrajyoti D shubhrajy...@ti.com
 ---
 -[v2] Instead of using 0/1 use a macro
 
  arch/arm/plat-omap/include/plat/mcbsp.h |3 +++
  arch/arm/plat-omap/mcbsp.c  |   10 +-
  2 files changed, 8 insertions(+), 5 deletions(-)
 
 diff --git a/arch/arm/plat-omap/include/plat/mcbsp.h 
 b/arch/arm/plat-omap/include/plat/mcbsp.h
 index b87d83c..8988733 100644
 --- a/arch/arm/plat-omap/include/plat/mcbsp.h
 +++ b/arch/arm/plat-omap/include/plat/mcbsp.h
 @@ -37,6 +37,9 @@ static struct platform_device omap_mcbsp##port_nr = {   
 \
   .id = OMAP_MCBSP##port_nr,  \
  }
  
 +#define TRUE 1
 +#define FALSE0
 +
Use 'true'  'false' in the code instead and then there is no need to
redefine these. They are defined in include/linux/stddef.h which is
probably included already by some another file.


-- 
Jarkko
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH v2] McBSP: Fix the free variable update at remove.

2010-11-02 Thread Varadarajan, Charulatha


 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of Datta, Shubhrajyoti
 Sent: Tuesday, November 02, 2010 3:55 PM
 To: linux-omap@vger.kernel.org
 Cc: Datta, Shubhrajyoti
 Subject: [PATCH v2] McBSP: Fix the free variable update at remove.
 
 From: Shubhrajyoti D shubhrajy...@ti.com
 
 At remove the free variable is wrongly updated.Attempting to solve the
 same.
 
 Signed-off-by: Shubhrajyoti D shubhrajy...@ti.com
 ---
 -[v2] Instead of using 0/1 use a macro
 
  arch/arm/plat-omap/include/plat/mcbsp.h |3 +++
  arch/arm/plat-omap/mcbsp.c  |   10 +-
  2 files changed, 8 insertions(+), 5 deletions(-)
 
 diff --git a/arch/arm/plat-omap/include/plat/mcbsp.h b/arch/arm/plat-
 omap/include/plat/mcbsp.h
 index b87d83c..8988733 100644
 --- a/arch/arm/plat-omap/include/plat/mcbsp.h
 +++ b/arch/arm/plat-omap/include/plat/mcbsp.h
 @@ -37,6 +37,9 @@ static struct platform_device omap_mcbsp##port_nr = {   
 \
   .id = OMAP_MCBSP##port_nr,  \
  }
 
 +#define TRUE 1
 +#define FALSE0
 +

Why do you redefine them? They are already available.

  #define OMAP7XX_MCBSP1_BASE  0xfffb1000
  #define OMAP7XX_MCBSP2_BASE  0xfffb1800
 
 diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
 index eac4b97..438b3c7 100644
 --- a/arch/arm/plat-omap/mcbsp.c
 +++ b/arch/arm/plat-omap/mcbsp.c
 @@ -755,7 +755,7 @@ int omap_mcbsp_request(unsigned int id)
   goto err_kfree;
   }
 
 - mcbsp-free = 0;
 + mcbsp-free = FALSE;
   mcbsp-reg_cache = reg_cache;
   spin_unlock(mcbsp-lock);
 
 @@ -815,7 +815,7 @@ err_clk_disable:
   clk_disable(mcbsp-iclk);
 
   spin_lock(mcbsp-lock);
 - mcbsp-free = 1;
 + mcbsp-free = TRUE;
   mcbsp-reg_cache = NULL;
  err_kfree:
   spin_unlock(mcbsp-lock);
 @@ -858,7 +858,7 @@ void omap_mcbsp_free(unsigned int id)
   if (mcbsp-free)
   dev_err(mcbsp-dev, McBSP%d was not reserved\n, mcbsp-id);
   else
 - mcbsp-free = 1;
 + mcbsp-free = TRUE;
   mcbsp-reg_cache = NULL;
   spin_unlock(mcbsp-lock);
 
 @@ -1771,7 +1771,7 @@ static int __devinit omap_mcbsp_probe(struct
 platform_device *pdev)
 
   spin_lock_init(mcbsp-lock);
   mcbsp-id = id + 1;
 - mcbsp-free = 1;
 + mcbsp-free = TRUE;

During probe this should not be TRUE as it becomes TRUE during 
a omap_mcbsp_request().

The changes should actually make this flag a boolean one and then
do these changes. You might also need to consider changing the code
in places where this flag is being used.
example:
if (mcbsp-free == TRUE)


   mcbsp-dma_tx_lch = -1;
   mcbsp-dma_rx_lch = -1;
 
 @@ -1845,7 +1845,7 @@ static int __devexit omap_mcbsp_remove(struct
 platform_device *pdev)
 
   mcbsp-fclk = NULL;
   mcbsp-iclk = NULL;
 - mcbsp-free = 0;
 + mcbsp-free = TRUE;
   mcbsp-dev = NULL;
   }
 
 --
 1.7.0.4
 
 --
 To unsubscribe from this list: send the line unsubscribe linux-omap in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 ] McBSP: Fix the free variable update at remove

2010-11-02 Thread shubhrajyoti
From: Shubhrajyoti D shubhrajy...@ti.com

At remove the free variable is wrongly updated.Attempting to solve the same.

Signed-off-by: Shubhrajyoti D shubhrajy...@ti.com
Reported-by: Vikram Pandita vikram.pand...@ti.com
---
-[v2] Instead of using 0/1 use true/false
 arch/arm/plat-omap/mcbsp.c |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index eac4b97..07c0525 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -755,7 +755,7 @@ int omap_mcbsp_request(unsigned int id)
goto err_kfree;
}
 
-   mcbsp-free = 0;
+   mcbsp-free = false;
mcbsp-reg_cache = reg_cache;
spin_unlock(mcbsp-lock);
 
@@ -815,7 +815,7 @@ err_clk_disable:
clk_disable(mcbsp-iclk);
 
spin_lock(mcbsp-lock);
-   mcbsp-free = 1;
+   mcbsp-free = true;
mcbsp-reg_cache = NULL;
 err_kfree:
spin_unlock(mcbsp-lock);
@@ -858,7 +858,7 @@ void omap_mcbsp_free(unsigned int id)
if (mcbsp-free)
dev_err(mcbsp-dev, McBSP%d was not reserved\n, mcbsp-id);
else
-   mcbsp-free = 1;
+   mcbsp-free = true;
mcbsp-reg_cache = NULL;
spin_unlock(mcbsp-lock);
 
@@ -1771,7 +1771,7 @@ static int __devinit omap_mcbsp_probe(struct 
platform_device *pdev)
 
spin_lock_init(mcbsp-lock);
mcbsp-id = id + 1;
-   mcbsp-free = 1;
+   mcbsp-free = true;
mcbsp-dma_tx_lch = -1;
mcbsp-dma_rx_lch = -1;
 
@@ -1845,7 +1845,7 @@ static int __devexit omap_mcbsp_remove(struct 
platform_device *pdev)
 
mcbsp-fclk = NULL;
mcbsp-iclk = NULL;
-   mcbsp-free = 0;
+   mcbsp-free = true;
mcbsp-dev = NULL;
}
 
-- 
1.7.0.4

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH v2] McBSP: Fix the free variable update at remove.

2010-11-02 Thread Datta, Shubhrajyoti


 -Original Message-
 From: Jarkko Nikula [mailto:jhnik...@gmail.com]
 Sent: Tuesday, November 02, 2010 4:03 PM
 To: Datta, Shubhrajyoti
 Cc: linux-omap@vger.kernel.org
 Subject: Re: [PATCH v2] McBSP: Fix the free variable update at remove.
 
 On Tue,  2 Nov 2010 15:54:48 +0530
 shubhrajy...@ti.com wrote:
 
  From: Shubhrajyoti D shubhrajy...@ti.com
 
  At remove the free variable is wrongly updated.Attempting to solve the
 same.
 
  Signed-off-by: Shubhrajyoti D shubhrajy...@ti.com
  ---
  -[v2] Instead of using 0/1 use a macro
 
   arch/arm/plat-omap/include/plat/mcbsp.h |3 +++
   arch/arm/plat-omap/mcbsp.c  |   10 +-
   2 files changed, 8 insertions(+), 5 deletions(-)
 
  diff --git a/arch/arm/plat-omap/include/plat/mcbsp.h b/arch/arm/plat-
 omap/include/plat/mcbsp.h
  index b87d83c..8988733 100644
  --- a/arch/arm/plat-omap/include/plat/mcbsp.h
  +++ b/arch/arm/plat-omap/include/plat/mcbsp.h
  @@ -37,6 +37,9 @@ static struct platform_device omap_mcbsp##port_nr = {
   \
  .id = OMAP_MCBSP##port_nr,  \
   }
 
  +#define TRUE   1
  +#define FALSE  0
  +
 Use 'true'  'false' in the code instead and then there is no need to
 redefine these. They are defined in include/linux/stddef.h which is
 probably included already by some another file.
 
Yes missed it. Will fix that.
 
 --
 Jarkko
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/9] OMAP3: PM: Adding smartreflex driver support.

2010-11-02 Thread Cousson, Benoit

On 10/28/2010 5:27 PM, Gopinath, Thara wrote:




-Original Message-
From: Varadarajan, Charulatha
Sent: Thursday, October 28, 2010 11:09 AM
To: Gopinath, Thara; linux-omap@vger.kernel.org
Cc: p...@pwsan.com; khil...@deeprootsystems.com; Cousson, Benoit; Sripathy,
Vishwanath; Sawant, Anand; Gopinath, Thara
Subject: RE: [PATCH v4 2/9] OMAP3: PM: Adding smartreflex driver support.


Thara,


-Original Message-
From: linux-omap-ow...@vger.kernel.org
[mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of Thara Gopinath
Sent: Wednesday, October 27, 2010 9:41 PM
To: linux-omap@vger.kernel.org
Cc: p...@pwsan.com; khil...@deeprootsystems.com; Cousson,
Benoit; Sripathy, Vishwanath; Sawant, Anand; Gopinath, Thara
Subject: [PATCH v4 2/9] OMAP3: PM: Adding smartreflex driver support.

SmartReflex modules do adaptive voltage control for real-time
voltage adjustments. With Smartreflex the power supply voltage
can be adapted to the silicon performance(manufacturing process,
temperature induced performance, age induced performance etc).

There are differnet classes of smartreflex implementation.
Class-0: Manufacturing Test Calibration
Class-1: Boot-Time Software Calibration
Class-2: Continuous Software Calibration
Class-3: Continuous Hardware Calibration
Class-4: Fully Integrated Power Management

OMAP3 has two smartreflex modules one associated with VDD MPU and the
other associated with VDD CORE.
This patch adds support for  smartreflex driver. The driver
is designed
for Class-1 , Class-2 and Class-3 support and is  a platform driver.
Smartreflex driver can be enabled through a Kconfig option
SmartReflex support under System type-TI OMAP
implementations menu.

Smartreflex autocompensation feature can be enabled runtime through
a debug fs option.
To enable smartreflex autocompensation feature
echo 1  /debug/voltage/vdd_X/smartreflex/autocomp
To disable smartreflex autocompensation feature
echo 0  /debug/voltage/vdd_X/smartreflex/autocomp

where X can be mpu, core , iva etc.

This patch contains code originally in linux omap pm branch.
Major contributors to this driver are
Lesly A M, Rajendra Nayak, Kalle Jokiniemi, Paul Walmsley,
Nishant Menon, Kevin Hilman.

Signed-off-by: Thara Gopinathth...@ti.com
---
  arch/arm/mach-omap2/Makefile  |1 +
  arch/arm/mach-omap2/smartreflex.c |  975
+
  arch/arm/plat-omap/Kconfig|   36 +
  arch/arm/plat-omap/include/plat/smartreflex.h |  271 +++
  4 files changed, 1283 insertions(+), 0 deletions(-)
  create mode 100644 arch/arm/mach-omap2/smartreflex.c
  create mode 100644 arch/arm/plat-omap/include/plat/smartreflex.h



snip


+static int __init omap_sr_probe(struct platform_device *pdev)
+{
+   struct omap_sr *sr_info = kzalloc(sizeof(struct
omap_sr), GFP_KERNEL);
+   struct omap_device *odev = to_omap_device(pdev);


Patch3 should be ordered before patch2 in your series. Otherwise,
this would fail during a git-bisect.


Again why ?? All patches individually compile and boot.



+   struct omap_sr_data *pdata = pdev-dev.platform_data;
+   struct resource *mem, *irq;
+   struct dentry *vdd_dbg_dir, *dbg_dir;
+   int ret = 0;
+
+   if (!sr_info) {
+   dev_err(pdev-dev, %s: unable to allocate sr_info\n,
+   __func__);
+   return -ENOMEM;
+   }
+
+   if (!pdata) {
+   dev_err(pdev-dev, %s: platform data
missing\n, __func__);
+   return -EINVAL;
+   }
+
+   mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+   if (!mem) {
+   dev_err(pdev-dev, %s: no mem resource\n, __func__);
+   ret = -ENODEV;
+   goto err_free_devinfo;
+   }
+
+   irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
+
+   pm_runtime_enable(pdev-dev);
+
+   sr_info-pdev = pdev;
+   sr_info-srid = pdev-id;
+   sr_info-voltdm = pdata-voltdm;
+   sr_info-autocomp_active = false;
+   sr_info-ip_type = odev-hwmods[0]-class-rev;


I am not sure if it is okay to get hwmods-info in the driver.
To avoid too many indirections, it can be obtained before
omap_device_build() of the device and passed to the driver.

mmm. yep we could do it also. Maybe Kevin/Benoit needs to confirm the
correct way of doing this.


Yep, I fully agree with Charu. You'd better copy that information at 
omap_device build time. Getting hwmod internal stuff directly is bad.


Benoit



Regards
Thara



+   sr_info-base = ioremap(mem-start, resource_size(mem));
+   if (!sr_info-base) {
+   dev_err(pdev-dev, %s: ioremap fail\n, __func__);
+   ret = -ENOMEM;
+   goto err_release_region;
+   }


snip

-V Charulatha


--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  

Re: [PATCH v2 08/11] OMAP4: Adding dev atrributes to OMAP4 smartreflex hwmod data

2010-11-02 Thread Kevin Hilman
Cousson, Benoit b-cous...@ti.com writes:

 On 9/25/2010 2:51 PM, Gopinath, Thara wrote:
 This patch adds dev attributes for smartreflex modules
 in the OMAP4 hwmod database. This patch also updates the
 smartreflex rev in the smartreflex class data structure
 in the OMAP4 hwmod database.

 Signed-off-by: Thara Gopinathth...@ti.com
 ---
   arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   56 
 
   arch/arm/plat-omap/include/plat/control.h  |   12 ++
   2 files changed, 68 insertions(+), 0 deletions(-)

 diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c 
 b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
 index ba3c215..82657b5 100644
 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
 +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
 @@ -22,6 +22,8 @@

   #includeplat/omap_hwmod.h
   #includeplat/cpu.h
 +#includeplat/smartreflex.h
 +#includeplat/control.h

   #include omap_hwmod_common_data.h

 @@ -474,6 +476,7 @@ static struct omap_hwmod_class_sysconfig 
 omap44xx_smartreflex_sysc = {
   static struct omap_hwmod_class omap44xx_smartreflex_hwmod_class = {
  .name = smartreflex,
  .sysc =omap44xx_smartreflex_sysc,
 +.rev  = 2,
   };

   /* smartreflex_core */
 @@ -505,6 +508,22 @@ static struct omap_hwmod_ocp_if 
 *omap44xx_smartreflex_core_slaves[] = {
  omap44xx_l4_cfg__smartreflex_core,
   };

 +static u32 omap44xx_sr_core_efuse_offs[] = {
 +OMAP44XX_CONTROL_FUSE_CORE_OPP50, OMAP44XX_CONTROL_FUSE_CORE_OPP100,
 +};
 +
 +static u32 omap44xx_sr_core_test_nvalues[] = {
 +0x0, 0x0
 +};

 At first, I thought it was a good idea to put such data here, but now
 after the discussion about timer hwmod data, I realize I was wrong.

 These informations belong to omap_volt_data. For each OPP you should
 provide the efuse offset an the SW nvalues.
 BTW, you should not call them test Nvalues, these are perfectly valid
 and can be potentially used in production. There are just not as
 optimized as a efuse Nvalue.

Just to clarify... 

Benoit, what's your opinion of my comment that these values don't belong
in the volt_data.

As they are only used in the SR layer, they should remain there, IMO.
The only thing needed in volt_data is an efuse id/offset.

Kevin
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] drivers: cleanup Kconfig stuff

2010-11-02 Thread Mark Brown
On Tue, Nov 02, 2010 at 02:14:13AM +0200, Felipe Contreras wrote:

  config REGULATOR_TWL4030
   bool TI TWL4030/TWL5030/TWL6030/TPS695x0 PMIC
   depends on TWL4030_CORE
 + default y
   help
 This driver supports the voltage regulators provided by
 this family of companion chips.

This default is not suitable for non-OMAP platforms, it should be
conditional on OMAP or something if we're going to do this (though
generally we handle this with defconfigs rather than in Kconfig).
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 2/4] OMAP3: PM: update DSP reset code to use new SCM DSP boot control functions

2010-11-02 Thread Kevin Hilman
Omar Ramirez Luna omar.rami...@ti.com writes:

 From: Paul Walmsley p...@pwsan.com

 Update the DSP reset code in pm34xx.c to use one of the new SCM DSP
 boot control functions, omap2430_ctrl_set_dsp_bootmode().

 This reset code should be moved out to a separate function to be
 called by the hwmod reset process at some point.  Also, 2430
 should be initializing the DSP in a similar fashion.

 Signed-off-by: Paul Walmsley p...@pwsan.com
 Cc: Kevin Hilman khil...@deeprootsystems.com

Acked-by: Kevin Hilman khil...@deeprootsystems.com

In PATCH 0/x, please report on what platforms this was tested.

Kevin
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] omap: tidspbridge: fix build failure on MEMBLOCK_REAL_LIMIT

2010-11-02 Thread Anand Gadiyar
MEMBLOCK_REAL_LIMIT symbol was removed by the commit e63075a3c937
(memblock: Introduce default allocation limit and use it to replace
explicit ones). This breaks build as below when CONFIG_TIDSPBRIDGE
is selected. Fix this.

  CC  arch/arm/plat-omap/devices.o
arch/arm/plat-omap/devices.c: In function 'omap_dsp_reserve_sdram_memblock':
arch/arm/plat-omap/devices.c:287: error: 'MEMBLOCK_REAL_LIMIT' undeclared 
(first use in this function)
arch/arm/plat-omap/devices.c:287: error: (Each undeclared identifier is 
reported only once
arch/arm/plat-omap/devices.c:287: error: for each function it appears in.)
make[1]: *** [arch/arm/plat-omap/devices.o] Error 1
make: *** [arch/arm/plat-omap] Error 2

Signed-off-by: Anand Gadiyar gadi...@ti.com
Cc: Felipe Contreras felipe.contre...@gmail.com
Cc: Benjamin Herrenschmidt b...@kernel.crashing.org
Cc: Tony Lindgren t...@atomide.com
---
Based on another similar patch [1] for vram.c. I've scrubbed the rest
of the tree for MEMBLOCK_REAL_LIMIT. Only other occurrence is in
a comment in arch/powerpc/kernel/setup_32.c [2]. Not sure what this
should be changed to.

[1] http://marc.info/?l=linux-omapm=128862903431257w=2
[2] http://lxr.free-electrons.com/source/arch/powerpc/kernel/setup_32.c#L249

 arch/arm/plat-omap/devices.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6/arch/arm/plat-omap/devices.c
===
--- linux-2.6.orig/arch/arm/plat-omap/devices.c
+++ linux-2.6/arch/arm/plat-omap/devices.c
@@ -284,7 +284,7 @@ void __init omap_dsp_reserve_sdram_membl
if (!size)
return;
 
-   paddr = __memblock_alloc_base(size, SZ_1M, MEMBLOCK_REAL_LIMIT);
+   paddr = __memblock_alloc_base(size, SZ_1M, MEMBLOCK_ALLOC_ACCESSIBLE);
if (!paddr) {
pr_err(%s: failed to reserve %x bytes\n,
__func__, size);
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: OMAP3 low power mode broken on l-o

2010-11-02 Thread Kevin Hilman
Jean Pihet jean.pi...@newoldbits.com writes:

 The low power mode on the latest l-o master branch is broken, so I
 investigated a bit. Here are the results. This has been tested on
 OMAP3EVM and Beagleboard.

 The problem is that the CORE does not reach the desired mode (RET,
 OFF). It is caused by the I2C1 fclk that is left enabled at suspend
 time.
 Extra printks has been added in the clock enable and disable functions
 for I2C and a stack dump has been added in the suspend path if the
 clock is still enabled, cf. log below.

 In the devices suspend sequence the RTC gets suspended, which triggers
 a read of the TWL RTC through the I2C bus, which in turn enables the
 I2C1 fclk. That clock is only disabled on devices resume.

 I am guessing this is linked to the recent changes in the I2C for HWMOD 
 support.
 What is the correct fix to have the I2C modules correctly shut off
 before the suspend?

I2C clocks are supposed to be disabled after each transaction.  This
isn't happening.

My guess is that the 'put' that happens after TX doesn't actually
actually result in a call to omap_device_idle() since system suspend is
active.  Static suspend/resume take the runtime PM lock, effectively
disabling runtime PM suspend during static suspend.

I have a patch/workaround for this problem which is part of my pm-core
branch, but I did not submit for 2.6.37 as I'm not entirely convinced of
it yet.  Basically, in the OMAP bus-methods for static suspend/resume I
tinker with the runtime PM usecounting such that the devices can idle.

Please take a look at the tip patch in my pm-suspend branch, try it out
and see if it fixes your problem.

Thanks,

Kevin
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 08/11] OMAP4: Adding dev atrributes to OMAP4 smartreflex hwmod data

2010-11-02 Thread Cousson, Benoit

Hi Kevin,

On 11/2/2010 10:10 AM, Kevin Hilman wrote:

Cousson, Benoitb-cous...@ti.com  writes:


On 9/25/2010 2:51 PM, Gopinath, Thara wrote:

This patch adds dev attributes for smartreflex modules
in the OMAP4 hwmod database. This patch also updates the
smartreflex rev in the smartreflex class data structure
in the OMAP4 hwmod database.

Signed-off-by: Thara Gopinathth...@ti.com
---
   arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   56 

   arch/arm/plat-omap/include/plat/control.h  |   12 ++
   2 files changed, 68 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index ba3c215..82657b5 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -22,6 +22,8 @@

   #includeplat/omap_hwmod.h
   #includeplat/cpu.h
+#includeplat/smartreflex.h
+#includeplat/control.h

   #include omap_hwmod_common_data.h

@@ -474,6 +476,7 @@ static struct omap_hwmod_class_sysconfig 
omap44xx_smartreflex_sysc = {
   static struct omap_hwmod_class omap44xx_smartreflex_hwmod_class = {
.name = smartreflex,
.sysc =omap44xx_smartreflex_sysc,
+   .rev  = 2,
   };

   /* smartreflex_core */
@@ -505,6 +508,22 @@ static struct omap_hwmod_ocp_if 
*omap44xx_smartreflex_core_slaves[] = {
omap44xx_l4_cfg__smartreflex_core,
   };

+static u32 omap44xx_sr_core_efuse_offs[] = {
+   OMAP44XX_CONTROL_FUSE_CORE_OPP50, OMAP44XX_CONTROL_FUSE_CORE_OPP100,
+};
+
+static u32 omap44xx_sr_core_test_nvalues[] = {
+   0x0, 0x0
+};


At first, I thought it was a good idea to put such data here, but now
after the discussion about timer hwmod data, I realize I was wrong.

These informations belong to omap_volt_data. For each OPP you should
provide the efuse offset an the SW nvalues.
BTW, you should not call them test Nvalues, these are perfectly valid
and can be potentially used in production. There are just not as
optimized as a efuse Nvalue.


Just to clarify...

Benoit, what's your opinion of my comment that these values don't belong
in the volt_data.


Or maybe it is just volt_data that should be renamed, because all the 
data in it are SR / VP related:


{.volt_nominal = 975000, .sr_errminlimit = 0xF4, .vp_errgain = 0x0C},

So the efuse info belongs to it as well.

At the end the volt_data at voltage management level is just a list of 
supported voltages. Does it make sense to add an id instead of keeping 
the voltage as an index?


volt_data should be:
{.volt_nominal = 975000},

and then volt_sr_vp_data will be:
{.volt_nominal = 975000, .sr_errminlimit = 0xF4, .vp_errgain = 0x0C, 
efuse_stuff...},


or with an id:
{.id = 0, .sr_errminlimit = 0xF4, .vp_errgain = 0x0C, efuse_stuff...},

I do agree that we have to split that in two structures, but I'm not 
sure the id is really needed here?


Regards,
Benoit

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] drivers: cleanup Kconfig stuff

2010-11-02 Thread Felipe Contreras
On Tue, Nov 2, 2010 at 3:11 PM, Mark Brown
broo...@opensource.wolfsonmicro.com wrote:
 On Tue, Nov 02, 2010 at 02:14:13AM +0200, Felipe Contreras wrote:

  config REGULATOR_TWL4030
       bool TI TWL4030/TWL5030/TWL6030/TPS695x0 PMIC
       depends on TWL4030_CORE
 +     default y
       help
         This driver supports the voltage regulators provided by
         this family of companion chips.

 This default is not suitable for non-OMAP platforms, it should be
 conditional on OMAP or something if we're going to do this (though
 generally we handle this with defconfigs rather than in Kconfig).

This would only be enabled when TWL4030_CORE is enabled, so non-OMAP
platforms would not get affected.

I guess you have seen the complaint from Linus regarding ARM relying
too much on defconfigs. This helps in order to simplify defconfigs,
and eventually getting rid of them completely.

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2.6.37-rc1] OMAP1: camera.h: readd missing include

2010-11-02 Thread Janusz Krzysztofik
#include media/omap1_camera.h directive, required for successfull 
compilation of dependant boards (board-ams-delta for now), has been lost 
somehow from arch/arm/mach-omap1/include/mach/camera.h on creation. Readd it.

Created and tested against linux-2.6.37-rc1.

Signed-off-by: Janusz Krzysztofik jkrzy...@tis.icnet.pl
---

 arch/arm/mach-omap1/include/mach/camera.h |2 ++
 1 file changed, 2 insertions(+)

--- linux-2.6.37-rc1/arch/arm/mach-omap1/include/mach/camera.h.orig 
2010-11-01 22:41:04.0 +0100
+++ linux-2.6.37-rc1/arch/arm/mach-omap1/include/mach/camera.h  2010-11-01 
23:18:44.0 +0100
@@ -1,6 +1,8 @@
 #ifndef __ASM_ARCH_CAMERA_H_
 #define __ASM_ARCH_CAMERA_H_
 
+#include media/omap1_camera.h
+
 void omap1_camera_init(void *);
 
 static inline void omap1_set_camera_info(struct omap1_cam_platform_data *info)
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] omap: tidspbridge: fix build failure on MEMBLOCK_REAL_LIMIT

2010-11-02 Thread Felipe Contreras
On Tue, Nov 2, 2010 at 3:31 PM, Anand Gadiyar gadi...@ti.com wrote:
 MEMBLOCK_REAL_LIMIT symbol was removed by the commit e63075a3c937
 (memblock: Introduce default allocation limit and use it to replace
 explicit ones). This breaks build as below when CONFIG_TIDSPBRIDGE
 is selected. Fix this.

I would rather apply this:
http://article.gmane.org/gmane.linux.ports.arm.omap/45076

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] omap: tidspbridge: fix build failure on MEMBLOCK_REAL_LIMIT

2010-11-02 Thread Gadiyar, Anand
On Tue, Nov 2, 2010 at 10:05 AM, Felipe Contreras
felipe.contre...@gmail.com wrote:
 On Tue, Nov 2, 2010 at 3:31 PM, Anand Gadiyar gadi...@ti.com wrote:
 MEMBLOCK_REAL_LIMIT symbol was removed by the commit e63075a3c937
 (memblock: Introduce default allocation limit and use it to replace
 explicit ones). This breaks build as below when CONFIG_TIDSPBRIDGE
 is selected. Fix this.

 I would rather apply this:
 http://article.gmane.org/gmane.linux.ports.arm.omap/45076


Okay, I hadn't seen that one. Thanks!

- Anand
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] drivers: cleanup Kconfig stuff

2010-11-02 Thread Uwe Kleine-König
On Tue, Nov 02, 2010 at 04:02:18PM +0200, Felipe Contreras wrote:
 On Tue, Nov 2, 2010 at 3:11 PM, Mark Brown
 broo...@opensource.wolfsonmicro.com wrote:
  On Tue, Nov 02, 2010 at 02:14:13AM +0200, Felipe Contreras wrote:
 
   config REGULATOR_TWL4030
        bool TI TWL4030/TWL5030/TWL6030/TPS695x0 PMIC
        depends on TWL4030_CORE
  +     default y
        help
          This driver supports the voltage regulators provided by
          this family of companion chips.
 
  This default is not suitable for non-OMAP platforms, it should be
  conditional on OMAP or something if we're going to do this (though
  generally we handle this with defconfigs rather than in Kconfig).
 
 This would only be enabled when TWL4030_CORE is enabled, so non-OMAP
 platforms would not get affected.
Well, all platforms that have TWL4030_CORE will get REGULATOR_TWL4030 by
default, too.  (TWL4030_CORE doesn't depend on something omapish.)

For me this looks OK.  It would be still better if it removed
CONFIG_REGULATOR_TWL4030=y from arch/arm/configs/omap2plus_defconfig.
 
Best regards
Uwe

-- 
Pengutronix e.K.   | Uwe Kleine-König|
Industrial Linux Solutions | http://www.pengutronix.de/  |
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] drivers: cleanup Kconfig stuff

2010-11-02 Thread Uwe Kleine-König
On Tue, Nov 02, 2010 at 02:14:13AM +0200, Felipe Contreras wrote:
 Add missing dependencies, and remove redundant ones, and select sensible
 defaults.
 
 This is more user-friendly, and logical.
 
  - TWL4030_CORE people should be able to compile without ARM
  - REGULATOR_TWL4030 if TWL4030_CORE and REGULATOR, it's pretty clear we
want this
  - USB_GADGET_SELECTED is already inside USB_GADGET
  - USB_GADGET_OMAP only works on ARCH_OMAP1, and USB_OTG_UTILS is
already selected by NOP_USB_XCEIV
  - USB_GADGET_R8A66597 is meant for ARCH_SHMOBILE
  - USB_MUSB_HDRC needs either NOP_USB_XCEIV, or TWL4030_USB
  - USB_MUSB_AM35X, NOP_USB_XCEIV is already selected because MACH_OMAP3EVM
 
 Finally, move:
 config USB_MUSB_HDRC
   select NOP_USB_XCEIV if (ARCH_DAVINCI || MACH_OMAP3EVM || BLACKFIN)
   select TWL4030_USB if MACH_OMAP_3430SDP
 
 To:
 config TWL4030_USB
   default y if ARCH_OMAP3
 
 config NOP_USB_XCEIV
   default y if ARCH_DAVINCI || MACH_OMAP3EVM || BLACKFIN
 
 Signed-off-by: Felipe Contreras felipe.contre...@gmail.com
All changes look fine to me, but I think you will need to split up this
patch for the different subsystem maintainers.

Best regards
Uwe
 ---
  drivers/mfd/Kconfig|2 +-
  drivers/regulator/Kconfig  |1 +
  drivers/usb/gadget/Kconfig |5 ++---
  drivers/usb/musb/Kconfig   |7 ++-
  drivers/usb/otg/Kconfig|2 ++
  5 files changed, 8 insertions(+), 9 deletions(-)
 
 diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
 index 3a1493b..88e47a0 100644
 --- a/drivers/mfd/Kconfig
 +++ b/drivers/mfd/Kconfig
 @@ -169,7 +169,7 @@ config TWL4030_CORE
  
  config TWL4030_POWER
   bool Support power resources on TWL4030 family chips
 - depends on TWL4030_CORE  ARM
 + depends on TWL4030_CORE
   help
 Say yes here if you want to use the power resources on the
 TWL4030 family chips.  Most of these resources are regulators,
 diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
 index dd30e88..1397f7a 100644
 --- a/drivers/regulator/Kconfig
 +++ b/drivers/regulator/Kconfig
 @@ -119,6 +119,7 @@ config REGULATOR_MAX8998
  config REGULATOR_TWL4030
   bool TI TWL4030/TWL5030/TWL6030/TPS695x0 PMIC
   depends on TWL4030_CORE
 + default y
   help
 This driver supports the voltage regulators provided by
 this family of companion chips.
 diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
 index 75733cd..0ad0c32 100644
 --- a/drivers/usb/gadget/Kconfig
 +++ b/drivers/usb/gadget/Kconfig
 @@ -111,7 +111,6 @@ configUSB_GADGET_SELECTED
  #
  choice
   prompt USB Peripheral Controller
 - depends on USB_GADGET
   help
  A USB device uses a controller to talk to its host.
  Systems should have only one such upstream link.
 @@ -190,9 +189,8 @@ config USB_LH7A40X
  
  config USB_GADGET_OMAP
   boolean OMAP USB Device Controller
 - depends on ARCH_OMAP
 + depends on ARCH_OMAP1
   select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_H4_OTG
 - select USB_OTG_UTILS if ARCH_OMAP
   help
  Many Texas Instruments OMAP processors have flexible full
  speed USB device controllers, with support for up to 30
 @@ -244,6 +242,7 @@ config USB_PXA25X_SMALL
  
  config USB_GADGET_R8A66597
   boolean Renesas R8A66597 USB Peripheral Controller
 + depends on ARCH_SHMOBILE
   select USB_GADGET_DUALSPEED
   help
  R8A66597 is a discrete USB host and peripheral controller chip that
 diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
 index f0e0495..5951b9f 100644
 --- a/drivers/usb/musb/Kconfig
 +++ b/drivers/usb/musb/Kconfig
 @@ -11,8 +11,7 @@ config USB_MUSB_HDRC
   tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
   depends on (USB || USB_GADGET)
   depends on (ARM || (BF54x  !BF544) || (BF52x  !BF522  !BF523))
 - select NOP_USB_XCEIV if (ARCH_DAVINCI || MACH_OMAP3EVM || BLACKFIN)
 - select TWL4030_USB if MACH_OMAP_3430SDP
 + depends on (NOP_USB_XCEIV || TWL4030_USB)
   select USB_OTG_UTILS
   help
 Say Y here if your system has a dual role high speed USB
 @@ -63,7 +62,6 @@ comment Blackfin high speed USB Support
  config USB_MUSB_AM35X
   bool
   depends on USB_MUSB_HDRC  !ARCH_OMAP2430  !ARCH_OMAP4
 - select NOP_USB_XCEIV
   default MACH_OMAP3517EVM
   help
 Select this option if your platform is based on AM35x. As
 @@ -73,8 +71,7 @@ config USB_MUSB_AM35X
  
  config USB_TUSB6010
   boolean TUSB 6010 support
 - depends on USB_MUSB_HDRC  !USB_MUSB_SOC
 - select NOP_USB_XCEIV
 + depends on USB_MUSB_HDRC  !USB_MUSB_SOC  NOP_USB_XCEIV
   default y
   help
 The TUSB 6010 chip, from Texas Instruments, connects a discrete
 diff --git a/drivers/usb/otg/Kconfig b/drivers/usb/otg/Kconfig
 index 5ce0752..728b476 100644
 --- a/drivers/usb/otg/Kconfig
 +++ 

Re: [PATCH v3 2/2] drivers: cleanup Kconfig stuff

2010-11-02 Thread Felipe Contreras
2010/11/2 Uwe Kleine-König u.kleine-koe...@pengutronix.de:
 On Tue, Nov 02, 2010 at 04:02:18PM +0200, Felipe Contreras wrote:
 On Tue, Nov 2, 2010 at 3:11 PM, Mark Brown
 broo...@opensource.wolfsonmicro.com wrote:
  On Tue, Nov 02, 2010 at 02:14:13AM +0200, Felipe Contreras wrote:
 
   config REGULATOR_TWL4030
        bool TI TWL4030/TWL5030/TWL6030/TPS695x0 PMIC
        depends on TWL4030_CORE
  +     default y
        help
          This driver supports the voltage regulators provided by
          this family of companion chips.
 
  This default is not suitable for non-OMAP platforms, it should be
  conditional on OMAP or something if we're going to do this (though
  generally we handle this with defconfigs rather than in Kconfig).

 This would only be enabled when TWL4030_CORE is enabled, so non-OMAP
 platforms would not get affected.
 Well, all platforms that have TWL4030_CORE will get REGULATOR_TWL4030 by
 default, too.  (TWL4030_CORE doesn't depend on something omapish.)

Yes, I think TWL4030_CORE should depend on OMAP3, but I think some
people might not like that. That's why I wanted to make that a
separate patch.

 For me this looks OK.  It would be still better if it removed
 CONFIG_REGULATOR_TWL4030=y from arch/arm/configs/omap2plus_defconfig.

Yes, but I want to run 'make savedefconfig'; there's many changes
lingering like that.

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] drivers: cleanup Kconfig stuff

2010-11-02 Thread Felipe Contreras
2010/11/2 Uwe Kleine-König u.kleine-koe...@pengutronix.de:
 On Tue, Nov 02, 2010 at 02:14:13AM +0200, Felipe Contreras wrote:
 Add missing dependencies, and remove redundant ones, and select sensible
 defaults.

 This is more user-friendly, and logical.

  - TWL4030_CORE people should be able to compile without ARM
  - REGULATOR_TWL4030 if TWL4030_CORE and REGULATOR, it's pretty clear we
    want this
  - USB_GADGET_SELECTED is already inside USB_GADGET
  - USB_GADGET_OMAP only works on ARCH_OMAP1, and USB_OTG_UTILS is
    already selected by NOP_USB_XCEIV
  - USB_GADGET_R8A66597 is meant for ARCH_SHMOBILE
  - USB_MUSB_HDRC needs either NOP_USB_XCEIV, or TWL4030_USB
  - USB_MUSB_AM35X, NOP_USB_XCEIV is already selected because MACH_OMAP3EVM

 Finally, move:
 config USB_MUSB_HDRC
       select NOP_USB_XCEIV if (ARCH_DAVINCI || MACH_OMAP3EVM || BLACKFIN)
       select TWL4030_USB if MACH_OMAP_3430SDP

 To:
 config TWL4030_USB
       default y if ARCH_OMAP3

 config NOP_USB_XCEIV
       default y if ARCH_DAVINCI || MACH_OMAP3EVM || BLACKFIN

 Signed-off-by: Felipe Contreras felipe.contre...@gmail.com
 All changes look fine to me, but I think you will need to split up this
 patch for the different subsystem maintainers.

Ok, will do.

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] drivers: cleanup Kconfig stuff

2010-11-02 Thread Mark Brown
On Tue, Nov 02, 2010 at 04:02:18PM +0200, Felipe Contreras wrote:
 On Tue, Nov 2, 2010 at 3:11 PM, Mark Brown

  This default is not suitable for non-OMAP platforms, it should be
  conditional on OMAP or something if we're going to do this (though
  generally we handle this with defconfigs rather than in Kconfig).

 This would only be enabled when TWL4030_CORE is enabled, so non-OMAP
 platforms would not get affected.

TWL4030 can be enabled on other platforms - it's not tied to OMAP
(mostly to enable build coverage).

 I guess you have seen the complaint from Linus regarding ARM relying
 too much on defconfigs. This helps in order to simplify defconfigs,
 and eventually getting rid of them completely.

This solution doesn't seem like it scales so well either, it just shifts
it into the Kconfig files (where everything is all in central files
shared by everyone which has its own problems).  Certainly the goal of
replacing defconfig files with Kconfig seems unattainable.
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] drivers: cleanup Kconfig stuff

2010-11-02 Thread Mark Brown
On Tue, Nov 02, 2010 at 04:18:18PM +0200, Felipe Contreras wrote:
 2010/11/2 Uwe Kleine-König u.kleine-koe...@pengutronix.de:

  Well, all platforms that have TWL4030_CORE will get REGULATOR_TWL4030 by
  default, too.  (TWL4030_CORE doesn't depend on something omapish.)

 Yes, I think TWL4030_CORE should depend on OMAP3, but I think some
 people might not like that. That's why I wanted to make that a
 separate patch.

It did originally but that dependency was removed to allow build
coverage for non-OMAP users.

 
  For me this looks OK.  It would be still better if it removed
  CONFIG_REGULATOR_TWL4030=y from arch/arm/configs/omap2plus_defconfig.
 
 Yes, but I want to run 'make savedefconfig'; there's many changes
 lingering like that.
 
 -- 
 Felipe Contreras
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2.6.37-rc1] ASoC: OMAP: fix OMAP1 compilation problem

2010-11-02 Thread Janusz Krzysztofik
In the new code introduced with commit cf4c87abe238ec17cd0255b4e21abd949d7f811e,
OMAP: McBSP: implement McBSP CLKR and FSR signal muxing via 
mach-omap2/mcbsp.c,
the way omap1 build is supposed to bypass omap2 specific functionality doesn't 
optimize out all omap2 specific stuff. This breaks linking phase for omap1 
machines, giving undefined reference to `omap2_mcbsp1_mux_clkr_src' 
and undefined reference to `omap2_mcbsp1_mux_fsr_src' errors. Fix it.

Created and tested against linux-2.6.37-rc1.

Signed-off-by: Janusz Krzysztofik jkrzy...@tis.icnet.pl
---

 sound/soc/omap/omap-mcbsp.c |8 
 1 file changed, 8 insertions(+)

--- linux-2.6.37-rc1/sound/soc/omap/omap-mcbsp.c.orig   2010-11-01 
22:43:16.0 +0100
+++ linux-2.6.37-rc1/sound/soc/omap/omap-mcbsp.c2010-11-02 
15:41:42.0 +0100
@@ -644,15 +644,23 @@ static int omap_mcbsp_dai_set_dai_sysclk
 
 
case OMAP_MCBSP_CLKR_SRC_CLKR:
+   if (cpu_class_is_omap1())
+   break;
omap2_mcbsp1_mux_clkr_src(CLKR_SRC_CLKR);
break;
case OMAP_MCBSP_CLKR_SRC_CLKX:
+   if (cpu_class_is_omap1())
+   break;
omap2_mcbsp1_mux_clkr_src(CLKR_SRC_CLKX);
break;
case OMAP_MCBSP_FSR_SRC_FSR:
+   if (cpu_class_is_omap1())
+   break;
omap2_mcbsp1_mux_fsr_src(FSR_SRC_FSR);
break;
case OMAP_MCBSP_FSR_SRC_FSX:
+   if (cpu_class_is_omap1())
+   break;
omap2_mcbsp1_mux_fsr_src(FSR_SRC_FSX);
break;
default:
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] OMAP3630: DSS2: Enable Pre-Multiplied Alpha Support

2010-11-02 Thread Tomi Valkeinen
Hi,

On Wed, 2010-10-27 at 12:16 +0200, ext Samreen wrote:
 From: Rajkumar N rajkumar.nagara...@ti.com
 
 Enable dss to process color formats with pre-mulitplied alpha.
 With this we can have alpha values defined for each pixel
 and hence can have different blending values for each pixel.
 sysfs entry has been created for this and pre-multiplied alpha
 support is turned off by default.
 
 Also, the check for '(plane != OMAP_DSS_VIDEO1)'
 in  _dispc_setup_plane has been replaced by the correct
 dss_has_feature check

You're changing too many things in one patch. Please separate the
dss_feature changes and the actual implementation for the pre-multiplied
alpha.

Your naming of this feature is also bit varying: you have pre_mult,
PREMUL, pre_multiplication_alpha. The last one is quite wrong, as
the feature is premultiplied alpha.

Also a few comments inline.

 
 Signed-off-by: Sudeep Basavaraj sudeep.basava...@ti.com
 Signed-off-by: Rajkumar N rajkumar.nagara...@ti.com
 Signed-off-by: Samreen samr...@ti.com
 ---
  arch/arm/plat-omap/include/plat/display.h |1 +
  drivers/video/omap2/dss/dispc.c   |   25 +---
  drivers/video/omap2/dss/dss.h |3 +-
  drivers/video/omap2/dss/dss_features.c|   20 ++--
  drivers/video/omap2/dss/dss_features.h|1 +
  drivers/video/omap2/dss/manager.c |5 +++-
  drivers/video/omap2/dss/overlay.c |   35 
 +
  7 files changed, 81 insertions(+), 9 deletions(-)
 
 diff --git a/arch/arm/plat-omap/include/plat/display.h 
 b/arch/arm/plat-omap/include/plat/display.h
 index c915a66..d433baf 100644
 --- a/arch/arm/plat-omap/include/plat/display.h
 +++ b/arch/arm/plat-omap/include/plat/display.h
 @@ -268,6 +268,7 @@ struct omap_overlay_info {
   u16 out_width;  /* if 0, out_width == width */
   u16 out_height; /* if 0, out_height == height */
   u8 global_alpha;
 + u8 pre_mult_alpha;
  };
  
  struct omap_overlay {
 diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
 index fa40fa5..f1d1797 100644
 --- a/drivers/video/omap2/dss/dispc.c
 +++ b/drivers/video/omap2/dss/dispc.c
 @@ -773,6 +773,17 @@ static void _dispc_set_vid_size(enum omap_plane plane, 
 int width, int height)
   dispc_write_reg(vsi_reg[plane-1], val);
  }
  
 +static void _dispc_set_pre_mult_alpha(enum omap_plane plane, bool enable)
 +{
 + if (!dss_has_feature(FEAT_PREMUL_ALPHA))
 + return;
 +
 + BUG_ON(!dss_has_feature(FEAT_GLOBAL_ALPHA_VID1) 
 + plane == OMAP_DSS_VIDEO1);

What is the rationale for having the function return, if
FEAT_PREMUL_ALPHA is not supported, but BUG if plane is video1 and
GLOBAL_ALPHA_VID1 is not supported?

 +
 + REG_FLD_MOD(dispc_reg_att[plane], enable ? 1 : 0, 28, 28);
 +}
 +
  static void _dispc_setup_global_alpha(enum omap_plane plane, u8 global_alpha)
  {
   if (!dss_has_feature(FEAT_GLOBAL_ALPHA))
 @@ -1507,7 +1518,8 @@ static int _dispc_setup_plane(enum omap_plane plane,
   bool ilace,
   enum omap_dss_rotation_type rotation_type,
   u8 rotation, int mirror,
 - u8 global_alpha)
 + u8 global_alpha,
 + u8 pre_mult_alpha)
  {
   const int maxdownscale = cpu_is_omap34xx() ? 4 : 2;
   bool five_taps = 0;
 @@ -1693,8 +1705,11 @@ static int _dispc_setup_plane(enum omap_plane plane,
  
   _dispc_set_rotation_attrs(plane, rotation, mirror, color_mode);
  
 - if (plane != OMAP_DSS_VIDEO1)
 + if ((plane != OMAP_DSS_VIDEO1) ||
 + dss_has_feature(FEAT_GLOBAL_ALPHA_VID1)) {
 + _dispc_set_pre_mult_alpha(plane, pre_mult_alpha);
   _dispc_setup_global_alpha(plane, global_alpha);
 + }
  
   return 0;
  }
 @@ -3139,7 +3154,8 @@ int dispc_setup_plane(enum omap_plane plane,
  enum omap_color_mode color_mode,
  bool ilace,
  enum omap_dss_rotation_type rotation_type,
 -u8 rotation, bool mirror, u8 global_alpha)
 +u8 rotation, bool mirror, u8 global_alpha,
 +u8 pre_mult_alpha)
  {
   int r = 0;
  
 @@ -3161,7 +3177,8 @@ int dispc_setup_plane(enum omap_plane plane,
  color_mode, ilace,
  rotation_type,
  rotation, mirror,
 -global_alpha);
 +global_alpha,
 +pre_mult_alpha);
  
   enable_clocks(0);
  
 diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
 index 5c7940d..2bb515c 100644
 --- a/drivers/video/omap2/dss/dss.h
 +++ b/drivers/video/omap2/dss/dss.h
 @@ -359,7 +359,8 @@ int dispc_setup_plane(enum omap_plane plane,
 bool ilace,
 enum omap_dss_rotation_type rotation_type,
 u8 rotation, bool mirror,
 -   u8 global_alpha);
 

Re: [PATCH 2.6.37-rc1] ASoC: OMAP: fix OMAP1 compilation problem

2010-11-02 Thread Mark Brown
On Tue, Nov 02, 2010 at 03:50:32PM +0100, Janusz Krzysztofik wrote:
 In the new code introduced with commit 
 cf4c87abe238ec17cd0255b4e21abd949d7f811e,
 OMAP: McBSP: implement McBSP CLKR and FSR signal muxing via 
 mach-omap2/mcbsp.c,
 the way omap1 build is supposed to bypass omap2 specific functionality 
 doesn't 
 optimize out all omap2 specific stuff. This breaks linking phase for omap1 
 machines, giving undefined reference to `omap2_mcbsp1_mux_clkr_src' 
 and undefined reference to `omap2_mcbsp1_mux_fsr_src' errors. Fix it.

Acked-by: Mark Brown broo...@opensource.wolfsonmicro.com

   case OMAP_MCBSP_CLKR_SRC_CLKR:
 + if (cpu_class_is_omap1())
 + break;
   omap2_mcbsp1_mux_clkr_src(CLKR_SRC_CLKR);

I guess this will still fail with optimisation diabled, but I'm not sure
anyone ever builds the kernel like that.
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 0/4] tidspbridge: SCM layer violation fixes

2010-11-02 Thread Omar Ramirez Luna

On 10/26/2010 11:15 AM, Ramirez Luna, Omar wrote:

This is the patch series shared by Paul, for a short term fix to
a compile break due SCM layer layer violations from tidspbridge
driver, where the latter is used to write directly into registers
and use SCM layer macros, among other layer bypassing.

patch: staging: tidspbridge: use new SCM DSP boot control fns
was split from its original version, it is meant to be on hold until
the rest of the series gets upstreamed and can be found in the
staging tree (unless best advice is given).

Paul Walmsley (4):
   OMAP: control: add functions for DSP boot address/mode control
   OMAP3: PM: update DSP reset code to use new SCM DSP boot control
 functions
   OMAP: dsp: convert OMAP3430 adaptation layer to use new SCM DSP boot
 control fns
   staging: tidspbridge: use new SCM DSP boot control fns

  arch/arm/mach-omap2/control.c |   51 ++
  arch/arm/mach-omap2/control.h |   16 ---
  arch/arm/mach-omap2/dsp.c |4 ++
  arch/arm/mach-omap2/pm34xx.c  |6 +-
  arch/arm/plat-omap/include/plat/dsp.h |4 ++
  arch/arm/plat-omap/include/plat/iva2_dsp.h|   56 +
  drivers/staging/tidspbridge/core/tiomap3430.c |   13 +++---
  7 files changed, 133 insertions(+), 17 deletions(-)
  create mode 100644 arch/arm/plat-omap/include/plat/iva2_dsp.h


This series was tested on OMAP 3430 (zoom2) and 3630 (zoom3) boards.

Regards,

Omar

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 0/3] OMAP: DSS2: introduce dummy panel driver

2010-11-02 Thread Bryan Wu
There are 4 duplicated panel driver sin DSS2 display driver. They are similar
and dummy panel driver can support all them with specific panel configuration.
And new panel driver can be easily supported by adding panel configurations
into dummy panel driver.

This patchset introduces dummy panel driver, remove 3 panel drivers and enable
dummy panel driver in board files. And it is based on 2.6.37-rc1.

Building with omap2plus_defconfig is successful.

Keep sharp_ls_panel, since it contains blacklight control code which will be
moved out later.

Bryan Wu (3):
  OMAP: DSS2: Add dummy panel display driver
  OMAP: DSS2: remove dummy panel driver duplicated panel drivers
  OMAP: use dummy panel driver in board files

 arch/arm/mach-omap2/board-3430sdp.c|3 +-
 arch/arm/mach-omap2/board-am3517evm.c  |6 +-
 arch/arm/mach-omap2/board-cm-t35.c |6 +-
 arch/arm/mach-omap2/board-devkit8000.c |6 +-
 arch/arm/mach-omap2/board-igep0020.c   |3 +-
 arch/arm/mach-omap2/board-omap3beagle.c|3 +-
 arch/arm/mach-omap2/board-omap3evm.c   |3 +-
 arch/arm/mach-omap2/board-omap3stalker.c   |6 +-
 arch/arm/plat-omap/include/plat/display.h  |   28 +-
 drivers/video/omap2/displays/Kconfig   |   22 +-
 drivers/video/omap2/displays/Makefile  |4 +-
 drivers/video/omap2/displays/panel-dummy.c |  195 +++
 drivers/video/omap2/displays/panel-dummy.h |  119 +
 drivers/video/omap2/displays/panel-generic.c   |  174 ---
 .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165 --
 .../video/omap2/displays/panel-tpo-td043mtea1.c|  535 
 16 files changed, 364 insertions(+), 914 deletions(-)
 create mode 100644 drivers/video/omap2/displays/panel-dummy.c
 create mode 100644 drivers/video/omap2/displays/panel-dummy.h
 delete mode 100644 drivers/video/omap2/displays/panel-generic.c
 delete mode 100644 drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
 delete mode 100644 drivers/video/omap2/displays/panel-tpo-td043mtea1.c

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/3] OMAP: DSS2: remove dummy panel driver duplicated panel drivers

2010-11-02 Thread Bryan Wu
Still keep sharp_ls_panel driver, because it contains blacklight control driver.

Signed-off-by: Bryan Wu bryan...@canonical.com
---
 drivers/video/omap2/displays/Kconfig   |   18 -
 drivers/video/omap2/displays/Makefile  |3 -
 drivers/video/omap2/displays/panel-generic.c   |  174 ---
 .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165 --
 .../video/omap2/displays/panel-tpo-td043mtea1.c|  535 
 5 files changed, 0 insertions(+), 895 deletions(-)
 delete mode 100644 drivers/video/omap2/displays/panel-generic.c
 delete mode 100644 drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
 delete mode 100644 drivers/video/omap2/displays/panel-tpo-td043mtea1.c

diff --git a/drivers/video/omap2/displays/Kconfig 
b/drivers/video/omap2/displays/Kconfig
index 4b2ed33..4a29863 100644
--- a/drivers/video/omap2/displays/Kconfig
+++ b/drivers/video/omap2/displays/Kconfig
@@ -9,12 +9,6 @@ config PANEL_DUMMY
  Supports LCD Panel used in TI SDP3430 and EVM boards,
  OMAP3517 EVM boards and CM-T35.
 
-config PANEL_GENERIC
-tristate Generic Panel
-help
- Generic panel driver.
- Used for DVI output for Beagle and OMAP3 SDP.
-
 config PANEL_SHARP_LS037V7DW01
 tristate Sharp LS037V7DW01 LCD Panel
 depends on OMAP2_DSS
@@ -22,24 +16,12 @@ config PANEL_SHARP_LS037V7DW01
 help
   LCD Panel used in TI's SDP3430 and EVM boards
 
-config PANEL_SHARP_LQ043T1DG01
-tristate Sharp LQ043T1DG01 LCD Panel
-depends on OMAP2_DSS
-help
-  LCD Panel used in TI's OMAP3517 EVM boards
-
 config PANEL_TAAL
 tristate Taal DSI Panel
 depends on OMAP2_DSS_DSI
 help
   Taal DSI command mode panel from TPO.
 
-config PANEL_TOPPOLY_TDO35S
-tristate Toppoly TDO35S LCD Panel support
-depends on OMAP2_DSS
-help
-  LCD Panel used in CM-T35
-
 config PANEL_TPO_TD043MTEA1
 tristate TPO TD043MTEA1 LCD Panel
 depends on OMAP2_DSS  SPI
diff --git a/drivers/video/omap2/displays/Makefile 
b/drivers/video/omap2/displays/Makefile
index 5b50036..587bef8 100644
--- a/drivers/video/omap2/displays/Makefile
+++ b/drivers/video/omap2/displays/Makefile
@@ -1,9 +1,6 @@
 obj-$(CONFIG_PANEL_DUMMY) += panel-dummy.o
-obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
 obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
-obj-$(CONFIG_PANEL_SHARP_LQ043T1DG01) += panel-sharp-lq043t1dg01.o
 
 obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
-obj-$(CONFIG_PANEL_TOPPOLY_TDO35S) += panel-toppoly-tdo35s.o
 obj-$(CONFIG_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o
 obj-$(CONFIG_PANEL_ACX565AKM) += panel-acx565akm.o
diff --git a/drivers/video/omap2/displays/panel-generic.c 
b/drivers/video/omap2/displays/panel-generic.c
deleted file mode 100644
index 395a68d..000
--- a/drivers/video/omap2/displays/panel-generic.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Generic panel support
- *
- * Copyright (C) 2008 Nokia Corporation
- * Author: Tomi Valkeinen tomi.valkei...@nokia.com
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- *
- * 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, see http://www.gnu.org/licenses/.
- */
-
-#include linux/module.h
-#include linux/delay.h
-
-#include plat/display.h
-
-static struct omap_video_timings generic_panel_timings = {
-   /* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
-   .x_res  = 640,
-   .y_res  = 480,
-   .pixel_clock= 23500,
-   .hfp= 48,
-   .hsw= 32,
-   .hbp= 80,
-   .vfp= 3,
-   .vsw= 4,
-   .vbp= 7,
-};
-
-static int generic_panel_power_on(struct omap_dss_device *dssdev)
-{
-   int r;
-
-   if (dssdev-state == OMAP_DSS_DISPLAY_ACTIVE)
-   return 0;
-
-   r = omapdss_dpi_display_enable(dssdev);
-   if (r)
-   goto err0;
-
-   if (dssdev-platform_enable) {
-   r = dssdev-platform_enable(dssdev);
-   if (r)
-   goto err1;
-   }
-
-   return 0;
-err1:
-   omapdss_dpi_display_disable(dssdev);
-err0:
-   return r;
-}
-
-static void generic_panel_power_off(struct omap_dss_device *dssdev)
-{
-   if (dssdev-state != OMAP_DSS_DISPLAY_ACTIVE)
-   return;
-
-   if (dssdev-platform_disable)
-   dssdev-platform_disable(dssdev);
-
-   omapdss_dpi_display_disable(dssdev);

[PATCH 1/3] OMAP: DSS2: Add dummy panel display driver

2010-11-02 Thread Bryan Wu
Dummy panel driver includes the driver and 4 similar panel configurations. It
will match the panel name which is passed from platform data and setup the
right configurations.

With dummy panel driver, we can remove those 4 duplicated panel display
drivers. In the future, it is simple for us just add new panel configuration
date in panel-dummy.h to support new display panel.

Signed-off-by: Bryan Wu bryan...@canonical.com
---
 drivers/video/omap2/displays/Kconfig   |8 +
 drivers/video/omap2/displays/Makefile  |1 +
 drivers/video/omap2/displays/panel-dummy.c |  195 
 drivers/video/omap2/displays/panel-dummy.h |  119 +
 4 files changed, 323 insertions(+), 0 deletions(-)
 create mode 100644 drivers/video/omap2/displays/panel-dummy.c
 create mode 100644 drivers/video/omap2/displays/panel-dummy.h

diff --git a/drivers/video/omap2/displays/Kconfig 
b/drivers/video/omap2/displays/Kconfig
index 12327bb..4b2ed33 100644
--- a/drivers/video/omap2/displays/Kconfig
+++ b/drivers/video/omap2/displays/Kconfig
@@ -1,6 +1,14 @@
 menu OMAP2/3 Display Device Drivers
 depends on OMAP2_DSS
 
+config PANEL_DUMMY
+tristate Dummy Panel
+help
+ Dummy panel driver.
+ Supports DVI output for Beagle and OMAP3 SDP.
+ Supports LCD Panel used in TI SDP3430 and EVM boards,
+ OMAP3517 EVM boards and CM-T35.
+
 config PANEL_GENERIC
 tristate Generic Panel
 help
diff --git a/drivers/video/omap2/displays/Makefile 
b/drivers/video/omap2/displays/Makefile
index aa38609..5b50036 100644
--- a/drivers/video/omap2/displays/Makefile
+++ b/drivers/video/omap2/displays/Makefile
@@ -1,3 +1,4 @@
+obj-$(CONFIG_PANEL_DUMMY) += panel-dummy.o
 obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
 obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
 obj-$(CONFIG_PANEL_SHARP_LQ043T1DG01) += panel-sharp-lq043t1dg01.o
diff --git a/drivers/video/omap2/displays/panel-dummy.c 
b/drivers/video/omap2/displays/panel-dummy.c
new file mode 100644
index 000..c4c387a
--- /dev/null
+++ b/drivers/video/omap2/displays/panel-dummy.c
@@ -0,0 +1,195 @@
+/*
+ * Dummy Panels support
+ *
+ * Copyright (C) 2010 Canonical Ltd.
+ * Author: Bryan Wu bryan...@canonical.com
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published by
+ * the Free Software Foundation.
+ *
+ * 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, see http://www.gnu.org/licenses/.
+ */
+
+#include linux/module.h
+#include linux/delay.h
+
+#include plat/display.h
+
+#include panel-dummy.h
+
+static int dummy_panel_power_on(struct omap_dss_device *dssdev)
+{
+   int r;
+   struct omap_display_panel *p = dssdev-panel;
+
+   if (dssdev-state == OMAP_DSS_DISPLAY_ACTIVE)
+   return 0;
+
+   r = omapdss_dpi_display_enable(dssdev);
+   if (r)
+   goto err0;
+
+   /* wait couple of vsyncs until enabling the LCD */
+   if (p-power_on_delay)
+   msleep(p-power_on_delay);
+
+   if (dssdev-platform_enable) {
+   r = dssdev-platform_enable(dssdev);
+   if (r)
+   goto err1;
+   }
+
+   return 0;
+err1:
+   omapdss_dpi_display_disable(dssdev);
+err0:
+   return r;
+}
+
+static void dummy_panel_power_off(struct omap_dss_device *dssdev)
+{
+   struct omap_display_panel *p = dssdev-panel;
+
+   if (dssdev-state != OMAP_DSS_DISPLAY_ACTIVE)
+   return;
+
+   if (dssdev-platform_disable)
+   dssdev-platform_disable(dssdev);
+
+   /* wait couple of vsyncs after disabling the LCD */
+   if (p-power_off_delay)
+   msleep(p-power_off_delay);
+
+   omapdss_dpi_display_disable(dssdev);
+}
+
+static int dummy_panel_probe(struct omap_dss_device *dssdev)
+{
+   struct omap_display_panel *dp = dssdev-panel;
+   struct omap_display_panel *pp = NULL;
+   int i;
+   int matched = 0;
+
+   if (dp-name == NULL)
+   return -ENODEV;
+
+   /* Match for the configuration of the panel */
+   for (i = 0; i  ARRAY_SIZE(dummy_panels); i++) {
+   pp = dummy_panels[i];
+   if (strcmp(pp-name, dp-name) == 0) {
+   matched = 1;
+   break;
+   }
+   }
+
+   if (!matched)
+   return -ENODEV;
+
+   memcpy(dp, pp, sizeof(struct omap_display_panel));
+
+   return 0;
+}
+
+static void dummy_panel_remove(struct omap_dss_device *dssdev)
+{
+}
+
+static int dummy_panel_enable(struct 

[PATCH 3/3] OMAP: use dummy panel driver in board files

2010-11-02 Thread Bryan Wu
Introduce some fields in struct panel, which will be used to match the right
panel configurations in dummy driver.

Still keep sharp_ls_panel, since the sharp_ls_panel driver contains blacklight
control driver code which will be moved out later. Then we can use dummy driver
for sharp_ls_panel.

Signed-off-by: Bryan Wu bryan...@canonical.com
---
 arch/arm/mach-omap2/board-3430sdp.c   |3 ++-
 arch/arm/mach-omap2/board-am3517evm.c |6 --
 arch/arm/mach-omap2/board-cm-t35.c|6 --
 arch/arm/mach-omap2/board-devkit8000.c|6 --
 arch/arm/mach-omap2/board-igep0020.c  |3 ++-
 arch/arm/mach-omap2/board-omap3beagle.c   |3 ++-
 arch/arm/mach-omap2/board-omap3evm.c  |3 ++-
 arch/arm/mach-omap2/board-omap3stalker.c  |6 --
 arch/arm/plat-omap/include/plat/display.h |   28 +++-
 9 files changed, 43 insertions(+), 21 deletions(-)

diff --git a/arch/arm/mach-omap2/board-3430sdp.c 
b/arch/arm/mach-omap2/board-3430sdp.c
index 4e3742c..0e4598d 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -272,7 +272,8 @@ static struct omap_dss_device sdp3430_lcd_device = {
 
 static struct omap_dss_device sdp3430_dvi_device = {
.name   = dvi,
-   .driver_name= generic_panel,
+   .driver_name= dummy_panel,
+   .panel.name = generic,
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 24,
.platform_enable= sdp3430_panel_enable_dvi,
diff --git a/arch/arm/mach-omap2/board-am3517evm.c 
b/arch/arm/mach-omap2/board-am3517evm.c
index 0739950..88c9b76 100644
--- a/arch/arm/mach-omap2/board-am3517evm.c
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -306,7 +306,8 @@ static void am3517_evm_panel_disable_lcd(struct 
omap_dss_device *dssdev)
 static struct omap_dss_device am3517_evm_lcd_device = {
.type   = OMAP_DISPLAY_TYPE_DPI,
.name   = lcd,
-   .driver_name= sharp_lq_panel,
+   .driver_name= dummy_panel,
+   .panel.name = sharp_lq,
.phy.dpi.data_lines = 16,
.platform_enable= am3517_evm_panel_enable_lcd,
.platform_disable   = am3517_evm_panel_disable_lcd,
@@ -349,7 +350,8 @@ static void am3517_evm_panel_disable_dvi(struct 
omap_dss_device *dssdev)
 static struct omap_dss_device am3517_evm_dvi_device = {
.type   = OMAP_DISPLAY_TYPE_DPI,
.name   = dvi,
-   .driver_name= generic_panel,
+   .driver_name= dummy_panel,
+   .panel.name = generic,
.phy.dpi.data_lines = 24,
.platform_enable= am3517_evm_panel_enable_dvi,
.platform_disable   = am3517_evm_panel_disable_dvi,
diff --git a/arch/arm/mach-omap2/board-cm-t35.c 
b/arch/arm/mach-omap2/board-cm-t35.c
index 63f764e..a0c555d 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -353,7 +353,8 @@ static void cm_t35_panel_disable_tv(struct omap_dss_device 
*dssdev)
 
 static struct omap_dss_device cm_t35_lcd_device = {
.name   = lcd,
-   .driver_name= toppoly_tdo35s_panel,
+   .driver_name= dummy_panel,
+   .panel.name = toppoly_tdo35s,
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 18,
.platform_enable= cm_t35_panel_enable_lcd,
@@ -362,7 +363,8 @@ static struct omap_dss_device cm_t35_lcd_device = {
 
 static struct omap_dss_device cm_t35_dvi_device = {
.name   = dvi,
-   .driver_name= generic_panel,
+   .driver_name= dummy_panel,
+   .panel.name = generic,
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 24,
.platform_enable= cm_t35_panel_enable_dvi,
diff --git a/arch/arm/mach-omap2/board-devkit8000.c 
b/arch/arm/mach-omap2/board-devkit8000.c
index 067f437..ce5be9c 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -151,7 +151,8 @@ static struct regulator_consumer_supply 
devkit8000_vio_supply =
 
 static struct omap_dss_device devkit8000_lcd_device = {
.name   = lcd,
-   .driver_name= generic_panel,
+   .driver_name= dummy_panel,
+   .panel.name = generic,
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 24,
.reset_gpio = -EINVAL, /* will be replaced */
@@ -160,7 +161,8 @@ static struct omap_dss_device devkit8000_lcd_device = {
 };
 static struct omap_dss_device devkit8000_dvi_device = {
.name   = dvi,
-   .driver_name= generic_panel,
+   .driver_name 

Re: [PATCH 0/3] OMAP: DSS2: introduce dummy panel driver

2010-11-02 Thread Anand Gadiyar

On 11/2/2010 9:43 PM, Bryan Wu wrote:

There are 4 duplicated panel driver sin DSS2 display driver. They are similar
and dummy panel driver can support all them with specific panel configuration.
And new panel driver can be easily supported by adding panel configurations
into dummy panel driver.

This patchset introduces dummy panel driver, remove 3 panel drivers and enable
dummy panel driver in board files. And it is based on 2.6.37-rc1.

Building with omap2plus_defconfig is successful.

Keep sharp_ls_panel, since it contains blacklight control code which will be
moved out later.

Bryan Wu (3):
   OMAP: DSS2: Add dummy panel display driver
   OMAP: DSS2: remove dummy panel driver duplicated panel drivers
   OMAP: use dummy panel driver in board files

  arch/arm/mach-omap2/board-3430sdp.c|3 +-
  arch/arm/mach-omap2/board-am3517evm.c  |6 +-
  arch/arm/mach-omap2/board-cm-t35.c |6 +-
  arch/arm/mach-omap2/board-devkit8000.c |6 +-
  arch/arm/mach-omap2/board-igep0020.c   |3 +-
  arch/arm/mach-omap2/board-omap3beagle.c|3 +-
  arch/arm/mach-omap2/board-omap3evm.c   |3 +-
  arch/arm/mach-omap2/board-omap3stalker.c   |6 +-
  arch/arm/plat-omap/include/plat/display.h  |   28 +-
  drivers/video/omap2/displays/Kconfig   |   22 +-
  drivers/video/omap2/displays/Makefile  |4 +-
  drivers/video/omap2/displays/panel-dummy.c |  195 +++
  drivers/video/omap2/displays/panel-dummy.h |  119 +
  drivers/video/omap2/displays/panel-generic.c   |  174 ---
  .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165 --
  .../video/omap2/displays/panel-tpo-td043mtea1.c|  535 
  16 files changed, 364 insertions(+), 914 deletions(-)
  create mode 100644 drivers/video/omap2/displays/panel-dummy.c
  create mode 100644 drivers/video/omap2/displays/panel-dummy.h
  delete mode 100644 drivers/video/omap2/displays/panel-generic.c
  delete mode 100644 drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
  delete mode 100644 drivers/video/omap2/displays/panel-tpo-td043mtea1.c



Why can't panel-generic.c be reused instead of a new panel-dummy.c?

Sounds like what you're trying to do is to get a generic panel driver; 
so shouldn't it at least be called generic instead of dummy.


- Anand
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2.6.37-rc1] ASoC: OMAP: fix OMAP1 compilation problem

2010-11-02 Thread Paul Walmsley
On Tue, 2 Nov 2010, Janusz Krzysztofik wrote:

 In the new code introduced with commit 
 cf4c87abe238ec17cd0255b4e21abd949d7f811e,
 OMAP: McBSP: implement McBSP CLKR and FSR signal muxing via 
 mach-omap2/mcbsp.c,
 the way omap1 build is supposed to bypass omap2 specific functionality 
 doesn't 
 optimize out all omap2 specific stuff. This breaks linking phase for omap1 
 machines, giving undefined reference to `omap2_mcbsp1_mux_clkr_src' 
 and undefined reference to `omap2_mcbsp1_mux_fsr_src' errors. Fix it.
 
 Created and tested against linux-2.6.37-rc1.
 
 Signed-off-by: Janusz Krzysztofik jkrzy...@tis.icnet.pl

Acked-by: Paul Walmsley p...@pwsan.com

Thanks Janusz.


- Paul
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/3] OMAP: DSS2: remove dummy panel driver duplicated panel drivers

2010-11-02 Thread Grazvydas Ignotas
On Tue, Nov 2, 2010 at 6:13 PM, Bryan Wu bryan...@canonical.com wrote:
 Still keep sharp_ls_panel driver, because it contains blacklight control 
 driver.

 Signed-off-by: Bryan Wu bryan...@canonical.com
 ---
  drivers/video/omap2/displays/Kconfig               |   18 -
  drivers/video/omap2/displays/Makefile              |    3 -
  drivers/video/omap2/displays/panel-generic.c       |  174 ---
  .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165 --
  .../video/omap2/displays/panel-tpo-td043mtea1.c    |  535 
 
  5 files changed, 0 insertions(+), 895 deletions(-)
  delete mode 100644 drivers/video/omap2/displays/panel-generic.c
  delete mode 100644 drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
  delete mode 100644 drivers/video/omap2/displays/panel-tpo-td043mtea1.c

Hey don't remove panel-tpo-td043mtea1.c, it's not a dupe! You probably
confused it with panel-toppoly-tdo35s.c . This shows you did not build
test all panel drivers, just select them all in config (enable SPI so
they all appear).
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/3] OMAP: DSS2: Add dummy panel display driver

2010-11-02 Thread Grazvydas Ignotas
On Tue, Nov 2, 2010 at 6:13 PM, Bryan Wu bryan...@canonical.com wrote:
 Dummy panel driver includes the driver and 4 similar panel configurations. It
 will match the panel name which is passed from platform data and setup the
 right configurations.

 With dummy panel driver, we can remove those 4 duplicated panel display
 drivers. In the future, it is simple for us just add new panel configuration
 date in panel-dummy.h to support new display panel.

 Signed-off-by: Bryan Wu bryan...@canonical.com

snip

 diff --git a/drivers/video/omap2/displays/panel-dummy.h 
 b/drivers/video/omap2/displays/panel-dummy.h
 new file mode 100644
 index 000..ac2b7a2
 --- /dev/null
 +++ b/drivers/video/omap2/displays/panel-dummy.h

There is no benefit of having this header, just add all data directly
in .c file.

snip

 +       /* Sharp LQ043T1DG01 */
 +       {
 +               {       .x_res          = 480,
 +                       .y_res          = 272,

missing newline after {
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/3] OMAP: DSS2: introduce dummy panel driver

2010-11-02 Thread Bryan Wu
On Tue, Nov 2, 2010 at 12:53 PM, Anand Gadiyar gadi...@ti.com wrote:
 On 11/2/2010 9:43 PM, Bryan Wu wrote:

 There are 4 duplicated panel driver sin DSS2 display driver. They are
 similar
 and dummy panel driver can support all them with specific panel
 configuration.
 And new panel driver can be easily supported by adding panel
 configurations
 into dummy panel driver.

 This patchset introduces dummy panel driver, remove 3 panel drivers and
 enable
 dummy panel driver in board files. And it is based on 2.6.37-rc1.

 Building with omap2plus_defconfig is successful.

 Keep sharp_ls_panel, since it contains blacklight control code which will
 be
 moved out later.

 Bryan Wu (3):
   OMAP: DSS2: Add dummy panel display driver
   OMAP: DSS2: remove dummy panel driver duplicated panel drivers
   OMAP: use dummy panel driver in board files

  arch/arm/mach-omap2/board-3430sdp.c                |    3 +-
  arch/arm/mach-omap2/board-am3517evm.c              |    6 +-
  arch/arm/mach-omap2/board-cm-t35.c                 |    6 +-
  arch/arm/mach-omap2/board-devkit8000.c             |    6 +-
  arch/arm/mach-omap2/board-igep0020.c               |    3 +-
  arch/arm/mach-omap2/board-omap3beagle.c            |    3 +-
  arch/arm/mach-omap2/board-omap3evm.c               |    3 +-
  arch/arm/mach-omap2/board-omap3stalker.c           |    6 +-
  arch/arm/plat-omap/include/plat/display.h          |   28 +-
  drivers/video/omap2/displays/Kconfig               |   22 +-
  drivers/video/omap2/displays/Makefile              |    4 +-
  drivers/video/omap2/displays/panel-dummy.c         |  195 +++
  drivers/video/omap2/displays/panel-dummy.h         |  119 +
  drivers/video/omap2/displays/panel-generic.c       |  174 ---
  .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165 --
  .../video/omap2/displays/panel-tpo-td043mtea1.c    |  535
 
  16 files changed, 364 insertions(+), 914 deletions(-)
  create mode 100644 drivers/video/omap2/displays/panel-dummy.c
  create mode 100644 drivers/video/omap2/displays/panel-dummy.h
  delete mode 100644 drivers/video/omap2/displays/panel-generic.c
  delete mode 100644 drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
  delete mode 100644 drivers/video/omap2/displays/panel-tpo-td043mtea1.c


 Why can't panel-generic.c be reused instead of a new panel-dummy.c?

 Sounds like what you're trying to do is to get a generic panel driver; so
 shouldn't it at least be called generic instead of dummy.


I assume panel-generic is for some DVI output connection, so I picked
up dummy. But yeah, I do prefer to panel-generic driver and maybe
change the name generic-panel to dvi.

-Bryan
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/3] OMAP: DSS2: Add dummy panel display driver

2010-11-02 Thread Bryan Wu
On Tue, Nov 2, 2010 at 1:21 PM, Grazvydas Ignotas nota...@gmail.com wrote:
 On Tue, Nov 2, 2010 at 6:13 PM, Bryan Wu bryan...@canonical.com wrote:
 Dummy panel driver includes the driver and 4 similar panel configurations. It
 will match the panel name which is passed from platform data and setup the
 right configurations.

 With dummy panel driver, we can remove those 4 duplicated panel display
 drivers. In the future, it is simple for us just add new panel configuration
 date in panel-dummy.h to support new display panel.

 Signed-off-by: Bryan Wu bryan...@canonical.com

 snip

 diff --git a/drivers/video/omap2/displays/panel-dummy.h 
 b/drivers/video/omap2/displays/panel-dummy.h
 new file mode 100644
 index 000..ac2b7a2
 --- /dev/null
 +++ b/drivers/video/omap2/displays/panel-dummy.h

 There is no benefit of having this header, just add all data directly
 in .c file.

 snip

 +       /* Sharp LQ043T1DG01 */
 +       {
 +               {       .x_res          = 480,
 +                       .y_res          = 272,

 missing newline after {


Thanks, I will take these 2 comments.

-- 
Bryan Wu bryan...@canonical.com
Kernel Developer    +86.138-1617-6545 Mobile
Ubuntu Kernel Team
Canonical Ltd.      www.canonical.com
Ubuntu - Linux for human beings | www.ubuntu.com
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] drivers: cleanup Kconfig stuff

2010-11-02 Thread Felipe Contreras
On Tue, Nov 2, 2010 at 4:35 PM, Mark Brown
broo...@opensource.wolfsonmicro.com wrote:
 On Tue, Nov 02, 2010 at 04:02:18PM +0200, Felipe Contreras wrote:
 On Tue, Nov 2, 2010 at 3:11 PM, Mark Brown

  This default is not suitable for non-OMAP platforms, it should be
  conditional on OMAP or something if we're going to do this (though
  generally we handle this with defconfigs rather than in Kconfig).

 This would only be enabled when TWL4030_CORE is enabled, so non-OMAP
 platforms would not get affected.

 TWL4030 can be enabled on other platforms - it's not tied to OMAP
 (mostly to enable build coverage).

Yes, but if you are manually enabling TWL4030_CORE and REGULATOR,
REGULATOR_TWL4030 makes sense. If somebody doesn't want it for some
reason, it can be manually disabled.

 I guess you have seen the complaint from Linus regarding ARM relying
 too much on defconfigs. This helps in order to simplify defconfigs,
 and eventually getting rid of them completely.

 This solution doesn't seem like it scales so well either, it just shifts
 it into the Kconfig files (where everything is all in central files
 shared by everyone which has its own problems).  Certainly the goal of
 replacing defconfig files with Kconfig seems unattainable.

The difference is that Kconfig files are needed, and part of linux
itself. The defconfig files should be optional, there are many, and
not necessarily in the linux tree (e.g. meego kernel configs).

However, even if you forget about Kconfig vs defconfig, it should be
possible to create a .config file from nothing, and when you do that,
having REGULATOR_TWL4030 enabled when you enable REGULATOR support
just makes sense (if you have enabled TWL4030_CORE).

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] drivers: cleanup Kconfig stuff

2010-11-02 Thread Felipe Contreras
On Tue, Nov 2, 2010 at 4:39 PM, Mark Brown
broo...@opensource.wolfsonmicro.com wrote:
 On Tue, Nov 02, 2010 at 04:18:18PM +0200, Felipe Contreras wrote:
 2010/11/2 Uwe Kleine-König u.kleine-koe...@pengutronix.de:

  Well, all platforms that have TWL4030_CORE will get REGULATOR_TWL4030 by
  default, too.  (TWL4030_CORE doesn't depend on something omapish.)

 Yes, I think TWL4030_CORE should depend on OMAP3, but I think some
 people might not like that. That's why I wanted to make that a
 separate patch.

 It did originally but that dependency was removed to allow build
 coverage for non-OMAP users.

I'm not sure removing that dependency is worth it. There's probably a
lot of code in the kernel that can be built without meeting the
specified dependencies. Maybe there should be a way to differentiate
soft from hard dependencies for this particular use-case. But I guess
for now the lack of dependency should be ok.

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] drivers: cleanup Kconfig stuff

2010-11-02 Thread Mark Brown
On Tue, Nov 02, 2010 at 09:43:30PM +0200, Felipe Contreras wrote:
 On Tue, Nov 2, 2010 at 4:35 PM, Mark Brown

  This solution doesn't seem like it scales so well either, it just shifts
  it into the Kconfig files (where everything is all in central files
  shared by everyone which has its own problems).  Certainly the goal of
  replacing defconfig files with Kconfig seems unattainable.

 The difference is that Kconfig files are needed, and part of linux
 itself. The defconfig files should be optional, there are many, and
 not necessarily in the linux tree (e.g. meego kernel configs).

Right, but it's not like you're ever going to get a useful machine
configuration just using Kconfig except in the most trivial systems.

 However, even if you forget about Kconfig vs defconfig, it should be
 possible to create a .config file from nothing, and when you do that,
 having REGULATOR_TWL4030 enabled when you enable REGULATOR support
 just makes sense (if you have enabled TWL4030_CORE).

Right, but everyone uses the same Kconfig files while the defconfigs
only affect the individual platform which uses them.  This is annoying
for me since it increases the amount of stuff that gets built into my
kernel (I routinely build everything I possibly can in my subsystems for
coverage but don't actually want to have all that stuff show up in the
kernel image I'm running on my system).  The stuff ends up built in due
to the issue with MFDs not being buildable as modules since they have
interrupt controllers, if that were fixed it wouldn't be an issue.

If you're going to make this sort of change we need to have a policy
change over all MFD subdevices (and possibly some other things) and
decide that we'll eat the costs.  Doing it randomly for individual
chips and drivers within those chips doesn't seem like a good approach.
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] drivers: cleanup Kconfig stuff

2010-11-02 Thread Mark Brown
On Tue, Nov 02, 2010 at 09:46:47PM +0200, Felipe Contreras wrote:
 On Tue, Nov 2, 2010 at 4:39 PM, Mark Brown

  It did originally but that dependency was removed to allow build
  coverage for non-OMAP users.

 I'm not sure removing that dependency is worth it. There's probably a
 lot of code in the kernel that can be built without meeting the
 specified dependencies. Maybe there should be a way to differentiate
 soft from hard dependencies for this particular use-case. But I guess
 for now the lack of dependency should be ok.

It's really useful for subsystem maintainers - it means you can do
changes over the subsystem without having to have a build lots and lots
of different configs per chip to make sure everything still at least
compiles.
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 0/3] OMAP: DSS2: introduce generic panel display driver

2010-11-02 Thread Bryan Wu
There are 4 duplicated panel drivers in DSS2 display driver. They are similar
and generic panel driver can support all them with specific panel configuration.
And new panel driver can be easily supported by adding panel configurations
into generic panel driver.

This patchset introduces generic panel driver, remove 3 panel drivers and enable
generic panel driver in board files. And it is based on 2.6.37-rc1.

Building with omap2plus_defconfig is successful.

Keep sharp_ls_panel, since it contains blacklight control code which will be
moved out later.

Bryan Wu (3):
  OMAP: DSS2: Add generic panel display driver
  OMAP: DSS2: remove generic panel driver duplicated panel drivers
  OMAP: use generic panel driver in board files

 arch/arm/mach-omap2/board-3430sdp.c|1 +
 arch/arm/mach-omap2/board-am3517evm.c  |4 +-
 arch/arm/mach-omap2/board-cm-t35.c |4 +-
 arch/arm/mach-omap2/board-devkit8000.c |2 +
 arch/arm/mach-omap2/board-igep0020.c   |1 +
 arch/arm/mach-omap2/board-omap3beagle.c|1 +
 arch/arm/mach-omap2/board-omap3evm.c   |1 +
 arch/arm/mach-omap2/board-omap3stalker.c   |2 +
 arch/arm/plat-omap/include/plat/display.h  |   28 +++-
 drivers/video/omap2/displays/Kconfig   |   16 +--
 drivers/video/omap2/displays/Makefile  |2 -
 drivers/video/omap2/displays/panel-generic.c   |  153 --
 .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165 
 .../video/omap2/displays/panel-toppoly-tdo35s.c|  164 ---
 14 files changed, 175 insertions(+), 369 deletions(-)
 delete mode 100644 drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
 delete mode 100644 drivers/video/omap2/displays/panel-toppoly-tdo35s.c

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/3] OMAP: DSS2: Add generic panel display driver

2010-11-02 Thread Bryan Wu
Generic panel driver includes the driver and 4 similar panel configurations. It
will match the panel name which is passed from platform data and setup the
right configurations.

With generic panel driver, we can remove those 4 duplicated panel display
drivers. In the future, it is simple for us just add new panel configuration
date in panel-generic.c to support new display panel.

Signed-off-by: Bryan Wu bryan...@canonical.com
---
 drivers/video/omap2/displays/Kconfig |4 +-
 drivers/video/omap2/displays/panel-generic.c |  153 +++---
 2 files changed, 142 insertions(+), 15 deletions(-)

diff --git a/drivers/video/omap2/displays/Kconfig 
b/drivers/video/omap2/displays/Kconfig
index 12327bb..1a455d7 100644
--- a/drivers/video/omap2/displays/Kconfig
+++ b/drivers/video/omap2/displays/Kconfig
@@ -5,7 +5,9 @@ config PANEL_GENERIC
 tristate Generic Panel
 help
  Generic panel driver.
- Used for DVI output for Beagle and OMAP3 SDP.
+ Supports DVI output for Beagle and OMAP3 SDP.
+ Supports LCD Panel used in TI SDP3430 and EVM boards,
+ OMAP3517 EVM boards and CM-T35.
 
 config PANEL_SHARP_LS037V7DW01
 tristate Sharp LS037V7DW01 LCD Panel
diff --git a/drivers/video/omap2/displays/panel-generic.c 
b/drivers/video/omap2/displays/panel-generic.c
index 395a68d..88e5bdf 100644
--- a/drivers/video/omap2/displays/panel-generic.c
+++ b/drivers/video/omap2/displays/panel-generic.c
@@ -1,5 +1,8 @@
 /*
- * Generic panel support
+ * Generic Panels support
+ *
+ * Copyright (C) 2010 Canonical Ltd.
+ * Author: Bryan Wu bryan...@canonical.com
  *
  * Copyright (C) 2008 Nokia Corporation
  * Author: Tomi Valkeinen tomi.valkei...@nokia.com
@@ -22,22 +25,113 @@
 
 #include plat/display.h
 
-static struct omap_video_timings generic_panel_timings = {
-   /* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
-   .x_res  = 640,
-   .y_res  = 480,
-   .pixel_clock= 23500,
-   .hfp= 48,
-   .hsw= 32,
-   .hbp= 80,
-   .vfp= 3,
-   .vsw= 4,
-   .vbp= 7,
+/* Panel configurations */
+static struct omap_display_panel generic_panels[] = {
+   /* Generic Panel for DVI */
+   {
+   {
+   .x_res  = 640,
+   .y_res  = 480,
+
+   .pixel_clock= 23500,
+
+   .hfp= 48,
+   .hsw= 32,
+   .hbp= 80,
+
+   .vfp= 3,
+   .vsw= 4,
+   .vbp= 7,
+   },
+   .acbi   = 0x0,
+   .acb= 0x0,
+   .config = OMAP_DSS_LCD_TFT,
+   .power_on_delay = 0,
+   .power_off_delay= 0,
+   .name   = dvi,
+   },
+
+   /* Sharp LQ043T1DG01 */
+   {
+   {
+   .x_res  = 480,
+   .y_res  = 272,
+
+   .pixel_clock= 9000,
+
+   .hsw= 42,
+   .hfp= 3,
+   .hbp= 2,
+
+   .vsw= 11,
+   .vfp= 3,
+   .vbp= 2,
+   },
+   .acbi   = 0x0,
+   .acb= 0x0,
+   .config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
+   OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IEO,
+   .power_on_delay = 50,
+   .power_off_delay= 100,
+   .name   = sharp_lq,
+   },
+
+   /* Sharp LS037V7DW01 */
+   {
+   {
+   .x_res  = 480,
+   .y_res  = 640,
+
+   .pixel_clock= 19200,
+
+   .hsw= 2,
+   .hfp= 1,
+   .hbp= 28,
+
+   .vsw= 1,
+   .vfp= 1,
+   .vbp= 1,
+   },
+   .acbi   = 0x0,
+   .acb= 0x28,
+   .config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
+   OMAP_DSS_LCD_IHS,
+   .power_on_delay = 50,
+   .power_off_delay= 100,
+   .name   = sharp_ls,
+   },
+
+   /* Toppoly TDO35S */
+   {
+   {
+   .x_res  = 480,
+

[PATCH 3/3] OMAP: use generic panel driver in board files

2010-11-02 Thread Bryan Wu
Introduce some fields in struct panel, which will be used to match the right
panel configurations in generic panel driver.

Still keep sharp_ls_panel, since the sharp_ls_panel driver contains blacklight
control driver code which will be moved out later. Then we can use generic 
driver
for sharp_ls_panel.

Signed-off-by: Bryan Wu bryan...@canonical.com
---
 arch/arm/mach-omap2/board-3430sdp.c   |1 +
 arch/arm/mach-omap2/board-am3517evm.c |4 +++-
 arch/arm/mach-omap2/board-cm-t35.c|4 +++-
 arch/arm/mach-omap2/board-devkit8000.c|2 ++
 arch/arm/mach-omap2/board-igep0020.c  |1 +
 arch/arm/mach-omap2/board-omap3beagle.c   |1 +
 arch/arm/mach-omap2/board-omap3evm.c  |1 +
 arch/arm/mach-omap2/board-omap3stalker.c  |2 ++
 arch/arm/plat-omap/include/plat/display.h |   28 +++-
 9 files changed, 33 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-omap2/board-3430sdp.c 
b/arch/arm/mach-omap2/board-3430sdp.c
index 4e3742c..529a016 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -273,6 +273,7 @@ static struct omap_dss_device sdp3430_lcd_device = {
 static struct omap_dss_device sdp3430_dvi_device = {
.name   = dvi,
.driver_name= generic_panel,
+   .panel.name = dvi,
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 24,
.platform_enable= sdp3430_panel_enable_dvi,
diff --git a/arch/arm/mach-omap2/board-am3517evm.c 
b/arch/arm/mach-omap2/board-am3517evm.c
index 0739950..e435e66 100644
--- a/arch/arm/mach-omap2/board-am3517evm.c
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -306,7 +306,8 @@ static void am3517_evm_panel_disable_lcd(struct 
omap_dss_device *dssdev)
 static struct omap_dss_device am3517_evm_lcd_device = {
.type   = OMAP_DISPLAY_TYPE_DPI,
.name   = lcd,
-   .driver_name= sharp_lq_panel,
+   .driver_name= generic_panel,
+   .panel.name = sharp_lq,
.phy.dpi.data_lines = 16,
.platform_enable= am3517_evm_panel_enable_lcd,
.platform_disable   = am3517_evm_panel_disable_lcd,
@@ -350,6 +351,7 @@ static struct omap_dss_device am3517_evm_dvi_device = {
.type   = OMAP_DISPLAY_TYPE_DPI,
.name   = dvi,
.driver_name= generic_panel,
+   .panel.name = dvi,
.phy.dpi.data_lines = 24,
.platform_enable= am3517_evm_panel_enable_dvi,
.platform_disable   = am3517_evm_panel_disable_dvi,
diff --git a/arch/arm/mach-omap2/board-cm-t35.c 
b/arch/arm/mach-omap2/board-cm-t35.c
index 63f764e..afadebb 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -353,7 +353,8 @@ static void cm_t35_panel_disable_tv(struct omap_dss_device 
*dssdev)
 
 static struct omap_dss_device cm_t35_lcd_device = {
.name   = lcd,
-   .driver_name= toppoly_tdo35s_panel,
+   .driver_name= generic_panel,
+   .panel.name = toppoly_tdo35s,
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 18,
.platform_enable= cm_t35_panel_enable_lcd,
@@ -363,6 +364,7 @@ static struct omap_dss_device cm_t35_lcd_device = {
 static struct omap_dss_device cm_t35_dvi_device = {
.name   = dvi,
.driver_name= generic_panel,
+   .panel.name = dvi,
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 24,
.platform_enable= cm_t35_panel_enable_dvi,
diff --git a/arch/arm/mach-omap2/board-devkit8000.c 
b/arch/arm/mach-omap2/board-devkit8000.c
index 067f437..3a5937e 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -152,6 +152,7 @@ static struct regulator_consumer_supply 
devkit8000_vio_supply =
 static struct omap_dss_device devkit8000_lcd_device = {
.name   = lcd,
.driver_name= generic_panel,
+   .panel.name = dvi,
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 24,
.reset_gpio = -EINVAL, /* will be replaced */
@@ -161,6 +162,7 @@ static struct omap_dss_device devkit8000_lcd_device = {
 static struct omap_dss_device devkit8000_dvi_device = {
.name   = dvi,
.driver_name= generic_panel,
+   .panel.name = dvi,
.type   = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 24,
.reset_gpio = -EINVAL, /* will be replaced */
diff --git a/arch/arm/mach-omap2/board-igep0020.c 
b/arch/arm/mach-omap2/board-igep0020.c
index 5e035a5..4c83ef0 100644

[PATCH 2/3] OMAP: DSS2: remove generic panel driver duplicated panel drivers

2010-11-02 Thread Bryan Wu
Still keep sharp_ls_panel driver, because it contains blacklight control driver.

Signed-off-by: Bryan Wu bryan...@canonical.com
---
 drivers/video/omap2/displays/Kconfig   |   12 --
 drivers/video/omap2/displays/Makefile  |2 -
 .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165 
 .../video/omap2/displays/panel-toppoly-tdo35s.c|  164 ---
 4 files changed, 0 insertions(+), 343 deletions(-)
 delete mode 100644 drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
 delete mode 100644 drivers/video/omap2/displays/panel-toppoly-tdo35s.c

diff --git a/drivers/video/omap2/displays/Kconfig 
b/drivers/video/omap2/displays/Kconfig
index 1a455d7..ae1aabe 100644
--- a/drivers/video/omap2/displays/Kconfig
+++ b/drivers/video/omap2/displays/Kconfig
@@ -16,24 +16,12 @@ config PANEL_SHARP_LS037V7DW01
 help
   LCD Panel used in TI's SDP3430 and EVM boards
 
-config PANEL_SHARP_LQ043T1DG01
-tristate Sharp LQ043T1DG01 LCD Panel
-depends on OMAP2_DSS
-help
-  LCD Panel used in TI's OMAP3517 EVM boards
-
 config PANEL_TAAL
 tristate Taal DSI Panel
 depends on OMAP2_DSS_DSI
 help
   Taal DSI command mode panel from TPO.
 
-config PANEL_TOPPOLY_TDO35S
-tristate Toppoly TDO35S LCD Panel support
-depends on OMAP2_DSS
-help
-  LCD Panel used in CM-T35
-
 config PANEL_TPO_TD043MTEA1
 tristate TPO TD043MTEA1 LCD Panel
 depends on OMAP2_DSS  SPI
diff --git a/drivers/video/omap2/displays/Makefile 
b/drivers/video/omap2/displays/Makefile
index aa38609..004335c 100644
--- a/drivers/video/omap2/displays/Makefile
+++ b/drivers/video/omap2/displays/Makefile
@@ -1,8 +1,6 @@
 obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
 obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
-obj-$(CONFIG_PANEL_SHARP_LQ043T1DG01) += panel-sharp-lq043t1dg01.o
 
 obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
-obj-$(CONFIG_PANEL_TOPPOLY_TDO35S) += panel-toppoly-tdo35s.o
 obj-$(CONFIG_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o
 obj-$(CONFIG_PANEL_ACX565AKM) += panel-acx565akm.o
diff --git a/drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c 
b/drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
deleted file mode 100644
index 0c6896c..000
--- a/drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * LCD panel driver for Sharp LQ043T1DG01
- *
- * Copyright (C) 2009 Texas Instruments Inc
- * Author: Vaibhav Hiremath hvaib...@ti.com
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- *
- * 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, see http://www.gnu.org/licenses/.
- */
-
-#include linux/module.h
-#include linux/delay.h
-#include linux/device.h
-#include linux/err.h
-
-#include plat/display.h
-
-static struct omap_video_timings sharp_lq_timings = {
-   .x_res = 480,
-   .y_res = 272,
-
-   .pixel_clock= 9000,
-
-   .hsw= 42,
-   .hfp= 3,
-   .hbp= 2,
-
-   .vsw= 11,
-   .vfp= 3,
-   .vbp= 2,
-};
-
-static int sharp_lq_panel_power_on(struct omap_dss_device *dssdev)
-{
-   int r;
-
-   if (dssdev-state == OMAP_DSS_DISPLAY_ACTIVE)
-   return 0;
-
-   r = omapdss_dpi_display_enable(dssdev);
-   if (r)
-   goto err0;
-
-   /* wait couple of vsyncs until enabling the LCD */
-   msleep(50);
-
-   if (dssdev-platform_enable) {
-   r = dssdev-platform_enable(dssdev);
-   if (r)
-   goto err1;
-   }
-
-   return 0;
-err1:
-   omapdss_dpi_display_disable(dssdev);
-err0:
-   return r;
-}
-
-static void sharp_lq_panel_power_off(struct omap_dss_device *dssdev)
-{
-   if (dssdev-state != OMAP_DSS_DISPLAY_ACTIVE)
-   return;
-
-   if (dssdev-platform_disable)
-   dssdev-platform_disable(dssdev);
-
-   /* wait at least 5 vsyncs after disabling the LCD */
-   msleep(100);
-
-   omapdss_dpi_display_disable(dssdev);
-}
-
-static int sharp_lq_panel_probe(struct omap_dss_device *dssdev)
-{
-
-   dssdev-panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
-   OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IEO;
-   dssdev-panel.acb = 0x0;
-   dssdev-panel.timings = sharp_lq_timings;
-
-   return 0;
-}
-
-static void sharp_lq_panel_remove(struct omap_dss_device *dssdev)
-{
-}
-
-static int