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