ASoC driver names

Mark Brown broonie at kernel.org
Thu Apr 23 18:13:07 CEST 2020


On Thu, Apr 23, 2020 at 01:19:31PM +0200, Jaroslav Kysela wrote:
> Dne 23. 04. 20 v 13:04 Mark Brown napsal(a):

> > With ASoC systems there is no clear controller - you've got a bunch of
> > different components, usually connected by separate buses, and it's not
> > super obvious what if anything should be the singular name that gets
> > picked for some grouping of devices.  The whole point of the subsystem
> > is to glue a bunch of independent devices together, we've generally
> > picked that glue as the driver name.

> I refer mostly the top-level code which creates and registers the ASoC card structure.
> So it seems the platform name for many ASoC drivers should be there.

At that level you could just say ASoC...  bear in mind that a huge
proportion of cards are going to come out as one of the generic cards
(especially on DT platforms where the firmware situation is less
shambolic) which I'm not sure is super useful for grouping things.

> > Without knowing what you're actually proposing it's hard to know, and
> > there is the risk of userspace breakage here when you change things
> > people are relying on.

> +#ifdef CONFIG_SND_SOC_DRIVER_NAMES
> +       card->driver_name = "SDM845";
> +#endif

OK, so really I think your actual need here sounds like reference
platforms here.  There's obviously some overlap with drivers but only
for the things which use DPCM and ideally we'll be able to move these
things over to drivers going forwards which would mean that you'd have
the same problem again.

> >>    The goal is to group the related UCM2 configurations and do the required
> >> split inside the UCM2 top-level configuration file based on card components
> >> string or other card identificators (related to the driver).

> > This sounds like you either want some enumeration of the card components
> > or perhaps you're looking for some for some indication of the reference
> > design that an individual board is based off so you can have a generic
> > configuration for that reference design and then override bits of it?

> I'd like to group the related configuration files and it seems that the driver
> name field in the CTL info structure is misused (duplicate information).

For the generic cards you're not going to get a useful grouping based on
the name of the machine driver, they are flexible enough that there can
be minimal similarities in the underlying hardware or what it looks like
to control in userspace.  You are likely to be able to get useful
groupings based on things like the CODEC or the SoC from them but the
machine driver name isn't going to help much.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20200423/39123397/attachment-0001.sig>


More information about the Alsa-devel mailing list