xref: /rk3399_rockchip-uboot/drivers/power/charge-display-uclass.c (revision 785b4fbf6c5db1eb4c0ddf983292d7ab077c4212)
1 /*
2  * (C) Copyright 2017 Rockchip Electronics Co., Ltd
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6 
7 #include <command.h>
8 #include <common.h>
9 #include <dm.h>
10 #include <power/charge_display.h>
11 
12 int charge_display_get_power_on_soc(struct udevice *dev)
13 {
14 	const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
15 
16 	if (!ops || !ops->get_power_on_soc)
17 		return -ENOSYS;
18 
19 	return ops->get_power_on_soc(dev);
20 }
21 
22 int charge_display_get_power_on_voltage(struct udevice *dev)
23 {
24 	const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
25 
26 	if (!ops || !ops->get_power_on_voltage)
27 		return -ENOSYS;
28 
29 	return ops->get_power_on_voltage(dev);
30 }
31 
32 int charge_display_get_screen_on_voltage(struct udevice *dev)
33 {
34 	const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
35 
36 	if (!ops || !ops->get_screen_on_voltage)
37 		return -ENOSYS;
38 
39 	return ops->get_screen_on_voltage(dev);
40 }
41 
42 int charge_display_show(struct udevice *dev)
43 {
44 	const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
45 
46 	if (!ops || !ops->show)
47 		return -ENOSYS;
48 
49 	return ops->show(dev);
50 }
51 
52 int charge_display_set_power_on_soc(struct udevice *dev, int val)
53 {
54 	const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
55 
56 	if (!ops || !ops->set_power_on_soc)
57 		return -ENOSYS;
58 
59 	return ops->set_power_on_soc(dev, val);
60 }
61 
62 int charge_display_set_power_on_voltage(struct udevice *dev, int val)
63 {
64 	const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
65 
66 	if (!ops || !ops->set_power_on_voltage)
67 		return -ENOSYS;
68 
69 	return ops->set_power_on_voltage(dev, val);
70 }
71 
72 int charge_display_set_screen_on_voltage(struct udevice *dev, int val)
73 {
74 	const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
75 
76 	if (!ops || !ops->set_screen_on_voltage)
77 		return -ENOSYS;
78 
79 	return ops->set_screen_on_voltage(dev, val);
80 }
81 
82 UCLASS_DRIVER(charge_display) = {
83 	.id	= UCLASS_CHARGE_DISPLAY,
84 	.name	= "charge_display",
85 };
86