[PATCH v2 6/9] ARM: mx31ads: add audmux device
Shawn Guo
shawn.guo at linaro.org
Thu Feb 2 09:11:26 EST 2012
On Thu, Feb 02, 2012 at 01:26:18PM +0000, Mark Brown wrote:
> On Thu, Feb 02, 2012 at 09:17:18PM +0800, Shawn Guo wrote:
> > On Thu, Feb 02, 2012 at 12:09:01PM +0000, Mark Brown wrote:
>
> > > Since the audmux is a part of the SoC silicon shouldn't the SoC just
> > > register the device without individual boards having to do anything
> > > (possibly conditional on ASoC being selected in Kconfig or something)?
> > > It's going to be connected in exactly the same fashion on any system
> > > using the SoC.
>
> > Hmm, we are trying to save adding the device for those boards which do
> > not route any audmux pins out at all.
>
> That's why I'm saying perhaps make it conditional on having ASoC built
> (or even on having the AUDMUX driver built).
Do you mean by having the below in some place like function
imx31_soc_init()?
#ifdef CONFIG_SND_MXC_SOC_AUDMUXV2
imx_add_platform_device("audmux-v2", 0,
audmux_res, ARRAY_SIZE(audmux_res), NULL, 0);
#endif
I do not think it's nice and consistent to the way that imx
sub-architecture adds platform device.
Furthermore, when a DT based board boots here, the code is broken.
Explicitly adding the device by individual board as needed can easily
align with DT based boards. By default, the audmux node in <soc>.dtsi
file has status = "disabled", and any board that needs audmux device
only need to overwrite status property of audmux node as 'okay' in its
<board>.dts. Then DT core will add the audmux device when the board
boots.
--
Regards,
Shawn
More information about the linux-arm-kernel
mailing list