Patch "hwmon: (max16065) Remove use of i2c_match_id()" has been added to the 5.10-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    hwmon: (max16065) Remove use of i2c_match_id()

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     hwmon-max16065-remove-use-of-i2c_match_id.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 1352062e8ed6216e25ebe16c002dee2e65157fbc
Author: Andrew Davis <afd@xxxxxx>
Date:   Wed Apr 3 15:36:21 2024 -0500

    hwmon: (max16065) Remove use of i2c_match_id()
    
    [ Upstream commit 5a71654b398e3471f0169c266a3587cf09e1200c ]
    
    The function i2c_match_id() is used to fetch the matching ID from
    the i2c_device_id table. This is often used to then retrieve the
    matching driver_data. This can be done in one step with the helper
    i2c_get_match_data().
    
    This helper has a couple other benefits:
     * It doesn't need the i2c_device_id passed in so we do not need
       to have that forward declared, allowing us to remove those or
       move the i2c_device_id table down to its more natural spot
       with the other module info.
     * It also checks for device match data, which allows for OF and
       ACPI based probing. That means we do not have to manually check
       those first and can remove those checks.
    
    Signed-off-by: Andrew Davis <afd@xxxxxx>
    Link: https://lore.kernel.org/r/20240403203633.914389-20-afd@xxxxxx
    Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
    Stable-dep-of: 119abf7d1815 ("hwmon: (max16065) Fix alarm attributes")
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/hwmon/max16065.c b/drivers/hwmon/max16065.c
index 6a09ab606fcbf..072f22f85dc0c 100644
--- a/drivers/hwmon/max16065.c
+++ b/drivers/hwmon/max16065.c
@@ -494,8 +494,6 @@ static const struct attribute_group max16065_max_group = {
 	.is_visible = max16065_secondary_is_visible,
 };
 
-static const struct i2c_device_id max16065_id[];
-
 static int max16065_probe(struct i2c_client *client)
 {
 	struct i2c_adapter *adapter = client->adapter;
@@ -506,7 +504,7 @@ static int max16065_probe(struct i2c_client *client)
 	bool have_secondary;		/* true if chip has secondary limits */
 	bool secondary_is_max = false;	/* secondary limits reflect max */
 	int groups = 0;
-	const struct i2c_device_id *id = i2c_match_id(max16065_id, client);
+	enum chips chip = (uintptr_t)i2c_get_match_data(client);
 
 	if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA
 				     | I2C_FUNC_SMBUS_READ_WORD_DATA))
@@ -519,9 +517,9 @@ static int max16065_probe(struct i2c_client *client)
 	data->client = client;
 	mutex_init(&data->update_lock);
 
-	data->num_adc = max16065_num_adc[id->driver_data];
-	data->have_current = max16065_have_current[id->driver_data];
-	have_secondary = max16065_have_secondary[id->driver_data];
+	data->num_adc = max16065_num_adc[chip];
+	data->have_current = max16065_have_current[chip];
+	have_secondary = max16065_have_secondary[chip];
 
 	if (have_secondary) {
 		val = i2c_smbus_read_byte_data(client, MAX16065_SW_ENABLE);




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux