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