]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commit
soundwire: intel: filter SoundWire controller device search
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Wed, 22 May 2019 19:47:17 +0000 (14:47 -0500)
committerVinod Koul <vkoul@kernel.org>
Mon, 27 May 2019 05:22:59 +0000 (10:52 +0530)
commit6f11586f4896ee448262747788a0a3faf0fe9066
tree036194ff109f3f73ee09c6f746eeea4bf36b9bfb
parent18de65d9e71a2ea20b9a7b4efbfcc5baa4f0d252
soundwire: intel: filter SoundWire controller device search

The convention is that the SoundWire controller device is a child of
the HDAudio controller. However there can be more than one child
exposed in the DSDT table, and the current namespace walk returns the
last (incorrect) device.

Intel documentation states that bits 28..31 of the _ADR field
represent the link type, with SoundWire assigned the value 4.

Add a filter and terminate early when a valid _ADR is provided,
otherwise keep iterating to find the next child.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/intel_init.c