aboutsummaryrefslogtreecommitdiff
path: root/drivers/tty/serdev
diff options
context:
space:
mode:
authorAndrey Smirnov <[email protected]>2017-11-09 08:05:52 -0800
committerGreg Kroah-Hartman <[email protected]>2017-11-28 15:32:32 +0100
commit98869f9f9e7dfca97de3505bcdfa1115abe9b893 (patch)
tree18273798a8d1445002cc465e57831450fff677ef /drivers/tty/serdev
parentbcfab39df88e31992371818eb8753f4b2b94ca80 (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. Cc: [email protected] Cc: [email protected] Cc: Rob Herring <[email protected]> Cc: [email protected] Cc: Guenter Roeck <[email protected]> Cc: Lucas Stach <[email protected]> Cc: Nikita Yushchenko <[email protected]> Cc: Lee Jones <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Pavel Machek <[email protected]> Cc: Andy Shevchenko <[email protected]> Cc: Johan Hovold <[email protected]> Cc: Sebastian Reichel <[email protected]> Acked-by: Rob Herring <[email protected]> Reviewed-by: Sebastian Reichel <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Signed-off-by: Andrey Smirnov <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'drivers/tty/serdev')
-rw-r--r--drivers/tty/serdev/core.c4
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;
}