From: Bard Liao <yung-chuan.l...@linux.intel.com>

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

Signed-off-by: Bard Liao <yung-chuan.l...@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.boss...@linux.intel.com>
---
 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

Reply via email to