Re: [PATCH 1/3] ASoC: soc-core: add component remove/unregister_exp/lookup functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mark

> > ALSA SoC platform/codec will be replaced to component soon.
> > This means 1 device might have multiple components. But current
> > unregister component function only checks "dev" to find it.
> > This means, unexpected component might be unregistered by current
> > function.
> > But, it is no problem if driver registered only 1 component.
> 
> Isn't this just a convenience for drivers though?  It means they can
> just clean things up with one call and I'm having a hard time thinking
> of any use cases for only unregistering some components.

This means like this

     OK case
	register_component(dev, driver_A);

	unregister_component(dev); /* driver_A will be unregister */


     not OK case
	register_component(dev, driver_A);
	register_component(dev, driver_B);

	unregister_component(dev); /* it can't specify driver_A */
	unregister_component(dev); /* it can't specify driver_B */

or do we want to have like this ?

	register_component(dev, driver_A);
	register_component(dev, driver_B);

	unregister_component(dev); /* unregister both driver_A/driver_B */

> > To avoid this issue, this patch adds new component
> > unregister_exp/lookup/remove functions. "lookup" function finds
> > component by "dev" and "driver name", and "remove" function removes it.
> > "unregister_exp" will use these functions.
> 
> The exp name here seems a bit confusing...  perhaps just _internal() or
> something?

OK, will fix in v2

> > +#define snd_soc_unregister_component(dev) snd_soc_unregister_component_exp(dev, NULL)
> 
> A static inline is better, it's got better type safety.

OK, will do

Best regards
---
Kuninori Morimoto



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux