blob: 52a3466dc8c1203731dfcb62ebf4e63ed390bbb4 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Simon Glass14d1c8e2016-01-21 19:44:58 -07002/*
3 * Copyright (c) 2016 Google, Inc
4 * Written by Simon Glass <sjg@chromium.org>
Simon Glass14d1c8e2016-01-21 19:44:58 -07005 */
6
Patrick Delaunay81313352021-04-27 11:02:19 +02007#define LOG_CATEGORY UCLASS_PANEL
8
Simon Glass14d1c8e2016-01-21 19:44:58 -07009#include <dm.h>
10#include <panel.h>
11
12int panel_enable_backlight(struct udevice *dev)
13{
14 struct panel_ops *ops = panel_get_ops(dev);
15
16 if (!ops->enable_backlight)
17 return -ENOSYS;
18
19 return ops->enable_backlight(dev);
20}
21
Simon Glassfe68a452018-10-01 12:22:41 -060022/**
23 * panel_set_backlight - Set brightness for the panel backlight
24 *
25 * @dev: Panel device containing the backlight to update
26 * @percent: Brightness value (0=off, 1=min brightness,
27 * 100=full brightness)
Heinrich Schuchardt47b4c022022-01-19 18:05:50 +010028 * Return: 0 if OK, -ve on error
Simon Glassfe68a452018-10-01 12:22:41 -060029 */
30int panel_set_backlight(struct udevice *dev, int percent)
31{
32 struct panel_ops *ops = panel_get_ops(dev);
33
34 if (!ops->set_backlight)
35 return -ENOSYS;
36
37 return ops->set_backlight(dev, percent);
38}
39
Yannick Fertrécfcb4322018-07-13 14:11:09 +020040int panel_get_display_timing(struct udevice *dev,
41 struct display_timing *timings)
42{
43 struct panel_ops *ops = panel_get_ops(dev);
44
45 if (!ops->get_display_timing)
46 return -ENOSYS;
47
48 return ops->get_display_timing(dev, timings);
49}
50
Simon Glass14d1c8e2016-01-21 19:44:58 -070051UCLASS_DRIVER(panel) = {
52 .id = UCLASS_PANEL,
53 .name = "panel",
54};