From: Lars-Peter Clausen <lars@metafoo.de> To: Mark Brown <broonie@kernel.org>, Liam Girdwood <lgirdwood@gmail.com> Cc: alsa-devel@alsa-project.org, "Lars-Peter Clausen" <lars@metafoo.de>, patches@opensource.wolfsonmicro.com, "Philippe Rétornaz" <philippe.retornaz@epfl.ch>, "Charles Keepax" <ckeepax@opensource.wolfsonmicro.com>, "Steffen Trumtrar" <s.trumtrar@pengutronix.de>, "Jerry Wong" <jerry.wong@maximintegrated.com> Subject: [PATCH 04/11] ASoC: Add macros for defining virtual enums Date: Sun, 23 Feb 2014 16:10:14 +0100 [thread overview] Message-ID: <1393168221-23018-5-git-send-email-lars@metafoo.de> (raw) In-Reply-To: <1393168221-23018-1-git-send-email-lars@metafoo.de> With the upcoming consolidation of normal MUXs and virtual MUXs we need to be able to distinguish between enums with and without a backing register at the enum level. Use the same approach as used for virtual mixer controls by setting the reg field of the enum to SND_SOC_NOPM for enums without a backing register. This patch adds a set of helper macros that can be used to define such enums. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> --- include/sound/soc.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/sound/soc.h b/include/sound/soc.h index e005196..a25de13 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -189,6 +189,8 @@ .mask = xmask, .items = xitems, .texts = xtexts, .values = xvalues} #define SOC_VALUE_ENUM_SINGLE(xreg, xshift, xmask, xnitmes, xtexts, xvalues) \ SOC_VALUE_ENUM_DOUBLE(xreg, xshift, xshift, xmask, xnitmes, xtexts, xvalues) +#define SOC_ENUM_SINGLE_VIRT(xmax, xtexts) \ + SOC_ENUM_SINGLE(SND_SOC_NOPM, 0, xmax, xtexts) #define SOC_ENUM(xname, xenum) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname,\ .info = snd_soc_info_enum_double, \ @@ -293,6 +295,8 @@ ARRAY_SIZE(xtexts), xtexts, xvalues) #define SOC_VALUE_ENUM_SINGLE_DECL(name, xreg, xshift, xmask, xtexts, xvalues) \ SOC_VALUE_ENUM_DOUBLE_DECL(name, xreg, xshift, xshift, xmask, xtexts, xvalues) +#define SOC_ENUM_SINGLE_VIRT_DECL(name, xtexts) \ + const struct soc_enum name = SOC_ENUM_SINGLE_VIRT(ARRAY_SIZE(xtexts), xtexts) /* * Component probe and remove ordering levels for components with runtime @@ -1090,7 +1094,7 @@ struct soc_mreg_control { /* enumerated kcontrol */ struct soc_enum { - unsigned short reg; + int reg; unsigned char shift_l; unsigned char shift_r; unsigned int items; -- 1.8.0
next prev parent reply other threads:[~2014-02-23 15:10 UTC|newest] Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-02-23 15:10 [PATCH 00/11] ASoC: Consolidate enum controls and DAPM MUXs Lars-Peter Clausen 2014-02-23 15:10 ` [PATCH 01/11] ASoC: Remove unused 'reg2' field from soc_enum struct Lars-Peter Clausen 2014-02-23 15:10 ` [PATCH 02/11] ASoC: Consolidate enum and value enum controls Lars-Peter Clausen 2014-02-23 15:10 ` [PATCH 03/11] ASoC: dapm: Consolidate MUXs and value MUXs Lars-Peter Clausen 2014-02-23 15:10 ` Lars-Peter Clausen [this message] 2014-02-24 9:29 ` [PATCH 04/11] ASoC: Add macros for defining virtual enums Takashi Iwai 2014-02-24 11:50 ` Lars-Peter Clausen 2014-02-23 15:10 ` [PATCH 05/11] ASoC: adau1373: Use SOC_ENUM_SINGLE_VIRT_DECL() Lars-Peter Clausen 2014-02-23 15:10 ` [PATCH 06/11] ASoC: max98090: " Lars-Peter Clausen 2014-02-23 15:10 ` [PATCH 07/11] ASoC: mc13783: " Lars-Peter Clausen 2014-02-24 14:28 ` Philippe Rétornaz 2014-02-28 7:19 ` Lars-Peter Clausen 2014-02-23 15:10 ` [PATCH 08/11] ASoC: wm8994: " Lars-Peter Clausen 2014-02-25 9:47 ` Charles Keepax 2014-02-23 15:10 ` [PATCH 09/11] ASoC: wm8995: " Lars-Peter Clausen 2014-02-25 9:47 ` Charles Keepax 2014-02-23 15:10 ` [PATCH 10/11] ASoC: dapm: Consolidate MUXs and virtual MUXs Lars-Peter Clausen 2014-02-23 15:10 ` [PATCH 11/11] ASoC: dapm: Break dapm_set_path_status() appart Lars-Peter Clausen 2014-02-25 1:57 ` [PATCH 00/11] ASoC: Consolidate enum controls and DAPM MUXs Mark Brown
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1393168221-23018-5-git-send-email-lars@metafoo.de \ --to=lars@metafoo.de \ --cc=alsa-devel@alsa-project.org \ --cc=broonie@kernel.org \ --cc=ckeepax@opensource.wolfsonmicro.com \ --cc=jerry.wong@maximintegrated.com \ --cc=lgirdwood@gmail.com \ --cc=patches@opensource.wolfsonmicro.com \ --cc=philippe.retornaz@epfl.ch \ --cc=s.trumtrar@pengutronix.de \ --subject='Re: [PATCH 04/11] ASoC: Add macros for defining virtual enums' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.