[RFC PATCH 9/9] soundwire: add device driver to sdw_md_driver

From: Pierre-Louis Bossart
Date: Mon Sep 16 2019 - 17:24:03 EST


From: Bard Liao <yung-chuan.liao@xxxxxxxxxxxxxxx>

Setting an device driver is necessary for ASoC to register DAI
components.

Signed-off-by: Bard Liao <yung-chuan.liao@xxxxxxxxxxxxxxx>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
---
drivers/soundwire/intel.c | 4 ++++
drivers/soundwire/master.c | 2 ++
include/linux/soundwire/sdw.h | 1 +
3 files changed, 7 insertions(+)

diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c
index 267e0fad7494..c3dba6cf7730 100644
--- a/drivers/soundwire/intel.c
+++ b/drivers/soundwire/intel.c
@@ -1042,6 +1042,10 @@ static int intel_master_remove(struct sdw_master_device *md)
}

struct sdw_md_driver intel_sdw_driver = {
+ .driver = {
+ .name = "intel-sdw",
+ .owner = THIS_MODULE,
+ },
.probe = intel_master_probe,
.startup = intel_master_startup,
.remove = intel_master_remove,
diff --git a/drivers/soundwire/master.c b/drivers/soundwire/master.c
index d9d09759b9c3..adf11d9f5469 100644
--- a/drivers/soundwire/master.c
+++ b/drivers/soundwire/master.c
@@ -73,6 +73,8 @@ struct sdw_master_device *sdw_md_add(struct sdw_md_driver *driver,
put_device(&md->dev);
}

+ md->dev.driver = &driver->driver;
+
return md;
}
EXPORT_SYMBOL(sdw_md_add);
diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h
index 6289924b0336..e22bc037c196 100644
--- a/include/linux/soundwire/sdw.h
+++ b/include/linux/soundwire/sdw.h
@@ -606,6 +606,7 @@ struct sdw_md_driver {
*/
int (*autonomous_clock_stop_enable)(struct sdw_master_device *md,
bool state);
+ struct device_driver driver;
};

#define SDW_SLAVE_ENTRY(_mfg_id, _part_id, _drv_data) \
--
2.20.1