ASoC: cs35l56: Attempt to read from cirrus,speaker-id device property first
When cs35l56 is connected via cs42l43 there isn't an ACPI node for the cs35l56 so all properties are under the cs42l43 ACPI node. We're adding a property as a way for the cs42l43 driver to pass this info in via a software node. Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20240611132556.1557075-3-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
b745dcf727
commit
c38082bf22
@ -853,9 +853,16 @@ EXPORT_SYMBOL_NS_GPL(cs35l56_hw_init, SND_SOC_CS35L56_SHARED);
|
||||
int cs35l56_get_speaker_id(struct cs35l56_base *cs35l56_base)
|
||||
{
|
||||
struct gpio_descs *descs;
|
||||
int speaker_id;
|
||||
u32 speaker_id;
|
||||
int i, ret;
|
||||
|
||||
/* Attempt to read the speaker type from a device property first */
|
||||
ret = device_property_read_u32(cs35l56_base->dev, "cirrus,speaker-id", &speaker_id);
|
||||
if (!ret) {
|
||||
dev_dbg(cs35l56_base->dev, "Speaker ID = %d\n", speaker_id);
|
||||
return speaker_id;
|
||||
}
|
||||
|
||||
/* Read the speaker type qualifier from the motherboard GPIOs */
|
||||
descs = gpiod_get_array_optional(cs35l56_base->dev, "spk-id", GPIOD_IN);
|
||||
if (!descs) {
|
||||
|
Loading…
Reference in New Issue
Block a user