diff --git a/drivers/amlogic/unifykey/unifykey.c b/drivers/amlogic/unifykey/unifykey.c index 0d0bd83db944..74ca4ae0773e 100644 --- a/drivers/amlogic/unifykey/unifykey.c +++ b/drivers/amlogic/unifykey/unifykey.c @@ -56,6 +56,7 @@ typedef int (*key_unify_dev_init)(struct key_info_t *uk_info, typedef int (*key_unify_dev_uninit)(void); static int module_init_flag; +static struct aml_unifykey_dev *ukdev_global; static char hex_to_asc(char para) { @@ -899,6 +900,11 @@ static long unifykey_compat_ioctl(struct file *file, } #endif +void *get_ukdev(void) +{ + return ukdev_global; +} + static ssize_t unifykey_read(struct file *file, char __user *buf, size_t count, @@ -1523,6 +1529,7 @@ static int aml_unifykeys_probe(struct platform_device *pdev) ret = -ENOMEM; goto out; } + ukdev_global = ukdev; ukdev->pdev = pdev; platform_set_drvdata(pdev, ukdev); diff --git a/include/linux/amlogic/unifykey/key_manage.h b/include/linux/amlogic/unifykey/key_manage.h index eee15df94996..d56f73f4fef4 100644 --- a/include/linux/amlogic/unifykey/key_manage.h +++ b/include/linux/amlogic/unifykey/key_manage.h @@ -34,4 +34,6 @@ void storage_ops_write(store_key_ops read) } #endif /*CONFIG_KEY_MANAGE*/ +void *get_ukdev(void); + #endif /*__KEYMANAGE1__*/