dm: panel: Add a panel uclass

LCD panels can usefully be modelled as their own uclass. They can be probed
(which powers them up ready for use). If they have a backlight, this can be
enabled.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2016-01-21 19:44:58 -07:00
parent 65fba5927c
commit f563dc1d19
4 changed files with 58 additions and 0 deletions

31
include/panel.h Normal file
View file

@ -0,0 +1,31 @@
/*
* Copyright (c) 2016 Google, Inc
* Written by Simon Glass <sjg@chromium.org>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef _PANEL_H
#define _PANEL_H
struct panel_ops {
/**
* enable_backlight() - Enable the panel backlight
*
* @dev: Panel device containing the backlight to enable
* @return 0 if OK, -ve on error
*/
int (*enable_backlight)(struct udevice *dev);
};
#define panel_get_ops(dev) ((struct panel_ops *)(dev)->driver->ops)
/**
* panel_enable_backlight() - Enable the panel backlight
*
* @dev: Panel device containing the backlight to enable
* @return 0 if OK, -ve on error
*/
int panel_enable_backlight(struct udevice *dev);
#endif