Commit 32a5c1d3 authored by Stephen Kitt's avatar Stephen Kitt Committed by Stephen Boyd
Browse files

clk: si544: 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>
Link: https://lore.kernel.org/r/20220407151831.2371706-9-steve@sk2.org


Reviewed-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent ca3ebd20
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -451,11 +451,19 @@ static const struct regmap_config si544_regmap_config = {
	.volatile_reg = si544_regmap_is_volatile,
};

static int si544_probe(struct i2c_client *client,
		const struct i2c_device_id *id)
static const struct i2c_device_id si544_id[] = {
	{ "si544a", si544a },
	{ "si544b", si544b },
	{ "si544c", si544c },
	{ }
};
MODULE_DEVICE_TABLE(i2c, si544_id);

static int si544_probe(struct i2c_client *client)
{
	struct clk_si544 *data;
	struct clk_init_data init;
	const struct i2c_device_id *id = i2c_match_id(si544_id, client);
	int err;

	data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL);
@@ -499,14 +507,6 @@ static int si544_probe(struct i2c_client *client,
	return 0;
}

static const struct i2c_device_id si544_id[] = {
	{ "si544a", si544a },
	{ "si544b", si544b },
	{ "si544c", si544c },
	{ }
};
MODULE_DEVICE_TABLE(i2c, si544_id);

static const struct of_device_id clk_si544_of_match[] = {
	{ .compatible = "silabs,si544a" },
	{ .compatible = "silabs,si544b" },
@@ -520,7 +520,7 @@ static struct i2c_driver si544_driver = {
		.name = "si544",
		.of_match_table = clk_si544_of_match,
	},
	.probe		= si544_probe,
	.probe_new	= si544_probe,
	.id_table	= si544_id,
};
module_i2c_driver(si544_driver);