Unverified Commit 6d8f318b authored by Stephen Kitt's avatar Stephen Kitt Committed by Mark Brown
Browse files

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: default avatarStephen Kitt <steve@sk2.org>
Acked-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220325162515.1204107-1-steve@sk2.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent b79bd63a
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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,
};

+5 −3
Original line number Diff line number Diff line
@@ -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