Commit 4b8ab8a7 authored by Dan Murphy's avatar Dan Murphy Committed by Mark Brown

ASoC: tas2770: Fix required DT properties in the code

The devicetree binding indicates that the ti,asi-format, ti,imon-slot-no
and ti,vmon-slot-no are not required but the driver requires them or it
fails to probe. Honor the binding and allow these entries to be optional
and set the corresponding values to the default values for each as defined
in the data sheet.

Fixes: 1a476abc ("tas2770: add tas2770 smart PA kernel driver")
Signed-off-by: default avatarDan Murphy <dmurphy@ti.com>
Link: https://lore.kernel.org/r/20200918190548.12598-4-dmurphy@ti.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 4272caf3
...@@ -708,29 +708,28 @@ static int tas2770_parse_dt(struct device *dev, struct tas2770_priv *tas2770) ...@@ -708,29 +708,28 @@ static int tas2770_parse_dt(struct device *dev, struct tas2770_priv *tas2770)
rc = fwnode_property_read_u32(dev->fwnode, "ti,asi-format", rc = fwnode_property_read_u32(dev->fwnode, "ti,asi-format",
&tas2770->asi_format); &tas2770->asi_format);
if (rc) { if (rc) {
dev_err(tas2770->dev, "Looking up %s property failed %d\n", dev_info(tas2770->dev, "Property %s is missing setting default slot\n",
"ti,asi-format", rc); "ti,asi-format");
goto end; tas2770->asi_format = 0;
} }
rc = fwnode_property_read_u32(dev->fwnode, "ti,imon-slot-no", rc = fwnode_property_read_u32(dev->fwnode, "ti,imon-slot-no",
&tas2770->i_sense_slot); &tas2770->i_sense_slot);
if (rc) { if (rc) {
dev_err(tas2770->dev, "Looking up %s property failed %d\n", dev_info(tas2770->dev, "Property %s is missing setting default slot\n",
"ti,imon-slot-no", rc); "ti,imon-slot-no");
goto end; tas2770->i_sense_slot = 0;
} }
rc = fwnode_property_read_u32(dev->fwnode, "ti,vmon-slot-no", rc = fwnode_property_read_u32(dev->fwnode, "ti,vmon-slot-no",
&tas2770->v_sense_slot); &tas2770->v_sense_slot);
if (rc) { if (rc) {
dev_err(tas2770->dev, "Looking up %s property failed %d\n", dev_info(tas2770->dev, "Property %s is missing setting default slot\n",
"ti,vmon-slot-no", rc); "ti,vmon-slot-no");
goto end; tas2770->v_sense_slot = 2;
} }
end: return 0;
return rc;
} }
static int tas2770_i2c_probe(struct i2c_client *client, static int tas2770_i2c_probe(struct i2c_client *client,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment