From nobody Wed Feb 11 17:15:20 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 0AF2AC6FD1F for ; Sun, 12 Mar 2023 23:36:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229515AbjCLXgv (ORCPT ); Sun, 12 Mar 2023 19:36:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33096 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229671AbjCLXgr (ORCPT ); Sun, 12 Mar 2023 19:36:47 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BCCB0298F1; Sun, 12 Mar 2023 16:36:46 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 68A53B80DC6; Sun, 12 Mar 2023 23:36:45 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B9B47C433EF; Sun, 12 Mar 2023 23:36:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678664204; bh=Y/oVmiKiguf3cH10Ap6pc0Y9scvYwzwdpgy/O2vWpoM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OiKY7bhz5JfsdqQGnaLzn4lPwE3dWcasXhee3Jjp86A/X40Qh1vyJwsdduQvyM97i pk2VM+olfwjS7CPP8kS822Ei3+rSyipOshtlXzmrYBI9AcmnLryZZwWCPIr5jbYiOf t+0SMRxae+h61a1G44zKwRLj3B5yLvxh1jbO9JvT5fIOW1DxwWXr9stp5D841G9xg6 NljkhhKIZb6P64GPW+TdFfX6HxJGOE+dUiyZGB0NS3EP4ePEux1lOeb0OnxyVXOnfl BDKv/x6AYTbtd+FLaSHbJW68z5pgYVyxTQJrtJ6Zq3gbnP/HqfOZt8hleASL7H+1/i Opq1d8/VpQVHw== From: Andi Shyti To: linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Wolfram Sang , Rob Herring , Krzysztof Kozlowski , Chris Packham , Ryan Chen , Andi Shyti Subject: [PATCH v3 1/3] dt-bindings: i2c: mpc: Mark "fsl,timeout" as deprecated Date: Mon, 13 Mar 2023 00:36:11 +0100 Message-Id: <20230312233613.303408-2-andi.shyti@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230312233613.303408-1-andi.shyti@kernel.org> References: <20230312233613.303408-1-andi.shyti@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Now we have the i2c-scl-clk-low-timeout-ms property defined in the i2c schema. Mark "fsl,timeout" as deprecated and update the example. Signed-off-by: Andi Shyti Reviewed-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/i2c/i2c-mpc.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml b/Documenta= tion/devicetree/bindings/i2c/i2c-mpc.yaml index 018e1b944424..bd2dd82471c1 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml +++ b/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml @@ -43,6 +43,7 @@ properties: =20 fsl,timeout: $ref: /schemas/types.yaml#/definitions/uint32 + deprecated: true description: | I2C bus timeout in microseconds =20 @@ -95,6 +96,6 @@ examples: interrupts =3D <43 2>; interrupt-parent =3D <&mpic>; clock-frequency =3D <400000>; - fsl,timeout =3D <10000>; + i2c-scl-clk-low-timeout-ms =3D <10000>; }; ... --=20 2.39.2 From nobody Wed Feb 11 17:15:20 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 634DCC6FD19 for ; Sun, 12 Mar 2023 23:36:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229929AbjCLXg4 (ORCPT ); Sun, 12 Mar 2023 19:36:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33238 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229853AbjCLXgu (ORCPT ); Sun, 12 Mar 2023 19:36:50 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 778183B0F9; Sun, 12 Mar 2023 16:36:49 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 249D3B80DC2; Sun, 12 Mar 2023 23:36:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 77865C433D2; Sun, 12 Mar 2023 23:36:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678664206; bh=88sh/0qmNZho5AB9/p+qRe7wGUzsLQrW9fXpLSBci6o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c4sTX34col0YRAGwDG19tO1bpdVEG3ryPq9nda3wK2n8l0frUIR/r33ZjSlwaCpov dBY4CxZ8Ij14EkeJRNhXaSZZYKjzX1YPP/JoNMluFaP+Y0Z99S1jn3fbwztZYTFxLw cyJLiKpDX5Ttvl24BnWRIG3XIYTvMotfamZr5+hYwDRGLZQDLoQ1RKxmpDIFJDilc1 N5BO9PN7hVQxqMVWOq90M0vUwN9HvijI9WEj5MJT9uV6muNsDxnGqaTtmhrCilqmeM IwqXa9DaMbyjbN+xYZBbkWG84fXN/JQH5DaBC47t5YrPsK09IGoKiJTvUqi8a8w+q7 EBkONXihk/nRg== From: Andi Shyti To: linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Wolfram Sang , Rob Herring , Krzysztof Kozlowski , Chris Packham , Ryan Chen , Andi Shyti Subject: [PATCH v3 2/3] i2c: mpc: Use of_property_read_u32 instead of of_get_property Date: Mon, 13 Mar 2023 00:36:12 +0100 Message-Id: <20230312233613.303408-3-andi.shyti@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230312233613.303408-1-andi.shyti@kernel.org> References: <20230312233613.303408-1-andi.shyti@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" "of_property_read_u32()" is preferred to "of_get_property()" for retreiving u32 from the device tree. Replace it. Suggested-by: Chris Packham Signed-off-by: Andi Shyti Reviewed-by: Chris Packham Tested-by: Chris Packham --- drivers/i2c/busses/i2c-mpc.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c index 81ac92bb4f6f..87e5c1725750 100644 --- a/drivers/i2c/busses/i2c-mpc.c +++ b/drivers/i2c/busses/i2c-mpc.c @@ -770,7 +770,6 @@ static const struct i2c_algorithm mpc_algo =3D { static struct i2c_adapter mpc_ops =3D { .owner =3D THIS_MODULE, .algo =3D &mpc_algo, - .timeout =3D HZ, }; =20 static struct i2c_bus_recovery_info fsl_i2c_recovery_info =3D { @@ -781,11 +780,9 @@ static int fsl_i2c_probe(struct platform_device *op) { const struct mpc_i2c_data *data; struct mpc_i2c *i2c; - const u32 *prop; - u32 clock =3D MPC_I2C_CLOCK_LEGACY; - int result =3D 0; - int plen; struct clk *clk; + int result; + u32 clock; int err; =20 i2c =3D devm_kzalloc(&op->dev, sizeof(*i2c), GFP_KERNEL); @@ -831,10 +828,10 @@ static int fsl_i2c_probe(struct platform_device *op) if (of_property_read_bool(op->dev.of_node, "fsl,preserve-clocking")) { clock =3D MPC_I2C_CLOCK_PRESERVE; } else { - prop =3D of_get_property(op->dev.of_node, "clock-frequency", - &plen); - if (prop && plen =3D=3D sizeof(u32)) - clock =3D *prop; + result =3D of_property_read_u32(op->dev.of_node, + "clock-frequency", &clock); + if (result) + clock =3D MPC_I2C_CLOCK_LEGACY; } =20 data =3D device_get_match_data(&op->dev); @@ -846,12 +843,16 @@ static int fsl_i2c_probe(struct platform_device *op) mpc_i2c_setup_8xxx(op->dev.of_node, i2c, clock); } =20 - prop =3D of_get_property(op->dev.of_node, "fsl,timeout", &plen); - if (prop && plen =3D=3D sizeof(u32)) { - mpc_ops.timeout =3D *prop * HZ / 1000000; + result =3D of_property_read_u32(op->dev.of_node, + "fsl,timeout", &mpc_ops.timeout); + if (!result) { + mpc_ops.timeout *=3D HZ / 1000000; if (mpc_ops.timeout < 5) mpc_ops.timeout =3D 5; + } else { + mpc_ops.timeout =3D HZ; } + dev_info(i2c->dev, "timeout %u us\n", mpc_ops.timeout * 1000000 / HZ); =20 if (of_property_read_bool(op->dev.of_node, "fsl,i2c-erratum-a004447")) --=20 2.39.2 From nobody Wed Feb 11 17:15:20 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 A7C28C6FD19 for ; Sun, 12 Mar 2023 23:37:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229927AbjCLXhC (ORCPT ); Sun, 12 Mar 2023 19:37:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33338 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229921AbjCLXgz (ORCPT ); Sun, 12 Mar 2023 19:36:55 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6CC663B0D4; Sun, 12 Mar 2023 16:36:52 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 14C89B80DC8; Sun, 12 Mar 2023 23:36:51 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41303C4339B; Sun, 12 Mar 2023 23:36:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678664209; bh=wfuc6Igk++l7xu4oCP46B+qUAYlG7dpvbl5q/Q6k7cM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ldWOxo6n5bPUwNKnDwJsuZaa/BXi1lBKwJBXWPOwzXhaDDjrwl9gvM6jSgXZJm/1C RYyuFjPNkBMKkEgBjRp36QFHIx5lewKSE63DDtESkWG/J60CAwvzPbaXRV+eBE3opr ceq6Gci51OUPia2VLZDmrRDu3iUq0tqAZmuMCFfXgFBwYamE5nzr99uPzWOpdQKDHQ oQ19//bhUr9+jo/IWK/VpgWCxAHRJ8Wl7SLuX6UK/P2dWGnOpf+sFfh8vQvULWUCC9 /MubxQpbAgsBsqXrxGMizTSmsytFnZzmZ7sCeQUyPgwSk9k10QzbFtpPKAWlMtPA/g DdqMV7H6ZJGow== From: Andi Shyti To: linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Wolfram Sang , Rob Herring , Krzysztof Kozlowski , Chris Packham , Ryan Chen , Andi Shyti Subject: [PATCH v3 3/3] i2c: mpc: Use i2c-scl-clk-low-timeout-ms i2c property Date: Mon, 13 Mar 2023 00:36:13 +0100 Message-Id: <20230312233613.303408-4-andi.shyti@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230312233613.303408-1-andi.shyti@kernel.org> References: <20230312233613.303408-1-andi.shyti@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" "fsl,timeout" is marked as deprecated and replaced by the "i2c-scl-clk-low-timeout-ms" i2c property. Use this latter and, in case it is missing, for back compatibility, check whether we still have "fsl,timeout" defined. Signed-off-by: Andi Shyti Reviewed-by: Chris Packham Tested-by: Chris Packham --- drivers/i2c/busses/i2c-mpc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c index 87e5c1725750..28f11e30ac50 100644 --- a/drivers/i2c/busses/i2c-mpc.c +++ b/drivers/i2c/busses/i2c-mpc.c @@ -843,8 +843,18 @@ static int fsl_i2c_probe(struct platform_device *op) mpc_i2c_setup_8xxx(op->dev.of_node, i2c, clock); } =20 + /* + * "fsl,timeout" has been marked as deprecated and, to maintain + * backward compatibility, we will only look for it if + * "i2c-scl-clk-low-timeout-ms" is not present. + */ result =3D of_property_read_u32(op->dev.of_node, - "fsl,timeout", &mpc_ops.timeout); + "i2c-scl-clk-low-timeout-ms", + &mpc_ops.timeout); + if (result =3D=3D -EINVAL) + result =3D of_property_read_u32(op->dev.of_node, + "fsl,timeout", &mpc_ops.timeout); + if (!result) { mpc_ops.timeout *=3D HZ / 1000000; if (mpc_ops.timeout < 5) --=20 2.39.2