From patchwork Tue Mar 14 21:56:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andi Shyti X-Patchwork-Id: 1757063 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=RCymknih; dkim-atps=neutral Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4PbnTM1bhDz1yWp for ; Wed, 15 Mar 2023 08:58:15 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229447AbjCNV6N (ORCPT ); Tue, 14 Mar 2023 17:58:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50450 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230367AbjCNV6I (ORCPT ); Tue, 14 Mar 2023 17:58:08 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C70884485; Tue, 14 Mar 2023 14:58:06 -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 4F36FB81BCE; Tue, 14 Mar 2023 21:58:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9A3A9C433EF; Tue, 14 Mar 2023 21:58:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678831084; bh=3anpauQ7tbtNVmsvLCLAkelo44OUKYuYXCpJm5o4VNg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RCymknihK1JeysrJcH/jpSJEswq4NH6WdCwG74jqaArUjZcCHBdt1Gn6PDjL9dOFh NLmlS1iRz8f2EPULRR83QAcBzVMKX1FZ6cmIXr9b3iGPjx0hi8W4gR+3GpVShH6tFR ssB5huW3A/cjqR5FAMCLftvcW8+nbVQbbkKUnGw0ouI4AA1ZzFbOvlzlldeAgWb7ji uh5AuBWFZRxsBqQP03E1w/yu2PCJi7nRQnSoDSPgjpFuYBEzjprbB7fqy0KNjXOwpG pa6WKJO/WIsRn1w2EYSUnu1TP7MQ7zdn+HfZmBWWndWR9WG0SJjva2nH5DvcKpr/Uk nm4jMWDxkTd+w== 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 v4 1/3] dt-bindings: i2c: mpc: Mark "fsl,timeout" as deprecated Date: Tue, 14 Mar 2023 22:56:10 +0100 Message-Id: <20230314215612.23741-2-andi.shyti@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230314215612.23741-1-andi.shyti@kernel.org> References: <20230314215612.23741-1-andi.shyti@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org Now we have the i2c-scl-clk-low-timeout-us property defined in the i2c schema. Mark "fsl,timeout" as deprecated and update the example. Signed-off-by: Andi Shyti Reviewed-by: Rob Herring --- 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 018e1b9444248..70fb69b923c46 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-us = <10000>; }; ... From patchwork Tue Mar 14 21:56: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: 1757065 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=fa/byld4; dkim-atps=neutral Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4PbnTN3jQyz1yWp for ; Wed, 15 Mar 2023 08:58:16 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230527AbjCNV6O (ORCPT ); Tue, 14 Mar 2023 17:58:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50648 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230380AbjCNV6L (ORCPT ); Tue, 14 Mar 2023 17:58:11 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E3ACC244B5; Tue, 14 Mar 2023 14:58:07 -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 dfw.source.kernel.org (Postfix) with ESMTPS id 46C9461A0D; Tue, 14 Mar 2023 21:58:07 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B146C433D2; Tue, 14 Mar 2023 21:58:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678831086; bh=Ug7yMMRBbQKExfo2xSNiSHY8spQSMj9D4Ct5iawgxf8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fa/byld4tSABqFfREXP0bIMtGZLggNvGm0Oyzy/ZeazM3d9UlUNRH/W3XpmeCNCJi HaL/sgvHthhiRIgEBegZQFX7Kl7BYe0n4JQnuyn5oQD/3kufqIgjE67FZWN4ipcotj Cgn6OzxpeBsKivcwMPXGHv0h11ZC377xBe0fVRuy2Uv1+j5wErcjC0Ys8ZHQwGdFQF 1BLlJ/kMgrPW9J3h6HijVDp0raILUInILV4O0Z6CU5zNM+3PGSgcTXd+AU2ueP0acg Zcwbk+aMjWoRTn6y1o0EQnTeMHMMdeMbqgunF2a48Dx2ChnibSXgdCU5xqHl0LmOdG wgWyGOCwfIoqw== 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 v4 2/3] i2c: mpc: Use of_property_read_u32 instead of of_get_property Date: Tue, 14 Mar 2023 22:56:11 +0100 Message-Id: <20230314215612.23741-3-andi.shyti@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230314215612.23741-1-andi.shyti@kernel.org> References: <20230314215612.23741-1-andi.shyti@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 Tested-by: Chris Packham Reviewed-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 81ac92bb4f6f1..87e5c1725750f 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 Tue Mar 14 21:56: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: 1757066 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=OECqL0OZ; dkim-atps=neutral Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by legolas.ozlabs.org (Postfix) with ESMTP id 4PbnTR2p8tz1yWp for ; Wed, 15 Mar 2023 08:58:19 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230416AbjCNV6Q (ORCPT ); Tue, 14 Mar 2023 17:58:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50770 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230515AbjCNV6N (ORCPT ); Tue, 14 Mar 2023 17:58:13 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C9F5924BD2; Tue, 14 Mar 2023 14:58:10 -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 dfw.source.kernel.org (Postfix) with ESMTPS id 5421861A0D; Tue, 14 Mar 2023 21:58:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2288DC43444; Tue, 14 Mar 2023 21:58:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678831089; bh=rzP1OfS87vsi0Hjf6WC+JjuWr6HX7jni765Ubv/Snwo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OECqL0OZS07uL3BzVRDTosxxVUJFVMcoNQdawBbYgTjyUz3PZt5zKoh041xF5/mco Fvh9F3Q7Yxnn1ttLQEqkgA+/T7WnzNlyFNhufKlQgw5P7AJ/XerITj2epTSu1IS14d 7JRoyyPFPHWYMl63UQ6W5/CjiItGejF4dygaGmtdbjAChrS0pzmAs6HC25LcbZWVeo E4O89HvSyxUQoDOc+cQ9B03kO9Cm5eNg/04KnvxVTKfZBt4zlhXYhHxoq0REshG9Mh wt8NbpAmBoVqoWFw6PRBcVIn4kx5byLGdxFtLXYX6X5YucClIwd1ydf6FtTI+RqZDd +PTIdq3UKCWtw== 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 v4 3/3] i2c: mpc: Use i2c-scl-clk-low-timeout-ms i2c property Date: Tue, 14 Mar 2023 22:56:12 +0100 Message-Id: <20230314215612.23741-4-andi.shyti@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230314215612.23741-1-andi.shyti@kernel.org> References: <20230314215612.23741-1-andi.shyti@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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-us" 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 Reviewed-by: Krzysztof Kozlowski --- 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 87e5c1725750f..e8798f9c23fcc 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-us", + &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)