ASoC: wm*: use i2c_match_id and simple i2c probe
As part of the ongoing i2c transition to the simple probe ("probe_new"), this patch uses i2c_match_id to retrieve the driver_data for the probed device. The id parameter is thus no longer necessary and the simple probe can be used instead. Signed-off-by: Stephen Kitt <steve@sk2.org> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220325162515.1204107-1-steve@sk2.org Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
b79bd63a66
Коммит
6d8f318b94
|
@ -2162,8 +2162,9 @@ static const struct of_device_id wm8904_of_match[] = {
|
|||
MODULE_DEVICE_TABLE(of, wm8904_of_match);
|
||||
#endif
|
||||
|
||||
static int wm8904_i2c_probe(struct i2c_client *i2c,
|
||||
const struct i2c_device_id *id)
|
||||
static const struct i2c_device_id wm8904_i2c_id[];
|
||||
|
||||
static int wm8904_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
struct wm8904_priv *wm8904;
|
||||
unsigned int val;
|
||||
|
@ -2197,6 +2198,8 @@ static int wm8904_i2c_probe(struct i2c_client *i2c,
|
|||
return -EINVAL;
|
||||
wm8904->devtype = (enum wm8904_type)match->data;
|
||||
} else {
|
||||
const struct i2c_device_id *id =
|
||||
i2c_match_id(wm8904_i2c_id, i2c);
|
||||
wm8904->devtype = id->driver_data;
|
||||
}
|
||||
|
||||
|
@ -2328,7 +2331,7 @@ static struct i2c_driver wm8904_i2c_driver = {
|
|||
.name = "wm8904",
|
||||
.of_match_table = of_match_ptr(wm8904_of_match),
|
||||
},
|
||||
.probe = wm8904_i2c_probe,
|
||||
.probe_new = wm8904_i2c_probe,
|
||||
.id_table = wm8904_i2c_id,
|
||||
};
|
||||
|
||||
|
|
|
@ -1167,10 +1167,12 @@ static struct spi_driver wm8985_spi_driver = {
|
|||
#endif
|
||||
|
||||
#if IS_ENABLED(CONFIG_I2C)
|
||||
static int wm8985_i2c_probe(struct i2c_client *i2c,
|
||||
const struct i2c_device_id *id)
|
||||
static const struct i2c_device_id wm8985_i2c_id[];
|
||||
|
||||
static int wm8985_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
struct wm8985_priv *wm8985;
|
||||
const struct i2c_device_id *id = i2c_match_id(wm8985_i2c_id, i2c);
|
||||
int ret;
|
||||
|
||||
wm8985 = devm_kzalloc(&i2c->dev, sizeof *wm8985, GFP_KERNEL);
|
||||
|
@ -1205,7 +1207,7 @@ static struct i2c_driver wm8985_i2c_driver = {
|
|||
.driver = {
|
||||
.name = "wm8985",
|
||||
},
|
||||
.probe = wm8985_i2c_probe,
|
||||
.probe_new = wm8985_i2c_probe,
|
||||
.id_table = wm8985_i2c_id
|
||||
};
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче