Unverified Commit 956c032b authored by Charles Keepax's avatar Charles Keepax Committed by Mark Brown
Browse files

ASoC: SDCA: Fix reading of mipi-sdca-control-deferrable

The discussion in [1] highlighted that the SDCA code shouldn't be using
fwnode_property_read_bool() for DisCo controls, as the spec allows setting
the value to zero meaning the property should not be used. Correct a
small bug in the SDCA code that will mark such controls as deferrable.

Link: https://lore.kernel.org/linux-sound/20260311142153.2201761-1-rf@opensource.cirrus.com/

 [1]
Fixes: 42b144cb ("ASoC: SDCA: Add SDCA Control parsing")
Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20260413124621.1345315-3-ckeepax@opensource.cirrus.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent ca1b11b3
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1006,8 +1006,11 @@ static int find_sdca_entity_control(struct device *dev, struct sdca_entity *enti
			control->has_fixed = true;
		fallthrough;
	case SDCA_ACCESS_MODE_RO:
		control->deferrable = fwnode_property_read_bool(control_node,
								"mipi-sdca-control-deferrable");
		ret = fwnode_property_read_u32(control_node,
					       "mipi-sdca-control-deferrable",
					       &tmp);
		if (ret == 0)
			control->deferrable = !!tmp;
		break;
	default:
		break;