xref: /rk3399_rockchip-uboot/drivers/input/key-uclass.c (revision 5ec685037a799ecdc53ecb1a12a9ed5a9cecb4f4)
1 /*
2  * (C) Copyright 2017 Rockchip Electronics Co., Ltd
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6 
7 #include <dm.h>
8 #include <key.h>
9 
10 int key_read(struct udevice *dev)
11 {
12 	const struct dm_key_ops *ops = dev_get_driver_ops(dev);
13 
14 	if (!ops || !ops->read)
15 		return -ENOSYS;
16 
17 	return ops->read(dev);
18 }
19 
20 int key_type(struct udevice *dev)
21 {
22 	const struct dm_key_ops *ops = dev_get_driver_ops(dev);
23 
24 	if (!ops || !ops->type)
25 		return -ENOSYS;
26 
27 	return ops->type;
28 }
29 
30 const char *key_name(struct udevice *dev)
31 {
32 	const struct dm_key_ops *ops = dev_get_driver_ops(dev);
33 
34 	if (!ops || !ops->name)
35 		return NULL;
36 
37 	return ops->name;
38 }
39 
40 UCLASS_DRIVER(key) = {
41 	.id		= UCLASS_KEY,
42 	.name		= "key",
43 };
44