On Thu, 2012-02-23 at 15:16 -0500, Nikolaus Schulz wrote:
> On Thu, Feb 23, 2012 at 12:00:52PM -0800, Guenter Roeck wrote:
> > On Thu, 2012-02-23 at 14:50 -0500, Nikolaus Schulz wrote:
> > > On Wed, Feb 22, 2012 at 06:26:00PM -0800, Guenter Roeck wrote:
> > > > On Wed, Feb 22, 2012 at 05:18:48PM -0500, Nikolaus Schulz wrote:
> > > > > +static bool duty_mode_enabled(u8 pwm_enable)
> > > > > +{
> > > > > + switch (pwm_enable) {
> > > > > + case 0: /* Manual, duty mode (full speed) */
> > > > > + case 1: /* Manual, duty mode */
> > > > > + case 4: /* Auto, duty mode */
> > > > > + return true;
> > > > > + case 2: /* Auto, speed mode */
> > > > > + case 3: /* Manual, speed mode */
> > > > > + return false;
> > > > > + default:
> > > > > + BUG();
> > > > > + }
> > > > > +}
> > > >
> > > > This keeps bugging me ... I think it would make sense to simplify it to
> > > >
> > > > return pwm_enable != 2 && pwm_enable != 3;
> > >
> > > Well, I used that verbose switch statement because
> > >
> > > a) I feel uncomfortable using these magic numbers instead of a
> > > well-defined enum - by the way, is there a reason for not using an enum for
> > > that? - and
> > >
> > I don't think there is a reason other than being lazy.
>
> If I recall correctly, early versions of this driver posted to this list
> did in fact have an enum here, but for some reason that was dropped.
>
> > > b) a simple logical expression like you suggested may lead to hidden
> > > bugs once the range of valid values changes.
> > >
> > Good point. Maybe start using an enum ?
>
> I can prepare another patch for that.
>
> But using an enum does not address b), so I still tend to keep the
> switch statement(s). Are you okay with that?
>
Just keep the switch statement. Not worth the argument, and if someone
objected to the enum earlier I'd rather not revive that discussion.
Guenter
_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
[Video for Linux]
[Mplayer Users]
[Linux USB Devel]
[Linux Audio Users]
[Photos]
[Yosemite Photos]
[Free Singles Community]
[Linux Kernel]
[Linux SCSI]
[XFree86]
[Yosemite Backpacking]