On 01/07/2015 08:02 PM, Jean-Francois Moine wrote:
On Wed, 7 Jan 2015 15:41:38 +0000
Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> wrote:
On Wed, Jan 07, 2015 at 03:10:47PM +0000, Andrew Jackson wrote:
On 01/07/15 10:51, Jean-Francois Moine wrote:
diff --git a/drivers/gpu/drm/i2c/Kconfig b/drivers/gpu/drm/i2c/Kconfig
index 22c7ed6..24fc975 100644
--- a/drivers/gpu/drm/i2c/Kconfig
+++ b/drivers/gpu/drm/i2c/Kconfig
@@ -28,6 +28,7 @@ config DRM_I2C_SIL164
config DRM_I2C_NXP_TDA998X
tristate "NXP Semiconductors TDA998X HDMI encoder"
default m if DRM_TILCDC
+ select SND_SOC_TDA998X
Do you need this since sound/soc/codecs/Kconfig conditionally brings in the
CODEC driver?
For SND_SOC_ALL_CODECS only.
More importantly, it's broken, because it'll cause Kconfig to complain
if you enable DRM_I2C_NXP_TDA998X, but have ASoC disabled.
Moreover, if you decide you want the sound and ASoC built as a module,
but want to build in DRM and TDA998x support (so you can get video
output working on boot before initramfs/rootfs), Kconfig may well
complain.
select SND_SOC_TDA998X if SND_SOC
should work in all cases.
I think that would still fail if DRM and TDA998x is built in and SND_SOC
is built as modules. A request_module() call before
tda9998x_codec_register() should help. Or could could write:
select SND_SOC_TDA998X if (SND_SOC=DRM_I2C_NXP_TDA998X || SND_SOC=y)
+static int __init tda998x_codec_init(void)
+{
+ return 0;
+}
+static void __exit tda998x_codec_exit(void)
+{
+}
+module_init(tda998x_codec_init);
+module_exit(tda998x_codec_exit);
There's no need for these if they remain as the above. Modules can have
both init/exit functions, or neither, and they are still unloadable.
Only modules which provide only an init function get locked in on load.
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html