From patchwork Sun Mar 12 23:36:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andi Shyti X-Patchwork-Id: 662565 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 B2249C7618A for ; Sun, 12 Mar 2023 23:36:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229754AbjCLXgs (ORCPT ); Sun, 12 Mar 2023 19:36:48 -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 Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org 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/Documentation/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: fsl,timeout: $ref: /schemas/types.yaml#/definitions/uint32 + deprecated: true description: | I2C bus timeout in microseconds @@ -95,6 +96,6 @@ examples: interrupts = <43 2>; interrupt-parent = <&mpic>; clock-frequency = <400000>; - fsl,timeout = <10000>; + i2c-scl-clk-low-timeout-ms = <10000>; }; ... From patchwork Sun Mar 12 23:36:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andi Shyti X-Patchwork-Id: 662851 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 8B837C74A4B for ; Sun, 12 Mar 2023 23:36:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229842AbjCLXgx (ORCPT ); Sun, 12 Mar 2023 19:36:53 -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 Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org "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 --- 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 = { static struct i2c_adapter mpc_ops = { .owner = THIS_MODULE, .algo = &mpc_algo, - .timeout = HZ, }; static struct i2c_bus_recovery_info fsl_i2c_recovery_info = { @@ -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 = MPC_I2C_CLOCK_LEGACY; - int result = 0; - int plen; struct clk *clk; + int result; + u32 clock; int err; i2c = 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 = MPC_I2C_CLOCK_PRESERVE; } else { - prop = of_get_property(op->dev.of_node, "clock-frequency", - &plen); - if (prop && plen == sizeof(u32)) - clock = *prop; + result = of_property_read_u32(op->dev.of_node, + "clock-frequency", &clock); + if (result) + clock = MPC_I2C_CLOCK_LEGACY; } data = 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); } - prop = of_get_property(op->dev.of_node, "fsl,timeout", &plen); - if (prop && plen == sizeof(u32)) { - mpc_ops.timeout = *prop * HZ / 1000000; + result = of_property_read_u32(op->dev.of_node, + "fsl,timeout", &mpc_ops.timeout); + if (!result) { + mpc_ops.timeout *= HZ / 1000000; if (mpc_ops.timeout < 5) mpc_ops.timeout = 5; + } else { + mpc_ops.timeout = HZ; } + dev_info(i2c->dev, "timeout %u us\n", mpc_ops.timeout * 1000000 / HZ); if (of_property_read_bool(op->dev.of_node, "fsl,i2c-erratum-a004447")) From patchwork Sun Mar 12 23:36:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andi Shyti X-Patchwork-Id: 662564 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 5FBBFC74A4B for ; Sun, 12 Mar 2023 23:37:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229937AbjCLXg7 (ORCPT ); Sun, 12 Mar 2023 19:36:59 -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 Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org "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); } + /* + * "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 = of_property_read_u32(op->dev.of_node, - "fsl,timeout", &mpc_ops.timeout); + "i2c-scl-clk-low-timeout-ms", + &mpc_ops.timeout); + if (result == -EINVAL) + result = of_property_read_u32(op->dev.of_node, + "fsl,timeout", &mpc_ops.timeout); + if (!result) { mpc_ops.timeout *= HZ / 1000000; if (mpc_ops.timeout < 5)