2023-03-01 10:31:26

by Lucas Tanure

[permalink] [raw]
Subject: [PATCH] ASoC: cs35l41: Steam Deck Shared boost properties quirk

Add support for Steam Deck bios old properties. If a Steam deck didn't
upgrade the BIOS, the driver should be able to handle the previous
properties for shared boost types.

Signed-off-by: Lucas Tanure <[email protected]>
---
sound/soc/codecs/cs35l41.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/sound/soc/codecs/cs35l41.c b/sound/soc/codecs/cs35l41.c
index c223d83e02cf..d5f9eee88cba 100644
--- a/sound/soc/codecs/cs35l41.c
+++ b/sound/soc/codecs/cs35l41.c
@@ -1037,9 +1037,17 @@ static int cs35l41_handle_pdata(struct device *dev, struct cs35l41_hw_cfg *hw_cf
unsigned int val;
int ret;

- ret = device_property_read_u32(dev, "cirrus,boost-type", &val);
- if (ret >= 0)
- hw_cfg->bst_type = val;
+ if (device_property_read_bool(dev, "cirrus,shared-boost-active")){
+ hw_cfg->bst_type = CS35L41_SHD_BOOST_ACTV;
+ }
+ else if (device_property_read_bool(dev, "cirrus,shared-boost-passive")) {
+ hw_cfg->bst_type = CS35L41_SHD_BOOST_PASS;
+ }
+ else {
+ ret = device_property_read_u32(dev, "cirrus,boost-type", &val);
+ if (ret >= 0)
+ hw_cfg->bst_type = val;
+ }

ret = device_property_read_u32(dev, "cirrus,boost-peak-milliamp", &val);
if (ret >= 0)
--
2.39.2



2023-03-01 11:39:41

by Charles Keepax

[permalink] [raw]
Subject: Re: [PATCH] ASoC: cs35l41: Steam Deck Shared boost properties quirk

On Wed, Mar 01, 2023 at 10:31:13AM +0000, Lucas Tanure wrote:
> Add support for Steam Deck bios old properties. If a Steam deck didn't
> upgrade the BIOS, the driver should be able to handle the previous
> properties for shared boost types.
>
> Signed-off-by: Lucas Tanure <[email protected]>
> ---
> sound/soc/codecs/cs35l41.c | 14 +++++++++++---
> 1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/sound/soc/codecs/cs35l41.c b/sound/soc/codecs/cs35l41.c
> index c223d83e02cf..d5f9eee88cba 100644
> --- a/sound/soc/codecs/cs35l41.c
> +++ b/sound/soc/codecs/cs35l41.c
> @@ -1037,9 +1037,17 @@ static int cs35l41_handle_pdata(struct device *dev, struct cs35l41_hw_cfg *hw_cf
> unsigned int val;
> int ret;
>
> - ret = device_property_read_u32(dev, "cirrus,boost-type", &val);
> - if (ret >= 0)
> - hw_cfg->bst_type = val;
> + if (device_property_read_bool(dev, "cirrus,shared-boost-active")){
> + hw_cfg->bst_type = CS35L41_SHD_BOOST_ACTV;
> + }
> + else if (device_property_read_bool(dev, "cirrus,shared-boost-passive")) {

else should really be on the same line as the closing bracket.
But apart from that minor nit, looks good to me:

Acked-by: Charles Keepax <[email protected]>

Thanks,
Charles