From patchwork Thu Dec 7 14:13:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175150 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4811596vqy; Thu, 7 Dec 2023 06:17:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IHfIHA8WA8eLASY0h3Cn19GpwG+gKxbZvVWbZwjd8Z2gVXpQ158AW/UyepmRJ+V/7xDpaS8 X-Received: by 2002:a17:903:25c2:b0:1d0:6d5e:47a7 with SMTP id jc2-20020a17090325c200b001d06d5e47a7mr2245267plb.60.1701958676321; Thu, 07 Dec 2023 06:17:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958676; cv=none; d=google.com; s=arc-20160816; b=uUkScQxnx92OYOWlavfksL7zPRG6/IzOoskTNB5TLX/Ign2SKtZBBR6OhSB2I4PGdq Iy+7eFIsso0+oNef4EFTFq2Y+WiCJNqc6YQU5CcZ5iCZGpNzDvclBYUn/Oh+7P0fblCv OST/WpOKLNS6B3jU0beSyggaEsIAGKsR7CRD18iELRInopet3YsN1JfpJJm0nwvrAmBM VMHwpOw8rDguZGwh4JKG5fq2FYqBR6XaCAaDilhZQLRr3Fpat6XL2B/pf6lvv29fdquP +eK+zjgc+BBhq2o9a6bFZho+MzjOU1gU/HGCw8sl4H1bUuld8GRtebFh2c87glODR9EQ YxRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=LKDMuQHpPbnavgFdHZ9cvixsKmJhnxnfQ2Rrj1aupeE=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=b/H7tmNVlLKJWdLCkF+aMND4X7+t8akpGbrJ0c15r1SuDm7pwPtLJ6j5UknuG2718U XvMfiHHSWrBYaF3CgxcSvd5FxD+hUtnUYQMxPIYF4j2xZPRgizRnonvwM+5+SSUytwBi pk2YaRjPouu3FtcVw29j6TpSmIAoObQTf3rii6Azfx8+Ev0zcsT5p2fpdlpo9ns1wgFk +YyBLXF4tqc1AZHxvtMLL4VOh4vSYwvKc8GUuaUgIGlS56qi1IBbj4MS1CgdpKSG49Lg Gjlsad9vVOa0hP383e6Oqd5mbm2vzkMHtnV1Nf7TE9txy77CM+xx7WMxGPAWL80YWCgq +JlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=egTrLJW6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id x3-20020a1709027c0300b001d0c0bd0cf0si1199014pll.459.2023.12.07.06.17.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:17:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=egTrLJW6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 5EB6580B419C; Thu, 7 Dec 2023 06:17:50 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443167AbjLGORF (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41940 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443107AbjLGORC (ORCPT ); Thu, 7 Dec 2023 09:17:02 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6252510DC; Thu, 7 Dec 2023 06:17:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958628; x=1733494628; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=LLfjvS+VRjLxkVCrmOp5ZQ7KNZBykPK/FRjYw4fcjt0=; b=egTrLJW6o3W4Cx8lvHC4tubwZ2J4KOMa3HK7y2nQ5RxwxsO0Km3P2PGh ry+5EEOQ1iN7y/ztbM76c46RFKU1v74hxqYnmS2JMQ3O/m5VUg+H2n51T MKkJCYvgEaBdWx1OV7nZKD6PR/6WP8kcrP3mXYFbA1BwGexPzmzxBeEIt WDiUz34G6dUml0X67dFM3Fkmhnr9PS6+tZQfMVbC4yH3KtFf0fddG8AVe tnACWTFJbIK0eBFyCf+M+n+l+VvxhP/s6+hwl5H4PknBjfp2Xz3ZdWw0g WVgAC6gJL5ltED9MpToHBKhLpoTn5KGhQGFpnTaMw2WcPEWGNRevK5ic7 w==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726064" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726064" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756048" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756048" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:03 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 7B5BADE; Thu, 7 Dec 2023 16:17:02 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 01/24] i2c: designware: Fix PM calls order in dw_i2c_plat_probe() Date: Thu, 7 Dec 2023 16:13:41 +0200 Message-ID: <20231207141653.2785124-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:17:50 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633021091679615 X-GMAIL-MSGID: 1784633021091679615 We should not mix managed calls with non-managed. This will break the calls order at the error path and ->remove() stages. Fix this by wrapping PM ops to become managed one. Reviewed-by: Andi Shyti Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-2-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-platdrv.c | 26 ++++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 855b698e99c0..fd3cd65f9c88 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -177,14 +177,26 @@ static int txgbe_i2c_request_regs(struct dw_i2c_dev *dev) return 0; } -static void dw_i2c_plat_pm_cleanup(struct dw_i2c_dev *dev) +static void dw_i2c_plat_pm_cleanup(void *data) { + struct dw_i2c_dev *dev = data; + pm_runtime_disable(dev->dev); if (dev->shared_with_punit) pm_runtime_put_noidle(dev->dev); } +static int dw_i2c_plat_pm_setup(struct dw_i2c_dev *dev) +{ + if (dev->shared_with_punit) + pm_runtime_get_noresume(dev->dev); + + pm_runtime_enable(dev->dev); + + return devm_add_action_or_reset(dev->dev, dw_i2c_plat_pm_cleanup, dev); +} + static int dw_i2c_plat_request_regs(struct dw_i2c_dev *dev) { struct platform_device *pdev = to_platform_device(dev->dev); @@ -381,19 +393,16 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) pm_runtime_use_autosuspend(&pdev->dev); pm_runtime_set_active(&pdev->dev); - if (dev->shared_with_punit) - pm_runtime_get_noresume(&pdev->dev); - - pm_runtime_enable(&pdev->dev); + ret = dw_i2c_plat_pm_setup(dev); + if (ret) + goto exit_reset; ret = i2c_dw_probe(dev); if (ret) - goto exit_probe; + goto exit_reset; return ret; -exit_probe: - dw_i2c_plat_pm_cleanup(dev); exit_reset: reset_control_assert(dev->rst); return ret; @@ -411,7 +420,6 @@ static void dw_i2c_plat_remove(struct platform_device *pdev) pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_put_sync(&pdev->dev); - dw_i2c_plat_pm_cleanup(dev); i2c_dw_remove_lock_support(dev); From patchwork Thu Dec 7 14:13:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175149 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4811569vqy; Thu, 7 Dec 2023 06:17:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IHAFQDraUgvLdwpNC6ojtVt4HAqVlp4CUx7JlMNqo3va4ZWPmuILZz4iheTyUFH1Pw0wnGn X-Received: by 2002:a05:6a00:429a:b0:6c6:b5ae:15a4 with SMTP id bx26-20020a056a00429a00b006c6b5ae15a4mr3418624pfb.20.1701958675042; Thu, 07 Dec 2023 06:17:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958675; cv=none; d=google.com; s=arc-20160816; b=YWotH93CjdZ770upGVLyzZXjJldkG3oQBKB/KhZw5G2hf4FlhdIJAYxqDdtKvhuU0c 9xfK9RsIP2sUwIswy4oljNObX/QiUtIYofNwPXVsUppCpu4BHmbOLpqnoYfSI4/pskLc 98bwSQlxFMSEX1U1mQJGJltIY9EPt7Osw0r5/xqzDDCPSljCOFs2OOe8BWD348K7pvX7 /QSTNfdhJNVIUolbyrELCiOdyZki+quP1rICNt8bQvEbBZk5FbiZsj6rMCWPDtBxMinS v244c4eAuWI0V0640A3Lhtlx/k9BaVdWoo+ryAd9eXat/uS+ZGpi40eDDuhDYARas/hO 6P5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=JjAuzrUhRYfGYsymCzMiGtKy343L9331sfQ2f/q4Ceo=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=Jc6IQfNYV9lvYPgva5H+BcN3fw8Nku681yydYvLITDsHhPwJd/ePLncBniZiAdnIwM yVxvKwNRtugQwHGCSGoXoqY0xKpBSV8H2OdJKX7MhDoiYc1Dxuze8Qk1uHIK6nRe+V+P rpn3UjaDEnoRXm1ZKRBb/MrKzrT2dAXHCH+lusbiPH9oJI/I1WyYvVBu5ShIQxgUOliX LQMQT937TPg7vRW8UeQtw0CvgK1MCFPPLAKicyG0iAdUEajkL6JOkYmrcy4tdv90NGbE Sv2XZTb2UDuzVOvkLZBA2znrQ0DXSkl/MbeuV3QLR9NJAEbZa0MJGWuUYXQ/h+2Ztzza eLsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JnuG5nln; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id h128-20020a636c86000000b005c660acad7asi1233306pgc.4.2023.12.07.06.17.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:17:55 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JnuG5nln; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 71DCB80B816C; Thu, 7 Dec 2023 06:17:49 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443189AbjLGORM (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49098 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443163AbjLGORD (ORCPT ); Thu, 7 Dec 2023 09:17:03 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4A21810E3; Thu, 7 Dec 2023 06:17:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958629; x=1733494629; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Q38yLLuUJH4FuWZg9mrUTuIVLb3sq2MM35t95SeLH1M=; b=JnuG5nlntXngNT+GJyGcA/e1gIucOyVFekM455KfsmqqAuQezUhfAWd8 JapPOORBdPaDwO0dwK2IAvsQcS4WnsAkHph6U6O6nxsklVEbCxV89wTEY GfN4qQ1DPSjYC/yLZx+gorT2Lu/0dYmxvxqIICvLQWFeF0TAA8NLiATGn 3OS5DNe8EtSabiJs0ACeL2cmRgxogufTrMLuawLZ/AmnGqerVwDsKJ6HD y2/+VoqrjJvDMwbHEAMLt5m3M3cHGgx6sXJFJNT2Ct5fJYIVbFXCJUChs /pnoeIPuzWv3SWOHAi5aWrzLcOR1mlsmuJnZ/IKCkDcrqIW+GdzN3JOBF A==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726066" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726066" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="862490629" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="862490629" Received: from black.fi.intel.com ([10.237.72.28]) by FMSMGA003.fm.intel.com with ESMTP; 07 Dec 2023 06:17:03 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 8EC66648; Thu, 7 Dec 2023 16:17:02 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 02/24] i2c: designware: Fix reset call order in dw_i2c_plat_probe() Date: Thu, 7 Dec 2023 16:13:42 +0200 Message-ID: <20231207141653.2785124-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:17:49 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633019595701913 X-GMAIL-MSGID: 1784633019595701913 We should not mix managed calls with non-managed. This will break the calls order at the error path and ->remove() stages. Fix this by wrapping reset control to become managed one. With that start checking the rerurn code from reset_control_deassert() as it may fail and calling assertion in that scenario is not always a good idea. Reviewed-by: Andi Shyti Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-3-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-platdrv.c | 62 +++++++++++---------- 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index fd3cd65f9c88..648fb84e574d 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -285,6 +285,28 @@ static void i2c_dw_remove_lock_support(struct dw_i2c_dev *dev) i2c_dw_semaphore_cb_table[dev->semaphore_idx].remove(dev); } +static void dw_i2c_plat_assert_reset(void *data) +{ + struct dw_i2c_dev *dev = data; + + reset_control_assert(dev->rst); +} + +static int dw_i2c_plat_get_reset(struct dw_i2c_dev *dev) +{ + int ret; + + dev->rst = devm_reset_control_get_optional_exclusive(dev->dev, NULL); + if (IS_ERR(dev->rst)) + return PTR_ERR(dev->rst); + + ret = reset_control_deassert(dev->rst); + if (ret) + return ret; + + return devm_add_action_or_reset(dev->dev, dw_i2c_plat_assert_reset, dev); +} + static int dw_i2c_plat_probe(struct platform_device *pdev) { struct i2c_adapter *adap; @@ -312,11 +334,9 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) if (ret) return ret; - dev->rst = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL); - if (IS_ERR(dev->rst)) - return PTR_ERR(dev->rst); - - reset_control_deassert(dev->rst); + ret = dw_i2c_plat_get_reset(dev); + if (ret) + return ret; t = &dev->timings; i2c_parse_fw_timings(&pdev->dev, t, false); @@ -331,30 +351,26 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) ret = i2c_dw_validate_speed(dev); if (ret) - goto exit_reset; + return ret; ret = i2c_dw_probe_lock_support(dev); if (ret) - goto exit_reset; + return ret; i2c_dw_configure(dev); /* Optional interface clock */ dev->pclk = devm_clk_get_optional(&pdev->dev, "pclk"); - if (IS_ERR(dev->pclk)) { - ret = PTR_ERR(dev->pclk); - goto exit_reset; - } + if (IS_ERR(dev->pclk)) + return PTR_ERR(dev->pclk); dev->clk = devm_clk_get_optional(&pdev->dev, NULL); - if (IS_ERR(dev->clk)) { - ret = PTR_ERR(dev->clk); - goto exit_reset; - } + if (IS_ERR(dev->clk)) + return PTR_ERR(dev->clk); ret = i2c_dw_prepare_clk(dev, true); if (ret) - goto exit_reset; + return ret; if (dev->clk) { u64 clk_khz; @@ -395,17 +411,9 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) ret = dw_i2c_plat_pm_setup(dev); if (ret) - goto exit_reset; + return ret; - ret = i2c_dw_probe(dev); - if (ret) - goto exit_reset; - - return ret; - -exit_reset: - reset_control_assert(dev->rst); - return ret; + return i2c_dw_probe(dev); } static void dw_i2c_plat_remove(struct platform_device *pdev) @@ -422,8 +430,6 @@ static void dw_i2c_plat_remove(struct platform_device *pdev) pm_runtime_put_sync(&pdev->dev); i2c_dw_remove_lock_support(dev); - - reset_control_assert(dev->rst); } static int dw_i2c_plat_prepare(struct device *dev) From patchwork Thu Dec 7 14:13:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175145 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4811373vqy; Thu, 7 Dec 2023 06:17:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IEDP6sFhLU8VNSRDH4rfaIgPdqWDdcUuxKQ/TzrmNbPeJdCQFFTzxAZVZx36hYCkS8M3MNI X-Received: by 2002:a17:902:da83:b0:1d0:6ffe:9f1 with SMTP id j3-20020a170902da8300b001d06ffe09f1mr3094695plx.79.1701958659618; Thu, 07 Dec 2023 06:17:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958659; cv=none; d=google.com; s=arc-20160816; b=UI+w9vuKWz0SqYCSkIlqsPIKj36A7S7PrK2j5xuf9gmXPTWM9e+5kIqkfhi0hojluJ UlMBbGIxgrYYKehuu2rjNj4C9TMguNrMlRTc/JbIDpwl9QumiV0PvjxHeOsXVt3QkHC7 /wvsam5fJ9/Bs+dhhD/htwmCVqzwWYSP6Dx0B9h043KQjzGJqwDmgMa6Rgf1EnqjsX5+ VZ/M6wGT/f/Vzl1XksOdrZ7Xev7IQxO3I56c/qqYblnmhOGBP6NWlsthn3R1r40PHzfI AfRaQs0pWCRiCU4/9Ed3b9em1vPR1GmbFUXw5ONGc8dMLtWb/OaxtbruOjvH1HW+8TQE qT6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=RNHpISS4j+4g6jBoQvNBOMR/EveEmkYRZ9tnwctn/N4=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=P+40GmJQ0g6SCnKghWR/nAtfsb4WJcE/II3YK+kf8eukX7l0pZ2IRJ+km3cDCzIBQ8 KuHqdWG69cXcF3HOwO26E8UzGz0/iKR9T0OPnm5a0RQuLgWc7M7Lah5uQpAhSTc8r85X /AZSKbdxxt54MU/BKBzWN/okFkStZGGe7CwPX566+Bc4W3PCXCuHeGksPdiPAtz1p/cz +wI4kddzH00oA5MjqRfUXKP5FEk6bWgceJhQe/wUTxg5L4rkYz4qTNvRqBXHsOcgUeUh Aa9sur1qPCHSATZ5Dkra8+KP5jL0ulpUFCXc8XLNVrHCid/dHzPLDH/OEfQo3hzO89MR +xYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=QMIlw2L9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id b6-20020a170902bd4600b001d1db5e39absi1170316plx.320.2023.12.07.06.17.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:17:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=QMIlw2L9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 0D60B8280833; Thu, 7 Dec 2023 06:17:25 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443180AbjLGORH (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49084 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443146AbjLGORC (ORCPT ); Thu, 7 Dec 2023 09:17:02 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 557A810E4; Thu, 7 Dec 2023 06:17:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958629; x=1733494629; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=EOlUZ01nLfo2uCgoR75r9++zowSZMH9o/jg9adFUKGM=; b=QMIlw2L9YfJ3CQDxFomssc266o6oudn2zc7ez6nYpS2DD3/XnrWCFOKY U7gw4hAUBPCyvflsUvyx7t6flGl+C+3BaPgfkKKkja7fZ3B6qDK/ueL6t au9djV7kOG5W42VYV4yVgDKMI7RzHfI7lOWYqEtu/S3KMFd2jD/xF3jH3 gj0V1bcWSLTFq4q+SaEo7kM8DWywtGmMjpYKyOyOwfePRCo6SvupbwQaL lAhHFKK4wWZ1yC/QeJovZm1jy5/PIax+3vi0yTdtUubNd3nt8k9BOGIv8 38ruKI97h+1OwGJHK4p7V3ktt56sZONeEvZCwIOTxaGYDwZg6hmD7mkpW g==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726075" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726075" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="862490630" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="862490630" Received: from black.fi.intel.com ([10.237.72.28]) by FMSMGA003.fm.intel.com with ESMTP; 07 Dec 2023 06:17:03 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 99C7565B; Thu, 7 Dec 2023 16:17:02 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 03/24] i2c: designware: Let PCI core to take care about interrupt vectors Date: Thu, 7 Dec 2023 16:13:43 +0200 Message-ID: <20231207141653.2785124-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:17:26 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633003713925320 X-GMAIL-MSGID: 1784633003713925320 PCI core, after pcim_enable_device(), takes care about the allocated IRQ vectors, no need to do it explicitly and break the cleaning up order. Reviewed-by: Andi Shyti Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-4-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-pcidrv.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index 61d7a27aa070..e67956845c19 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -295,10 +295,8 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, if (controller->setup) { r = controller->setup(pdev, controller); - if (r) { - pci_free_irq_vectors(pdev); + if (r) return r; - } } i2c_dw_adjust_bus_speed(dev); @@ -307,10 +305,8 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, i2c_dw_acpi_configure(&pdev->dev); r = i2c_dw_validate_speed(dev); - if (r) { - pci_free_irq_vectors(pdev); + if (r) return r; - } i2c_dw_configure(dev); @@ -330,10 +326,8 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, adap->nr = controller->bus_num; r = i2c_dw_probe(dev); - if (r) { - pci_free_irq_vectors(pdev); + if (r) return r; - } if ((dev->flags & MODEL_MASK) == MODEL_AMD_NAVI_GPU) { dev->slave = i2c_new_ccgx_ucsi(&dev->adapter, dev->irq, &dgpu_node); @@ -359,8 +353,6 @@ static void i2c_dw_pci_remove(struct pci_dev *pdev) pm_runtime_get_noresume(&pdev->dev); i2c_del_adapter(&dev->adapter); - devm_free_irq(&pdev->dev, dev->irq, dev); - pci_free_irq_vectors(pdev); } static const struct pci_device_id i2_designware_pci_ids[] = { From patchwork Thu Dec 7 14:13:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175143 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4811176vqy; Thu, 7 Dec 2023 06:17:19 -0800 (PST) X-Google-Smtp-Source: AGHT+IF5nd6Fp4G6M31YW90z1NhsL9APyol5DJaR8aMjH3fRS/EeT1gs9eXeFQZF2gxBssUb0XqB X-Received: by 2002:a17:902:da91:b0:1d0:6ffe:1e64 with SMTP id j17-20020a170902da9100b001d06ffe1e64mr2427380plx.71.1701958639347; Thu, 07 Dec 2023 06:17:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958639; cv=none; d=google.com; s=arc-20160816; b=gBFXY4l07B3GrWk0OX7bGLe5g42FeXVQEe7uyoiIH4IMsM/y8stLAW54VaOFySOkXp EP2YLpp1ChLfEZ7kK73FgeAhNMSYhwx4HrGNUYRpMCuNMiojNgaGIcDQH9bZzcsZ5C4U WBa2PJwciyC6v8I/Z5eA33QUJp8FwXAgT2HuWtwVh5cb+dHX9CKnfUUG4mGKshfMSsuz /On1NoHkLPT25D9T9pNXE3hFKHTZa1+zPL66F0ughcQsRpZIlPP3kfVqAcmOGkvZdSui vso+h4MxZ5eKntTkIKvdtg86M6H/yfdz1i2TZU0Ysy29oaTekSwRgDC8KsMXgtFzDPUd ELPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=X8S5zVctma3SdjSf1Dhs+ct1zp0MZBjnKzOFEN3WVww=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=PmJdq4Zbmgd+CNceNjAQ4el0JeMmAuawP/v2LRe4YWwFAs5XYG5v2cA+/n1N2cJssf wrQCURThJ/AHqLl7462xVdX3YqBZEN9N/VIg9X/MqDwUi+pLzeV6c8wjhGkXSaaFK2A9 bXP4/GwDoI9Z8jACLbN3Lu4Y/ag/yLQlE18ITCzDTsyfRMV00OPqWqZputUB+TUWP2Wa twwgH8TI+zm4EkaCNHuQrd1of9dUl5VJYoVMyPKkWT+2ed/S0UBQa5aUnaud3H3ZTyKU HK20eRI/2WsOIW2IS2zgzF9iswQ9pyjHIl6NBKqSaaoYrfkVpFVli/Y6e0cu+Z3rLafU 7SHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HBxnT5oJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id iz17-20020a170902ef9100b001cf50ffd38dsi1153758plb.164.2023.12.07.06.17.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:17:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HBxnT5oJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id AFBE7803B350; Thu, 7 Dec 2023 06:17:14 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443149AbjLGORD (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41932 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443061AbjLGORC (ORCPT ); Thu, 7 Dec 2023 09:17:02 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3532D10DA; Thu, 7 Dec 2023 06:17:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958628; x=1733494628; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Pz+b7NxYFQNKKQhTbcI/vJ6DmuTfQ7/BGG0xBHn4/mQ=; b=HBxnT5oJ7gcTEI9jNbKDho3Lk3LVsfcgJiw6u2qMLwT0surt04wkAT4h m1cFp5ieATsTnR7EMGpqNtVBacwr4yokuJchv8FTP5hn6OnNOctycr/sX lG9aER5ax9J8c4yS0U1efp50g05b+WmW/BsbmeuQ/pKntc7eZllXdOuUL Djp4Wu5wKRcrS8YYwMBYzGg3vskpJ2qMrxstAVxxkYkcY5lD321C6QHCH 9AK0RAH6aw/+oNKS8EyByqbmBK5+vQpUnON+Htyo1xPGOR72KOvARhM+o H/7t1+6Ir6BByigEIUwWh2geEFja/+/wM+s5rRbk1w0vlQCJrZp/F5kZS w==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726050" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726050" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756045" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756045" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:03 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id AA07565E; Thu, 7 Dec 2023 16:17:02 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 04/24] i2c: designware: Fix lock probe call order in dw_i2c_plat_probe() Date: Thu, 7 Dec 2023 16:13:44 +0200 Message-ID: <20231207141653.2785124-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:17:14 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784632982468946241 X-GMAIL-MSGID: 1784632982468946241 We should not mix managed calls with non-managed. This will break the calls order at the error path and ->remove() stages. Fix this by wrapping lock probe to become managed one. Fixes: 78d5e9e299e3 ("i2c: designware: Add AMD PSP I2C bus support") Reviewed-by: Andi Shyti Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-5-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-platdrv.c | 24 ++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 648fb84e574d..63cc3cdca2c7 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -243,6 +243,17 @@ static const struct i2c_dw_semaphore_callbacks i2c_dw_semaphore_cb_table[] = { {} }; +static void i2c_dw_remove_lock_support(void *data) +{ + struct dw_i2c_dev *dev = data; + + if (dev->semaphore_idx < 0) + return; + + if (i2c_dw_semaphore_cb_table[dev->semaphore_idx].remove) + i2c_dw_semaphore_cb_table[dev->semaphore_idx].remove(dev); +} + static int i2c_dw_probe_lock_support(struct dw_i2c_dev *dev) { const struct i2c_dw_semaphore_callbacks *ptr; @@ -273,16 +284,7 @@ static int i2c_dw_probe_lock_support(struct dw_i2c_dev *dev) break; } - return 0; -} - -static void i2c_dw_remove_lock_support(struct dw_i2c_dev *dev) -{ - if (dev->semaphore_idx < 0) - return; - - if (i2c_dw_semaphore_cb_table[dev->semaphore_idx].remove) - i2c_dw_semaphore_cb_table[dev->semaphore_idx].remove(dev); + return devm_add_action_or_reset(dev->dev, i2c_dw_remove_lock_support, dev); } static void dw_i2c_plat_assert_reset(void *data) @@ -428,8 +430,6 @@ static void dw_i2c_plat_remove(struct platform_device *pdev) pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_put_sync(&pdev->dev); - - i2c_dw_remove_lock_support(dev); } static int dw_i2c_plat_prepare(struct device *dev) From patchwork Thu Dec 7 14:13:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175147 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4811516vqy; Thu, 7 Dec 2023 06:17:51 -0800 (PST) X-Google-Smtp-Source: AGHT+IG+ow7vH7JLnAYQGO/EvHEPwaRGFHpGNEi/9LB/G4/T+l/h7czs9bqYNYRE/xhNsM/u33Aw X-Received: by 2002:a17:902:e541:b0:1d0:a084:affd with SMTP id n1-20020a170902e54100b001d0a084affdmr1980413plf.73.1701958670756; Thu, 07 Dec 2023 06:17:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958670; cv=none; d=google.com; s=arc-20160816; b=lThHtAmcoNNS42Rh8Yc2Wz100AIAJ6c5NdZcI0WEkahN32JwCTASVFyUzBwGxkQTgn MTB5f+GE0EQi7kPYE3MVMeW3m+15ilcEHA4QLTb13OQlIi3mxh4gY/PF80o64hyr+IZJ yrmSHsgGXHRbaL6L4RultGAAN4BW/MyYoVngqnjSLdUzUzbzM2o/I/Zmk41gF33QB7Jc akw2h2cghfR16C8BvSlLWRVdW0KH74SZX7VHJZJ92MbPwxOaawlXm4jFbzcQQD6N2tJi IJhE02m414hzRvlpS/ib4nRHR+2JmuxXTfPQF8bGVUhI2iR3gcfXt1DNvJc7m1ZFlPxz iAsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=w0RQAIi9nCI2XAd63FA6U7Lvf9wY9D1eHA654I1lXjY=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=noNv3ETRyXiVGiXFKZEczU3ARRwoLg6gahLXpoat1wwWVlKZYV5bjagsM9xPnCQXVl lEHvDZ0SUnBhc4FrLxK6aeskI3FzTuBPrACytmgT9bzPkd5I+zCHRdQ66wJQBKt4t7qR 1iNFQ8ofEepLX4hCAsxnnx3V76NiewQh7Zy0n0cWPH0IUMOite13owsVYEAVF37NANt5 CnewtzZPDTNjPPquG6qR0KJDK+dmT+RKVqS2fA1WBTIAN0hegwtz1J37q1m4Ncs5/f9k yg9CvkdXUKRfvyUfwhLzhTVjgSfTXYe6/7p8V+V1ETMYw6jr/C2F8efpYvzebYnlJzR5 KfNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JI61SYtR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id s6-20020a170902ea0600b001d0b4540b7esi1229393plg.314.2023.12.07.06.17.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:17:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JI61SYtR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 2F32680427A1; Thu, 7 Dec 2023 06:17:35 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443234AbjLGORU (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49112 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443165AbjLGORE (ORCPT ); Thu, 7 Dec 2023 09:17:04 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9EAEB10E6; Thu, 7 Dec 2023 06:17:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958630; x=1733494630; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=SmTTAtvj/WHt+DPwODvK2J45LXm4S596UKrVP2u4rro=; b=JI61SYtReW+5KSmvCgMuvtmrdfn8dEooWY5XNzFrzqRvI/2rVL/r6sej Rdp71zLIQroWomu26Ss6asj4CYcp/0U9k5MuaerbhHllrzafedq+4t/5s BIEBsLUFbBwhzIZPFYjb6po/sIYk7BkM53bGG8Egv9QYtGwkS2jRKuePQ sjpBPtpllRldS878kzFpWK1A0wxRCZ2uKfYo717QcPh/3Hwns1bjyh4py PW1VazxHxSl9MfmxKsvO7RdrXa1fWbvOiW1Y7gD7gO4a2M4N+sGL3Bf/W GBjZxFHU+Arqr7rMImn735kQlnJk6taVv3S7Rg0zMNZEj3mob8H60BLtJ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726081" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726081" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756074" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756074" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:07 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id B6707690; Thu, 7 Dec 2023 16:17:02 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 05/24] i2c: designware: Replace a while-loop by for-loop Date: Thu, 7 Dec 2023 16:13:45 +0200 Message-ID: <20231207141653.2785124-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:17:36 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633014759148451 X-GMAIL-MSGID: 1784633014759148451 Replace a while-loop by for-loop in i2c_dw_probe_lock_support() to save a few lines of code. Reviewed-by: Mario Limonciello Acked-by: Jarkko Nikula Reviewed-by: Andi Shyti Tested-by: Serge Semin Link: https://lore.kernel.org/r/20231120144641.1660574-6-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-platdrv.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 63cc3cdca2c7..cb954f11540e 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -260,11 +260,9 @@ static int i2c_dw_probe_lock_support(struct dw_i2c_dev *dev) int i = 0; int ret; - ptr = i2c_dw_semaphore_cb_table; - dev->semaphore_idx = -1; - while (ptr->probe) { + for (ptr = i2c_dw_semaphore_cb_table; ptr->probe; ptr++) { ret = ptr->probe(dev); if (ret) { /* @@ -276,7 +274,6 @@ static int i2c_dw_probe_lock_support(struct dw_i2c_dev *dev) return ret; i++; - ptr++; continue; } From patchwork Thu Dec 7 14:13:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175151 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4811660vqy; Thu, 7 Dec 2023 06:18:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IHdp17z+/nFDd35U+yCwjBTegBld3667IutpkgOfVxDFoTDBGqfDM0zRXzXeceQyQpmc5Xf X-Received: by 2002:a17:90b:4a41:b0:27d:c95:b0ad with SMTP id lb1-20020a17090b4a4100b0027d0c95b0admr1945455pjb.21.1701958680379; Thu, 07 Dec 2023 06:18:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958680; cv=none; d=google.com; s=arc-20160816; b=TAGhK9witYQyTarvLMil0Wz4iwa7/2r6u0Ta9+KIHTJH1QAESzAar8j0Uyo2g4S9An Gn1et7MkSd8g+vQaArVCei/hhct17rGLftKCfwT92rmW5JITv7CGyYWOUA6h0IAWwXrS AayZn4fUelgsGt3+c9PM1PEb7SLEFjL0ySPM6zJNMawiL3K5I9zOb0Ga5EQgICMW1tgg PTBZHYr3wYaOUgTYwEA/u+rwuaSvLrZJQWauc00M50VCwebg/kMWJupS1n97MbWDT3Rr XGj/tBz86b81QALGfNt+USiOxrFI8sewSIlNqFTUrfpmWboc5zqPmntkbO4haFFGBdsH 8aKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=BJDgGWc20wphC30Pjx5Mns0Ho32CSh/OCKjZTYfKcXU=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=fcmgDi4MWhJZ9+xiJZND5F57TZHTZ7eu2elP+0cPjIQ1r/fJS7/qozipOqOc+lhqRp KXKIbufCBsWcZGAYs+jApBKr8Jr8yigXoE+s0axBDMB2Bu3F7NLUbELRNUez8cceZLT5 SGnylEzIlN1wjai7PStpUYpzUiBsqZgQt6NNklOYdsnyfG5m27yTHvRqjPo4XHRmkARw wX/0pXrdpBb6twyEr1tzDp02YIi6o73N3ACdIsQzbM8rk3N8s9aSClOz29YV2ZK4loMQ H98o5GV7SyvgAk/BboBWigabGeAaAc04/hxNT6CsIWPJQoCg6muI02VaOD48B9nQU205 z2Zw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bzYWhMqs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id j12-20020a17090ae60c00b0028665a21ec8si1165679pjy.41.2023.12.07.06.17.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bzYWhMqs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id AC1C4804C49B; Thu, 7 Dec 2023 06:17:58 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443188AbjLGORg (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49010 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443201AbjLGORQ (ORCPT ); Thu, 7 Dec 2023 09:17:16 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E7D6910FB; Thu, 7 Dec 2023 06:17:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958633; x=1733494633; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=A3sEG26V7uefcQiTn8sbi7khvyOLOkQeV61uKyLd7tM=; b=bzYWhMqsG/rtWg/LYczFpQMxOQf9C/9u3ZMfgG4zVYs+93eYqWY5jlA7 X5Rtz2Y7baZK4Q5vT+HWPXzYQ3+Flt9+rkCveTKHUZhumk7dTb8330hKn NYdkkBlSMQqfTT/dtuuiY5vUFSvWS4gzXe4M/UTanH89VO894m9vGacY4 lyw+teq0VeJZ8LZ8aK+9tTDUHSsTRx7kHYG4ImgbbNLnkxHv7FYivqq8G dR1o44lLTOYjSfGRqJNhyRXGHWr38aGvOja1rrsvStQSJUlHfCb5UbBwP QXmTrUyOb7E3pcRonp933yhAvfDST7uBmfMU9eY1NsDB/WFgtqKd1Tk1j w==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726127" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726127" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="862490638" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="862490638" Received: from black.fi.intel.com ([10.237.72.28]) by FMSMGA003.fm.intel.com with ESMTP; 07 Dec 2023 06:17:07 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id C2FE36A6; Thu, 7 Dec 2023 16:17:02 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 06/24] i2c: designware: Save pointer to semaphore callbacks instead of index Date: Thu, 7 Dec 2023 16:13:46 +0200 Message-ID: <20231207141653.2785124-7-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE 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-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:17:58 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633025059407412 X-GMAIL-MSGID: 1784633025059407412 Instead of saving index and do an additional level of referencing, save just a pointer to the semaphore callbacks directly. It makes code cleaner. Acked-by: Jarkko Nikula Reviewed-by: Andi Shyti Tested-by: Serge Semin Link: https://lore.kernel.org/r/20231120144641.1660574-7-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-core.h | 4 +++- drivers/i2c/busses/i2c-designware-platdrv.c | 12 ++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h index a7f6f3eafad7..f8dd87cb0ae9 100644 --- a/drivers/i2c/busses/i2c-designware-core.h +++ b/drivers/i2c/busses/i2c-designware-core.h @@ -187,6 +187,8 @@ struct clk; struct device; struct reset_control; +struct i2c_dw_semaphore_callbacks; + /** * struct dw_i2c_dev - private i2c-designware data * @dev: driver model device node @@ -291,7 +293,7 @@ struct dw_i2c_dev { u16 hs_lcnt; int (*acquire_lock)(void); void (*release_lock)(void); - int semaphore_idx; + const struct i2c_dw_semaphore_callbacks *semaphore_cb; bool shared_with_punit; void (*disable)(struct dw_i2c_dev *dev); int (*init)(struct dw_i2c_dev *dev); diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index cb954f11540e..4b5e58e1ce5b 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -247,21 +247,18 @@ static void i2c_dw_remove_lock_support(void *data) { struct dw_i2c_dev *dev = data; - if (dev->semaphore_idx < 0) + if (!dev->semaphore_cb) return; - if (i2c_dw_semaphore_cb_table[dev->semaphore_idx].remove) - i2c_dw_semaphore_cb_table[dev->semaphore_idx].remove(dev); + if (dev->semaphore_cb->remove) + dev->semaphore_cb->remove(dev); } static int i2c_dw_probe_lock_support(struct dw_i2c_dev *dev) { const struct i2c_dw_semaphore_callbacks *ptr; - int i = 0; int ret; - dev->semaphore_idx = -1; - for (ptr = i2c_dw_semaphore_cb_table; ptr->probe; ptr++) { ret = ptr->probe(dev); if (ret) { @@ -273,11 +270,10 @@ static int i2c_dw_probe_lock_support(struct dw_i2c_dev *dev) if (ret != -ENODEV) return ret; - i++; continue; } - dev->semaphore_idx = i; + dev->semaphore_cb = ptr; break; } From patchwork Thu Dec 7 14:13:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175164 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4812545vqy; Thu, 7 Dec 2023 06:19:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IFZ9yNWTU2cN5E+I0E8HYGF9FVEd7JuS8XrfyqeXUiLV0SKkjbL1w0kLobSLh5sfVAUJDTz X-Received: by 2002:a17:902:e80c:b0:1d1:cbbf:8ed4 with SMTP id u12-20020a170902e80c00b001d1cbbf8ed4mr2412413plg.76.1701958746825; Thu, 07 Dec 2023 06:19:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958746; cv=none; d=google.com; s=arc-20160816; b=xeDRNvhng7KEJ9520/OkWfyXfktyuSaPA3/ZFIQwK/pvOGp3nnEnVzuWEctugOA9Lj 7cHLtb/VQi9aK/Jzx3oxIuexlKHhLba16GRXsy/vjRqdpxKKDjLx5pTQ5leS5fbZupya DPzmyS41hI16aE/mr7FAnOqCQ1UIEO1JEXHUw0O40yyHj+rUApIIDu1RKZ2D5qi983Gb UcDD+eI5zZji9uBlo6/2FZ4EX8y1qIfu8PYdHy1qvsDEqgM+yog6IEJ4tpCyd5qrNFqu 9d+0/8jZ4oiewhZd3ZcJ1gxRAM2f2T+YaYHVMqdo+O7VrRUj4Nnx0siBA/1/DenevSb1 jqLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=V9s7ZcrjWKXSdbU+Rmx6AAvrj+VuJsp9ydRuChSwh9Y=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=Z+9e6M6P2L03GvFK9qD89SYpEjWG06Q2a9pD5FTycCV2d19pJRNxXYd+jJJeoyIFN+ pgAMX6r//rzw8QPAhW0ATaHQSzSpsmJqXbuk65A+bKIz4J4R0M6iY4rboYonwyo6cgUs l6JA3giYhNrnUac7wcYmbnm6FEND6PNRuPHBN+cyTWLGtnbNC6Obx6gD25tF/olbueaQ R9YvhQa+A4tqgA+nJs819iMDgyCSkzgWLx7Dd/r+4rlrIQs4bktDxJAnCh5ditgzUaor FQZK47rv06Ic1hVU7UxgDUnO8FgpLTxlqrJo8068guujxw3dDZ+91w0zTSJm96Z8X8iv p7Nw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lkArYkrY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id y2-20020a170902ed4200b001cfa70f3a2asi1187988plb.245.2023.12.07.06.19.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:19:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lkArYkrY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 5E14A8041950; Thu, 7 Dec 2023 06:18:57 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443253AbjLGORn (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49004 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443173AbjLGORR (ORCPT ); Thu, 7 Dec 2023 09:17:17 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 500381711; Thu, 7 Dec 2023 06:17:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958636; x=1733494636; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Jvm3owoxuEcoFeAHuQZWjRdp5lHZ8Ta3i4kvsTe3tN0=; b=lkArYkrYD5VA08N1ItCsjGmWRAEMeHXUGUWKhwM87egtFvc/u6yC8Ccn mWXVKBV4AFsGEP0+y7dqLjzJpFKzRSTpE1mfHsjdwENT2nQ4r14kM+JFK cUWOI1ln4SBoUHc2Zk9lMgZeLEdy2ksUHUPJ+ded2N8ZcGBQlcSwmKj3r 5+CSqvTdExbVFwiWqZG5zvlPuY2E1F1W/z5S5UXqXS/YG78yhmynrr+Hf O+LmPv4+6oxEUnzyhMuygot8ERcYM5URYPKijm/5yEplpkh6BMUbyYqlh iOdAibpgke4inphDlwd+VjG7uEuOHCOYSKFUolQYxOK7crI6V3ZY0ZZVZ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726153" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726153" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="862490641" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="862490641" Received: from black.fi.intel.com ([10.237.72.28]) by FMSMGA003.fm.intel.com with ESMTP; 07 Dec 2023 06:17:08 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id CF873865; Thu, 7 Dec 2023 16:17:02 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 07/24] i2c: designware: Add missing 'c' into PCI IDs variable name Date: Thu, 7 Dec 2023 16:13:47 +0200 Message-ID: <20231207141653.2785124-8-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:57 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633094919897534 X-GMAIL-MSGID: 1784633094919897534 Add missing 'c' into i2c_designware_pci_ids variable name. While at it, move the id_table member after the driver to be consistent with platform glue driver code. Acked-by: Jarkko Nikula Tested-by: Serge Semin Link: https://lore.kernel.org/r/20231120144641.1660574-8-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- drivers/i2c/busses/i2c-designware-pcidrv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index e67956845c19..ed2f9e7ba5d3 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -355,7 +355,7 @@ static void i2c_dw_pci_remove(struct pci_dev *pdev) i2c_del_adapter(&dev->adapter); } -static const struct pci_device_id i2_designware_pci_ids[] = { +static const struct pci_device_id i2c_designware_pci_ids[] = { /* Medfield */ { PCI_VDEVICE(INTEL, 0x0817), medfield }, { PCI_VDEVICE(INTEL, 0x0818), medfield }, @@ -403,16 +403,16 @@ static const struct pci_device_id i2_designware_pci_ids[] = { { PCI_VDEVICE(ATI, 0x7464), navi_amd }, { 0,} }; -MODULE_DEVICE_TABLE(pci, i2_designware_pci_ids); +MODULE_DEVICE_TABLE(pci, i2c_designware_pci_ids); static struct pci_driver dw_i2c_driver = { .name = DRIVER_NAME, - .id_table = i2_designware_pci_ids, .probe = i2c_dw_pci_probe, .remove = i2c_dw_pci_remove, .driver = { .pm = &i2c_dw_pm_ops, }, + .id_table = i2c_designware_pci_ids, }; module_pci_driver(dw_i2c_driver); From patchwork Thu Dec 7 14:13:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175156 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4812107vqy; Thu, 7 Dec 2023 06:18:31 -0800 (PST) X-Google-Smtp-Source: AGHT+IEcolt48PpKtRnaAls4I5L3gx6WnY2VvPCdMc62vvCmTRgT/TZTeFB6hLIl+aKyPjEASacr X-Received: by 2002:a05:6a20:734c:b0:187:1015:bf9c with SMTP id v12-20020a056a20734c00b001871015bf9cmr2430386pzc.10.1701958711191; Thu, 07 Dec 2023 06:18:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958711; cv=none; d=google.com; s=arc-20160816; b=ehvpZyx78Q7Bgc+nSJuDBOlYuxKdT4P7SwZBoE0gjqb4rY22QscODtOnAu1p3Rq+E2 r+OI6+2qV+ll57L0hGW8UScIVUS8AFV8e7kqSiiVtGrbBHQ8UzmIhNQgh5BZsou5s49K UAJtZg43c+uoKvU7NhVlzOlZwwMXNfnntNM8vgPP88NCQq49ZPGwR5b3zO4sZhMB1PcH MbOs11zPJWVS+zrQe+bBc1dSORfhEhaKlmcucAex4hL3R0vMws+cVD53RB1ReFxsCQTW oqJT+kpKJRXO4v+qlTofMJgkaSHkC/SE/qCF8oM+aiYo/NEEj/Aexv3xMBLzVgb3+hUW XtSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ru6exqlky3XS1KO2N2CkOguQ/7xLMVzoUJOEqGdLmQ4=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=umYdTxTF64/TiaicnaoQE0jorefdgcxo3xWgsWSn9bNSHNhMeldDnZZkY6d1SkmUYB 9umPPBcrDWAcbVpybtznHahu8cqIirW0WRmWUtg/9ylZOVXvYd2rwo/zGFNwY8i70i0w nZfN7lAN1xANrpic7cOqP+FImVccqWiszmyuOZq2EEWFUKgL+mzpaobqWOnEMpcvcd5x OHzgixlPiY+CrfB4fNDiAYT5N6NdNol/ti4z2XM/0naxrUmNxUvA1LIsZur5gpiIjwzX PLaEP5RkIFpFmlL6z/KNbzp8rfd/tlqm0UiAzU197UpLDM0IJK/9Me3pN94UH9P5Xjtp dilQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="V/aSUf+A"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id cl9-20020a056a0032c900b006cd8f0ed07csi1307546pfb.191.2023.12.07.06.18.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="V/aSUf+A"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 51CF18280837; Thu, 7 Dec 2023 06:18:00 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443244AbjLGORZ (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49138 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443174AbjLGORG (ORCPT ); Thu, 7 Dec 2023 09:17:06 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9920A10DC; Thu, 7 Dec 2023 06:17:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958631; x=1733494631; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=AeyrvLyVIbJMMr8GvR6wVfdfP/hfJvA+/Lw69Ew1POU=; b=V/aSUf+AmuslQw9/hehzHn50aSU0eCsgXwMaI3+Tu2yjDBm7g1Y8GFTO nSbUoRSxf5LPfNzLrqWxwhyyjxPHSr+AQuLNiRjsMXwfc8Pn1u19j/+D9 P+WL99PVBYB74y5AVI21IWqXl4QS7QVF3RHpzBSgDSGzd7duO2aojGVM3 SEvNFvixrx3XDMFY0v651K1BgZOmGcaIGPm0FqLiBq51jQVWcJe4OCJyB UTjbm72C33cVNYfWUOsN2CpIA5k+psCa5vpQroX28SEwAzL9kxCqitirt ysmqVFqS02VKACh+ZF1qZeSKARCyf/vJ3XOnas+zT9XAqT3jVqFtDKfZD w==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726103" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726103" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756077" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756077" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:07 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id D9391892; Thu, 7 Dec 2023 16:17:02 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 08/24] i2c: designware: Replace MODULE_ALIAS() with MODULE_DEVICE_TABLE() Date: Thu, 7 Dec 2023 16:13:48 +0200 Message-ID: <20231207141653.2785124-9-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:00 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633057297628047 X-GMAIL-MSGID: 1784633057297628047 As Krzysztof Kozlowski pointed out the better is to use MODULE_DEVICE_TABLE() as it will be consistent with the content of the real ID table of the platform devices. While at it, drop unneeded and unused module alias in PCI glue driver as PCI already has its own ID table and automatic loading should just work. Reviewed-by: Andi Shyti Reviewed-by: Mario Limonciello Acked-by: Jarkko Nikula Tested-by: Jarkko Nikula Tested-by: Serge Semin Link: https://lore.kernel.org/r/20231120144641.1660574-9-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-pcidrv.c | 2 -- drivers/i2c/busses/i2c-designware-platdrv.c | 8 ++++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index ed2f9e7ba5d3..35eba432bd08 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -416,8 +416,6 @@ static struct pci_driver dw_i2c_driver = { }; module_pci_driver(dw_i2c_driver); -/* Work with hotplug and coldplug */ -MODULE_ALIAS("i2c_designware-pci"); MODULE_AUTHOR("Baruch Siach "); MODULE_DESCRIPTION("Synopsys DesignWare PCI I2C bus adapter"); MODULE_LICENSE("GPL"); diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 4b5e58e1ce5b..5d8427ccc9b4 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -486,8 +486,11 @@ static const struct dev_pm_ops dw_i2c_dev_pm_ops = { RUNTIME_PM_OPS(dw_i2c_plat_runtime_suspend, dw_i2c_plat_runtime_resume, NULL) }; -/* Work with hotplug and coldplug */ -MODULE_ALIAS("platform:i2c_designware"); +static const struct platform_device_id dw_i2c_platform_ids[] = { + { "i2c_designware" }, + {} +}; +MODULE_DEVICE_TABLE(platform, dw_i2c_platform_ids); static struct platform_driver dw_i2c_driver = { .probe = dw_i2c_plat_probe, @@ -498,6 +501,7 @@ static struct platform_driver dw_i2c_driver = { .acpi_match_table = ACPI_PTR(dw_i2c_acpi_match), .pm = pm_ptr(&dw_i2c_dev_pm_ops), }, + .id_table = dw_i2c_platform_ids, }; static int __init dw_i2c_init_driver(void) From patchwork Thu Dec 7 14:13:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175152 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4811769vqy; Thu, 7 Dec 2023 06:18:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IGwz86Uq3AoOrJMCDU0drCKSA7Bsr4yuPBPWZj/rJY/kilhTkoApLlyz4UDJmd1izdjKvix X-Received: by 2002:a17:90a:ce8e:b0:286:998a:5584 with SMTP id g14-20020a17090ace8e00b00286998a5584mr2725961pju.94.1701958687216; Thu, 07 Dec 2023 06:18:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958687; cv=none; d=google.com; s=arc-20160816; b=dy2O7VyqKtQDyqh8AfQNxyWDF6VacczPmBZ9MczD8I4YMwm6th19Hh9ykfmpwNdIpd Rm7j0pYQ7reGLBYu14CQstNrAVvOFb9tCNWnPe10vJU4rOQyl2KQQByO8EaBSjcT1Sbe q0HbeSgCvvlgEIANVtKGHUX9c0/2mRhOmCx2/K/C4FNBky4YQDYmSAoXMtH27gYEEWgz j0j63+uDmxbeI7Fd6VY7VYeOfy4Cb7setXhTAeat7A/AqPnFM6lJ7+pnMApUvVbNKNHV +L3RKyVPrVMVmK+MwEHCbMwGmVMXF8yBef+E3prt0zJbLcQc6UZpW5veIFaFzRNyUttt 4iDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=HL/smp0fVxfgz7BfdM+Q/EhURX4FjQKvNvuPo9WFSAE=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=hr2W9mYs5Lbm+v11IVk519K+KjWd9x+jMLCU7lsNN+v5s0TbYinbSG+lfagheXPFKE QTFNkHk8RcfIavU+RqNaX7j4d8uespIBxP9hvsbb73jvVYMdiDSIeqaLnQ3ztQryw5oZ 8zRvIJfTbqu0bcmWrd+Pk4dz8L7P8tqfe1WNkyUDWNfhCujXc3yh9HAqhpmC2d0rEK8q hwsCAms2NChLm1ARuEZZWcWhRj3aT7aYkdBt6fmFelAi3b0T4YljN8+NEtQKOt4f9Wjw Ut5lpXcoPZ/0haIMw/zPUFsDPE6/rq1xbu6hLVKgzYg9zdgj5CcZ3bTkYYV4sL9limqL +R4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=DUcRV7L0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id h12-20020a17090aa88c00b0028648abac04si1124092pjq.58.2023.12.07.06.18.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=DUcRV7L0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 0B7578049224; Thu, 7 Dec 2023 06:18:05 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443288AbjLGORj (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49028 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443207AbjLGORR (ORCPT ); Thu, 7 Dec 2023 09:17:17 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D743B10FF; Thu, 7 Dec 2023 06:17:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958634; x=1733494634; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=khq6cQ5BKVTLs44iQiMGbcvQCpPxqmbsi0+JKEy1Afs=; b=DUcRV7L0CZDQeCbwF/zn9Jem2SXhCLDjT+Xa4xZJlzesoLyzmqy7vuWA rOsKIqS7zZLUH8RLqV0/7BRtJQnm2aWmfWbH63roNjYO9vruZUBZSZkaL yW/35SlI6zNDmhLN+Aqio9V4X60i5DuvQBPh9SLsxdPNnjznj7n4OtDcz /W/9NWhjE+t40QDElXqT1IDevcNnTSbrM3Q1SiQ/SskdaFfCuAqGQ/m2W Ok99llRhQAEMyiKvKFZQz6CP1SEXGWAUeqZE8hQcH4qBVaTHX5+8KgtAp RrwrU8bAEGrUaY+lr46K5MMTJJ3vP1obDlIfstbTZRbNfQbNrENi39odG Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726139" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726139" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="862490642" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="862490642" Received: from black.fi.intel.com ([10.237.72.28]) by FMSMGA003.fm.intel.com with ESMTP; 07 Dec 2023 06:17:08 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id E25759E2; Thu, 7 Dec 2023 16:17:02 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 09/24] i2c: designware: Unify terminator in device ID tables Date: Thu, 7 Dec 2023 16:13:49 +0200 Message-ID: <20231207141653.2785124-10-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE 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-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:06 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633031990596317 X-GMAIL-MSGID: 1784633031990596317 Make the terminator entry look the same in all device ID tables. Reviewed-by: Mario Limonciello Acked-by: Jarkko Nikula Reviewed-by: Andi Shyti Tested-by: Serge Semin Link: https://lore.kernel.org/r/20231120144641.1660574-10-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-pcidrv.c | 2 +- drivers/i2c/busses/i2c-designware-platdrv.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index 35eba432bd08..cf736a8b9023 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -401,7 +401,7 @@ static const struct pci_device_id i2c_designware_pci_ids[] = { { PCI_VDEVICE(ATI, 0x73c4), navi_amd }, { PCI_VDEVICE(ATI, 0x7444), navi_amd }, { PCI_VDEVICE(ATI, 0x7464), navi_amd }, - { 0,} + {} }; MODULE_DEVICE_TABLE(pci, i2c_designware_pci_ids); diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 5d8427ccc9b4..018c353a456a 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -57,7 +57,7 @@ static const struct acpi_device_id dw_i2c_acpi_match[] = { { "HISI02A2", 0 }, { "HISI02A3", 0 }, { "HYGO0010", ACCESS_INTR_MASK }, - { } + {} }; MODULE_DEVICE_TABLE(acpi, dw_i2c_acpi_match); #endif @@ -153,7 +153,7 @@ static const struct of_device_id dw_i2c_of_match[] = { { .compatible = "snps,designware-i2c", }, { .compatible = "mscc,ocelot-i2c", .data = (void *)MODEL_MSCC_OCELOT }, { .compatible = "baikal,bt1-sys-i2c", .data = (void *)MODEL_BAIKAL_BT1 }, - {}, + {} }; MODULE_DEVICE_TABLE(of, dw_i2c_of_match); #else From patchwork Thu Dec 7 14:13:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175144 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4811294vqy; Thu, 7 Dec 2023 06:17:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IGrirr/QTGlEq1w8oakQVk9XCWC5hOyNaw4PIF37tEBwCQhtPVu7exGkSIlyg1WWc5AW5PT X-Received: by 2002:a05:6e02:2144:b0:35d:a2c9:dac3 with SMTP id d4-20020a056e02214400b0035da2c9dac3mr1030300ilv.33.1701958653193; Thu, 07 Dec 2023 06:17:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958653; cv=none; d=google.com; s=arc-20160816; b=XiuM5MAsn+SB7Ufq7VOENpBqf3FWzkk90UfUqiq9G52Pz1+KYb35WtnE2eRB5EFpka i/wJDaqsJgSa2PM6Hw9+dHbU4+KyxrybYuiLXP7E6q2yW5lFx1JmyJxk/ijAdtGYU3Yt 7Ce7O6843vgX6ReOtFZnm5BFE7eJaXTxb0LD0cuWkAb4gnD1R+TTUM+nIkvhkpt1Mpbl /xWmp2r0KIAMvo7RNSKwuGp6dp6IFV7gw7Dbs8COb6TIBWkFc+AmchthNLN3wpSdEud2 wfGnVIwT6UVsZnKY5cqdWkOmOioUGaNCdsxbfPvfxge3EgY79etYi5o+MKWGk6LfsJol TT5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=e0pdVs9FUBzOkINQ5SOl0/UMVn11RPuYQ13AQ+I8+Fw=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=A6vIOBoX4I9yM7aJZme8JQy24gSqPKNeoJScaw8BUPVYhO25tCKztV5YCiN5s7HUSJ eGhphj/eYLa2JW3p00Sc/+TU9GmDABWgiJ9iy2T7LwtqgKf1vc0whyEASvAkiCeVCbOe Bqa2cJfa5f9Iy3WeAj1pm96qM/9Zzx2krKEKlyxDm1yOToKkbuaVsanfA75uk5qPFOcd +9Lnj+fv5PE4m2IraIRz8LX0XYV/g5xQmX9irWkz78afY9qOsA41QkzWyFEc/4vBIdke TJvY8xnwpX63hrCNd7AuFSbYkJKX+vnh6FmLPIZMaP0nPtA9KBcT11QaTXcmR+fmvvAE bT2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MIFD59oM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id u17-20020a631411000000b005bd0f2c2671si1271669pgl.626.2023.12.07.06.17.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:17:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MIFD59oM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id F4207807EDB1; Thu, 7 Dec 2023 06:17:31 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443206AbjLGORR (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49120 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443169AbjLGORF (ORCPT ); Thu, 7 Dec 2023 09:17:05 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 29A5D10DD; Thu, 7 Dec 2023 06:17:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958631; x=1733494631; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ss3MEGGnkWMgWZK3jTAcWgv4EgF/PIuIMEgXzDwOVDM=; b=MIFD59oMzFjC0n34fdY9RtLJVNshX3g7AwDp+lz61AhWJPw0xnqbGwx0 Hj2YGHc62zvdwt1HiNC9TKsvvHuhE5fBFu1Kbqeb/pWylYMmY8ydzOghw o1TJMc+zy/tP/1+lTPacDU3OtTkA6+xGOPTMv97S5Uz28K2C+KZkxpDBh IxsTOBpZko56n3eXlAV7z/V9SiSlzbX2Cnn3UY7R7MMgJOy1XWA+u0xd0 CqSCD/IOPow3QDQuEzRxhB3hz0fRGeMRyMVU8kPoEff+eMAqvpq6W/1Yv QCprA1WEbbwzd9Q1o2w5KXevODwLXzt3/HVEiGyRAjylyO3M0N0KFG5x2 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726093" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726093" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756078" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756078" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:07 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id EC047A11; Thu, 7 Dec 2023 16:17:02 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 10/24] i2c: designware: Always provide device ID tables Date: Thu, 7 Dec 2023 16:13:50 +0200 Message-ID: <20231207141653.2785124-11-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE 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-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:17:32 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784632996539042963 X-GMAIL-MSGID: 1784632996539042963 There is no need to have ugly ifdeffery and additional macros for the device ID tables. Always provide them. Since we touch the ACPI table, make it sorted by ID. Reviewed-by: Andi Shyti Reviewed-by: Mario Limonciello Acked-by: Jarkko Nikula Tested-by: Serge Semin Link: https://lore.kernel.org/r/20231120144641.1660574-11-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-platdrv.c | 62 ++++++++++----------- 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 018c353a456a..15f19ec20b33 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -40,28 +40,6 @@ static u32 i2c_dw_get_clk_rate_khz(struct dw_i2c_dev *dev) return clk_get_rate(dev->clk) / KILO; } -#ifdef CONFIG_ACPI -static const struct acpi_device_id dw_i2c_acpi_match[] = { - { "INT33C2", 0 }, - { "INT33C3", 0 }, - { "INT3432", 0 }, - { "INT3433", 0 }, - { "80860F41", ACCESS_NO_IRQ_SUSPEND }, - { "808622C1", ACCESS_NO_IRQ_SUSPEND }, - { "AMD0010", ACCESS_INTR_MASK }, - { "AMDI0010", ACCESS_INTR_MASK }, - { "AMDI0019", ACCESS_INTR_MASK | ARBITRATION_SEMAPHORE }, - { "AMDI0510", 0 }, - { "APMC0D0F", 0 }, - { "HISI02A1", 0 }, - { "HISI02A2", 0 }, - { "HISI02A3", 0 }, - { "HYGO0010", ACCESS_INTR_MASK }, - {} -}; -MODULE_DEVICE_TABLE(acpi, dw_i2c_acpi_match); -#endif - #ifdef CONFIG_OF #define BT1_I2C_CTL 0x100 #define BT1_I2C_CTL_ADDR_MASK GENMASK(7, 0) @@ -148,14 +126,6 @@ static int dw_i2c_of_configure(struct platform_device *pdev) return 0; } - -static const struct of_device_id dw_i2c_of_match[] = { - { .compatible = "snps,designware-i2c", }, - { .compatible = "mscc,ocelot-i2c", .data = (void *)MODEL_MSCC_OCELOT }, - { .compatible = "baikal,bt1-sys-i2c", .data = (void *)MODEL_BAIKAL_BT1 }, - {} -}; -MODULE_DEVICE_TABLE(of, dw_i2c_of_match); #else static int bt1_i2c_request_regs(struct dw_i2c_dev *dev) { @@ -486,6 +456,34 @@ static const struct dev_pm_ops dw_i2c_dev_pm_ops = { RUNTIME_PM_OPS(dw_i2c_plat_runtime_suspend, dw_i2c_plat_runtime_resume, NULL) }; +static const struct of_device_id dw_i2c_of_match[] = { + { .compatible = "snps,designware-i2c", }, + { .compatible = "mscc,ocelot-i2c", .data = (void *)MODEL_MSCC_OCELOT }, + { .compatible = "baikal,bt1-sys-i2c", .data = (void *)MODEL_BAIKAL_BT1 }, + {} +}; +MODULE_DEVICE_TABLE(of, dw_i2c_of_match); + +static const struct acpi_device_id dw_i2c_acpi_match[] = { + { "80860F41", ACCESS_NO_IRQ_SUSPEND }, + { "808622C1", ACCESS_NO_IRQ_SUSPEND }, + { "AMD0010", ACCESS_INTR_MASK }, + { "AMDI0010", ACCESS_INTR_MASK }, + { "AMDI0019", ACCESS_INTR_MASK | ARBITRATION_SEMAPHORE }, + { "AMDI0510", 0 }, + { "APMC0D0F", 0 }, + { "HISI02A1", 0 }, + { "HISI02A2", 0 }, + { "HISI02A3", 0 }, + { "HYGO0010", ACCESS_INTR_MASK }, + { "INT33C2", 0 }, + { "INT33C3", 0 }, + { "INT3432", 0 }, + { "INT3433", 0 }, + {} +}; +MODULE_DEVICE_TABLE(acpi, dw_i2c_acpi_match); + static const struct platform_device_id dw_i2c_platform_ids[] = { { "i2c_designware" }, {} @@ -497,8 +495,8 @@ static struct platform_driver dw_i2c_driver = { .remove_new = dw_i2c_plat_remove, .driver = { .name = "i2c_designware", - .of_match_table = of_match_ptr(dw_i2c_of_match), - .acpi_match_table = ACPI_PTR(dw_i2c_acpi_match), + .of_match_table = dw_i2c_of_match, + .acpi_match_table = dw_i2c_acpi_match, .pm = pm_ptr(&dw_i2c_dev_pm_ops), }, .id_table = dw_i2c_platform_ids, From patchwork Thu Dec 7 14:13:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175148 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4811554vqy; Thu, 7 Dec 2023 06:17:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IEuqdFdp2v3UAVYnui8ryZ+UTaHjv9arZ6iwnutGb9SWJ2YMFCa++beW6Csg7SP83IRzFpF X-Received: by 2002:a17:90b:3c89:b0:286:6cc1:3f03 with SMTP id pv9-20020a17090b3c8900b002866cc13f03mr2965439pjb.58.1701958673820; Thu, 07 Dec 2023 06:17:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958673; cv=none; d=google.com; s=arc-20160816; b=SC4OwB3f413oz16ad+xe4+5MZYvIEG3ZHYdQkaEXjPjfGeeE+ZaCJkzi+Wp+vgMcFR HTKmn94DMkvS4EjSmGuCqlu/Zdq4fmJzYH2fwGYpFdznwSrHrSekcstTlDw2bAZqOGKz N9eaDiRunBkABiDmUl+Xe54MjmRTZ8GwPDz7v6HfcGrO3gdZ0VJZ+N+alygFwKUuvlZe CVE3mmtNpPMrzBiODlqR+efHmi2pF+ZYACaXbSTm3TyY4h8N+ef/53RsVUqc5cBl77C7 FfmaL+hv1eAEh1rQhvTkqMGFUiqIM7nZLTH84NG+YVQ3SDisKT8eWfeAioe19JZlksV4 UFpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ib3Gh3oMfaqnj9Wwa7XF/CwIS7CTQFDrwECQYnqvA/Q=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=YkRxgIcpiwkMPSdATWtmAt5oAwewHraqorL0Mn4GMf9HAxfZDnLT/vxr2WTInSh8Hg 8XAaZZ2OjjB+O17yUGwPCzinUhw5pp3/GNO8cqDqgl+TkaRZmnnBftdo8ejZte+SoaNy bIdW5jWC7kfEqnL2w0X5LU4r8ivDGspqU8A1Ca7tusE1TSle21RAU6Rbk51/AwxhzQeu 9w0eg+9HRrCmsctBX/rdy05Tv2tNq7MJf0m4K+8cncJyB71QQFBfRxc5r19fU2UoEpMv Z5qD9LWVq6rOifXPWEj6cfGoC/rq1UEMRicTROcunNuPfdTTppHPUm854n+qaKDEC+3G kFSQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=fZ0CP4JQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id l12-20020a170902d34c00b001c62cfff799si1226179plk.176.2023.12.07.06.17.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:17:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=fZ0CP4JQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 9472B804C1BA; Thu, 7 Dec 2023 06:17:52 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443270AbjLGORc (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48996 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443198AbjLGORP (ORCPT ); Thu, 7 Dec 2023 09:17:15 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C218E10E6; Thu, 7 Dec 2023 06:17:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958633; x=1733494633; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=YFNZH1n085DnC3ZeVmxczeigCg8AcMuF8iR+8pols/o=; b=fZ0CP4JQwK0D2RLQOvHwv1ZnyX6bZJc60lL2Y1Pj/nFQ3P0GpqO94B6W CzlAE/e9kFoJyKtNhWYQXqiSijk/SzYJuF+T9U6kZ09fqCNzHU7e6YF1w rHRHnl2KMgRof9yGulBNXLQbvm6Q6BcIEHlMiv0QtfkNPQkWRwa/YYdR0 sbhNO9URQH5XO4blFQskupJmThnyWdaVZ6uRJKFHhZO7iFF2T9cTqxde7 S9YrWvaMomZijzpcoTafa6UpqmwZQRkjYwFEoN5/zQK0tdI002Y0H83Zb xXNb5aj+OOKjxmfJT/MtJM3n40/+HW3cm1m41yHm/sSqCMNFx0nsFfEjm g==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726124" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726124" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756083" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756083" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:08 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 017B0A22; Thu, 7 Dec 2023 16:17:02 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 11/24] i2c: designware: Drop return value from i2c_dw_acpi_configure() Date: Thu, 7 Dec 2023 16:13:51 +0200 Message-ID: <20231207141653.2785124-12-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE 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-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:17:52 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633017994837236 X-GMAIL-MSGID: 1784633017994837236 i2c_dw_acpi_configure() is called without checking of the returned value, hence just drop it by converting to void. Reviewed-by: Andi Shyti Acked-by: Jarkko Nikula Tested-by: Serge Semin Link: https://lore.kernel.org/r/20231120144641.1660574-12-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-common.c | 4 +--- drivers/i2c/busses/i2c-designware-core.h | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c index 35f762872b8a..7a53a732981b 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -255,7 +255,7 @@ static void i2c_dw_acpi_params(struct device *device, char method[], kfree(buf.pointer); } -int i2c_dw_acpi_configure(struct device *device) +void i2c_dw_acpi_configure(struct device *device) { struct dw_i2c_dev *dev = dev_get_drvdata(device); struct i2c_timings *t = &dev->timings; @@ -285,8 +285,6 @@ int i2c_dw_acpi_configure(struct device *device) dev->sda_hold_time = fs_ht; break; } - - return 0; } EXPORT_SYMBOL_GPL(i2c_dw_acpi_configure); diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h index f8dd87cb0ae9..b7884f15e0e9 100644 --- a/drivers/i2c/busses/i2c-designware-core.h +++ b/drivers/i2c/busses/i2c-designware-core.h @@ -399,7 +399,7 @@ int i2c_dw_validate_speed(struct dw_i2c_dev *dev); void i2c_dw_adjust_bus_speed(struct dw_i2c_dev *dev); #if IS_ENABLED(CONFIG_ACPI) -int i2c_dw_acpi_configure(struct device *device); +void i2c_dw_acpi_configure(struct device *device); #else -static inline int i2c_dw_acpi_configure(struct device *device) { return -ENODEV; } +static inline void i2c_dw_acpi_configure(struct device *device) { } #endif From patchwork Thu Dec 7 14:13:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175146 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4811478vqy; Thu, 7 Dec 2023 06:17:48 -0800 (PST) X-Google-Smtp-Source: AGHT+IHurqtZW1JNffiyu7BIHZbP+XKSO4yuzq9G36o6XRfJHo2b+YNShFEGAfQBtGXdbEMiYw8P X-Received: by 2002:a05:6a00:198f:b0:6ce:2732:1e01 with SMTP id d15-20020a056a00198f00b006ce27321e01mr2563872pfl.59.1701958667996; Thu, 07 Dec 2023 06:17:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958667; cv=none; d=google.com; s=arc-20160816; b=rjFg/p9jn5KD932OwbmV41aAYFh82bESo2OQxPX4DSAIK9ntTkSqbjtX94nhV9ePmO VoHev2N9hXfgLJ3Ip3B5P36pDSgw88OGqJV3ydlZjEoKDOrtQuUNQeYSlaji5p8g66y/ 04pT/ieiIPu9ckEiAASQdmB3emr5itkPeUmmNLay/5+MHfx68F/bkX3wIszcTAAdTFW6 FlAPY67XlIu7K9wXhePArvOP5IZDeGwoz6YMtmYhtn4FeeWzVPa3nhcBtBMCzytHIxZn xRcF9jo2IcDkitPHOtavmu/3sNLkhkb+ViF67Gi8XhfTxm9wBD8sGXfJQ+Y5JxntAQHf nxdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ENdOk5XPEl7iKIr2qPq5wXSv85Uox3suxzMu62hymR4=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=jbTeNvWyHmI8JFgUVnrTLpi5V0wH70LkWpuj2IgU9vhmSvgXpHlqC6c9/wuGWjnrNr Cdfx++7ZttpcD9SUfRqvXDp/3UYZyURmp9l1f/AhbYoy5kcyC9bw2AJ0Ska1eI+IHfIK TqpDITe818cXDf2+h7zJgVjHkSjv4pu4YJbtL6CJstSj9KIphn4dSVNuZDrnwFA4312Z lOFOQuu4PJP6EdUAr9OvuSHwHJ/XAjbG0ZdOs0G/uJ2hi+eGl2a6uKLBvCYjNXpTNz2T /+KlHwqoJOxVh27pniqvzfactrWF0otwAn56TKr/KcIvsj7kEc8kuj/ETNe19KYFgHC3 e/+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HTmhcgTa; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id m13-20020a056a00080d00b006c4d1f0308bsi1322507pfk.262.2023.12.07.06.17.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:17:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HTmhcgTa; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 92608806A100; Thu, 7 Dec 2023 06:17:46 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443253AbjLGOR0 (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49164 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443177AbjLGORH (ORCPT ); Thu, 7 Dec 2023 09:17:07 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 09F7E10E4; Thu, 7 Dec 2023 06:17:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958633; x=1733494633; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=FbGQyppMvHjqxAfCOr9lsle0ho7ZsN4iYIYIYz1ToPE=; b=HTmhcgTa40ULJGAwRcmpBfpmm9ndA0Gu69fP9ecfX4pYNSzDzbMXHyiK +RsEJc2IMuvWfnGnxjugtXacptNOyRp4MbiofRWwGsJojRo7lLmZEdRES YdorHS6Js6y0+jQiD6Xk5quEuD/VoI61eM1DXrLGVCKXq2EVQirPLw1yf imfarH+irR1ajuT1wKYk2qt2AJbO/NA14PmPyAJWHgz/1NnV5z93f98ew FgSu+rKD7gnaP5vLAG5/CTNDBhFHBXPHxCEfJw4CfD+5TeLyfTVgNY1PV JWm+IoIA7v+UcZJPY14KUgQ3tFnmwE1k/mRipNaDLmITM2qUZMUZ5Ytgb A==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726122" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726122" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756081" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756081" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:08 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 0ABF6B50; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 12/24] i2c: designware: Drop return value from dw_i2c_of_configure() Date: Thu, 7 Dec 2023 16:13:52 +0200 Message-ID: <20231207141653.2785124-13-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE 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-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:17:46 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633012310971562 X-GMAIL-MSGID: 1784633012310971562 dw_i2c_of_configure() is called without checking of the returned value, hence just drop it by converting to void. Reviewed-by: Andi Shyti Reviewed-by: Mario Limonciello Acked-by: Jarkko Nikula Tested-by: Serge Semin Link: https://lore.kernel.org/r/20231120144641.1660574-13-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-platdrv.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 15f19ec20b33..7449f1b37ecf 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -110,7 +110,7 @@ static int mscc_twi_set_sda_hold_time(struct dw_i2c_dev *dev) return 0; } -static int dw_i2c_of_configure(struct platform_device *pdev) +static void dw_i2c_of_configure(struct platform_device *pdev) { struct dw_i2c_dev *dev = platform_get_drvdata(pdev); @@ -123,8 +123,6 @@ static int dw_i2c_of_configure(struct platform_device *pdev) default: break; } - - return 0; } #else static int bt1_i2c_request_regs(struct dw_i2c_dev *dev) @@ -132,9 +130,8 @@ static int bt1_i2c_request_regs(struct dw_i2c_dev *dev) return -ENODEV; } -static inline int dw_i2c_of_configure(struct platform_device *pdev) +static inline void dw_i2c_of_configure(struct platform_device *pdev) { - return -ENODEV; } #endif From patchwork Thu Dec 7 14:13:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175153 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4811819vqy; Thu, 7 Dec 2023 06:18:10 -0800 (PST) X-Google-Smtp-Source: AGHT+IGR/NUiLGARyJrjZ8Oh0uRu56dr73TFvzi6b0ERMHhmrvj68SCoxkho1VLK9POtNJ57DzUj X-Received: by 2002:a05:6a00:9e:b0:6ce:82bd:93e0 with SMTP id c30-20020a056a00009e00b006ce82bd93e0mr2327492pfj.38.1701958690442; Thu, 07 Dec 2023 06:18:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958690; cv=none; d=google.com; s=arc-20160816; b=tAmYG2IBT9P9f7rQy1eLJj3RXffZ2+sPUlIEk0xc205iai6LUeDqwXByODERF4T7aO aqTxqK/6/63RmXLn1Cq0zrnjDEvn8lJd+smybJS7ak+VlfVxo+uLk9vd01hK1yaQeUQx BdMuiVEQAY4o+jw170bDZvMjhnd09pcqxoZHELDX7JMxQQOmHLdveq756USwpSItH1nV IsCmXhOp3TlDMg9h/j/gcld2EPI+QSGHFDecUT7qfd0MjNZ6EVQuXY+Rj/QrUoiLAKrP AnIzMW0vAwCYgnlPg7j04uEQkkxjAjW3SNteQ1wXlhkJ8OPLPTulFNQVKVMfIubAZ4Ml greA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=4O81UU7PknJJqstfcHALVvbC0+kK/5vzvl5W37A4SNo=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=ACQ7NihUkWMzKpPivIQD3QZCgk0tndIIw1Or6y1hC/IwQgALeVnGnJyqTS9mtJwI1P J/fcia8Zj6dGD22xq/zda4KVG/jhT/DPSxQcZp465lLe2OWMmuJzTjRY0q5KWj3VjbNm qChD+FQ2X0IiZqPFadpLX1LbX/JUXHglQwXrjppuKMLAIdavXFWweUutJrxnTs2wX0tW ja7NiG8Kxl0fOUqXOZlAcs02VVMXPrlfMBSun6hTymJuJFQ2/5oXkUjYL8qpiamhQdPK Cj5rwGVum3+inm7Wks2TDW+V4aO8MyZhsx8hJDSxePIcaJ9ABn5G1qGqfPrNH13pVu/8 hx/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ehvBIwlt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id u186-20020a6385c3000000b005c66350f55asi1214763pgd.343.2023.12.07.06.18.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ehvBIwlt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 9E93480B8143; Thu, 7 Dec 2023 06:18:02 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443240AbjLGORX (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49152 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443107AbjLGORG (ORCPT ); Thu, 7 Dec 2023 09:17:06 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0429910EB; Thu, 7 Dec 2023 06:17:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958632; x=1733494632; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Fdf8dgQVzuzQxTt7wdbNS5bskoga27POgf3pr9jQPuY=; b=ehvBIwltQNogxhxBbn63LCdaBqbvbjh13jWpGlgACSw5DugFtCD+3r9F iI4BUDfcxTHKWxL1TCrUrUxY+1HdMCdR9whR0jDyF5kpImh/Mtvr3K+ya 96qLHwqf5s77Zhr4o1uwSJCYm931CQ4UqFehSVn/TnrW1bxQJLpeL7wXS QpvC7wygtBT5CILxI2uyZXdRh5p7alaQkwUUOCbK8nmIip1avugvGHCBP QB/5qUJvQPvaz8Tbisw1JLgh3Ii29IH/vfAPxG/SY7un41O/cwjFTgX/H 43I4KiS199LcINhXtV8rR+7sjIJPBjFQCAYbwSuKq8IgtURRV+obeJcT9 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726112" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726112" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756082" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756082" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:08 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 184C0B84; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 13/24] i2c: designware: Rename dw_i2c_of_configure() -> i2c_dw_of_configure() Date: Thu, 7 Dec 2023 16:13:53 +0200 Message-ID: <20231207141653.2785124-14-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:02 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633035648825704 X-GMAIL-MSGID: 1784633035648825704 For the sake of consistency, rename dw_i2c_of_configure() and change its parameter to be aligned with the i2c_dw_acpi_configure(). Reviewed-by: Andi Shyti Reviewed-by: Mario Limonciello Acked-by: Jarkko Nikula Tested-by: Serge Semin Link: https://lore.kernel.org/r/20231120144641.1660574-14-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-platdrv.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 7449f1b37ecf..b8606b651feb 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -110,9 +110,10 @@ static int mscc_twi_set_sda_hold_time(struct dw_i2c_dev *dev) return 0; } -static void dw_i2c_of_configure(struct platform_device *pdev) +static void i2c_dw_of_configure(struct device *device) { - struct dw_i2c_dev *dev = platform_get_drvdata(pdev); + struct platform_device *pdev = to_platform_device(device); + struct dw_i2c_dev *dev = dev_get_drvdata(device); switch (dev->flags & MODEL_MASK) { case MODEL_MSCC_OCELOT: @@ -130,7 +131,7 @@ static int bt1_i2c_request_regs(struct dw_i2c_dev *dev) return -ENODEV; } -static inline void dw_i2c_of_configure(struct platform_device *pdev) +static inline void i2c_dw_of_configure(struct device *device) { } #endif @@ -306,7 +307,7 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) i2c_dw_adjust_bus_speed(dev); if (pdev->dev.of_node) - dw_i2c_of_configure(pdev); + i2c_dw_of_configure(&pdev->dev); if (has_acpi_companion(&pdev->dev)) i2c_dw_acpi_configure(&pdev->dev); From patchwork Thu Dec 7 14:13:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175154 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4811850vqy; Thu, 7 Dec 2023 06:18:13 -0800 (PST) X-Google-Smtp-Source: AGHT+IGluJfdKb8ZApQGhjXFHvjqkdJc7TZZujqrrWmU1Wwajt9i1/1ttZEUfm0Ejt+D/90ep4yN X-Received: by 2002:a05:6a00:1c9f:b0:6ce:3b75:4998 with SMTP id y31-20020a056a001c9f00b006ce3b754998mr3408799pfw.16.1701958692731; Thu, 07 Dec 2023 06:18:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958692; cv=none; d=google.com; s=arc-20160816; b=UBOr7Ym710xsAT2dLdIKxFrfK0rwCcVm9Vo8wgA3wh4SAl3WgNO8+elTxbEC3IEPLk yfdeMfedvO3rphCdPJVjtDb7VmhNO262zsIYySsfyaCujnNRWMOCoDz8TDTlU8qDUA4e Sab8OQWbhhk5f3/G0ejf+WgVup2LPgmPu+tghywQGduU0J2boRWQHSryLYwve5Q1VTln lMdCaputDEcZiDk/mbK+yMaVAaHx/iJwzFF2njftoQzWD9Mr23JK4KtZaJzQz/V2bsJE RgqPxapETi1QC8YCy4hfki0Y1k+8EQNZzmAwZWf8efLY/gv/5dqdfKoEaVtz+8FkdFws s2vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=x+I5Ynwb7d16Qn0heCthV89zdeph91AD52l9PpkLTqs=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=Fk0aOdglGhe8tZNvvBys34W02COrXe2z8wmwOCRZJX4oGcrHoCzJaair8VYaU4/z8W /Zif1l+uF7WF5nq2OqsBVGzmed6He4EVPWDiyQh+f6ab95IxD0UnGuZR+NQsEaGBi7Sq ng+VNRvjhrujpAyALBFNAO7YfQ1mNPtEO8GPsO1b0Q7A7gVwb+WjVirZ5OuBZYfeKiJp B3W830VnoMqKtES3P0Ac4LzzKiC6T6RAiyZV5li4mHRWRR2KyVf+4tIRPrvl65kSTdey 94hmEcp0NYTFZjnqltjxddNjGNpBUmdKGmie/gm9cuN0qt7AAbUyN3q6kN75LNUiQIXZ NFbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=kJXfNbuJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id ka7-20020a056a00938700b006cba60de063si1306727pfb.22.2023.12.07.06.18.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=kJXfNbuJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id A62C4804C550; Thu, 7 Dec 2023 06:18:11 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443233AbjLGORv (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49066 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443199AbjLGORS (ORCPT ); Thu, 7 Dec 2023 09:17:18 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1288C170E; Thu, 7 Dec 2023 06:17:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958636; x=1733494636; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=cLhx/cbjOW6NN+L3Mt9bOKya7+6S3YKamFyKNCPF6Ns=; b=kJXfNbuJzxkt/aQbrxxOnaEtM2Qs0EklQ3JHFcdFnSc3qSR3Z5glymeP BA8wSPwhhbQ0ybGl1dOsMgRs1QkGqSCaeaW+/zof4xElcifxItnpyxmTr Zx4FL8eiaylkQUSIGX/dqjSORv+mW8A92MMmD9t3DL337mtHwoXT446IF uzrIdIZDvVjlKyv1ccKib5o6Hy4I/KFv7y1nWsnsmTHnbKpFANVYnNA0j 4X2bmCoB+sxLZKC2z3K5YJz0WOfwowtWqZgHjvd9ShcFfCWBudxsSgO0g khTepPBQO6MRRBHG1+eLaKsa1LhZB8G3DyBp+crN0YI4m0qYWAVom1WRk A==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726144" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726144" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="862490643" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="862490643" Received: from black.fi.intel.com ([10.237.72.28]) by FMSMGA003.fm.intel.com with ESMTP; 07 Dec 2023 06:17:08 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 2241FB9F; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 14/24] i2c: designware: Consolidate firmware parsing and configuring code Date: Thu, 7 Dec 2023 16:13:54 +0200 Message-ID: <20231207141653.2785124-15-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE 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-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:11 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633038264805194 X-GMAIL-MSGID: 1784633038264805194 We have the same code flows in the PCI and plaform drivers. Moreover, the flow requires the common code to export a few functions. Instead, consolidate that flow under new function called i2c_dw_fw_parse_and_configure() and drop unneeded exports. Reviewed-by: Andi Shyti Reviewed-by: Mario Limonciello Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-15-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-common.c | 68 +++++++++++++++++++-- drivers/i2c/busses/i2c-designware-core.h | 9 +-- drivers/i2c/busses/i2c-designware-pcidrv.c | 11 +--- drivers/i2c/busses/i2c-designware-platdrv.c | 48 +-------------- 4 files changed, 66 insertions(+), 70 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c index 7a53a732981b..d3ddfec46200 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -188,7 +189,7 @@ static const u32 supported_speeds[] = { I2C_MAX_STANDARD_MODE_FREQ, }; -int i2c_dw_validate_speed(struct dw_i2c_dev *dev) +static int i2c_dw_validate_speed(struct dw_i2c_dev *dev) { struct i2c_timings *t = &dev->timings; unsigned int i; @@ -208,7 +209,44 @@ int i2c_dw_validate_speed(struct dw_i2c_dev *dev) return -EINVAL; } -EXPORT_SYMBOL_GPL(i2c_dw_validate_speed); + +#ifdef CONFIG_OF + +#include + +#define MSCC_ICPU_CFG_TWI_DELAY 0x0 +#define MSCC_ICPU_CFG_TWI_DELAY_ENABLE BIT(0) +#define MSCC_ICPU_CFG_TWI_SPIKE_FILTER 0x4 + +static int mscc_twi_set_sda_hold_time(struct dw_i2c_dev *dev) +{ + writel((dev->sda_hold_time << 1) | MSCC_ICPU_CFG_TWI_DELAY_ENABLE, + dev->ext + MSCC_ICPU_CFG_TWI_DELAY); + + return 0; +} + +static void i2c_dw_of_configure(struct device *device) +{ + struct platform_device *pdev = to_platform_device(device); + struct dw_i2c_dev *dev = dev_get_drvdata(device); + + switch (dev->flags & MODEL_MASK) { + case MODEL_MSCC_OCELOT: + dev->ext = devm_platform_ioremap_resource(pdev, 1); + if (!IS_ERR(dev->ext)) + dev->set_sda_hold_time = mscc_twi_set_sda_hold_time; + break; + default: + break; + } +} + +#else /* CONFIG_OF */ + +static inline void i2c_dw_of_configure(struct device *device) { } + +#endif /* CONFIG_OF */ #ifdef CONFIG_ACPI @@ -255,7 +293,7 @@ static void i2c_dw_acpi_params(struct device *device, char method[], kfree(buf.pointer); } -void i2c_dw_acpi_configure(struct device *device) +static void i2c_dw_acpi_configure(struct device *device) { struct dw_i2c_dev *dev = dev_get_drvdata(device); struct i2c_timings *t = &dev->timings; @@ -286,7 +324,6 @@ void i2c_dw_acpi_configure(struct device *device) break; } } -EXPORT_SYMBOL_GPL(i2c_dw_acpi_configure); static u32 i2c_dw_acpi_round_bus_speed(struct device *device) { @@ -308,11 +345,13 @@ static u32 i2c_dw_acpi_round_bus_speed(struct device *device) #else /* CONFIG_ACPI */ +static inline void i2c_dw_acpi_configure(struct device *device) { } + static inline u32 i2c_dw_acpi_round_bus_speed(struct device *device) { return 0; } #endif /* CONFIG_ACPI */ -void i2c_dw_adjust_bus_speed(struct dw_i2c_dev *dev) +static void i2c_dw_adjust_bus_speed(struct dw_i2c_dev *dev) { u32 acpi_speed = i2c_dw_acpi_round_bus_speed(dev->dev); struct i2c_timings *t = &dev->timings; @@ -328,7 +367,24 @@ void i2c_dw_adjust_bus_speed(struct dw_i2c_dev *dev) else t->bus_freq_hz = I2C_MAX_FAST_MODE_FREQ; } -EXPORT_SYMBOL_GPL(i2c_dw_adjust_bus_speed); + +int i2c_dw_fw_parse_and_configure(struct dw_i2c_dev *dev) +{ + struct i2c_timings *t = &dev->timings; + struct device *device = dev->dev; + + i2c_parse_fw_timings(device, t, false); + + i2c_dw_adjust_bus_speed(dev); + + if (device->of_node) + i2c_dw_of_configure(device); + if (has_acpi_companion(device)) + i2c_dw_acpi_configure(device); + + return i2c_dw_validate_speed(dev); +} +EXPORT_SYMBOL_GPL(i2c_dw_fw_parse_and_configure); u32 i2c_dw_scl_hcnt(u32 ic_clk, u32 tSYMBOL, u32 tf, int cond, int offset) { diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h index b7884f15e0e9..22477143bb98 100644 --- a/drivers/i2c/busses/i2c-designware-core.h +++ b/drivers/i2c/busses/i2c-designware-core.h @@ -395,11 +395,4 @@ int i2c_dw_baytrail_probe_lock_support(struct dw_i2c_dev *dev); int i2c_dw_amdpsp_probe_lock_support(struct dw_i2c_dev *dev); #endif -int i2c_dw_validate_speed(struct dw_i2c_dev *dev); -void i2c_dw_adjust_bus_speed(struct dw_i2c_dev *dev); - -#if IS_ENABLED(CONFIG_ACPI) -void i2c_dw_acpi_configure(struct device *device); -#else -static inline void i2c_dw_acpi_configure(struct device *device) { } -#endif +int i2c_dw_fw_parse_and_configure(struct dw_i2c_dev *dev); diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index cf736a8b9023..7556e9cbf8d2 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -253,7 +253,6 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, int r; struct dw_pci_controller *controller; struct dw_scl_sda_cfg *cfg; - struct i2c_timings *t; if (id->driver_data >= ARRAY_SIZE(dw_pci_controllers)) return dev_err_probe(&pdev->dev, -EINVAL, @@ -288,9 +287,6 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, dev->irq = pci_irq_vector(pdev, 0); dev->flags |= controller->flags; - t = &dev->timings; - i2c_parse_fw_timings(&pdev->dev, t, false); - pci_set_drvdata(pdev, dev); if (controller->setup) { @@ -299,12 +295,7 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, return r; } - i2c_dw_adjust_bus_speed(dev); - - if (has_acpi_companion(&pdev->dev)) - i2c_dw_acpi_configure(&pdev->dev); - - r = i2c_dw_validate_speed(dev); + r = i2c_dw_fw_parse_and_configure(dev); if (r) return r; diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index b8606b651feb..b275a1b19eec 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include #include @@ -97,43 +96,11 @@ static int bt1_i2c_request_regs(struct dw_i2c_dev *dev) dev->map = devm_regmap_init(dev->dev, NULL, dev, &bt1_i2c_cfg); return PTR_ERR_OR_ZERO(dev->map); } - -#define MSCC_ICPU_CFG_TWI_DELAY 0x0 -#define MSCC_ICPU_CFG_TWI_DELAY_ENABLE BIT(0) -#define MSCC_ICPU_CFG_TWI_SPIKE_FILTER 0x4 - -static int mscc_twi_set_sda_hold_time(struct dw_i2c_dev *dev) -{ - writel((dev->sda_hold_time << 1) | MSCC_ICPU_CFG_TWI_DELAY_ENABLE, - dev->ext + MSCC_ICPU_CFG_TWI_DELAY); - - return 0; -} - -static void i2c_dw_of_configure(struct device *device) -{ - struct platform_device *pdev = to_platform_device(device); - struct dw_i2c_dev *dev = dev_get_drvdata(device); - - switch (dev->flags & MODEL_MASK) { - case MODEL_MSCC_OCELOT: - dev->ext = devm_platform_ioremap_resource(pdev, 1); - if (!IS_ERR(dev->ext)) - dev->set_sda_hold_time = mscc_twi_set_sda_hold_time; - break; - default: - break; - } -} #else static int bt1_i2c_request_regs(struct dw_i2c_dev *dev) { return -ENODEV; } - -static inline void i2c_dw_of_configure(struct device *device) -{ -} #endif static int txgbe_i2c_request_regs(struct dw_i2c_dev *dev) @@ -274,7 +241,6 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) { struct i2c_adapter *adap; struct dw_i2c_dev *dev; - struct i2c_timings *t; int irq, ret; irq = platform_get_irq(pdev, 0); @@ -301,18 +267,7 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) if (ret) return ret; - t = &dev->timings; - i2c_parse_fw_timings(&pdev->dev, t, false); - - i2c_dw_adjust_bus_speed(dev); - - if (pdev->dev.of_node) - i2c_dw_of_configure(&pdev->dev); - - if (has_acpi_companion(&pdev->dev)) - i2c_dw_acpi_configure(&pdev->dev); - - ret = i2c_dw_validate_speed(dev); + ret = i2c_dw_fw_parse_and_configure(dev); if (ret) return ret; @@ -336,6 +291,7 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) return ret; if (dev->clk) { + struct i2c_timings *t = &dev->timings; u64 clk_khz; dev->get_clk_rate_khz = i2c_dw_get_clk_rate_khz; From patchwork Thu Dec 7 14:13:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175157 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4812138vqy; Thu, 7 Dec 2023 06:18:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IGgn8i1ZyL2U5KwVaimX3nlBotwc0UGK9HT5IiX9IlR7DYBVuye8mSxaP3ZerD23s3s3vFe X-Received: by 2002:a05:6a20:9193:b0:18c:177d:2122 with SMTP id v19-20020a056a20919300b0018c177d2122mr2549055pzd.2.1701958713180; Thu, 07 Dec 2023 06:18:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958713; cv=none; d=google.com; s=arc-20160816; b=WqCY4e7B35nE1CQNmLFo5Mrn+2tQvml5SRThzZOE05hdrlIhHYWcB4eM35qUjtosk4 /R0JZZjQiVRFxyxbGFLrw+8zwspWwTrX9UcLTySeGfttS7dW1gUsCu2O8s6rqimrVy8H +yNdzEesFUggshYVQp/4nrJ0KVuiPOPU2qigTwBgukAIHM/CScVfpbb1MSVk9J2dZJw4 BRLzLGc4sWd9tGSwW1TzDcs1iIu4wYPf1EbIi2ePM/VL1/PKNLRu1JwvwVv9pXel/vFk TPvHnX0YbEq0RpWUpyP3sph+Xyisxypu4avuCiINVCfhl66xenFViBDKpKuVVunYGGz5 XmCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=vHqphr8GqzlSyLFd9FKvZs758aNbW24s1gNdMu0uUPY=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=zPBoXn5BLiBoM/o9WcHsA71Oym6TwtElrwd8z1Kcjtmtrkj330c8iODqTlkh7cb6ab lPMioohN7UUEiyDhMOJFmeud+rm/hhgp9U4Q/50HKpzQNEGTp1dvR1JNDfCnYbldandM XM4hvB1pzQ0ibY0d9LxvZxWHMTFbUNLU7UDIdlTOwftoW+G6hBrL4GxbLeVeVw7Sc+FI Aro+mF8lqYgMMBx3TGbHK8f4Q+PP4kND0eRPuQdso5/bTSUFMYJqWhUX99jfQyO0i5pk t0LnBLZdDCotvtO9h3n8aaTeoPDm1BJbZeh+YfsYelVFeFTGuiltdJJUUlOgLCruH1aC sBEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=OPwmwa61; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id h9-20020a056a00170900b006cb75e0f91bsi1326633pfc.45.2023.12.07.06.18.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=OPwmwa61; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 651B08040194; Thu, 7 Dec 2023 06:18:21 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443227AbjLGORr (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443214AbjLGORR (ORCPT ); Thu, 7 Dec 2023 09:17:17 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 98D171716; Thu, 7 Dec 2023 06:17:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958636; x=1733494636; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=yamRjBTHlJZZ2xEb7LSBV/GouU3u82Ilx8RqV32Sls4=; b=OPwmwa61U5wFZnr6dBlkvlNuxjlvqxobJnVmi9hQ7ygMkWVtZmnvsFLT V9RodP7RwVMRyl76LT/aJqgrUaYyJ1nD2kxFoj9X9Esr0nz/nHX/Laleu T88aPlN62cGZMPaL/GbZqzx+UVzki1VZvLWA/zWdZB0/N18bYLHFxcPRV nT30CHaxEAg+JARMKjpkdGEw5b6QLeHTO3K/tppb2aPWo0IabShabvOVj WYnrY263BbeXIuZ0+iVIvJVsBCmfb8Qm2sHGke2d3BC2NlfKh9XMHYGDQ zRg8aOYf5iW/7UYmCx7v3wMqqQLhtl63F2Xppc49CItXUX9Mf79yMkz28 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726159" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726159" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756096" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756096" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:10 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 2C00ABAB; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 15/24] i2c: designware: Unify the firmware type checks Date: Thu, 7 Dec 2023 16:13:55 +0200 Message-ID: <20231207141653.2785124-16-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:21 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633059737031933 X-GMAIL-MSGID: 1784633059737031933 Instead of asymmetrical checks for the firmware type use the is_*_node() calls. Reviewed-by: Andi Shyti Reviewed-by: Mario Limonciello Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-16-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-common.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c index d3ddfec46200..fb75e9b3d4fc 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -372,14 +373,15 @@ int i2c_dw_fw_parse_and_configure(struct dw_i2c_dev *dev) { struct i2c_timings *t = &dev->timings; struct device *device = dev->dev; + struct fwnode_handle *fwnode = dev_fwnode(device); i2c_parse_fw_timings(device, t, false); i2c_dw_adjust_bus_speed(dev); - if (device->of_node) + if (is_of_node(fwnode)) i2c_dw_of_configure(device); - if (has_acpi_companion(device)) + else if (is_acpi_node(fwnode)) i2c_dw_acpi_configure(device); return i2c_dw_validate_speed(dev); From patchwork Thu Dec 7 14:13:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175155 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4812090vqy; Thu, 7 Dec 2023 06:18:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IHKpAIH4p2FRtg0OxBJhYa5Y5+DfwYeQ1A/xdDiEqtannPKh21xH79Ixa9XP3DW4zEsJVEj X-Received: by 2002:a17:902:d4c5:b0:1d0:c5f8:22d8 with SMTP id o5-20020a170902d4c500b001d0c5f822d8mr2312518plg.37.1701958709910; Thu, 07 Dec 2023 06:18:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958709; cv=none; d=google.com; s=arc-20160816; b=0LOi6cVRl9eYkrnTvnPFaUlYMShFh9FhnJfIq6RhWRpOM84VDzPSajx9zpRqmT5Wpk 0N1DGPJfzkJaBqCnYxouBTL+Iq11Ofhn247zUaKCmo7HSIqqBSs+gZDzlLafhRYu73xq q0ZpVZYHnjN/rkLr/sNWytyxxFDeUi1GFypqoXI03Xn+sY3Cmmz4SesRptE6AnvjTtRY QAzTG/0pCaoOH6SDJNarlDmrKecvek3DvHNt4zoedOMJAY5VYdd10YOKY/2u5a35vqeW gQDh/gTcnFqyKEfN35JDqNfEcKCB/t472PKpAnFbTr2VbT9gn78RKmue3zZ08o0ip756 6yiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=MAefPazajP3NkyG9JFZ1Fc1RX/jv3vW5FVXUfw3ztWo=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=ZRLFcijWOld+wo3LZJxDRGFC11keTus2Pjl1IqZGIFEFRvxJJrzzAs9/mF9kzdjKuF vMvrd2BikI9/dy7flVyyf5sL23KDzXonLkcje2EMqB8uHhiUxPZRFWqfQKi+qOjLJJXt xb0m5Dy+UwuS08VF0izjNsAAKHzceqvYstr3Et1ExAZfDOIL6qa6gX0qZ08+g/4ntbxE pJyNrPm/2UOPCgMwqiZRYrllvPR5bLw9IxdFhpiiOFmOKeqBTdM1vMk2yzYo5cHPMHSN lkfUJ0iVmIsevBx59K01OcTteRBic0SeLOnF3OSmuPVjZV3hYbD7RBsIarBUhTSfdtuM PkPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=FNfL2SdL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id i23-20020a63cd17000000b005bdbd683601si1315321pgg.57.2023.12.07.06.18.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=FNfL2SdL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 76F3E8045979; Thu, 7 Dec 2023 06:18:28 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443271AbjLGOSA (ORCPT + 99 others); Thu, 7 Dec 2023 09:18:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33516 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443249AbjLGOR0 (ORCPT ); Thu, 7 Dec 2023 09:17:26 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 55B4A1730; Thu, 7 Dec 2023 06:17:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958639; x=1733494639; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=5FwmIHAPnFsy0X0MCr7ws7HTjCheqTg8YUTrG4teLIA=; b=FNfL2SdLpaZt2WedNvf3tYzKBHXcrknAhO8ek85dLmwW+Wlik1fq3h/P n4nm65RuObKV1+CHLyeDhSwM2FTMoAdKIGxqKQ33YZnW5xNg2nXNACSi6 7IJnSK/4B9Mx5LEuw5R6jvBLN+pxE2b7lJgCghF0IKZFdIL2Teb2j2IsC NBlBxYlMp0D95LKw68iUOZbfXVFCc3FLZTOQ797yhi4Fn9PIRH0JNb75P ZB4ZrwHrPG4pTNfiHcfPrIkypxfc6LVD958Rn81m2ZfQSQE6MpEitnOOz tSxhbGsKtZ+GIEa0z6GCZgVqeyqg+iy5ofaS7QRio1nPwOUF6dvf8vmxJ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726181" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726181" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756098" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756098" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:11 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 352F1BB2; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 16/24] i2c: designware: Move exports to I2C_DW namespaces Date: Thu, 7 Dec 2023 16:13:56 +0200 Message-ID: <20231207141653.2785124-17-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE 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-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:28 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633056465103453 X-GMAIL-MSGID: 1784633056465103453 Reduce scope of the I²C DesignWare driver exports to I2C_DW namespaces. This will prevent abuse of the symbols and clean up global namespace. Reviewed-by: Andi Shyti Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-17-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-common.c | 2 ++ drivers/i2c/busses/i2c-designware-master.c | 3 +++ drivers/i2c/busses/i2c-designware-pcidrv.c | 2 ++ drivers/i2c/busses/i2c-designware-platdrv.c | 2 ++ drivers/i2c/busses/i2c-designware-slave.c | 3 +++ 5 files changed, 12 insertions(+) diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c index fb75e9b3d4fc..89b8fa492e26 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -28,6 +28,8 @@ #include #include +#define DEFAULT_SYMBOL_NAMESPACE I2C_DW_COMMON + #include "i2c-designware-core.h" static char *abort_sources[] = { diff --git a/drivers/i2c/busses/i2c-designware-master.c b/drivers/i2c/busses/i2c-designware-master.c index 85dbd0eb5392..0b6576d7f811 100644 --- a/drivers/i2c/busses/i2c-designware-master.c +++ b/drivers/i2c/busses/i2c-designware-master.c @@ -22,6 +22,8 @@ #include #include +#define DEFAULT_SYMBOL_NAMESPACE I2C_DW + #include "i2c-designware-core.h" #define AMD_TIMEOUT_MIN_US 25 @@ -1079,3 +1081,4 @@ EXPORT_SYMBOL_GPL(i2c_dw_probe_master); MODULE_DESCRIPTION("Synopsys DesignWare I2C bus master adapter"); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(I2C_DW_COMMON); diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index 7556e9cbf8d2..a40acc3d9288 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -410,3 +410,5 @@ module_pci_driver(dw_i2c_driver); MODULE_AUTHOR("Baruch Siach "); MODULE_DESCRIPTION("Synopsys DesignWare PCI I2C bus adapter"); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(I2C_DW); +MODULE_IMPORT_NS(I2C_DW_COMMON); diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index b275a1b19eec..6b1a26afc278 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -471,3 +471,5 @@ module_exit(dw_i2c_exit_driver); MODULE_AUTHOR("Baruch Siach "); MODULE_DESCRIPTION("Synopsys DesignWare I2C bus adapter"); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(I2C_DW); +MODULE_IMPORT_NS(I2C_DW_COMMON); diff --git a/drivers/i2c/busses/i2c-designware-slave.c b/drivers/i2c/busses/i2c-designware-slave.c index 2e079cf20bb5..70d183fa3bff 100644 --- a/drivers/i2c/busses/i2c-designware-slave.c +++ b/drivers/i2c/busses/i2c-designware-slave.c @@ -16,6 +16,8 @@ #include #include +#define DEFAULT_SYMBOL_NAMESPACE I2C_DW + #include "i2c-designware-core.h" static void i2c_dw_configure_fifo_slave(struct dw_i2c_dev *dev) @@ -279,3 +281,4 @@ EXPORT_SYMBOL_GPL(i2c_dw_probe_slave); MODULE_AUTHOR("Luis Oliveira "); MODULE_DESCRIPTION("Synopsys DesignWare I2C bus slave adapter"); MODULE_LICENSE("GPL v2"); +MODULE_IMPORT_NS(I2C_DW_COMMON); From patchwork Thu Dec 7 14:13:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175159 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4812170vqy; Thu, 7 Dec 2023 06:18:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IG9dhxZeTLAgDFPfcWZ/sjCnPmiOeeXjHwhwmiLLuPgH2x0jEqUMd8KUd0olGTdNbiJXZwL X-Received: by 2002:a17:90b:3145:b0:286:a04f:2833 with SMTP id ip5-20020a17090b314500b00286a04f2833mr2299084pjb.12.1701958714512; Thu, 07 Dec 2023 06:18:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958714; cv=none; d=google.com; s=arc-20160816; b=I6SFfLLlJH16Rc7KVWwo7BJWMLNed9TWzW3XWQgc9FpZqJxxcoYbibBPBVW1Nl9nQh 3ZiCmNxWbiNspmpF4CwWxcbus+GP1MOHst244S8u4g5LzOiwP/yN6toWvh5rb/TuF0c/ 1pGimcWcg5AzCYN+OiZPl0dm8g6fdMlL9hjG1dFvZ7c2Te2iGQJryBfokrX9tV6JNUjM U0dJmgUvH4ja0TQ4Q6Bmf3Z/ldjqWd+VpXgzkCOwsL1aksAL5WIP2w6gYbn7THKfkWWQ iactJiVsHF4ksdNekaIkNmEWFirLxARd3enZuxX9jTzFoiPgfTZhVdhsBRjo9rITWphw jK4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=DinJbSfKq1agc7TiOlVuGxbga8MUy+nRJq+lwQHtd9A=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=SjR5arRjlv5z0kyBd0u+scuVyxnFxYtyIrsmNWffHug1AfETLWwCaPuNyjdlCsRE0w e4hEJVZKIg4xMyxCd7yA3XSGRCNgBN8pL82aYtS7t5+BYMqHrUuAuazYfnMHdOd+Lspn eE5UVUNO/iHcB4tnoUUPympe8bQwtCcsyvA/ZIaiP9eceF/pUcFcFqgAR61xX3Ibd0Qn EekWvp1xNAxRubdOlWMGOFdQfCZ/Ax6WqKFJhYv++AkaLivqUi2lNIRpik8Ex9JMHy7M M55ab4PtbzMKAFQxmC3MBeFl84saXn5GOiz3D6Jqn0LQEIOSFL259Sn4nBIcDZZllpDD F2Gw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=J7Be8VLv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id q4-20020a17090311c400b001cffe364a3esi1240499plh.233.2023.12.07.06.18.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=J7Be8VLv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 24C328093794; Thu, 7 Dec 2023 06:18:19 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443206AbjLGORy (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49042 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443228AbjLGORT (ORCPT ); Thu, 7 Dec 2023 09:17:19 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3308E1725; Thu, 7 Dec 2023 06:17:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958638; x=1733494638; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=fls2pGV5/CANEYagjwcIIhHdkS/3ZVkHfy5tbawqAgg=; b=J7Be8VLvYx4zEwgOOiYmI4VoWbLPCU6c6B6HsVnTRG+7K855SNkHSvho ZmCXAiT/vak8VZdpbQu36iBsf6zqSw89Lhz6ojTpWMY1+xvrO+AQMLCc5 26jBAF+bXCKM7XJudqA0ZE70t9i1cCZO5nw9um8YLDAlqtjr7JdFKAtUZ vHWvWrza79v2bzdE68qZ/E/UseHWo2a51eU41TZ+KPlDOV8D7H8LKb41r 3ea5eealAB75bgV5MEwaPjdYYHggprJwppXHcCYyuPAnDKce4vD4YCp7H qpfAeqbsmCyCh3xU/Y2Fk+gsSoh9lPETPj8slZEVWik29Gy0L78BUAxye g==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726174" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726174" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756100" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756100" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:11 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 413A6BDE; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 17/24] i2c: designware: Remove ->disable() callback Date: Thu, 7 Dec 2023 16:13:57 +0200 Message-ID: <20231207141653.2785124-18-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:19 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633060882591745 X-GMAIL-MSGID: 1784633060882591745 Commit 90312351fd1e ("i2c: designware: MASTER mode as separated driver") introduced ->disable() callback but there is no real use for it. Both i2c-designware-master.c and i2c-designware-slave.c set it to the same i2c_dw_disable() and scope is inside the same kernel module. That said, replace the callback by explicitly calling the i2c_dw_disable(). Reviewed-by: Andi Shyti Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-18-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-common.c | 1 + drivers/i2c/busses/i2c-designware-core.h | 2 -- drivers/i2c/busses/i2c-designware-master.c | 1 - drivers/i2c/busses/i2c-designware-pcidrv.c | 5 +++-- drivers/i2c/busses/i2c-designware-platdrv.c | 4 ++-- drivers/i2c/busses/i2c-designware-slave.c | 3 +-- 6 files changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c index 89b8fa492e26..5b1a597cb5dd 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -711,6 +711,7 @@ void i2c_dw_disable(struct dw_i2c_dev *dev) i2c_dw_release_lock(dev); } +EXPORT_SYMBOL_GPL(i2c_dw_disable); MODULE_DESCRIPTION("Synopsys DesignWare I2C bus adapter core"); MODULE_LICENSE("GPL"); diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h index 22477143bb98..52667d670363 100644 --- a/drivers/i2c/busses/i2c-designware-core.h +++ b/drivers/i2c/busses/i2c-designware-core.h @@ -238,7 +238,6 @@ struct i2c_dw_semaphore_callbacks; * @semaphore_idx: Index of table with semaphore type attached to the bus. It's * -1 if there is no semaphore. * @shared_with_punit: true if this bus is shared with the SoCs PUNIT - * @disable: function to disable the controller * @init: function to initialize the I2C hardware * @set_sda_hold_time: callback to retrieve IP specific SDA hold timing * @mode: operation mode - DW_IC_MASTER or DW_IC_SLAVE @@ -295,7 +294,6 @@ struct dw_i2c_dev { void (*release_lock)(void); const struct i2c_dw_semaphore_callbacks *semaphore_cb; bool shared_with_punit; - void (*disable)(struct dw_i2c_dev *dev); int (*init)(struct dw_i2c_dev *dev); int (*set_sda_hold_time)(struct dw_i2c_dev *dev); int mode; diff --git a/drivers/i2c/busses/i2c-designware-master.c b/drivers/i2c/busses/i2c-designware-master.c index 0b6576d7f811..bd3c8db521de 100644 --- a/drivers/i2c/busses/i2c-designware-master.c +++ b/drivers/i2c/busses/i2c-designware-master.c @@ -990,7 +990,6 @@ int i2c_dw_probe_master(struct dw_i2c_dev *dev) init_completion(&dev->cmd_complete); dev->init = i2c_dw_init_master; - dev->disable = i2c_dw_disable; ret = i2c_dw_init_regmap(dev); if (ret) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index a40acc3d9288..20571812d150 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -198,7 +198,7 @@ static int __maybe_unused i2c_dw_pci_runtime_suspend(struct device *dev) { struct dw_i2c_dev *i_dev = dev_get_drvdata(dev); - i_dev->disable(i_dev); + i2c_dw_disable(i_dev); return 0; } @@ -339,7 +339,8 @@ static void i2c_dw_pci_remove(struct pci_dev *pdev) { struct dw_i2c_dev *dev = pci_get_drvdata(pdev); - dev->disable(dev); + i2c_dw_disable(dev); + pm_runtime_forbid(&pdev->dev); pm_runtime_get_noresume(&pdev->dev); diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 6b1a26afc278..9b249d27841d 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -343,7 +343,7 @@ static void dw_i2c_plat_remove(struct platform_device *pdev) i2c_del_adapter(&dev->adapter); - dev->disable(dev); + i2c_dw_disable(dev); pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_put_sync(&pdev->dev); @@ -367,7 +367,7 @@ static int dw_i2c_plat_runtime_suspend(struct device *dev) if (i_dev->shared_with_punit) return 0; - i_dev->disable(i_dev); + i2c_dw_disable(i_dev); i2c_dw_prepare_clk(i_dev, false); return 0; diff --git a/drivers/i2c/busses/i2c-designware-slave.c b/drivers/i2c/busses/i2c-designware-slave.c index 70d183fa3bff..5abd5ec41954 100644 --- a/drivers/i2c/busses/i2c-designware-slave.c +++ b/drivers/i2c/busses/i2c-designware-slave.c @@ -90,7 +90,7 @@ static int i2c_dw_unreg_slave(struct i2c_client *slave) struct dw_i2c_dev *dev = i2c_get_adapdata(slave->adapter); regmap_write(dev->map, DW_IC_INTR_MASK, 0); - dev->disable(dev); + i2c_dw_disable(dev); synchronize_irq(dev->irq); dev->slave = NULL; pm_runtime_put(dev->dev); @@ -237,7 +237,6 @@ int i2c_dw_probe_slave(struct dw_i2c_dev *dev) int ret; dev->init = i2c_dw_init_slave; - dev->disable = i2c_dw_disable; ret = i2c_dw_init_regmap(dev); if (ret) From patchwork Thu Dec 7 14:13:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175158 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4812161vqy; Thu, 7 Dec 2023 06:18:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IEz9PHoZbbcliDrdogx0tsYT8Rmtu0ZqlkFdyLbNTIscVSCnlaHYsiqF96H7LUSzPY8Oc4E X-Received: by 2002:a05:6a20:840e:b0:18f:97c:8a29 with SMTP id c14-20020a056a20840e00b0018f097c8a29mr3697447pzd.84.1701958714203; Thu, 07 Dec 2023 06:18:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958714; cv=none; d=google.com; s=arc-20160816; b=JEOdxhdslKq2iW9/5m31kdpfeBeoXrpPvb8nXnDaeGX2cvJev8xV+Pt/X6v5fjvTbo NDPlgK64zp/MTI4+QS2RK2p4exSciCKttAKbdT4osvuukic533bMDPnRJnZiR0x2Yo6r OOqVfVXu649Qjf6UhcrSvskPc3Ef5kcfQoEQXu9AxUjn9r+wKjkFYV0qXdbBzVwdTQrU dy/FIgw89LFLC6rHUm/XNH1PF+XFvxtL6XnHCE3Fq1549allKd1lJ66iazlvppK5tscn 4XINDEiJAIy0EI4ZiaOF1B10zSbY3z1vl62IEsnOrJsakwdNK/fKp5U3S/ZebDQLlZ1T T7BA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=lcBqxctbVTWNw04rI10JRkrLj0ER1Cv0LfW9NoVU3s0=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=ycSlSbVMAiy9hhpL2od7gxgxUAIdhEU+onCH4Wxwrmb/YaZfKuCVDc+uxLx8PkelJh 2TLqIgDeoMF7xnohVnfaG9xtvjcboEWv322zV7BwMlLSJmwoStWnGZ/KpolBvESM+Au8 /gfM1IoSHGxyu/A46LWXVDr0kkfb8Q7hSr+NOVWENXGAMzoYdsC75caUpJPJoBUUB06i dCjDiafS06av8ThbKfzbpXulk42k65fZsyGFBiPi7uM7PQnUcN1ab2KKzSjzNZsGvNcr jOPd9R3fY1oqL8ZrN043aePMSeOeyQEROH6BDGnMDJ0774vp/aGTAIKobf4hedxrHXq8 Mmxg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ZSx9bECq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id e10-20020a056a001a8a00b006cde67e5101si1347611pfv.55.2023.12.07.06.18.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) client-ip=23.128.96.31; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ZSx9bECq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 017A28020689; Thu, 7 Dec 2023 06:18:21 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443202AbjLGOR5 (ORCPT + 99 others); Thu, 7 Dec 2023 09:17:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443231AbjLGORT (ORCPT ); Thu, 7 Dec 2023 09:17:19 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 281B51722; Thu, 7 Dec 2023 06:17:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958638; x=1733494638; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=AZ0dFCSQvSM7wJQF/lPIXsd0zNIFcHbmeMFf7fVmxNo=; b=ZSx9bECqY4LH2xp9//WZBUMUYBO8q0jk9U+7UNDXP1M7YfbYTYcThqlZ ccVrK44aBSMGyYrwVYYUnVBHUsmd9ISmOfwgirp9vcAB5eN5x/7DZp4Rc 2tfMkZG7Bp92YqRqv/WoBCE+nvDv0yl4ir2xnAHA0TNHrFkvhzmxyRtiD 9GQo5ifTIlUY6Tc3NOQD8r+twZhKMQsAjpAb8ELDU6inStrfvpEiV9DF9 DZvuNlLOzs8TwS78t0gfZHgTYrz+cZiI+xnpW1nDeT6ry+x+tgTWOlbeF iDNizqFIDW9fE+90kM/BdtbXQkr8ANZQ0Xo0wYV/NvKfzM19rNQRHjy+u Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726164" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726164" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756099" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756099" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:11 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 4D15CC17; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 18/24] i2c: designware: Consolidate PM ops Date: Thu, 7 Dec 2023 16:13:58 +0200 Message-ID: <20231207141653.2785124-19-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:22 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633060820076986 X-GMAIL-MSGID: 1784633060820076986 We have the same (*) PM ops in the PCI and plaform drivers. Instead, consolidate that PM ops under exported variable and deduplicate them. *) The semaphore is not used in the PCI driver at all. Hence shared_with_punit is always false in the PCI case. Reviewed-by: Andi Shyti Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-19-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-common.c | 62 ++++++++++++++++++++ drivers/i2c/busses/i2c-designware-core.h | 5 +- drivers/i2c/busses/i2c-designware-pcidrv.c | 44 +------------- drivers/i2c/busses/i2c-designware-platdrv.c | 64 +-------------------- 4 files changed, 69 insertions(+), 106 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c index 5b1a597cb5dd..7c877e380605 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -713,5 +714,66 @@ void i2c_dw_disable(struct dw_i2c_dev *dev) } EXPORT_SYMBOL_GPL(i2c_dw_disable); +static int i2c_dw_prepare(struct device *device) +{ + /* + * If the ACPI companion device object is present for this device, + * it may be accessed during suspend and resume of other devices via + * I2C operation regions, so tell the PM core and middle layers to + * avoid skipping system suspend/resume callbacks for it in that case. + */ + return !has_acpi_companion(device); +} + +static int i2c_dw_runtime_suspend(struct device *device) +{ + struct dw_i2c_dev *dev = dev_get_drvdata(device); + + if (dev->shared_with_punit) + return 0; + + i2c_dw_disable(dev); + i2c_dw_prepare_clk(dev, false); + + return 0; +} + +static int i2c_dw_suspend(struct device *device) +{ + struct dw_i2c_dev *dev = dev_get_drvdata(device); + + i2c_mark_adapter_suspended(&dev->adapter); + + return i2c_dw_runtime_suspend(device); +} + +static int i2c_dw_runtime_resume(struct device *device) +{ + struct dw_i2c_dev *dev = dev_get_drvdata(device); + + if (!dev->shared_with_punit) + i2c_dw_prepare_clk(dev, true); + + dev->init(dev); + + return 0; +} + +static int i2c_dw_resume(struct device *device) +{ + struct dw_i2c_dev *dev = dev_get_drvdata(device); + + i2c_dw_runtime_resume(device); + i2c_mark_adapter_resumed(&dev->adapter); + + return 0; +} + +EXPORT_GPL_DEV_PM_OPS(i2c_dw_dev_pm_ops) = { + .prepare = pm_sleep_ptr(i2c_dw_prepare), + LATE_SYSTEM_SLEEP_PM_OPS(i2c_dw_suspend, i2c_dw_resume) + RUNTIME_PM_OPS(i2c_dw_runtime_suspend, i2c_dw_runtime_resume, NULL) +}; + MODULE_DESCRIPTION("Synopsys DesignWare I2C bus adapter core"); MODULE_LICENSE("GPL"); diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h index 52667d670363..f6ebf86dcc6f 100644 --- a/drivers/i2c/busses/i2c-designware-core.h +++ b/drivers/i2c/busses/i2c-designware-core.h @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -337,7 +338,8 @@ int i2c_dw_wait_bus_not_busy(struct dw_i2c_dev *dev); int i2c_dw_handle_tx_abort(struct dw_i2c_dev *dev); int i2c_dw_set_fifo_size(struct dw_i2c_dev *dev); u32 i2c_dw_func(struct i2c_adapter *adap); -void i2c_dw_disable(struct dw_i2c_dev *dev); + +extern const struct dev_pm_ops i2c_dw_dev_pm_ops; static inline void __i2c_dw_enable(struct dw_i2c_dev *dev) { @@ -352,6 +354,7 @@ static inline void __i2c_dw_disable_nowait(struct dw_i2c_dev *dev) } void __i2c_dw_disable(struct dw_i2c_dev *dev); +void i2c_dw_disable(struct dw_i2c_dev *dev); extern void i2c_dw_configure_master(struct dw_i2c_dev *dev); extern int i2c_dw_probe_master(struct dw_i2c_dev *dev); diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index 20571812d150..df47ba04c9ee 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -194,47 +195,6 @@ static struct dw_pci_controller dw_pci_controllers[] = { }, }; -static int __maybe_unused i2c_dw_pci_runtime_suspend(struct device *dev) -{ - struct dw_i2c_dev *i_dev = dev_get_drvdata(dev); - - i2c_dw_disable(i_dev); - return 0; -} - -static int __maybe_unused i2c_dw_pci_suspend(struct device *dev) -{ - struct dw_i2c_dev *i_dev = dev_get_drvdata(dev); - - i2c_mark_adapter_suspended(&i_dev->adapter); - - return i2c_dw_pci_runtime_suspend(dev); -} - -static int __maybe_unused i2c_dw_pci_runtime_resume(struct device *dev) -{ - struct dw_i2c_dev *i_dev = dev_get_drvdata(dev); - - return i_dev->init(i_dev); -} - -static int __maybe_unused i2c_dw_pci_resume(struct device *dev) -{ - struct dw_i2c_dev *i_dev = dev_get_drvdata(dev); - int ret; - - ret = i2c_dw_pci_runtime_resume(dev); - - i2c_mark_adapter_resumed(&i_dev->adapter); - - return ret; -} - -static const struct dev_pm_ops i2c_dw_pm_ops = { - SET_SYSTEM_SLEEP_PM_OPS(i2c_dw_pci_suspend, i2c_dw_pci_resume) - SET_RUNTIME_PM_OPS(i2c_dw_pci_runtime_suspend, i2c_dw_pci_runtime_resume, NULL) -}; - static const struct property_entry dgpu_properties[] = { /* USB-C doesn't power the system */ PROPERTY_ENTRY_U8("scope", POWER_SUPPLY_SCOPE_DEVICE), @@ -402,7 +362,7 @@ static struct pci_driver dw_i2c_driver = { .probe = i2c_dw_pci_probe, .remove = i2c_dw_pci_remove, .driver = { - .pm = &i2c_dw_pm_ops, + .pm = pm_ptr(&i2c_dw_dev_pm_ops), }, .id_table = i2c_designware_pci_ids, }; diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 9b249d27841d..d9a64006a3d6 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -29,7 +29,6 @@ #include #include #include -#include #include #include "i2c-designware-core.h" @@ -349,67 +348,6 @@ static void dw_i2c_plat_remove(struct platform_device *pdev) pm_runtime_put_sync(&pdev->dev); } -static int dw_i2c_plat_prepare(struct device *dev) -{ - /* - * If the ACPI companion device object is present for this device, it - * may be accessed during suspend and resume of other devices via I2C - * operation regions, so tell the PM core and middle layers to avoid - * skipping system suspend/resume callbacks for it in that case. - */ - return !has_acpi_companion(dev); -} - -static int dw_i2c_plat_runtime_suspend(struct device *dev) -{ - struct dw_i2c_dev *i_dev = dev_get_drvdata(dev); - - if (i_dev->shared_with_punit) - return 0; - - i2c_dw_disable(i_dev); - i2c_dw_prepare_clk(i_dev, false); - - return 0; -} - -static int dw_i2c_plat_suspend(struct device *dev) -{ - struct dw_i2c_dev *i_dev = dev_get_drvdata(dev); - - i2c_mark_adapter_suspended(&i_dev->adapter); - - return dw_i2c_plat_runtime_suspend(dev); -} - -static int dw_i2c_plat_runtime_resume(struct device *dev) -{ - struct dw_i2c_dev *i_dev = dev_get_drvdata(dev); - - if (!i_dev->shared_with_punit) - i2c_dw_prepare_clk(i_dev, true); - - i_dev->init(i_dev); - - return 0; -} - -static int dw_i2c_plat_resume(struct device *dev) -{ - struct dw_i2c_dev *i_dev = dev_get_drvdata(dev); - - dw_i2c_plat_runtime_resume(dev); - i2c_mark_adapter_resumed(&i_dev->adapter); - - return 0; -} - -static const struct dev_pm_ops dw_i2c_dev_pm_ops = { - .prepare = pm_sleep_ptr(dw_i2c_plat_prepare), - LATE_SYSTEM_SLEEP_PM_OPS(dw_i2c_plat_suspend, dw_i2c_plat_resume) - RUNTIME_PM_OPS(dw_i2c_plat_runtime_suspend, dw_i2c_plat_runtime_resume, NULL) -}; - static const struct of_device_id dw_i2c_of_match[] = { { .compatible = "snps,designware-i2c", }, { .compatible = "mscc,ocelot-i2c", .data = (void *)MODEL_MSCC_OCELOT }, @@ -451,7 +389,7 @@ static struct platform_driver dw_i2c_driver = { .name = "i2c_designware", .of_match_table = dw_i2c_of_match, .acpi_match_table = dw_i2c_acpi_match, - .pm = pm_ptr(&dw_i2c_dev_pm_ops), + .pm = pm_ptr(&i2c_dw_dev_pm_ops), }, .id_table = dw_i2c_platform_ids, }; From patchwork Thu Dec 7 14:13:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175160 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4812231vqy; Thu, 7 Dec 2023 06:18:40 -0800 (PST) X-Google-Smtp-Source: AGHT+IE7pLeLcBar1nfbKpkcSz66dG1700NK96FIvj8Qv1ACvtDFltAs6K4Tmj3/nJnWZ2QLAN4O X-Received: by 2002:a05:6a20:3c90:b0:18b:902f:88fe with SMTP id b16-20020a056a203c9000b0018b902f88femr3121053pzj.9.1701958720374; Thu, 07 Dec 2023 06:18:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958720; cv=none; d=google.com; s=arc-20160816; b=msEkG8l9dN68vVLCPzFFuohzBywmlzlDeQpRpWHdpSloX9q1ldhyxG4jlQv7yDqTLl qRWeREutv03wuck+wUbo6hLpB4djiroEi5ZMJjwADe8LtL5fkx6DFwLej4l/lY3urFHq 9VT1OKjitwOz0VrPP9oo+Y2EoVDYT+8h7x9FeT8gJttCa/fScDydFsR5KQSPlYlBBTL3 Kl8Mod+1DuVRd/laofNmrpv9C5j6wbLLrPE922XqI/kmwXx+7GcwfDP6/AUqBhi+mLK4 hN42NEtK+RELEoqWVjei4t4JcyGwKiWImdBJHfdwCeIaLf1zWHexyfIR6f2G6Lv65OSy 0WkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=sovyoawCuHPIC3BGXACLSdhYBPDtlBypfblslGEc6KU=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=ngtGpGNbYnQiHJRxnYMPdIzbWod6Mm93VoS2TY6r3pp4kyu2PHAKm/MEzDGrPhtPyj fJAP1JVWuhzIS18zQhHYo1GhUJcvDEtSHnsHRE6EWazQ6RjM1Li84HevMArVMKspBzOO rqt54468d5qJ/Ex0bpbWuSKooAHQVFbPPHXKEjNq3GutE45ZKicw2NfFqFe7KkjLHzaR h8iYz0khZHhUkANldMv4Ysh4kcnNIr8bdt8Ww4iv7K2ygm6IJwiKp2SzcogjISl9RUsk aUH1CKnY5+PF2jQqreQSsY3ftxx8WoCFNBm2RFUaZaxmyTiaqlcYaAx/kdolojeew71W e0sw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=dcrC1Z3x; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id 131-20020a630289000000b005bdfd3a26a0si1243682pgc.584.2023.12.07.06.18.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=dcrC1Z3x; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 58A5180B81E2; Thu, 7 Dec 2023 06:18:39 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443367AbjLGOSK (ORCPT + 99 others); Thu, 7 Dec 2023 09:18:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59884 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443272AbjLGORd (ORCPT ); Thu, 7 Dec 2023 09:17:33 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1449A1987; Thu, 7 Dec 2023 06:17:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958642; x=1733494642; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=+yrYKiXrfmH57CrIvqkWlnC8Sznz69h4K5xSraBupEU=; b=dcrC1Z3xW601XZPaDEvx2khZxiaAvsepojBXnP9rs6gqtkA0r7ITNgJF pCMrwPsyJQkoaa0vJeoByWCEh+zEoBJsUOpDCcwaLxXjw8L7/9w6K8vCL rJqFhe1uNmTDJ9+x4f4ifT6oGxBustHxQ68yd5R09WglE/k8aEHjysYj1 sglxT+KIsAtvefSG82pzDqvXkKRCwduuAyR3RgnUQQs7JnKjHro2pbvth mJItT+ADbNkNpY468yJSJM0aAoRuaOGlvZf4TAL2Xz6nH7Und6CP1YUAi 05EuDL44bfIT2snofd3YwnCmRSbTkLO0Gtnx/MPy5eVvC8hLJ6YiK7iOY A==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726199" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726199" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756103" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756103" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:11 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 5927ACC8; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 19/24] i2c: designware: Uninline i2c_dw_probe() Date: Thu, 7 Dec 2023 16:13:59 +0200 Message-ID: <20231207141653.2785124-20-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE 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-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:39 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633067273256395 X-GMAIL-MSGID: 1784633067273256395 Since i2c_dw_probe() might be extended in the future, uninline it to reduce the noise in the common header. Reviewed-by: Andi Shyti Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-20-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-common.c | 14 ++++++++++++++ drivers/i2c/busses/i2c-designware-core.h | 17 ++--------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c index 7c877e380605..1d213bc0bbfa 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -714,6 +714,20 @@ void i2c_dw_disable(struct dw_i2c_dev *dev) } EXPORT_SYMBOL_GPL(i2c_dw_disable); +int i2c_dw_probe(struct dw_i2c_dev *dev) +{ + switch (dev->mode) { + case DW_IC_SLAVE: + return i2c_dw_probe_slave(dev); + case DW_IC_MASTER: + return i2c_dw_probe_master(dev); + default: + dev_err(dev->dev, "Wrong operation mode: %d\n", dev->mode); + return -EINVAL; + } +} +EXPORT_SYMBOL_GPL(i2c_dw_probe); + static int i2c_dw_prepare(struct device *device) { /* diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h index f6ebf86dcc6f..7479cb3a450d 100644 --- a/drivers/i2c/busses/i2c-designware-core.h +++ b/drivers/i2c/busses/i2c-designware-core.h @@ -10,9 +10,7 @@ */ #include -#include #include -#include #include #include #include @@ -367,19 +365,6 @@ static inline void i2c_dw_configure_slave(struct dw_i2c_dev *dev) { } static inline int i2c_dw_probe_slave(struct dw_i2c_dev *dev) { return -EINVAL; } #endif -static inline int i2c_dw_probe(struct dw_i2c_dev *dev) -{ - switch (dev->mode) { - case DW_IC_SLAVE: - return i2c_dw_probe_slave(dev); - case DW_IC_MASTER: - return i2c_dw_probe_master(dev); - default: - dev_err(dev->dev, "Wrong operation mode: %d\n", dev->mode); - return -EINVAL; - } -} - static inline void i2c_dw_configure(struct dw_i2c_dev *dev) { if (i2c_detect_slave_mode(dev->dev)) @@ -388,6 +373,8 @@ static inline void i2c_dw_configure(struct dw_i2c_dev *dev) i2c_dw_configure_master(dev); } +int i2c_dw_probe(struct dw_i2c_dev *dev); + #if IS_ENABLED(CONFIG_I2C_DESIGNWARE_BAYTRAIL) int i2c_dw_baytrail_probe_lock_support(struct dw_i2c_dev *dev); #endif From patchwork Thu Dec 7 14:14:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175161 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4812261vqy; Thu, 7 Dec 2023 06:18:42 -0800 (PST) X-Google-Smtp-Source: AGHT+IG7oeyiBVpO3fjMUN3v2PlIZmwmfYD1URgdEf+hM+/3cTAEBlnzI50s9FLNjvlrtd0LTzOf X-Received: by 2002:a05:6e02:1caf:b0:35d:a8c0:8c92 with SMTP id x15-20020a056e021caf00b0035da8c08c92mr358692ill.99.1701958722202; Thu, 07 Dec 2023 06:18:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958722; cv=none; d=google.com; s=arc-20160816; b=0iQhU6yuyIRQC2qioYvTXHQX13Ix0r/IMRwbfGGNHzWfnDomldMVIHw1/aRvfxwhom e+aEUK2fHMclA18/gEM2n8t6wHckTzQv6UqYQ0qW+gM60+mnZt7Fax9Kj8X5Bs5dFBkP 0Kf5Pi9xT8P41bxmwQ7ovADPDXKJRs0X7d+aBcLBYGwo7RsRCs84zCVITLso02RqApMC f4RcrAT5KVOfnucMBkBwMY04QOlaE/M9DXnZT99v1VS1cuzWbvTqoTJrUEKC93V2E7qz tQqkeebSdJxUqnL2iCKYsU+o2+EXRVj1fanViMqR4EBTrWhjQjfu8K/60bz7Mx0Z+hVs g1XQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=52VFUTlGZadohn+4AggSc5zp5HKu/TvMS8emM6rLe0s=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=kiNKY/aNIhAWFuEk29hbx49u1iuuWo1eakcc6r/cC6594OTEAxgi+GG+g1+DHKBx0o sFxRte13ZBWwGPr7gg5caAJwfz1cu/ax80tJ6yqiyLfNpz2QsCKidavHakclquNaaiVI LlBRhXkNT91ZKXjx7wni6K5tdHxeXBDwx0IYAj00JVq6QTYyX50U2YJ5tw+RTmB/u6R5 gH/ebUfsmvwT5aujVmgBpwJXc6oYN2u/+8zpb+4q0pZvN2b62HoZaZhap5juA8CVxfNx H11ZoS2U0egYbbQYXwI+ZGfjy6BcVpcONFbdthKwuia9wFCh6sso4ALe9ZmrueIYSjYA gSYA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="I/eSBbxg"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id 4-20020a631544000000b005ae05010bc4si1222933pgv.235.2023.12.07.06.18.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="I/eSBbxg"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 9B5CD803FC05; Thu, 7 Dec 2023 06:18:34 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443361AbjLGOSH (ORCPT + 99 others); Thu, 7 Dec 2023 09:18:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33576 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443263AbjLGOR1 (ORCPT ); Thu, 7 Dec 2023 09:17:27 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EC3191984; Thu, 7 Dec 2023 06:17:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958641; x=1733494641; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=WJ1rxXVXDzBVp2HN1Gt4y0DtNM1+XTEkCo3uuSfLvrk=; b=I/eSBbxgGETdQ7YEYuBm8JfrUrtyIGgXUyR3QKcS+VZwnLy1QfIs6vNB 4K+uRiSt39NU/2YgGFeBFrokvBbwkiCWHvwxpHf/kEIkf3qhB5hrXBRUN MraGnxt3LpxpmFOXZSeXojprHRuK/f9K/iqI4+4qjsu+9WQTpEOCpJJMM zjRr+kTDfZguxZD5KbFs6tqt461tju/4es2Wv/WEQJfYcah+h+TvUEQgI BDnxNI/m9v+Rtk9sRkOyeNAxhZHV6G4o4lvzRJeB0foQqtjmnLQRuzoJp hB8ONVI7tRlclovwxK16/s5D29tZKR+zPwgSNuoDHEO2FQCzY102cc2GR w==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726202" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726202" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756102" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756102" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:11 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 6773CCC9; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 20/24] i2c: designware: Propagate firmware node Date: Thu, 7 Dec 2023 16:14:00 +0200 Message-ID: <20231207141653.2785124-21-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:34 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633069443928187 X-GMAIL-MSGID: 1784633069443928187 Propagate firmware node by using a specific API call, i.e. device_set_node(). Reviewed-by: Andi Shyti Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-21-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-common.c | 2 ++ drivers/i2c/busses/i2c-designware-pcidrv.c | 2 -- drivers/i2c/busses/i2c-designware-platdrv.c | 3 --- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c index 1d213bc0bbfa..45ced3354eef 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -716,6 +716,8 @@ EXPORT_SYMBOL_GPL(i2c_dw_disable); int i2c_dw_probe(struct dw_i2c_dev *dev) { + device_set_node(&dev->adapter.dev, dev_fwnode(dev->dev)); + switch (dev->mode) { case DW_IC_SLAVE: return i2c_dw_probe_slave(dev); diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index df47ba04c9ee..2c7bc7dc8e44 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -9,7 +9,6 @@ * Copyright (C) 2009 Provigent Ltd. * Copyright (C) 2011, 2015, 2016 Intel Corporation. */ -#include #include #include #include @@ -273,7 +272,6 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, adap = &dev->adapter; adap->owner = THIS_MODULE; adap->class = 0; - ACPI_COMPANION_SET(&adap->dev, ACPI_COMPANION(&pdev->dev)); adap->nr = controller->bus_num; r = i2c_dw_probe(dev); diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index d9a64006a3d6..1b76f721bf81 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -8,7 +8,6 @@ * Copyright (C) 2007 MontaVista Software Inc. * Copyright (C) 2009 Provigent Ltd. */ -#include #include #include #include @@ -305,8 +304,6 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) adap->owner = THIS_MODULE; adap->class = dmi_check_system(dw_i2c_hwmon_class_dmi) ? I2C_CLASS_HWMON : I2C_CLASS_DEPRECATED; - ACPI_COMPANION_SET(&adap->dev, ACPI_COMPANION(&pdev->dev)); - adap->dev.of_node = pdev->dev.of_node; adap->nr = -1; if (dev->flags & ACCESS_NO_IRQ_SUSPEND) { From patchwork Thu Dec 7 14:14:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175163 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4812379vqy; Thu, 7 Dec 2023 06:18:51 -0800 (PST) X-Google-Smtp-Source: AGHT+IHRroZZvVgVGkhOWpu6TJiTZdHcOX0E8pxDoAbrbM4H1W8h37tWoIuJIpcRgbuonc+L98Ch X-Received: by 2002:a17:90a:4f0f:b0:286:6cc0:885b with SMTP id p15-20020a17090a4f0f00b002866cc0885bmr2265623pjh.72.1701958731030; Thu, 07 Dec 2023 06:18:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958731; cv=none; d=google.com; s=arc-20160816; b=nKuqqZVm8iUCtjDeUUT75dZ/ptq2XQ6hFlY8lPe5L4t8lo1uarv8xHG4rkt8O4rwJ/ nRfTEHVcKTSAqUohFZGxcfggDGD4psUGEdPLOclb0k52MCcy2JIu2AHH97RRte1ZR+tC iO0Zs88m4fbNW/ds+0mqAtFkj6toht3ZEPvzGxZcuB4FKbvWL+df5lNJOGvut+onpdBP vv2QTu7l1bMVJk2eNoBR29f7jPYITmWN2I9yC4M6dKsQIv2FbrEabWGRsicGoxodWILt FexiTGMoOsA1I9HuZ3jJ72AdOA4t23ffaCYojnZUGSPXNI1mCPk/8PoKU5y2xoMx+3HB GJlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=JFp1i7XVBwl1aQJhdy5RRcwOem8EJPBbxp20H08kF6Q=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=erPI4LbOrMQftlBFfstDzlAgsOmp0hbM2KNrcQtNAU0ceDkLv40gwF/ttpK10FOC2j bX/NyPbPp2g7EaaA03K9WPW2hRsIslfa/cpo5abJLx+VSic3X5PIsbhZYx1grRZcXjBe aW7TXGMshMqadUD63EfcRT4+UIYdP09CcH003SOtB1+dLM5HETZG5tQEXzui7qCeAyYS yHyOVvSVk1YbllzONT0ybNGJXe0LZeD4Olz7YuzhDlGp0yVfSQSHUBmmMjwDqg0tfVNr gw0U1RaZi8QghT7xyAVLAH2+8tIge0d5AzYZEhHITBgS4SPWa2FKCvmqqDvqEjV8UGS1 tneg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=nLe+nS9w; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id a10-20020a17090a688a00b00286716a76fasi1164504pjd.25.2023.12.07.06.18.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=nLe+nS9w; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id D441980408D0; Thu, 7 Dec 2023 06:18:49 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443394AbjLGOSZ (ORCPT + 99 others); Thu, 7 Dec 2023 09:18:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49044 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443209AbjLGORo (ORCPT ); Thu, 7 Dec 2023 09:17:44 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 15B3A10FF; Thu, 7 Dec 2023 06:17:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958646; x=1733494646; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=LDVJgGPC1/UfdET2Sar0sat4JWJvb4Gf9G/ZusZGYKI=; b=nLe+nS9weoI5zMJ08zTVnKvCWb7FKJHHtUkwdQ3TwPTWWAl+wQHrLNcb x07cMO6u+nG3FtQe65PKCMG6wqvb3P4oc9rikVPOp1mfEUTD5qIZ3IUKt 3dflv5PoTDyoVfFcZzd7fFjkxd96oqylHxYykReIkVVtjUTA78YgKyD4o AfGyur9qLRC/tJVSbz7ERoHgVsf8deIMBjZymlPnsRDMV9/Uyuhu0mUf2 V3HpkOFskfXeMwrOjcHvc+iae+/eLPMGddB84BCrtVULEKNzm5mUJadCS yWgKyb2aLjxaQkGnAGJgdt8eO8W3HI/Oiwnj2Bi0KR91narvbVlfedDYF A==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726221" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726221" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756108" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756108" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:12 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 721CBCCE; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 21/24] i2c: designware: Use pci_get_drvdata() Date: Thu, 7 Dec 2023 16:14:01 +0200 Message-ID: <20231207141653.2785124-22-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE 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-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:50 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633078200919556 X-GMAIL-MSGID: 1784633078200919556 Use the wrapper function for getting the driver data using pci_dev instead of using dev_get_drvdata() with &pdev->dev, so we can directly pass a struct pci_dev. This is a purely cosmetic change. Reviewed-by: Andi Shyti Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-22-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-pcidrv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index 2c7bc7dc8e44..211d8279b05e 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -102,7 +102,7 @@ static u32 mfld_get_clk_rate_khz(struct dw_i2c_dev *dev) static int mfld_setup(struct pci_dev *pdev, struct dw_pci_controller *c) { - struct dw_i2c_dev *dev = dev_get_drvdata(&pdev->dev); + struct dw_i2c_dev *dev = pci_get_drvdata(pdev); switch (pdev->device) { case 0x0817: @@ -152,7 +152,7 @@ static u32 navi_amd_get_clk_rate_khz(struct dw_i2c_dev *dev) static int navi_amd_setup(struct pci_dev *pdev, struct dw_pci_controller *c) { - struct dw_i2c_dev *dev = dev_get_drvdata(&pdev->dev); + struct dw_i2c_dev *dev = pci_get_drvdata(pdev); dev->flags |= MODEL_AMD_NAVI_GPU; dev->timings.bus_freq_hz = I2C_MAX_STANDARD_MODE_FREQ; From patchwork Thu Dec 7 14:14:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175162 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4812348vqy; Thu, 7 Dec 2023 06:18:48 -0800 (PST) X-Google-Smtp-Source: AGHT+IEO2KqyZAQsB8PQusmjSCJ7QR5mXkFoaBMhW3NAYXSJabLDgjfR0T4MWA++JROzPXgh2Ox8 X-Received: by 2002:a05:6358:6502:b0:170:17ea:f4d9 with SMTP id v2-20020a056358650200b0017017eaf4d9mr3025842rwg.38.1701958728278; Thu, 07 Dec 2023 06:18:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958728; cv=none; d=google.com; s=arc-20160816; b=GbWDpE+r+w/RxwZyNKz0tzTSfmMUluA4tZN49fIJpRNxjExnCcJ1cNk/iAxPSDiVye H5BIm800RWYbYoQNUSJc4QhXMV1mcaGbaMmM/ywChDWcJrLN3yEvJ2NcS6g8rpoNiyc7 ahb6anA4BAwzK8Qx21hFLl00ElMuQ5k+RHFpsskRcIx80DlImNGIrjKqrIifFmj57e/b BM01G53OnBDxGZ1erqWIf4sngiqe8YpPmOgYIaBXxoKuYznmTBu0Vzi2AuF1yJcQ9i1x TZWN4LvuSwt++Zun2XD0h4Iw89xP0eqXjuOL2hO090anfQGX9MHTauAnFqZf7zZQZ2N1 Xx+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=3i9k0dqfxs7btYUNFyICBHCrvapNtOPjJlGb1hbwaJA=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=Ecgt0Af0qOgrY8Nlei/Bu4oaj34BysCsBp9HS1V7bgVcH+D3UoRunaa9AprpIpSDby v9F8MZsbgsYR8w+yge2rLVurx2BdSFqy+Z6Ri57FRWJtQvQQcvpVAwAmX52yAa7s64AC JaYj1YC3JP2vy2Vlmn5KTLV0Ce648DGgRACoyEnUjnbr2q6ZCLw7i/tU85z9wnt9exQf pJwHOS63SlpxjVh8Xb5mKm0/RwMqKI/1jjrpnhBNVgDnGs2vgKZoN/OYK1Dr5/bLJoLW aGE15FlB25IUzuZo9moXAmjtZGvUJa6D5VSWy3kCRwFwqRsJG51c/VFVrZzx+NSReUgu +UaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Y6YPInt6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id e4-20020a656784000000b005c676beba09si1235767pgr.74.2023.12.07.06.18.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:18:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Y6YPInt6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 9B6D280408E6; Thu, 7 Dec 2023 06:18:46 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443178AbjLGOSV (ORCPT + 99 others); Thu, 7 Dec 2023 09:18:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48940 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443287AbjLGORi (ORCPT ); Thu, 7 Dec 2023 09:17:38 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 380AA10EC; Thu, 7 Dec 2023 06:17:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958643; x=1733494643; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=P02YKb/4uuUGdgRNL5o+5KhiYwRWoXH25/Fpf250iso=; b=Y6YPInt6EulXHZArto4kYjKWEyT5Btd7z+dK6IkiUIMJ9FMpDJSxvRPj H9Y9O1Oxf+4LbBw95T9EUExMktigdPya+BIxiZ6jOS5/yj0QJgqNsvWvM puXeUhTyRgQMOXhU0ZO+BPx32IDexm+CAcoc29TTHPWGx+XHNwttIaj3c CclndW3slcN7umdUNCyIfPv7YlpnV+nEaIXYfsgMMDL0tX/BZG7KCipbQ 6fKtEt0PJbwRm2503XSq+eDE4+fJutqq/Rv1Lg4afEp5fV1iBOW4snb3P iTfaE20GmjS3+3ogkkHyNa8tsIQep7UTaozlGSnGtFc58n2oxnm4SDYQF g==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726213" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726213" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756106" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756106" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:11 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 7A9215EE; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 22/24] i2c: designware: Use temporary variable for struct device Date: Thu, 7 Dec 2023 16:14:02 +0200 Message-ID: <20231207141653.2785124-23-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE 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-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:46 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633075375678399 X-GMAIL-MSGID: 1784633075375678399 Use temporary variable for struct device to make code neater. Reviewed-by: Mario Limonciello Reviewed-by: Andi Shyti Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-23-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-pcidrv.c | 24 +++++++------- drivers/i2c/busses/i2c-designware-platdrv.c | 35 ++++++++++----------- 2 files changed, 27 insertions(+), 32 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index 211d8279b05e..1408fd22d398 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -207,6 +207,7 @@ static const struct software_node dgpu_node = { static int i2c_dw_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) { + struct device *device = &pdev->dev; struct dw_i2c_dev *dev; struct i2c_adapter *adap; int r; @@ -214,25 +215,22 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, struct dw_scl_sda_cfg *cfg; if (id->driver_data >= ARRAY_SIZE(dw_pci_controllers)) - return dev_err_probe(&pdev->dev, -EINVAL, - "Invalid driver data %ld\n", + return dev_err_probe(device, -EINVAL, "Invalid driver data %ld\n", id->driver_data); controller = &dw_pci_controllers[id->driver_data]; r = pcim_enable_device(pdev); if (r) - return dev_err_probe(&pdev->dev, r, - "Failed to enable I2C PCI device\n"); + return dev_err_probe(device, r, "Failed to enable I2C PCI device\n"); pci_set_master(pdev); r = pcim_iomap_regions(pdev, 1 << 0, pci_name(pdev)); if (r) - return dev_err_probe(&pdev->dev, r, - "I/O memory remapping failed\n"); + return dev_err_probe(device, r, "I/O memory remapping failed\n"); - dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL); + dev = devm_kzalloc(device, sizeof(*dev), GFP_KERNEL); if (!dev) return -ENOMEM; @@ -242,7 +240,7 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, dev->get_clk_rate_khz = controller->get_clk_rate_khz; dev->base = pcim_iomap_table(pdev)[0]; - dev->dev = &pdev->dev; + dev->dev = device; dev->irq = pci_irq_vector(pdev, 0); dev->flags |= controller->flags; @@ -281,14 +279,14 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, if ((dev->flags & MODEL_MASK) == MODEL_AMD_NAVI_GPU) { dev->slave = i2c_new_ccgx_ucsi(&dev->adapter, dev->irq, &dgpu_node); if (IS_ERR(dev->slave)) - return dev_err_probe(dev->dev, PTR_ERR(dev->slave), + return dev_err_probe(device, PTR_ERR(dev->slave), "register UCSI failed\n"); } - pm_runtime_set_autosuspend_delay(&pdev->dev, 1000); - pm_runtime_use_autosuspend(&pdev->dev); - pm_runtime_put_autosuspend(&pdev->dev); - pm_runtime_allow(&pdev->dev); + pm_runtime_set_autosuspend_delay(device, 1000); + pm_runtime_use_autosuspend(device); + pm_runtime_put_autosuspend(device); + pm_runtime_allow(device); return 0; } diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 1b76f721bf81..02dc1d1001f2 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -237,6 +237,7 @@ static int dw_i2c_plat_get_reset(struct dw_i2c_dev *dev) static int dw_i2c_plat_probe(struct platform_device *pdev) { + struct device *device = &pdev->dev; struct i2c_adapter *adap; struct dw_i2c_dev *dev; int irq, ret; @@ -245,15 +246,15 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) if (irq < 0) return irq; - dev = devm_kzalloc(&pdev->dev, sizeof(struct dw_i2c_dev), GFP_KERNEL); + dev = devm_kzalloc(device, sizeof(*dev), GFP_KERNEL); if (!dev) return -ENOMEM; - dev->flags = (uintptr_t)device_get_match_data(&pdev->dev); - if (device_property_present(&pdev->dev, "wx,i2c-snps-model")) + dev->flags = (uintptr_t)device_get_match_data(device); + if (device_property_present(device, "wx,i2c-snps-model")) dev->flags = MODEL_WANGXUN_SP; - dev->dev = &pdev->dev; + dev->dev = device; dev->irq = irq; platform_set_drvdata(pdev, dev); @@ -276,11 +277,11 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) i2c_dw_configure(dev); /* Optional interface clock */ - dev->pclk = devm_clk_get_optional(&pdev->dev, "pclk"); + dev->pclk = devm_clk_get_optional(device, "pclk"); if (IS_ERR(dev->pclk)) return PTR_ERR(dev->pclk); - dev->clk = devm_clk_get_optional(&pdev->dev, NULL); + dev->clk = devm_clk_get_optional(device, NULL); if (IS_ERR(dev->clk)) return PTR_ERR(dev->clk); @@ -306,23 +307,19 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) I2C_CLASS_HWMON : I2C_CLASS_DEPRECATED; adap->nr = -1; - if (dev->flags & ACCESS_NO_IRQ_SUSPEND) { - dev_pm_set_driver_flags(&pdev->dev, - DPM_FLAG_SMART_PREPARE); - } else { - dev_pm_set_driver_flags(&pdev->dev, - DPM_FLAG_SMART_PREPARE | - DPM_FLAG_SMART_SUSPEND); - } + if (dev->flags & ACCESS_NO_IRQ_SUSPEND) + dev_pm_set_driver_flags(device, DPM_FLAG_SMART_PREPARE); + else + dev_pm_set_driver_flags(device, DPM_FLAG_SMART_PREPARE | DPM_FLAG_SMART_SUSPEND); - device_enable_async_suspend(&pdev->dev); + device_enable_async_suspend(device); /* The code below assumes runtime PM to be disabled. */ - WARN_ON(pm_runtime_enabled(&pdev->dev)); + WARN_ON(pm_runtime_enabled(device)); - pm_runtime_set_autosuspend_delay(&pdev->dev, 1000); - pm_runtime_use_autosuspend(&pdev->dev); - pm_runtime_set_active(&pdev->dev); + pm_runtime_set_autosuspend_delay(device, 1000); + pm_runtime_use_autosuspend(device); + pm_runtime_set_active(device); ret = dw_i2c_plat_pm_setup(dev); if (ret) From patchwork Thu Dec 7 14:14:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175165 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4812562vqy; Thu, 7 Dec 2023 06:19:08 -0800 (PST) X-Google-Smtp-Source: AGHT+IE1A+qSCh1Sp4NQo2vhUgOXLxhqvI+Eske4buSpzyaGVONFyZcxJB2S4KgHJfRzARLx/1Gd X-Received: by 2002:a05:6a20:8e14:b0:190:80a:a411 with SMTP id y20-20020a056a208e1400b00190080aa411mr797962pzj.57.1701958748014; Thu, 07 Dec 2023 06:19:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958747; cv=none; d=google.com; s=arc-20160816; b=n2CryrU2chGnuizFFys7VysNIAp7czK8oFKENaFmlivf1MVTH3Rsw3FhZzW8j9+JBU yGA92ME1z7tmJAbDJNlSQmd3UlNSzuwAQeZftJiM9y4QXu8gv1XeCq4xCHJhF8WAt7xQ UEKbp0zyGT/vien2UW35QLflEQfz088zf6GqPMhRRTtXxF4RNfX7mLPuOhLB+VEvl+Q0 qP9mjcXugevXMOvz3HGr1AKyy4+ObqIpsoXTNyn+f6tXto2D4tg8xVDGlw34cJOEwIEu qTjK2lnPWE2cTOczcd2vtXLXPH5UOokIznclkEJ37etAwOFaUVGpaP5GPvsgu7w4Wde0 HgNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=gvW8xi4ej1XhgskazNvZjO8ylB4EXhvrgB5oGbRm/aY=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=XgbqloBolUnV+wPoAubrzaXzAW+ZdjyaWzP3aH4AVMcco8AM5HcTBSkVSSOezPb6NZ 9RjS2qni/jt2Yg0w26M64r4+5Jwj5WOaE16jXC8NCiLQcbAL0ngYwFQzsWbME9rQtR2d i7DoHoNb4MaO+sxaK9K872tHX2CykCoQ5AMdSIuhw5ECKBe93hHUlVQpshNPAkMPUzM8 4LRKC1Qart6FhIpyck6zt5cbJHlS6FVRJOicMMG3IUzvfWo3JCMK2eYnAFVOXEOcWbqp XEMluBbtdCRO0b4DendSzq7WOCA93MqEbwL7D54wO3tvngIDx43iMIoqitxkzT32V7ZZ FkoQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=IxqCTkaF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id n19-20020a17090ade9300b00286cc5007d3si1097473pjv.78.2023.12.07.06.19.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:19:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=IxqCTkaF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id E7E5A8043EC3; Thu, 7 Dec 2023 06:18:58 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443209AbjLGOS2 (ORCPT + 99 others); Thu, 7 Dec 2023 09:18:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53402 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443311AbjLGORt (ORCPT ); Thu, 7 Dec 2023 09:17:49 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A74E1708; Thu, 7 Dec 2023 06:17:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958646; x=1733494646; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=HriWS+6rKR56xLxTFH38aF8Vg3InXBxiKv23eQ6ZDgg=; b=IxqCTkaFENI4IYY8LfNPIYKBurp6ItPeOACeF74CugTKoB9pPDAo/LBp 0rtd6l3bRomYLmc4sZsTtXmy87sj5KbMP5y4ZxtysplxjUOcz8mD1nwpb Rx2/GKTbuyzvd5dt7KXRttlvN5FK+2cvSTAZPSsctUDCxGTOpkfBjKojR D5LntU33O5VEn8Kx+bm//8w1yI2tcvgqdlEMmdSXXrHdJb96gSbX3OLLK 93wXxRxgnmQHsxLdf6i6zshoddQEQPjOta4hVHHxibMa7vUYZjfTMU+8h /l5wUR1TjyAjhS5orytt/DUjd8y7I4zoivk2sub1e1UJ1lOXBuPwuRMrm Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726223" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726223" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756109" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756109" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:12 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 8A442D50; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 23/24] i2c: designware: Get rid of redundant 'else' Date: Thu, 7 Dec 2023 16:14:03 +0200 Message-ID: <20231207141653.2785124-24-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:18:59 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633095917981756 X-GMAIL-MSGID: 1784633095917981756 In the snippets like the following if (...) return / goto / break / continue ...; else ... the 'else' is redundant. Get rid of it. Reviewed-by: Andi Shyti Reviewed-by: Mario Limonciello Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-24-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-common.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c index 45ced3354eef..b8e5d56473d6 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -639,10 +639,10 @@ int i2c_dw_handle_tx_abort(struct dw_i2c_dev *dev) if (abort_source & DW_IC_TX_ARB_LOST) return -EAGAIN; - else if (abort_source & DW_IC_TX_ABRT_GCALL_READ) + if (abort_source & DW_IC_TX_ABRT_GCALL_READ) return -EINVAL; /* wrong msgs[] data */ - else - return -EIO; + + return -EIO; } int i2c_dw_set_fifo_size(struct dw_i2c_dev *dev) From patchwork Thu Dec 7 14:14:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 175168 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp4813058vqy; Thu, 7 Dec 2023 06:19:51 -0800 (PST) X-Google-Smtp-Source: AGHT+IHU/POlSehow6YgZoKntSj9wsFOmHY/K+eK8imBdD+nHPnm3fgbPx/E4tc8JIVK8hISBh1S X-Received: by 2002:a05:6a00:c89:b0:6ce:2732:27e with SMTP id a9-20020a056a000c8900b006ce2732027emr2222554pfv.45.1701958791100; Thu, 07 Dec 2023 06:19:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701958791; cv=none; d=google.com; s=arc-20160816; b=HyU7bur2ZzohtFEdvqHRZ/6juCNwJvAC7qa7EusaRcTdZvXkIqWeCwi3CTghKEvIJn Gsi7wznGxUL318+WX/Rd95hnOlO1wDukvlQDJQ6ZZob0bGhNnu9NuGksATzXSrQCr6D0 HrYYR6MQqcfHtlsRm1OzLElL0qEnilISR3XOVRcFrT7fSTd1lklicVC8XRsHI7jhJkCn UVC5e549evIvhRHxIm5b1jlXmIVmnOVjb0LI0ee1ztQTmQuIntCbGJgIoHG72FLHlqDX Xat/Yoj+JzSElZBXkU+Mka4rfy0VhBarKBUxlUIZnBB5CJttVxE1ubDIMk3WC4INWIz6 G+Dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=RnTk1XO8k4JCk58VC6vGwrj44WzIswWQgdK1Y70FiT8=; fh=2EyuYZuFv7pvbWODgXyYvSVo1Jt/nOD9U4n59BuOM5Q=; b=fnyziOjKBC/Qp3ButKwzKzNtHj19u7MFcDuxYpgooXlM/e7r4F5hzMeKo9ZghAuiZk ZdOrWq0SEjx6PPHqdFRQYSzhe/AgoO5w8mxkxjnX38WnVXbyOlMUb6SJ5jGPnkt6b/yl pxgPjBf6Jt+iuIDd7PE35Ft2wQxl+zVEhu79wlcEGvlblpzmY8L1v6c+YFrwq9y4pckO jp/8l5Hm2lePl1hxe0Lh+7TGqf/MEmGHRBeSRW6fas7LaXW/imf4HQX/unplSBaYROnm Z1gCS9EhwmbjSSgKrQBl5TorbHN1HS17GPL0eyuMyZx0pLAxuox2//ARWFFWVLD3a9F6 GGvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=k7k6LybD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id fa4-20020a056a002d0400b006cdaac97b57si1325256pfb.213.2023.12.07.06.19.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 06:19:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=k7k6LybD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id A7B9D80238A6; Thu, 7 Dec 2023 06:19:41 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443407AbjLGOSp (ORCPT + 99 others); Thu, 7 Dec 2023 09:18:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59898 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443351AbjLGOSC (ORCPT ); Thu, 7 Dec 2023 09:18:02 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1CC5D1991; Thu, 7 Dec 2023 06:17:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701958650; x=1733494650; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OVVTBxYDE+m0PvVoNkFFOxxsp2QpkBsrf+LaWlne0X4=; b=k7k6LybDayN7yk+O78xp/5bkpZAOCWy4ZEqbzqP8oQ8tq6yC2Cgi5qbD xKJdkbO+KahAtJ0VXoMAgK1JyGS6VUSLOZGhUmhTwQK0xi92wBzWT0uhK tCqKOWkhZPFhuInzRsCpiibQKfbLLZ6D9ANw3gOYfMEOk55fIQColXq/x Blkjopzdjxd+fcAJQs/6Oh4Z+E+daAiLFYisMBZ1vlCr0I/HQ17az8IOC Uxd/RatfN1DY8b5HGkEJTLLH9Jk6jUDYMWd3MeIMf73lgo61ORSSdqrLD L9k6XUrU3LPvmqg1IFjaWmxvA6YP8Z8aP2CB8AWhnPdbUbc5h3E6oF3M3 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="460726228" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="460726228" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2023 06:17:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10917"; a="889756110" X-IronPort-AV: E=Sophos;i="6.04,256,1695711600"; d="scan'208";a="889756110" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 07 Dec 2023 06:17:12 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 95E52D65; Thu, 7 Dec 2023 16:17:03 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Philipp Zabel , Serge Semin Subject: [PATCH v5 24/24] i2c: designware: Fix spelling and other issues in the comments Date: Thu, 7 Dec 2023 16:14:04 +0200 Message-ID: <20231207141653.2785124-25-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> References: <20231207141653.2785124-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Thu, 07 Dec 2023 06:19:42 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784633141240719078 X-GMAIL-MSGID: 1784633141240719078 Fix spelling and other issues, such as kernel-doc reported about, in the comments. While at it, fix some indentation issues as well. Reviewed-by: Mario Limonciello Tested-by: Serge Semin Acked-by: Jarkko Nikula Link: https://lore.kernel.org/r/20231120144641.1660574-25-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- drivers/i2c/busses/i2c-designware-amdpsp.c | 14 +++++++------- drivers/i2c/busses/i2c-designware-common.c | 8 +++++--- drivers/i2c/busses/i2c-designware-core.h | 10 +++++----- drivers/i2c/busses/i2c-designware-master.c | 15 +++++++++------ drivers/i2c/busses/i2c-designware-platdrv.c | 4 ++-- drivers/i2c/busses/i2c-designware-slave.c | 6 ++++-- 6 files changed, 32 insertions(+), 25 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-amdpsp.c b/drivers/i2c/busses/i2c-designware-amdpsp.c index 63454b06e5da..670c7984ccba 100644 --- a/drivers/i2c/busses/i2c-designware-amdpsp.c +++ b/drivers/i2c/busses/i2c-designware-amdpsp.c @@ -155,7 +155,7 @@ static void psp_release_i2c_bus_deferred(struct work_struct *work) /* * If there is any pending transaction, cannot release the bus here. - * psp_release_i2c_bus will take care of this later. + * psp_release_i2c_bus() will take care of this later. */ if (psp_i2c_access_count) goto cleanup; @@ -173,7 +173,7 @@ static int psp_acquire_i2c_bus(void) mutex_lock(&psp_i2c_access_mutex); - /* Return early if mailbox malfunctioned */ + /* Return early if mailbox has malfunctioned */ if (psp_i2c_mbox_fail) goto cleanup; @@ -210,13 +210,13 @@ static void psp_release_i2c_bus(void) { mutex_lock(&psp_i2c_access_mutex); - /* Return early if mailbox was malfunctional */ + /* Return early if mailbox has malfunctioned */ if (psp_i2c_mbox_fail) goto cleanup; /* - * If we are last owner of PSP semaphore, need to release aribtration - * via mailbox. + * If we are the last owner of the PSP semaphore, we need to release + * arbitration via mailbox. */ psp_i2c_access_count--; if (psp_i2c_access_count) @@ -235,9 +235,9 @@ static void psp_release_i2c_bus(void) /* * Locking methods are based on the default implementation from - * drivers/i2c/i2c-core-base.c, but with psp acquire and release operations + * drivers/i2c/i2c-core-base.c, but with PSP acquire and release operations * added. With this in place we can ensure that i2c clients on the bus shared - * with psp are able to lock HW access to the bus for arbitrary number of + * with PSP are able to lock HW access to the bus for arbitrary number of * operations - that is e.g. write-wait-read. */ static void i2c_adapter_dw_psp_lock_bus(struct i2c_adapter *adapter, diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c index b8e5d56473d6..bef53a746b8d 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -127,6 +127,8 @@ static int dw_reg_write_word(void *context, unsigned int reg, unsigned int val) * Autodetects needed register access mode and creates the regmap with * corresponding read/write callbacks. This must be called before doing any * other register access. + * + * Return: 0 on success, or negative errno otherwise. */ int i2c_dw_init_regmap(struct dw_i2c_dev *dev) { @@ -174,7 +176,7 @@ int i2c_dw_init_regmap(struct dw_i2c_dev *dev) /* * Note we'll check the return value of the regmap IO accessors only * at the probe stage. The rest of the code won't do this because - * basically we have MMIO-based regmap so non of the read/write methods + * basically we have MMIO-based regmap, so none of the read/write methods * can fail. */ dev->map = devm_regmap_init(dev->dev, NULL, dev, &map_cfg); @@ -336,7 +338,7 @@ static u32 i2c_dw_acpi_round_bus_speed(struct device *device) acpi_speed = i2c_acpi_find_bus_speed(device); /* - * Some DSTDs use a non standard speed, round down to the lowest + * Some DSDTs use a non standard speed, round down to the lowest * standard speed. */ for (i = 0; i < ARRAY_SIZE(supported_speeds); i++) { @@ -532,7 +534,7 @@ void __i2c_dw_disable(struct dw_i2c_dev *dev) /* * Wait 10 times the signaling period of the highest I2C - * transfer supported by the driver (for 400KHz this is + * transfer supported by the driver (for 400kHz this is * 25us) as described in the DesignWare I2C databook. */ usleep_range(25, 250); diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h index 7479cb3a450d..5405d4da2b7d 100644 --- a/drivers/i2c/busses/i2c-designware-core.h +++ b/drivers/i2c/busses/i2c-designware-core.h @@ -141,10 +141,10 @@ #define DW_IC_SLAVE 1 /* - * Hardware abort codes from the DW_IC_TX_ABRT_SOURCE register + * Hardware abort codes from the DW_IC_TX_ABRT_SOURCE register. * - * Only expected abort codes are listed here - * refer to the datasheet for the full list + * Only expected abort codes are listed here, + * refer to the datasheet for the full list. */ #define ABRT_7B_ADDR_NOACK 0 #define ABRT_10ADDR1_NOACK 1 @@ -201,7 +201,7 @@ struct i2c_dw_semaphore_callbacks; * @rst: optional reset for the controller * @slave: represent an I2C slave device * @get_clk_rate_khz: callback to retrieve IP specific bus speed - * @cmd_err: run time hadware error code + * @cmd_err: run time hardware error code * @msgs: points to an array of messages currently being transferred * @msgs_num: the number of elements in msgs * @msg_write_idx: the element index of the current tx message in the msgs array @@ -236,7 +236,7 @@ struct i2c_dw_semaphore_callbacks; * @release_lock: function to release a hardware lock on the bus * @semaphore_idx: Index of table with semaphore type attached to the bus. It's * -1 if there is no semaphore. - * @shared_with_punit: true if this bus is shared with the SoCs PUNIT + * @shared_with_punit: true if this bus is shared with the SoC's PUNIT * @init: function to initialize the I2C hardware * @set_sda_hold_time: callback to retrieve IP specific SDA hold timing * @mode: operation mode - DW_IC_MASTER or DW_IC_SLAVE diff --git a/drivers/i2c/busses/i2c-designware-master.c b/drivers/i2c/busses/i2c-designware-master.c index bd3c8db521de..4ef4160db01f 100644 --- a/drivers/i2c/busses/i2c-designware-master.c +++ b/drivers/i2c/busses/i2c-designware-master.c @@ -168,12 +168,14 @@ static int i2c_dw_set_timings_master(struct dw_i2c_dev *dev) } /** - * i2c_dw_init_master() - Initialize the designware I2C master hardware + * i2c_dw_init_master() - Initialize the DesignWare I2C master hardware * @dev: device private data * * This functions configures and enables the I2C master. * This function is called during I2C init function, and in case of timeout at * run time. + * + * Return: 0 on success, or negative errno otherwise. */ static int i2c_dw_init_master(struct dw_i2c_dev *dev) { @@ -314,7 +316,7 @@ static int amd_i2c_dw_xfer_quirk(struct i2c_adapter *adap, struct i2c_msg *msgs, /* * Initiate the i2c read/write transaction of buffer length, * and poll for bus busy status. For the last message transfer, - * update the command with stopbit enable. + * update the command with stop bit enable. */ for (msg_itr_lmt = buf_len; msg_itr_lmt > 0; msg_itr_lmt--) { if (msg_wrt_idx == num_msgs - 1 && msg_itr_lmt == 1) @@ -421,7 +423,7 @@ static int txgbe_i2c_dw_xfer_quirk(struct i2c_adapter *adap, struct i2c_msg *msg /* * Initiate (and continue) low level master read/write transaction. - * This function is only called from i2c_dw_isr, and pumping i2c_msg + * This function is only called from i2c_dw_isr(), and pumping i2c_msg * messages into the tx buffer. Even if the size of i2c_msg data is * longer than the size of the tx buffer, it handles everything. */ @@ -459,7 +461,8 @@ i2c_dw_xfer_msg(struct dw_i2c_dev *dev) buf = msgs[dev->msg_write_idx].buf; buf_len = msgs[dev->msg_write_idx].len; - /* If both IC_EMPTYFIFO_HOLD_MASTER_EN and + /* + * If both IC_EMPTYFIFO_HOLD_MASTER_EN and * IC_RESTART_EN are set, we must manually * set restart bit between messages. */ @@ -949,7 +952,7 @@ static int i2c_dw_init_recovery_info(struct dw_i2c_dev *dev) rinfo->unprepare_recovery = i2c_dw_unprepare_recovery; adap->bus_recovery_info = rinfo; - dev_info(dev->dev, "running with gpio recovery mode! scl%s", + dev_info(dev->dev, "running with GPIO recovery mode! scl%s", rinfo->sda_gpiod ? ",sda" : ""); return 0; @@ -1053,7 +1056,7 @@ int i2c_dw_probe_master(struct dw_i2c_dev *dev) ret = devm_request_irq(dev->dev, dev->irq, i2c_dw_isr, irq_flags, dev_name(dev->dev), dev); if (ret) { - dev_err(dev->dev, "failure requesting irq %i: %d\n", + dev_err(dev->dev, "failure requesting IRQ %i: %d\n", dev->irq, ret); return ret; } diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 02dc1d1001f2..fa9c0c56b11e 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -72,7 +72,7 @@ static int bt1_i2c_write(void *context, unsigned int reg, unsigned int val) return ret; return regmap_write(dev->sysmap, BT1_I2C_CTL, - BT1_I2C_CTL_GO | BT1_I2C_CTL_WR | (reg & BT1_I2C_CTL_ADDR_MASK)); + BT1_I2C_CTL_GO | BT1_I2C_CTL_WR | (reg & BT1_I2C_CTL_ADDR_MASK)); } static struct regmap_config bt1_i2c_cfg = { @@ -304,7 +304,7 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) adap = &dev->adapter; adap->owner = THIS_MODULE; adap->class = dmi_check_system(dw_i2c_hwmon_class_dmi) ? - I2C_CLASS_HWMON : I2C_CLASS_DEPRECATED; + I2C_CLASS_HWMON : I2C_CLASS_DEPRECATED; adap->nr = -1; if (dev->flags & ACCESS_NO_IRQ_SUSPEND) diff --git a/drivers/i2c/busses/i2c-designware-slave.c b/drivers/i2c/busses/i2c-designware-slave.c index 5abd5ec41954..21d80fe81cfe 100644 --- a/drivers/i2c/busses/i2c-designware-slave.c +++ b/drivers/i2c/busses/i2c-designware-slave.c @@ -32,12 +32,14 @@ static void i2c_dw_configure_fifo_slave(struct dw_i2c_dev *dev) } /** - * i2c_dw_init_slave() - Initialize the designware i2c slave hardware + * i2c_dw_init_slave() - Initialize the DesignWare i2c slave hardware * @dev: device private data * * This function configures and enables the I2C in slave mode. * This function is called during I2C init function, and in case of timeout at * run time. + * + * Return: 0 on success, or negative errno otherwise. */ static int i2c_dw_init_slave(struct dw_i2c_dev *dev) { @@ -264,7 +266,7 @@ int i2c_dw_probe_slave(struct dw_i2c_dev *dev) ret = devm_request_irq(dev->dev, dev->irq, i2c_dw_isr_slave, IRQF_SHARED, dev_name(dev->dev), dev); if (ret) { - dev_err(dev->dev, "failure requesting irq %i: %d\n", + dev_err(dev->dev, "failure requesting IRQ %i: %d\n", dev->irq, ret); return ret; }