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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 14, 2024 at 02:07:44PM +0530, Nilawar, Badal wrote:
> 
> Hi Andi,
> 
> On 09-08-2024 15:46, Andi Shyti wrote:
> > Hi Badal,
> > 
> > > > +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()
> 	return -EOPNOTSUPP;
> }

Hi Andi,

If you agree with this, please let me know.
Will send out a v6 accordingly.

Raag



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux