tree 47e77ad068f9e91c4730d5144c0ad4aa51f1b05d
parent 8e9804557ca1188f3a9d9129180f46c2c73ba942
parent c545b59515cca4ccaf920e12582a43836cddaa2b
author Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> 1372413674 +0800
committer Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> 1372413674 +0800
mergetag object c545b59515cca4ccaf920e12582a43836cddaa2b
 type commit
 tag omapdss-for-3.11-2
 tagger Tomi Valkeinen <tomi.valkeinen@ti.com> 1371475866 +0300
 
 OMAP display subsystem changes for 3.11 (part 2/2)
 
 This is the second part of OMAP DSS changes for 3.11. This part contains the
 new DSS device model support.
 
 The current OMAP panel drivers use a custom DSS bus, and there's a hard limit
 of one external display block per video pipeline. In the new DSS device model
 the devices/drivers are made according to the control bus of the display block,
 usually platform, i2c or spi. The display blocks can also be chained so that we
 can have separate drivers for setups with both external encoder and panel.
 
 To allow the current board files, which use the old style panels, to function,
 the old display drivers are left in their current state, and new ones are added
 to drivers/video/omap2/displays-new/. When the board files have been converted
 to use the new style panels, we can remove the old code. This is planned to
 happen in v3.12.
 
 Having to support two very different DSS device models makes the driver
 somewhat confusing in some parts, and prevents us from properly cleaning up
 some other parts. These cleanups will be done when the old code is removed.
 
 The new device model is designed with CDF (Common Display Framework) in mind.
 While CDF is still under work, the new DSS device model should be much more
 similar to CDF's model than the old device model, which should make the
 eventual conversion to CDF much easier.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJRvw+mAAoJEPo9qoy8lh71b6MP/1LFnu9pPkCTDm4qUbwmxOvv
 Y7d91vjrVbcwKMVkRFzjjiBmtoq8cS66Vd045GRYEnpv0WUN+v6gpo/VQ83GQLq7
 Tb81e4hWEbC8D37iw/h5Yd8BttPLkKJ21UP4lGVnuxJCiD3Vt7Lj9oKPmAvJvRW7
 JnPjy9kt/GXVE7rD5Gh0l8GK+rOzbPY0eghqsAE080rasc/0wQtxhD3+gJKTJHxv
 Y4oxmWOCfGFUhRamHbBsDscoiHUWShyMrF1kfjRLYRipUCHKgEsGbUL5tYE9K/MP
 1G5zs7x7Xjvo25gYsY1uxn/f7aWe/SthUz/3BR0z7ph3v7IK7ZlkjFyw8jGU0isp
 9JtrJLbmC9MGEZsSxD09dvfuIyjBr8cl6cW9fo3fGgdZqA7cG7f6UHcwoQxefZ03
 eFBHKpEq3hBrknMRah25C0MMUFQQWgHnznta13EWuMMzAZHABbvgn+LeCZcbwNb2
 Bb68jAxU6t/WpcvZYBHtlytlymFT0vEl1Xizp9YZa9mU+sn95eLSGw7p0l6QEwjW
 /qvsPXCy6EsMRN2pxpPeERZdBsQWnmPtZx9IHShbPx+yw9I23sqW2ss0hnNh8cj5
 KSAu+WLhcVRsOb5a+FlOkjLtUF6iDk/i3zfWXHE/KR2uHgiqywqv4vijHQ9/QWa/
 6E9BU72SV1uuQiduwewS
 =yEcM
 -----END PGP SIGNATURE-----

Merge tag 'omapdss-for-3.11-2' of git://gitorious.org/linux-omap-dss2/linux into fbdev/for-next

OMAP display subsystem changes for 3.11 (part 2/2)

This is the second part of OMAP DSS changes for 3.11. This part contains the
new DSS device model support.

The current OMAP panel drivers use a custom DSS bus, and there's a hard limit
of one external display block per video pipeline. In the new DSS device model
the devices/drivers are made according to the control bus of the display block,
usually platform, i2c or spi. The display blocks can also be chained so that we
can have separate drivers for setups with both external encoder and panel.

To allow the current board files, which use the old style panels, to function,
the old display drivers are left in their current state, and new ones are added
to drivers/video/omap2/displays-new/. When the board files have been converted
to use the new style panels, we can remove the old code. This is planned to
happen in v3.12.

Having to support two very different DSS device models makes the driver
somewhat confusing in some parts, and prevents us from properly cleaning up
some other parts. These cleanups will be done when the old code is removed.

The new device model is designed with CDF (Common Display Framework) in mind.
While CDF is still under work, the new DSS device model should be much more
similar to CDF's model than the old device model, which should make the
eventual conversion to CDF much easier.
