This panel has a backlight, so add a property describing that and add the code to use that. This makes things like xset dpms force off also turn off the backlight, so we do not need to rely on additional userspace programs to do that.
Andreas Kemnade (2): drm/omap: panel-tpo-td028ttec1: add backlight support dt-bindings: panel: td028ttec1: add backlight property
.../devicetree/bindings/display/panel/tpo,td028ttec1.txt | 2 ++ drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c | 10 ++++++++++ 2 files changed, 12 insertions(+)
This panel has a backlight, so fetch it from devicetree using the corresponding property as documented in panel-common.txt. It is implemented the same way as in panel-dpi.c This ensures the backlight is also disabled when the display is turned off like when doing xset dpms force off.
Signed-off-by: Andreas Kemnade andreas@kemnade.info --- Changes in v2: - do not reorder initialisation - fix commit message
drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c index 7ddc8c574a61..1db8740f3c21 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c @@ -35,6 +35,8 @@ struct panel_drv_data {
struct videomode vm;
+ struct backlight_device *backlight; + struct spi_device *spi_dev; };
@@ -268,6 +270,8 @@ static int td028ttec1_panel_enable(struct omap_dss_device *dssdev)
r |= jbt_ret_write_0(ddata, JBT_REG_DISPLAY_ON);
+ backlight_enable(ddata->backlight); + dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
transfer_err: @@ -283,6 +287,8 @@ static void td028ttec1_panel_disable(struct omap_dss_device *dssdev) if (!omapdss_device_is_enabled(dssdev)) return;
+ backlight_disable(ddata->backlight); + dev_dbg(dssdev->dev, "td028ttec1_panel_disable()\n");
jbt_ret_write_0(ddata, JBT_REG_DISPLAY_OFF); @@ -334,6 +340,10 @@ static int td028ttec1_panel_probe(struct spi_device *spi) if (ddata == NULL) return -ENOMEM;
+ ddata->backlight = devm_of_find_backlight(&spi->dev); + if (IS_ERR(ddata->backlight)) + return PTR_ERR(ddata->backlight); + dev_set_drvdata(&spi->dev, ddata);
ddata->spi_dev = spi;
Hi Andreas,
Thank you for the patch.
On Tue, Feb 05, 2019 at 07:38:12AM +0100, Andreas Kemnade wrote:
Reviewed-by: Laurent Pinchart laurent.pinchart@ideasonboard.com
This adds an additional backlight property as described in panel-common.txt
Signed-off-by: Andreas Kemnade andreas@kemnade.info --- Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt b/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt index ed34253d9fb1..898e06ecf4ef 100644 --- a/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt +++ b/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt @@ -6,6 +6,7 @@ Required properties:
Optional properties: - label: a symbolic name for the panel +- backlight: phandle of the backlight device
Required nodes: - Video port for DPI input @@ -21,6 +22,7 @@ lcd-panel: td028ttec1@0 { spi-cpha;
label = "lcd"; + backlight = <&backlight>; port { lcd_in: endpoint { remote-endpoint = <&dpi_out>;
Hi Andreas,
Thank you for the patch.
On Tue, Feb 05, 2019 at 07:38:13AM +0100, Andreas Kemnade wrote:
Reviewed-by: Laurent Pinchart laurent.pinchart@ideasonboard.com
On Tue, 5 Feb 2019 07:38:13 +0100, Andreas Kemnade wrote:
Reviewed-by: Rob Herring robh@kernel.org
Hi,
On Fri, 8 Feb 2019 11:13:33 +0200 Tomi Valkeinen tomi.valkeinen@ti.com wrote:
hmm, that sounds like: patch accepted, will appear in linux-next soon. I have not seen it there, or is it just in some branch not merged into linux-next. Any new obstacles?
Regards, Andreas
On 15/02/2019 09:12, Andreas Kemnade wrote:
It's too late to get it to the next merge window, so I'll have to wait until the merge window is closed before I can send these to drm-next.
Tomi
dri-devel@lists.freedesktop.org