mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-03 07:38:10 +00:00
usb: typec: tipd: Supply also I2C driver data
If there is no fwnode, device_get_match_data() does not
return anything making the probe to always fail. Using
i2c_get_match_data() when there is no fwnode to fix that.
Fixes: 5bd4853da0
("USB: typec: tps6598x: Add device data to of_device_id")
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20231121114647.2005011-1-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
61d2cf0db7
commit
4b435764f7
1 changed files with 5 additions and 2 deletions
|
@ -1227,7 +1227,10 @@ static int tps6598x_probe(struct i2c_client *client)
|
||||||
TPS_REG_INT_PLUG_EVENT;
|
TPS_REG_INT_PLUG_EVENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
tps->data = device_get_match_data(tps->dev);
|
if (dev_fwnode(tps->dev))
|
||||||
|
tps->data = device_get_match_data(tps->dev);
|
||||||
|
else
|
||||||
|
tps->data = i2c_get_match_data(client);
|
||||||
if (!tps->data)
|
if (!tps->data)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
@ -1426,7 +1429,7 @@ static const struct of_device_id tps6598x_of_match[] = {
|
||||||
MODULE_DEVICE_TABLE(of, tps6598x_of_match);
|
MODULE_DEVICE_TABLE(of, tps6598x_of_match);
|
||||||
|
|
||||||
static const struct i2c_device_id tps6598x_id[] = {
|
static const struct i2c_device_id tps6598x_id[] = {
|
||||||
{ "tps6598x" },
|
{ "tps6598x", (kernel_ulong_t)&tps6598x_data },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(i2c, tps6598x_id);
|
MODULE_DEVICE_TABLE(i2c, tps6598x_id);
|
||||||
|
|
Loading…
Reference in a new issue