Skip to content

Commit

Permalink
ASoC: tas2770: Fix required DT properties in the code
Browse files Browse the repository at this point in the history
[ Upstream commit 4b8ab8a ]

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: 1a476ab ("tas2770: add tas2770 smart PA kernel driver")
Signed-off-by: Dan Murphy <dmurphy@ti.com>
Link: https://lore.kernel.org/r/20200918190548.12598-4-dmurphy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
Dan Murphy authored and gregkh committed Oct 29, 2020
1 parent d746393 commit 3148994
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions sound/soc/codecs/tas2770.c
Expand Up @@ -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",
&tas2770->asi_format);
if (rc) {
dev_err(tas2770->dev, "Looking up %s property failed %d\n",
"ti,asi-format", rc);
goto end;
dev_info(tas2770->dev, "Property %s is missing setting default slot\n",
"ti,asi-format");
tas2770->asi_format = 0;
}

rc = fwnode_property_read_u32(dev->fwnode, "ti,imon-slot-no",
&tas2770->i_sense_slot);
if (rc) {
dev_err(tas2770->dev, "Looking up %s property failed %d\n",
"ti,imon-slot-no", rc);
goto end;
dev_info(tas2770->dev, "Property %s is missing setting default slot\n",
"ti,imon-slot-no");
tas2770->i_sense_slot = 0;
}

rc = fwnode_property_read_u32(dev->fwnode, "ti,vmon-slot-no",
&tas2770->v_sense_slot);
if (rc) {
dev_err(tas2770->dev, "Looking up %s property failed %d\n",
"ti,vmon-slot-no", rc);
goto end;
dev_info(tas2770->dev, "Property %s is missing setting default slot\n",
"ti,vmon-slot-no");
tas2770->v_sense_slot = 2;
}

end:
return rc;
return 0;
}

static int tas2770_i2c_probe(struct i2c_client *client,
Expand Down

0 comments on commit 3148994

Please sign in to comment.