soundwire: intel: update interfaces between ASoC and SoundWire
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Thu, 12 Dec 2019 01:45:01 +0000 (19:45 -0600)
committerVinod Koul <vkoul@kernel.org>
Thu, 12 Dec 2019 03:47:06 +0000 (09:17 +0530)
commitf98f690fb03c2a8d21dfa31aa1042480cf6f7f9b
tree8e07da492d83b486e3e564d8c01ed4f1bb64576c
parentb2bd75f806c49929d7ab5a860c0a69b0a17c59d2
soundwire: intel: update interfaces between ASoC and SoundWire

The current interfaces between ASoC and SoundWire are limited by the
platform_device infrastructure to an init() and exit() (mapped to the
platform driver.probe and .remove)

To help with the platform detection, machine driver selection and
management of power dependencies between DSP and SoundWire IP, the
ASoC side requires:

a) an ACPI scan helper, to report if any devices are exposed in the
DSDT tables, and if any links are disabled by the BIOS.

b) a probe helper that allocates the resources without actually
starting the bus.

c) a startup helper which does start the bus when all power
dependencies are settled.

d) an exit helper to free all resources

e) an interrupt_enable/disable helper, typically invoked after the
startup helper but also used in suspend routines.

This patch moves all required interfaces to sdw_intel.h, mainly to
allow SoundWire and ASoC parts to be merged separately once the header
files are shared between trees.

To avoid compilation issues, the conflicts in intel_init.c are blindly
removed. This would in theory prevent the code from working, but since
there are no users of the Intel Soundwire driver this has no
impact. Functionality will be restored when the removal of platform
devices is complete.

Support for SoundWire + SOF builds will only be provided once all the
required pieces are upstream.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20191212014507.28050-6-pierre-louis.bossart@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/intel.h
drivers/soundwire/intel_init.c
include/linux/soundwire/sdw_intel.h