diff options
Diffstat (limited to 'kernel/ethosu_driver.c')
-rw-r--r-- | kernel/ethosu_driver.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/kernel/ethosu_driver.c b/kernel/ethosu_driver.c index c6fc8cd..6e5bfb9 100644 --- a/kernel/ethosu_driver.c +++ b/kernel/ethosu_driver.c @@ -57,7 +57,6 @@ static DECLARE_BITMAP(minors, MINOR_COUNT); static int ethosu_rpmsg_probe(struct rpmsg_device *rpdev) { struct device *dev = &rpdev->dev; - struct ethosu_device *edev; int minor; int ret; @@ -69,15 +68,8 @@ static int ethosu_rpmsg_probe(struct rpmsg_device *rpdev) return -ENOMEM; } - edev = devm_kzalloc(dev, sizeof(*edev), GFP_KERNEL); - if (!edev) - return -ENOMEM; - - dev_set_drvdata(dev, edev); - /* Initialize device */ - ret = ethosu_dev_init(edev, rpdev, ethosu_class, - MKDEV(MAJOR(devt), minor)); + ret = ethosu_dev_init(rpdev, ethosu_class, MKDEV(MAJOR(devt), minor)); if (ret) return ret; @@ -88,12 +80,13 @@ static int ethosu_rpmsg_probe(struct rpmsg_device *rpdev) static void ethosu_rpmsg_remove(struct rpmsg_device *rpdev) { - struct ethosu_device *edev = dev_get_drvdata(&rpdev->dev); + struct device *dev = &rpdev->dev; + struct ethosu_device *edev = dev_get_drvdata(dev); - dev_info(&rpdev->dev, "%s", __FUNCTION__); + dev_info(dev, "%s", __FUNCTION__); clear_bit(MINOR(edev->devt), minors); - ethosu_dev_deinit(edev); + ethosu_dev_deinit(rpdev); } static int ethosu_rpmsg_cb(struct rpmsg_device *rpdev, |