diff --git a/MAINTAINERS b/MAINTAINERS index c2066f4c3286..6d383ec8325a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7479,6 +7479,13 @@ F: drivers/rtc/ F: include/linux/rtc.h F: include/uapi/linux/rtc.h +REALTEK AUDIO CODECS +M: Bard Liao +M: Oder Chiou +S: Maintained +F: sound/soc/codecs/rt* +F: include/sound/rt*.h + REISERFS FILE SYSTEM L: reiserfs-devel@vger.kernel.org S: Supported diff --git a/include/sound/soc.h b/include/sound/soc.h index 50ff6f3459aa..27ed5ccb174a 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -248,6 +248,8 @@ .info = snd_soc_info_enum_double, \ .get = xhandler_get, .put = xhandler_put, \ .private_value = (unsigned long)&xenum } +#define SOC_VALUE_ENUM_EXT(xname, xenum, xhandler_get, xhandler_put) \ + SOC_ENUM_EXT(xname, xenum, xhandler_get, xhandler_put) #define SND_SOC_BYTES(xname, xbase, xregs) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 28caa63ae526..2d6c8b86b7d3 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -4518,9 +4518,16 @@ EXPORT_SYMBOL_GPL(snd_soc_unregister_codec); int snd_soc_of_parse_card_name(struct snd_soc_card *card, const char *propname) { - struct device_node *np = card->dev->of_node; + struct device_node *np; int ret; + if (!card->dev) { + pr_err("card->dev is not set before calling %s\n", __func__); + return -EINVAL; + } + + np = card->dev->of_node; + ret = of_property_read_string_index(np, propname, 0, &card->name); /* * EINVAL means the property does not exist. This is fine providing