1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright (c) 2016 Google, Inc 4 * Written by Simon Glass <sjg@chromium.org> 5 */ 6 7#define LOG_CATEGORY UCLASS_PANEL 8 9#include <common.h> 10#include <dm.h> 11#include <panel.h> 12 13int panel_enable_backlight(struct udevice *dev) 14{ 15 struct panel_ops *ops = panel_get_ops(dev); 16 17 if (!ops->enable_backlight) 18 return -ENOSYS; 19 20 return ops->enable_backlight(dev); 21} 22 23/** 24 * panel_set_backlight - Set brightness for the panel backlight 25 * 26 * @dev: Panel device containing the backlight to update 27 * @percent: Brightness value (0=off, 1=min brightness, 28 * 100=full brightness) 29 * @return 0 if OK, -ve on error 30 */ 31int panel_set_backlight(struct udevice *dev, int percent) 32{ 33 struct panel_ops *ops = panel_get_ops(dev); 34 35 if (!ops->set_backlight) 36 return -ENOSYS; 37 38 return ops->set_backlight(dev, percent); 39} 40 41int panel_get_display_timing(struct udevice *dev, 42 struct display_timing *timings) 43{ 44 struct panel_ops *ops = panel_get_ops(dev); 45 46 if (!ops->get_display_timing) 47 return -ENOSYS; 48 49 return ops->get_display_timing(dev, timings); 50} 51 52UCLASS_DRIVER(panel) = { 53 .id = UCLASS_PANEL, 54 .name = "panel", 55}; 56