ASoC: soc-acpi: add _ADR-based link descriptors
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Fri, 10 Jan 2020 22:25:25 +0000 (16:25 -0600)
committerMark Brown <broonie@kernel.org>
Mon, 13 Jan 2020 15:00:16 +0000 (15:00 +0000)
commitefb6f3159e874f09992b7318cea12e8e27e8389b
tree9d04a4d5f4fb4c956119ffba6814b0f19c1d4487
parentcfe8191b1bbf2b41581b63eb97e56cd6bc3c34a1
ASoC: soc-acpi: add _ADR-based link descriptors

For SoundWire support, we added a 'link_mask' to describe the PCB hardware
layout. This helped form a signature that can be used as a first-order way
of detecting the hardware and selecting the machine driver.

The concept of link_mask is however not enough. Some BIOS enable all links,
even when there are no devices physically connected. We can also see
variations with multiple devices attached on one link, or different types
of devices connected on the same link. To accurately represent the
hardware, we need to build static tables where each link exposes a list of
expected devices represented by the 64-bit _ADR field (which uniquely
identifies each device).

The new 'links' field is optional when the link_mask is sufficient to
represent a platform in a unique way.

The existing mechanism to support I2C devices is left as is, it'd be too
invasive to change the existing support for _HID and the notion of link is
not relevant either.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Bard liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20200110222530.30303-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc-acpi.h