mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-18 23:09:29 +02:00
gpio: pca9570: Use I2C match data
The driver stores chip metadata in both the OF match table and the I2C id table, but probe currently reads it with device_get_match_data(). That helper only returns firmware-node match data, so an I2C-id/modalias match can leave chip_data NULL before the driver dereferences it to read ngpio. Use i2c_get_match_data() so the I2C id table driver_data is consumed when firmware match data is not present. Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn> Link: https://patch.msgid.link/20260624053744.72612-1-pengpeng@iscas.ac.cn Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
This commit is contained in:
committed by
Bartosz Golaszewski
parent
a57e27c43b
commit
415c63896b
@@ -133,7 +133,7 @@ static int pca9570_probe(struct i2c_client *client)
|
||||
gpio->chip.get = pca9570_get;
|
||||
gpio->chip.set = pca9570_set;
|
||||
gpio->chip.base = -1;
|
||||
gpio->chip_data = device_get_match_data(&client->dev);
|
||||
gpio->chip_data = i2c_get_match_data(client);
|
||||
gpio->chip.ngpio = gpio->chip_data->ngpio;
|
||||
gpio->chip.can_sleep = true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user