From a61b5c69a202be84f49ad4412ed9562dd1aee052 Mon Sep 17 00:00:00 2001 From: Vinay Sudra Date: Fri, 30 Apr 2021 20:55:20 +0530 Subject: [PATCH] char: virtio_fastrpc: Move PM notifier to driver probe Register pm notifier from driver init to driver probe. Change-Id: I97e68410879dd075ec5ee51f508adc2ace8e9705 Signed-off-by: Vinay Sudra --- drivers/char/virtio_fastrpc.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/char/virtio_fastrpc.c b/drivers/char/virtio_fastrpc.c index e97541f749b8..14bd6177ad2a 100644 --- a/drivers/char/virtio_fastrpc.c +++ b/drivers/char/virtio_fastrpc.c @@ -2338,6 +2338,12 @@ static int virt_fastrpc_probe(struct virtio_device *vdev) if (IS_ERR_OR_NULL(secure_dev)) goto device_create_bail; + err = register_pm_notifier(&virtio_fastrpc_pm_nb); + if (err) { + pr_err("virtio_fastrpc: power state notifier error\n"); + goto device_create_bail; + } + virtio_device_ready(vdev); /* set up the receive buffers */ @@ -2381,6 +2387,7 @@ static void virt_fastrpc_remove(struct virtio_device *vdev) { struct fastrpc_apps *me = &gfa; + unregister_pm_notifier(&virtio_fastrpc_pm_nb); device_destroy(me->class, MKDEV(MAJOR(me->dev_no), MINOR_NUM_DEV)); device_destroy(me->class, MKDEV(MAJOR(me->dev_no), MINOR_NUM_SECURE_DEV)); @@ -2418,12 +2425,6 @@ static struct virtio_driver virtio_fastrpc_driver = { static int __init virtio_fastrpc_init(void) { - int ret; - - ret = register_pm_notifier(&virtio_fastrpc_pm_nb); - if (ret) - pr_err("virtio_fastrpc: power state notif error\n"); - return register_virtio_driver(&virtio_fastrpc_driver); }