[PATCH 2/2] ASoC: meson: meson-card: use priv instead of card on each functions
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Tue Jul 21 17:35:34 PDT 2026
Hi Jerome, again
I now double checked.
> > The change is simple but it will make more complex to backport fix an
> > older kernel once this fix is applied. So again, getting more context to
> > understand what you are trying to accomplish and why it needs a standard
> > card variable name would help.
>
> Basically, after "Card capsuling" has done, we can't directly use card->xxx
> anymore. So we need to update all of such code.
> I would like to update such code as much as possible in advance.
> Otherwise, "Card capsuling" patch itself will be more complex and difficult
> to review.
Current functions get "card" as parameter to get "dev".
func(card, ...)
{
struct device *dev = card->dev;
...
}
After "Card capsuling", we will use "card_driver" instead.
But switching "card" to "card_driver" only is not enough, on Meson case,
because "card_driver" don't have "dev".
On Meson case, it don't need to keep "card" in priv anymore after
"Card capsuling". So I would like to add "dev" in priv instead, and remove
"card", like this.
struct meson_card {
...
- struct snd_soc_card card;
+ struct snd_soc_card_driver card_driver;
+ struct device *dev;
...
};
Then, we can get both "card_driver" and "dev" from "priv".
If we can switch to use "priv" instead of "card" *now*, the diff will be
more small when "Card capsuling", because the patch will have
"Card capsuling diff" (A) + "switch card to priv" (B).
This diff of (B) part is doing very simple things, but is big volume,
because it is sharing the code on Meson.
- func(card, ...)
+ func(priv, ...)
{
- struct device *dev = card->dev;
+ struct device *dev = priv->dev;
+ struct snd_soc_card_driver *card_driver = priv->card_driver;
...
- snd_soc_card_xxx(card, ...);
+ snd_soc_card_xxx(card_driver, ...);
...
}
- func(card, ...);
+ func(priv, ...);
If we can merge (B) part first, remaining part (A) can be simple.
But yes, the backport will be complex.
Thank you for your help !!
Best regards
---
Kuninori Morimoto
More information about the linux-arm-kernel
mailing list