xref: /rk3399_rockchip-uboot/drivers/power/charge-display-uclass.c (revision 94cf1096eeb0e0cb82da8730a3078200e904f351)
155b6f88eSJoseph Chen /*
255b6f88eSJoseph Chen  * (C) Copyright 2017 Rockchip Electronics Co., Ltd
355b6f88eSJoseph Chen  *
455b6f88eSJoseph Chen  * SPDX-License-Identifier:     GPL-2.0+
555b6f88eSJoseph Chen  */
655b6f88eSJoseph Chen 
755b6f88eSJoseph Chen #include <command.h>
855b6f88eSJoseph Chen #include <common.h>
955b6f88eSJoseph Chen #include <dm.h>
1055b6f88eSJoseph Chen #include <power/charge_display.h>
1155b6f88eSJoseph Chen 
charge_display_show(struct udevice * dev)12*94cf1096SJoseph Chen int charge_display_show(struct udevice *dev)
1355b6f88eSJoseph Chen {
1455b6f88eSJoseph Chen 	const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
1555b6f88eSJoseph Chen 
1655b6f88eSJoseph Chen 	if (!ops || !ops->show)
1755b6f88eSJoseph Chen 		return -ENOSYS;
1855b6f88eSJoseph Chen 
1955b6f88eSJoseph Chen 	return ops->show(dev);
2055b6f88eSJoseph Chen }
2155b6f88eSJoseph Chen 
charge_display(void)22f36a2342SJoseph Chen int charge_display(void)
23f36a2342SJoseph Chen {
24f36a2342SJoseph Chen 	struct udevice *dev;
25f36a2342SJoseph Chen 	int ret;
26f36a2342SJoseph Chen 
27f36a2342SJoseph Chen 	ret = uclass_get_device(UCLASS_CHARGE_DISPLAY, 0, &dev);
28f36a2342SJoseph Chen 	if (ret) {
29f36a2342SJoseph Chen 		debug("Get charge display failed, ret=%d\n", ret);
30f36a2342SJoseph Chen 		return ret;
31f36a2342SJoseph Chen 	}
32f36a2342SJoseph Chen 
33f36a2342SJoseph Chen 	return charge_display_show(dev);
34f36a2342SJoseph Chen }
35f36a2342SJoseph Chen 
3655b6f88eSJoseph Chen UCLASS_DRIVER(charge_display) = {
3755b6f88eSJoseph Chen 	.id	= UCLASS_CHARGE_DISPLAY,
3855b6f88eSJoseph Chen 	.name	= "charge_display",
3955b6f88eSJoseph Chen };
40