[PATCH 1/3] OMAP: use generic panel data in board files
Bryan Wu
bryan.wu at canonical.com
Mon Nov 8 14:49:41 EST 2010
On Mon, Nov 8, 2010 at 7:19 AM, Tomi Valkeinen <tomi.valkeinen at nokia.com> wrote:
> Hi,
>
> On Fri, 2010-11-05 at 22:17 +0100, ext Taneja, Archit wrote:
>> Hi,
>>
>> linux-omap-owner at vger.kernel.org wrote:
>> > Introduce struct panel config data in panel.h, which will be
>> > used to match the right panel configurations in generic DPI
>> > panel driver and other future dsi panel drivers.
>> >
>> > 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 DPI driver for sharp_ls_panel.
>> >
>> > Signed-off-by: Bryan Wu <bryan.wu at canonical.com>
>> > ---
>> > arch/arm/mach-omap2/board-3430sdp.c | 10 +++-
>> > arch/arm/mach-omap2/board-am3517evm.c | 19 +++++--
>> > arch/arm/mach-omap2/board-cm-t35.c | 19 +++++--
>> > arch/arm/mach-omap2/board-devkit8000.c | 22 +++++---
>> > arch/arm/mach-omap2/board-igep0020.c | 10 +++-
>> > arch/arm/mach-omap2/board-omap3beagle.c | 10 +++-
>> > arch/arm/mach-omap2/board-omap3evm.c | 10 +++-
>> > arch/arm/mach-omap2/board-omap3stalker.c | 19 +++++--
>> > arch/arm/plat-omap/include/plat/nokia-dsi-panel.h | 31 -----------
>> > arch/arm/plat-omap/include/plat/panel.h | 57
>> > +++++++++++++++++++++ drivers/video/omap2/displays/panel-taal.c |
>> > 26 ++++------ 11 files changed, 148 insertions(+), 85 deletions(-) delete
>> > mode 100644 arch/arm/plat-omap/include/plat/nokia-dsi-panel.h
>> > create mode 100644 arch/arm/plat-omap/include/plat/panel.h
>>
>> I am not totally sure about the need of removal of nokia-dsi-panel.h
>> and the addition of a generic panel.h.
>>
>> I guess the reason why nokia-dsi-panel.h was introduced (and others that
>> will be introduced in future) was to easily represent panel-specific data
>> across different boards that use the same panel.
>
> Right. Don't touch panel-taal.c or nokia-dsi-panel.h, they are not
> related to this DPI panel stuff.
>
>> For example, if there is a new panel which for some reson uses 2 pins, one
>> for switching off and one for switching on the panel, then it would make sense
>> to introduce a structure for this panel having members on_gpio and off_gpio, this
>> struct could then be passed and accessed through dssdev->data in the panel's probe
>> giving us the option to have different gpio numbers for different boards but finally
>> being accessed in the same way by the driver.
>>
>> So, there isn't a need to generalize this struct and the corresponding header file
>> for all panels and make it available for all board files.
>>
>> As far as the dummy panels are concerned, since the "name" is the only criteria to
>> differentiate the panel, I think passing the name to the data member of omap_dss_device
>> should itself be enough for the generic dpi driver to handle things.
>
> I think it's a bit confusing to just put a string to the void *data
> member, but fortunately we don't need to ponder about that: the generic
> DPI panel should be told about reset_gpio, max_backlight_level,
> platform_enable/disable and set/get_backlight, which need to be passed
> in a struct. So a header and a struct is needed for this generic DPI
> driver.
>
Yeah, so we just put a name field in a struct such as
generic-dpi-panel-data in generic-dpi-panel.h
And our driver file will be panel-generic-dpi.c?
Thanks,
--
Bryan Wu <bryan.wu at 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
More information about the linux-arm-kernel
mailing list