diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2017-12-20 22:51:14 -0800 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2018-01-08 10:08:33 +0000 |
commit | c5ff7de262b6e92ec88a20ea0a0244c29ccdc764 (patch) | |
tree | 8207e2d9d8dad17f03af52ab9ba8b70e572accbd /drivers/tty | |
parent | 0d85adb5fbd33daf81276d6fa0f990136eb4bf29 (diff) |
serdev: Make .remove in struct serdev_device_driver optional
Using devres infrastructure it is possible to write a serdev driver
that doesn't have any code that needs to be called as a part of
.remove. Add code to make .remove optional.
Acked-by: Philippe Ombredanne <pombredanne@nexb.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serdev/core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c index 1bef39828ca7..34050b439c1f 100644 --- a/drivers/tty/serdev/core.c +++ b/drivers/tty/serdev/core.c @@ -268,8 +268,8 @@ static int serdev_drv_probe(struct device *dev) static int serdev_drv_remove(struct device *dev) { const struct serdev_device_driver *sdrv = to_serdev_device_driver(dev->driver); - - sdrv->remove(to_serdev_device(dev)); + if (sdrv->remove) + sdrv->remove(to_serdev_device(dev)); return 0; } |