Re: [PATCH 2/3] ASoC: rt5677: add a platform config option for MICBIAS voltage

From: Mark Brown
Date: Mon Dec 15 2014 - 07:20:51 EST


On Fri, Dec 12, 2014 at 03:48:51PM -0800, Ben Zhang wrote:
> On Fri, Dec 12, 2014 at 5:27 AM, Mark Brown <broonie@xxxxxxxxxx> wrote:
> > On Wed, Dec 10, 2014 at 08:15:26PM -0800, Ben Zhang wrote:

> > Why is this being specified as some magic number rather than using the
> > voltage (or at least providing defines for the voltage) - this is going
> > to do little to make the DT legible and...

> >> +enum rt5677_micbias {
> >> + RT5677_MICBIAS_1_476V = 0,
> >> + RT5677_MICBIAS_2_970V = 1,
> >> + RT5677_MICBIAS_1_242V = 2,
> >> + RT5677_MICBIAS_2_475V = 3,
> >> +};

> > ...I see there are defined for platform data.

> This patch adds both an entry to the platform data and a DT binding
> for MICBIAS level selection. The 4 voltage options
> (1.476V/2.970V/1.242V/2.475V) are the only ones supported by the codec
> hardware, so it seems an enum is better than specifying the exact

It's not that clear that an enum *is* better, and a magic numbers enum
is definitely worse for anyone who has to read the resulting DT.

> voltage directly. I was following the two examples below:
> Documentation/devicetree/bindings/sound/cs42l52.txt (cirrus,micbias-lvl)
> Documentation/devicetree/bindings/sound/tlv320aic3x.txt (ai3x-micbias-vg)

Old DT bindings are old and often not best practice.

> I'm new to devicetree bindings. Is there something like an enum in DT?

include/dt-bindings

Attachment: signature.asc
Description: Digital signature