Re: [PATCH v4] drm/i915/hwmon: expose fan speed

Andi Shyti
2024-08-19T15:22:37Z

Hi Raag,

I'm sorry, I missed this mail.

On Mon, Aug 19, 2024 at 09:50:13AM +0300, Raag Jadav wrote:
> On Wed, Aug 14, 2024 at 02:07:44PM +0530, Nilawar, Badal wrote:
> > On 09-08-2024 15:46, Andi Shyti wrote:
> > > > > +static int
> > > > > +hwm_fan_read(struct hwm_drvdata *ddat, u32 attr, long *val)
> > > > > +{
> > > > > + struct i915_hwmon *hwmon = ddat->hwmon;
> > > > > + struct hwm_fan_info *fi = &ddat->fi;
> > > > > + u32 reg_val, pulses, time, time_now;
> > > > > + intel_wakeref_t wakeref;
> > > > > + long rotations;
> > > > > + int ret = 0;
> > > > > +
> > > > > + if (attr != hwmon_fan_input)
> > > > > + return -EOPNOTSUPP;
> > > > Using a switch case in rev3 is more logical here. It will also simplify
> > > > adding more fan attributes in the future. This is why switch cases are used
> > > > in other parts of the file.
> > >
> > > it was my suggestion and to be honest I would rather prefer it
> > > this way. I can understand it if we were expecting more cases in
> > > the immediate, like it was in your case.
> > >
> > > But I wouldn't have an ugly and unreadable one-case-switch in the
> > > eventuality that something comes in the future. In that case, we
> > > can always convert it.
> >
> > My rationale for suggesting a switch case is that in the current alignment
> > hwm_XX_read() function is designed to handle all possible/supported
> > attributes of the XX sensor type.
> > With the proposed change, hwm_fan_read() would only manage the
> > hwmon_fan_input attribute.
> > If a single switch case isn’t preferred, I would recommend creating a helper
> > function dedicated to hwmon_fan_input.
> >
> > hwm_fan_read()
> > {
> > if (attr == hwmon_fan_input)
> > return helper(); //hwmon_fan_input_read()

I'm not really understanding what is the point of the helper, but
if it looks cleaner, I have no objection.

Thanks,
Andi