Commit 2b349b89 authored by Stephen Kitt's avatar Stephen Kitt Committed by Stephen Boyd
Browse files

clk: si570: 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-10-steve@sk2.org


Reviewed-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent 32a5c1d3
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -398,11 +398,20 @@ static const struct regmap_config si570_regmap_config = {
	.volatile_reg = si570_regmap_is_volatile,
};

static int si570_probe(struct i2c_client *client,
		const struct i2c_device_id *id)
static const struct i2c_device_id si570_id[] = {
	{ "si570", si57x },
	{ "si571", si57x },
	{ "si598", si59x },
	{ "si599", si59x },
	{ }
};
MODULE_DEVICE_TABLE(i2c, si570_id);

static int si570_probe(struct i2c_client *client)
{
	struct clk_si570 *data;
	struct clk_init_data init;
	const struct i2c_device_id *id = i2c_match_id(si570_id, client);
	u32 initial_fout, factory_fout, stability;
	bool skip_recall;
	int err;
@@ -495,15 +504,6 @@ static int si570_remove(struct i2c_client *client)
	return 0;
}

static const struct i2c_device_id si570_id[] = {
	{ "si570", si57x },
	{ "si571", si57x },
	{ "si598", si59x },
	{ "si599", si59x },
	{ }
};
MODULE_DEVICE_TABLE(i2c, si570_id);

static const struct of_device_id clk_si570_of_match[] = {
	{ .compatible = "silabs,si570" },
	{ .compatible = "silabs,si571" },
@@ -518,7 +518,7 @@ static struct i2c_driver si570_driver = {
		.name = "si570",
		.of_match_table = clk_si570_of_match,
	},
	.probe		= si570_probe,
	.probe_new	= si570_probe,
	.remove		= si570_remove,
	.id_table	= si570_id,
};