Re: [PATCH 4/5] ASoC: codecs: wcd939x: move to using dev_get_regmap

From: Srinivas Kandagatla
Date: Wed Jul 16 2025 - 10:36:38 EST


On 7/16/25 3:31 PM, Mark Brown wrote:
> On Wed, Jul 16, 2025 at 01:33:22PM +0100, srinivas.kandagatla@xxxxxxxxxxxxxxxx wrote:
>
>> Ffor some reason we ended up with a boiler plate for dev_get_regmap in
>> wcd939x codec and started exporting a symbol for this. Remove this
>> redundant wrapper and direclty use dev_get_regmap from device pointer..
>
>> -struct regmap *wcd939x_swr_get_regmap(struct wcd939x_sdw_priv *wcd)
>> -{
>> - if (wcd->regmap)
>> - return wcd->regmap;
>> -
>> - return ERR_PTR(-EINVAL);
>> -}
>> -EXPORT_SYMBOL_GPL(wcd939x_swr_get_regmap);
>
>
>> /* Get regmap from TX SoundWire device */
>> - wcd939x->regmap = wcd939x_swr_get_regmap(wcd939x->sdw_priv[AIF1_CAP]);
>> - if (IS_ERR(wcd939x->regmap)) {
>> + wcd939x->regmap = dev_get_regmap(wcd939x->txdev, NULL);
>> + if (!wcd939x->regmap) {
>
> The existing code should be more efficient than dev_get_regmap(), the
> latter does a devres_find() to look up the regmap while the above is
> just a pointer dereference. It's probably a marginal difference in the
> context of probe() but there is a reason to do something more direct if
> you can, dev_get_regmap() is mainly intended for generic APIs that get
Thanks Mark, I did not realize that dev_get_regmap was devres search at
the end, Will drop this patch and make something similar changes to
other codecs too.

--srini
> passed a struct device.