Re: [alsa-devel] [PATCH] ASoC: ams-delta: fix card initalization failure

From: Janusz Krzysztofik
Date: Sat Sep 01 2012 - 05:30:01 EST


Dnia piÄtek, 31 sierpnia 2012 14:31:04 Mark Brown pisze:
> On Wed, Aug 29, 2012 at 07:04:48AM +0200, Janusz Krzysztofik wrote:
> > On Tue, 28 Aug 2012 11:13:39 Mark Brown wrote:
>
> > > The above looks like you already have a platform driver?

Mark,
I should have rather answered: No, ams-delta.c is not a platform driver,
only a module which registeres a soc-audio device and provides device
specific data and callbacks to the soc-audio platform driver.

> > > All I'm
> > > suggesting is changing the above to use platform rather than
driver
> > > data.
> ...
> s/drvdata/platdata/ in the code.

Taking the above into account, I would have to apply this substitue to
the soc-core.c, which is actually the platform driver for the ams-delta
ASoC device, and this would break a lot of other cards.

> If you can't do this then just
> referencing the data directly in the code would be better than this
> bodge, it'd be much less fragile.

I see your point, however for now I can see no better way of referencing
the data (of type struct snd_soc_card) then passing it to
snd_soc_register_card(). But for this to work, I would have to register
successfully an ams-delta specific platform device first, not the soc-
audio. This, even if still done from the sound/soc/omap/ams-delta.c, not
from an arch board file, would require now not existing ams-delta ASoC
platform driver probe/remove callbacks at least. I'm still not convinced
if such modification would be acceptable in the middle of the rc cycle.

If there is a simpler, less intrusive way to do this, then sorry, I
still can't see it.

Thanks,
Janusz
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/