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