[PATCH v3 10/15] soundwire: add device driver to sdw_md_driver

From: Pierre-Louis Bossart
Date: Thu Nov 14 2019 - 13:00:11 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 ba3bc410d816..492684ba08c3 100644
--- a/drivers/soundwire/intel.c
+++ b/drivers/soundwire/intel.c
@@ -1059,6 +1059,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 6210098c892b..d23111d43fd6 100644
--- a/drivers/soundwire/master.c
+++ b/drivers/soundwire/master.c
@@ -57,6 +57,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 af0a72e7afdf..d22950b1a5d9 100644
--- a/include/linux/soundwire/sdw.h
+++ b/include/linux/soundwire/sdw.h
@@ -627,6 +627,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