lkml.org 
[lkml]   [2021]   [Oct]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH 3/3] hwmon: (asus_wmi_sensors) Support access via Asus WMI.
Hello,

When I first wrote the EC sensor driver, I thought there were only a
few sensor configurations, but it turned out the assumption was wrong
and even with currently supported 6 boards the sensor to board mapping
is already hardly readable. Thus I redone that part in a declarative
way so that the sensor list for each board is condensed and is easy to
digest [1]. Please consider updating the submitted patches.

Best regards,
Eugene

[1] https://github.com/zeule/asus-wmi-ec-sensors/pull/4

On Sun, 3 Oct 2021 at 22:49, Denis Pauk <pauk.denis@gmail.com> wrote:
>
> Hi Eugene,
>
> On Sat, 2 Oct 2021 23:56:20 +0200
> Eugene Shalygin <eugene.shalygin@gmail.com> wrote:
>
> > Hi, Denis!
> >
> > Thank you for submitting this driver to the mainline! I have a few
> > comments/suggestions, please find them below.
> >
> > > +#define HWMON_MAX 9
> >
> > There is a hwmon_max enum member, whose current value is 10.
> Thank you, I will check.
>
> >
> > > +#define ASUS_WMI_BLOCK_READ_REGISTERS_MAX 0x10 /* from the ASUS
> > > DSDT source */ +/* from the ASUS_WMI_BLOCK_READ_REGISTERS_MAX value
> > > */ +#define ASUS_WMI_MAX_BUF_LEN 0x80
> > Suggestion:
> > #define ASUS_WMI_MAX_BUF_LEN 0x80 /* from the
> > ASUS_WMI_BLOCK_READ_REGISTERS_MAX value */
> >
> > > +#define ASUSWMI_SENSORS_MAX 11
> > This one is for the EC only, maybe rename it accordingly?
> >
> Thank you, I will check.
>
> > > +struct asus_wmi_data {
> > > + int ec_board;
> > > +};
> >
> > Duplicates the value in the asus_wmi_sensors struct. Refactoring
> > artifact?
> >
> I have used different structures for data in platform and device.
>
> > asus_wmi_ec_set_sensor_info(si++, "Water", hwmon_fan,
> > > +
> > > asus_wmi_ec_make_sensor_address(2, 0x00, 0xBC),
> > > + &ec->nr_registers);
> > This one is named "W_FLOW" in the BIOS and ASUS software. Maybe append
> > "_flow" to the label?
> >
> Thank you, I will check.
>
> > > + * The next four functions converts to/from BRxx string argument
> > > format
> > convert (remove "s")
> >
> > > + // assert(len <= 30)
> > Makes little sense in the kernel.
> >
> Thank you, I will check.
>
> > > +static void asus_wmi_ec_make_block_read_query(struct
> > > asus_wmi_ec_info *ec) +{
> > > + u16 registers[ASUS_EC_KNOWN_EC_REGISTERS];
> > > + u8 i, j, register_idx = 0;
> > > +
> > > + /* if we can get values for all the registers in a single
> > > query,
> > > + * the query will not change from call to call
> > > + */
> > > + if (ec->nr_registers <= ASUS_WMI_BLOCK_READ_REGISTERS_MAX &&
> > > + ec->read_arg[0] > 0) {
> > > + /* no need to update */
> > > + return;
> > > + }
> > > +
> > I would add a test for ec->nr_registers >
> > ASUS_WMI_BLOCK_READ_REGISTERS_MAX and a warning log message here.
> >
> Thank you, I will check.
>
> > > +static int asus_wmi_probe(struct platform_device *pdev)
> >
> > Can we add a module alias or to load the module automatically by other
> > means? For module aliases we know DMI parameters for the supported
> > boards.
> >
> I will look, I prefer to reuse same module code for boards with/without
> EC endpoints same as in
> https://bugzilla.kernel.org/show_bug.cgi?id=204807#c128.
>
> > Best regards,
> > Eugene
>
> Best regards,
> Denis.

\
 
 \ /
  Last update: 2021-10-04 16:32    [W:0.550 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site