aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2021-01-01 18:26:52 +0100
committerTakashi Iwai <tiwai@suse.de>2021-01-01 18:26:52 +0100
commit23b0dfdbe5e44ce8cc0c2a1b53c98acba520b269 (patch)
tree0f33192fb60b78e05bc8ec207ce2fd4ed5c1bd84
parentaadee28a909672942f0ae5c1706cfc95f0f93615 (diff)
downloadhda-emu-23b0dfdbe5e44ce8cc0c2a1b53c98acba520b269.tar.gz
Add device_release_driver() wrapper
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--include/linux/device.h1
-rw-r--r--snd-wrapper.c9
2 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index 37e2210..386b792 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -78,6 +78,7 @@ struct device_driver {
int driver_register(struct device_driver *drv);
void driver_unregister(struct device_driver *drv);
int device_attach(struct device *dev);
+int device_release_driver(struct device *dev);
struct bus_type {
const char *name;
diff --git a/snd-wrapper.c b/snd-wrapper.c
index a93ede2..9f78af6 100644
--- a/snd-wrapper.c
+++ b/snd-wrapper.c
@@ -838,6 +838,15 @@ int device_attach(struct device *dev)
return 0;
}
+int device_release_driver(struct device *dev)
+{
+ if (dev->driver) {
+ dev->driver->remove(dev);
+ dev->driver = NULL;
+ }
+ return 0;
+}
+
/*
*/
static void check_resume(struct device *dev)