soundwire: bus_type: add sdw_master_device support
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Mon, 18 May 2020 17:43:21 +0000 (01:43 +0800)
committerVinod Koul <vkoul@kernel.org>
Tue, 19 May 2020 07:14:35 +0000 (12:44 +0530)
commit7ceaa40b930e462ba0477ca6af34ec04d08181dc
treee566106b5a14929c7b42a0e180a3f046fe74b392
parentdbb50c7a9949506f750d59d9ba4d58f0ce8ccd42
soundwire: bus_type: add sdw_master_device support

In the existing SoundWire code, Master Devices are not explicitly
represented - only SoundWire Slave Devices are exposed (the use of
capital letters follows the SoundWire specification conventions).

With the existing code, the bus is handled without using a proper device,
and bus->dev typically points to a platform device. The right thing to
do as discussed in multiple reviews is use a device for each bus.

The sdw_master_device addition is done with minimal internal plumbing
and not exposed externally. The existing API based on
sdw_bus_master_add() and sdw_bus_master_delete() will deal with the
sdw_master_device life cycle, which minimizes changes to existing
drivers.

Note that the Intel code will be modified in follow-up patches (no
impact on any platform since the connection with ASoC is not supported
upstream so far).

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Acked-by: Jaroslav Kysela <perex@perex.cz>
Link: https://lore.kernel.org/r/20200518174322.31561-5-yung-chuan.liao@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/Makefile
drivers/soundwire/bus.c
drivers/soundwire/bus.h
drivers/soundwire/intel.c
drivers/soundwire/master.c [new file with mode: 0644]
drivers/soundwire/qcom.c
include/linux/soundwire/sdw.h