Message ID | 1415615253-28919-1-git-send-email-peter.ujfalusi@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Nov 10, 2014 at 12:27:32PM +0200, Peter Ujfalusi wrote: > +static const struct soc_enum aic3x_pop_reduction_enum[] = { > + SOC_ENUM_SINGLE(HPOUT_POP_REDUCTION, 4, 12, aic3x_poweron_time), > + SOC_ENUM_SINGLE(HPOUT_POP_REDUCTION, 2, 4, aic3x_rampup_step), > +}; > + /* Pop reduction */ > + SOC_ENUM("Output Driver Power-On time", aic3x_pop_reduction_enum[0]), > + SOC_ENUM("Output Driver Ramp-up step", aic3x_pop_reduction_enum[1]), Don't add arrays of enums with magic number indexes like this, it's hard to read and hence error prone.
On 11/10/2014 12:51 PM, Mark Brown wrote: > On Mon, Nov 10, 2014 at 12:27:32PM +0200, Peter Ujfalusi wrote: > >> +static const struct soc_enum aic3x_pop_reduction_enum[] = { >> + SOC_ENUM_SINGLE(HPOUT_POP_REDUCTION, 4, 12, aic3x_poweron_time), >> + SOC_ENUM_SINGLE(HPOUT_POP_REDUCTION, 2, 4, aic3x_rampup_step), >> +}; > >> + /* Pop reduction */ >> + SOC_ENUM("Output Driver Power-On time", aic3x_pop_reduction_enum[0]), >> + SOC_ENUM("Output Driver Ramp-up step", aic3x_pop_reduction_enum[1]), > > Don't add arrays of enums with magic number indexes like this, it's hard > to read and hence error prone. I agree on this. I have not changed this since this driver is using enums like this and I thought it is better to follow the style. But if I add these to the aic3x_enum[] array with a define for the ID I think it is going to be a bit better?
On Mon, Nov 10, 2014 at 03:23:04PM +0200, Peter Ujfalusi wrote: > On 11/10/2014 12:51 PM, Mark Brown wrote: > >> + /* Pop reduction */ > >> + SOC_ENUM("Output Driver Power-On time", aic3x_pop_reduction_enum[0]), > >> + SOC_ENUM("Output Driver Ramp-up step", aic3x_pop_reduction_enum[1]), > > Don't add arrays of enums with magic number indexes like this, it's hard > > to read and hence error prone. > I agree on this. I have not changed this since this driver is using enums like > this and I thought it is better to follow the style. > But if I add these to the aic3x_enum[] array with a define for the ID I think > it is going to be a bit better? A bit, though I think I'd still prefer to use individual variables, it's less to fix when someone does get round to fixing the driver.
On 11/10/2014 03:27 PM, Mark Brown wrote: > On Mon, Nov 10, 2014 at 03:23:04PM +0200, Peter Ujfalusi wrote: >> On 11/10/2014 12:51 PM, Mark Brown wrote: > >>>> + /* Pop reduction */ >>>> + SOC_ENUM("Output Driver Power-On time", aic3x_pop_reduction_enum[0]), >>>> + SOC_ENUM("Output Driver Ramp-up step", aic3x_pop_reduction_enum[1]), > >>> Don't add arrays of enums with magic number indexes like this, it's hard >>> to read and hence error prone. > >> I agree on this. I have not changed this since this driver is using enums like >> this and I thought it is better to follow the style. > >> But if I add these to the aic3x_enum[] array with a define for the ID I think >> it is going to be a bit better? > > A bit, though I think I'd still prefer to use individual variables, it's > less to fix when someone does get round to fixing the driver. Sure, let's do that then.
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c index f7c2a575a892..70f8b8be9173 100644 --- a/sound/soc/codecs/tlv320aic3x.c +++ b/sound/soc/codecs/tlv320aic3x.c @@ -270,6 +270,15 @@ static const struct soc_enum aic3x_agc_decay_enum[] = { SOC_ENUM_SINGLE(RAGC_CTRL_A, 0, 4, aic3x_agc_decay), }; +static const char * const aic3x_poweron_time[] = { + "0us", "10us", "100us", "1ms", "10ms", "50ms", + "100ms", "200ms", "400ms", "800ms", "2s", "4s" }; +static const char * const aic3x_rampup_step[] = { "0ms", "1ms", "2ms", "4ms" }; +static const struct soc_enum aic3x_pop_reduction_enum[] = { + SOC_ENUM_SINGLE(HPOUT_POP_REDUCTION, 4, 12, aic3x_poweron_time), + SOC_ENUM_SINGLE(HPOUT_POP_REDUCTION, 2, 4, aic3x_rampup_step), +}; + /* * DAC digital volumes. From -63.5 to 0 dB in 0.5 dB steps */ @@ -399,6 +408,10 @@ static const struct snd_kcontrol_new aic3x_snd_controls[] = { SOC_DOUBLE_R("PGA Capture Switch", LADC_VOL, RADC_VOL, 7, 0x01, 1), SOC_ENUM("ADC HPF Cut-off", aic3x_enum[ADC_HPF_ENUM]), + + /* Pop reduction */ + SOC_ENUM("Output Driver Power-On time", aic3x_pop_reduction_enum[0]), + SOC_ENUM("Output Driver Ramp-up step", aic3x_pop_reduction_enum[1]), }; static const struct snd_kcontrol_new aic3x_mono_controls[] = {