From nobody Sat Jun 20 00:55:05 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 77F57C433F5 for ; Thu, 24 Mar 2022 17:38:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1350363AbiCXRjx (ORCPT ); Thu, 24 Mar 2022 13:39:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46038 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243769AbiCXRjr (ORCPT ); Thu, 24 Mar 2022 13:39:47 -0400 X-Greylist: delayed 1793 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Thu, 24 Mar 2022 10:38:14 PDT Received: from 2.mo561.mail-out.ovh.net (2.mo561.mail-out.ovh.net [46.105.75.36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 102496EB29 for ; Thu, 24 Mar 2022 10:38:12 -0700 (PDT) Received: from player158.ha.ovh.net (unknown [10.108.20.52]) by mo561.mail-out.ovh.net (Postfix) with ESMTP id 81A6F245BB for ; Thu, 24 Mar 2022 16:59:13 +0000 (UTC) Received: from sk2.org (82-65-25-201.subs.proxad.net [82.65.25.201]) (Authenticated sender: steve@sk2.org) by player158.ha.ovh.net (Postfix) with ESMTPSA id 027C128BA44A3; Thu, 24 Mar 2022 16:59:07 +0000 (UTC) Authentication-Results: garm.ovh; auth=pass (GARM-99G003bf81b195-8d89-4a74-bcfe-1482886f0cef, 78FFD8E4238D9337B8F0C8EEA79873C5FE5514E5) smtp.auth=steve@sk2.org X-OVh-ClientIp: 82.65.25.201 From: Stephen Kitt To: Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Wolfram Sang , Stephen Kitt Subject: [PATCH] clk: use i2c_match_id and simple i2c probe Date: Thu, 24 Mar 2022 17:59:04 +0100 Message-Id: <20220324165904.538861-1-steve@sk2.org> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Ovh-Tracer-Id: 11772690904623974022 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvvddrudegledgledvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufffkffoggfgsedtkeertdertddtnecuhfhrohhmpefuthgvphhhvghnucfmihhtthcuoehsthgvvhgvsehskhdvrdhorhhgqeenucggtffrrghtthgvrhhnpeetgedugfelkeeikeetgeegteevfeeufeetuefgudeiiedthfehtdeffeekvdeffeenucfkpheptddrtddrtddrtddpkedvrdeihedrvdehrddvtddunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmohguvgepshhmthhpohhuthdphhgvlhhopehplhgrhigvrhduheekrdhhrgdrohhvhhdrnhgvthdpihhnvghtpedtrddtrddtrddtpdhmrghilhhfrhhomhepshhtvghvvgesshhkvddrohhrghdpnhgspghrtghpthhtohepuddprhgtphhtthhopehlihhnuhigqdhkvghrnhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrgh Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" 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 --- drivers/clk/clk-cdce925.c | 8 +++++--- drivers/clk/clk-si5351.c | 8 +++++--- drivers/clk/clk-si544.c | 8 +++++--- drivers/clk/clk-si570.c | 8 +++++--- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/drivers/clk/clk-cdce925.c b/drivers/clk/clk-cdce925.c index 308b353815e1..b5495ff3a950 100644 --- a/drivers/clk/clk-cdce925.c +++ b/drivers/clk/clk-cdce925.c @@ -634,11 +634,13 @@ static struct regmap_bus regmap_cdce925_bus =3D { .read =3D cdce925_regmap_i2c_read, }; =20 -static int cdce925_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static const struct i2c_device_id cdce925_id[]; + +static int cdce925_probe(struct i2c_client *client) { struct clk_cdce925_chip *data; struct device_node *node =3D client->dev.of_node; + const struct i2c_device_id *id =3D i2c_match_id(cdce925_id, client); const char *parent_name; const char *pll_clk_name[MAX_NUMBER_OF_PLLS] =3D {NULL,}; struct clk_init_data init; @@ -837,7 +839,7 @@ static struct i2c_driver cdce925_driver =3D { .name =3D "cdce925", .of_match_table =3D of_match_ptr(clk_cdce925_of_match), }, - .probe =3D cdce925_probe, + .probe_new =3D cdce925_probe, .id_table =3D cdce925_id, }; module_i2c_driver(cdce925_driver); diff --git a/drivers/clk/clk-si5351.c b/drivers/clk/clk-si5351.c index 93fa8c9e11be..3db5e97c62c0 100644 --- a/drivers/clk/clk-si5351.c +++ b/drivers/clk/clk-si5351.c @@ -1367,9 +1367,11 @@ si53351_of_clk_get(struct of_phandle_args *clkspec, = void *data) } #endif /* CONFIG_OF */ =20 -static int si5351_i2c_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static const struct i2c_device_id si5351_i2c_ids[]; + +static int si5351_i2c_probe(struct i2c_client *client) { + const struct i2c_device_id *id =3D i2c_match_id(si5351_i2c_ids, client); enum si5351_variant variant =3D (enum si5351_variant)id->driver_data; struct si5351_platform_data *pdata; struct si5351_driver_data *drvdata; @@ -1663,7 +1665,7 @@ static struct i2c_driver si5351_driver =3D { .name =3D "si5351", .of_match_table =3D of_match_ptr(si5351_dt_ids), }, - .probe =3D si5351_i2c_probe, + .probe_new =3D si5351_i2c_probe, .remove =3D si5351_i2c_remove, .id_table =3D si5351_i2c_ids, }; diff --git a/drivers/clk/clk-si544.c b/drivers/clk/clk-si544.c index d9ec9086184d..7a0c28b71b7b 100644 --- a/drivers/clk/clk-si544.c +++ b/drivers/clk/clk-si544.c @@ -451,11 +451,13 @@ static const struct regmap_config si544_regmap_config= =3D { .volatile_reg =3D si544_regmap_is_volatile, }; =20 -static int si544_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static const struct i2c_device_id 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 =3D i2c_match_id(si544_id, client); int err; =20 data =3D devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL); @@ -520,7 +522,7 @@ static struct i2c_driver si544_driver =3D { .name =3D "si544", .of_match_table =3D clk_si544_of_match, }, - .probe =3D si544_probe, + .probe_new =3D si544_probe, .id_table =3D si544_id, }; module_i2c_driver(si544_driver); diff --git a/drivers/clk/clk-si570.c b/drivers/clk/clk-si570.c index eea50121718a..779fe72054fd 100644 --- a/drivers/clk/clk-si570.c +++ b/drivers/clk/clk-si570.c @@ -398,11 +398,13 @@ static const struct regmap_config si570_regmap_config= =3D { .volatile_reg =3D si570_regmap_is_volatile, }; =20 -static int si570_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static const struct i2c_device_id 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 =3D i2c_match_id(si570_id, client); u32 initial_fout, factory_fout, stability; bool skip_recall; int err; @@ -518,7 +520,7 @@ static struct i2c_driver si570_driver =3D { .name =3D "si570", .of_match_table =3D clk_si570_of_match, }, - .probe =3D si570_probe, + .probe_new =3D si570_probe, .remove =3D si570_remove, .id_table =3D si570_id, }; --=20 2.27.0