[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0e43aa83-2e02-49e2-96b8-24cac0362a7b@roeck-us.net>
Date: Wed, 3 Apr 2024 14:30:59 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Andrew Davis <afd@...com>
Cc: Jean Delvare <jdelvare@...e.com>, Juerg Haefliger <juergh@...ton.me>,
Riku Voipio <riku.voipio@....fi>, linux-hwmon@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 00/31] Remove use of i2c_match_id in HWMON
On Wed, Apr 03, 2024 at 03:36:02PM -0500, Andrew Davis wrote:
> Hello all,
>
> Goal here is to remove the i2c_match_id() function from all drivers.
> Using i2c_get_match_data() can simplify code and has some other
> benefits described in the patches.
>
The return value from i2c_match_id() is typically an integer (chip ID)
starting with 0. Previously it has been claimed that this would be
unacceptable for i2c_get_match_data(), and chip IDs were changed to start
with 1. Commit ac0c26bae662 ("hwmon: (lm25066) Use i2c_get_match_data()")
is an example. Either this series is wrong, or the previous claim that
chip IDs (i.e., the content of .driver_data or .data) must not be 0 was
wrong. Which one is it ? I find it very confusing that the chip type for
some drivers now starts with 1 and for others with 0. Given that, I am not
inclined to accept this series unless it is explained in detail why the
chip type enum in, for example, drivers/hwmon/pmbus/lm25066.c has to start
with one but is ok to start with 0 for all drivers affected by this
series. Quite frankly, even if there is some kind of explanation, I am not
sure if I am going to accept it because future driver developers won't
know if they have to start chip types with 0 or 1.
Guenter
Powered by blists - more mailing lists