[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cff6f5f3-d883-4509-819d-9d2307bdcd56@roeck-us.net>
Date: Fri, 12 Apr 2024 14:01:30 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Armin Wolf <W_Armin@....de>
Cc: mlj@...elec.com, rafael.j.wysocki@...el.com, lenb@...nel.org,
jdelvare@...e.com, linux@...ssschuh.net,
ilpo.jarvinen@...ux.intel.com, linux-acpi@...r.kernel.org,
linux-hwmon@...r.kernel.org, linux-kernel@...r.kernel.org,
platform-driver-x86@...r.kernel.org
Subject: Re: [PATCH v3 2/2] ACPI: fan: Add hwmon support
On Fri, Apr 12, 2024 at 10:27:56PM +0200, Armin Wolf wrote:
> > > + case hwmon_fan_fault:
> > > + *val = (fst.speed == FAN_SPEED_UNAVAILABLE);
> > Is it documented that this is indeed a fault (broken fan) ?
> >
> Hi,
>
> it actually means that the fan does not support speed reporting.
>
> > > + return 0;
> > > + default:
> > > + break;
> > > + }
> > > + break;
> > > + case hwmon_power:
> > > + fps = acpi_fan_get_current_fps(fan, fst.control);
> > > + if (!fps)
> > > + return -ENODATA;
> > > +
> > > + switch (attr) {
> > > + case hwmon_power_input:
> > > + if (fps->power == FAN_POWER_UNAVAILABLE)
> > > + return -ENODATA;
> > > +
> > > + if (fps->power > LONG_MAX / MICROWATT_PER_MILLIWATT)
> > > + return -EOVERFLOW;
> > > +
> > > + *val = fps->power * MICROWATT_PER_MILLIWATT;
> > > + return 0;
> > > + case hwmon_power_fault:
> > > + *val = (fps->power == FAN_POWER_UNAVAILABLE);
> > Is it documented that this is indeed a power supply failure ?
> > What if the value is simply not reported ? "UNAVAILABLE" is not
> > commonly associated with a "fault".
> >
> > Guenter
> >
> FAN_POWER_UNAVAILABLE signals that the power value is not supported.
> Would it be more suitable to drop the fault attributes and just return -ENODATA in such a case?
>
There should be no fault attributes unless a real fault
is reported, and if power reporting is not supported the
hwmon_power_input attribute should not even be created.
The same really applies to the fan speed atribute: If reading
the fan speed is not supported, the attribute should not even
exist.
Guenter
Powered by blists - more mailing lists