On Thu, Feb 02, 2012 at 10:11:26PM +0800, Shawn Guo wrote:
On Thu, Feb 02, 2012 at 01:26:18PM +0000, Mark Brown wrote:
quoted
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
Yes (you need to check for module too, there's a macro for that the name
of which escapes me right now).
I do not think it's nice and consistent to the way that imx
sub-architecture adds platform device.
Well, the i.MX thus far has had relatively few of these always present
type devices - it makes sense to make things conditional for devices
with external signals but for things entirely within the SoC the above
is less work.
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.
That seems like more work than is needed for boards, same issue applies.