diff --git a/drivers/slimbus/slimbus.c b/drivers/slimbus/slimbus.c index e5b3158e16e..bec03995c6f 100644 --- a/drivers/slimbus/slimbus.c +++ b/drivers/slimbus/slimbus.c @@ -233,6 +233,17 @@ int slim_driver_register(struct slim_driver *drv) } EXPORT_SYMBOL_GPL(slim_driver_register); +/* + * slim_driver_unregister: Undo effects of slim_driver_register + * @drv: Client driver to be unregistered + */ +void slim_driver_unregister(struct slim_driver *drv) +{ + if (drv) + driver_unregister(&drv->driver); +} +EXPORT_SYMBOL_GPL(slim_driver_unregister); + #define slim_ctrl_attr_gr NULL static void slim_ctrl_release(struct device *dev) diff --git a/include/linux/slimbus/slimbus.h b/include/linux/slimbus/slimbus.h index 803ff223ff3..5c5b777fa6d 100644 --- a/include/linux/slimbus/slimbus.h +++ b/include/linux/slimbus/slimbus.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -961,6 +961,12 @@ extern int slim_ctrl_clk_pause(struct slim_controller *ctrl, bool wakeup, */ extern int slim_driver_register(struct slim_driver *drv); +/* + * slim_driver_unregister: Undo effects of slim_driver_register + * @drv: Client driver to be unregistered + */ +extern void slim_driver_unregister(struct slim_driver *drv); + /* * slim_add_numbered_controller: Controller bring-up. * @ctrl: Controller to be registered.