From patchwork Mon Nov 20 14:41: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: 167189 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2251884vqn; Mon, 20 Nov 2023 06:47:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IHIs93o/iHGZrNmoYZqFutSGM3vMKiiKAC+UNm4oqI5qx8mOyTIbwLOiLMXn4t7S/QcDQaf X-Received: by 2002:a05:6a00:399c:b0:6b2:2a2d:7a26 with SMTP id fi28-20020a056a00399c00b006b22a2d7a26mr6440002pfb.28.1700491677106; Mon, 20 Nov 2023 06:47:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491677; cv=none; d=google.com; s=arc-20160816; b=t1t87n99NfJNLNI/uCvIPJmxAu7/tJjrvmkEAtc5QzwNKuOiqAiDMF8bKPYUn7h/EY w0r/BkUKRRa3fq/gj03I+JRuBvuxOO3DMf0RNgZ8wJQ1XAHYYu5jaC071RHJUWS20Scm YDi77GbiNZVXPy7U7v+iTNQtpwoENbeIFMWI0iyi++NGrOKFT1bG2oQEZCmpQlEaN3Js yVSOgXOURqtvoeIWMyjOztq5WDTLiT96fw00ThO6qdpsovOmCQt4p3Opn8aitVIWFqKE wo0fF7ThgVIAjuOB2KOBmU+Pm5eXIiJ4T7Mvml13h6NMg/vE0FwzAQj4L4X7Mkz7LMwJ ZV7Q== 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=KUYv9LH471R5ZUsitfMVPmxWkzzc5+bmQz42G3Cn0SE=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=VOpOld3o33+wTXXSVN+q4vpuCi4JjoYYM1/UnawETrn4x0X6OtKCkwiy3kKHKdSFqv QnCgdvsqlHGVJAqHaz/Dy0s91/fSRKjP06/jn58dI7TRBkCbYU6jikIkoNib69RK2n8p 9ut7fNhBjTIe5OwvkTPMFaEYkqfNaDjQ6FEQ9oKMitPIFKaQEpNH8zniU0Bjnhx3Mhp/ f8W0lCvKndY9x/cBsapDAJOstAHCK/NKA0SAJn9bU/j9owHMUxTbgnIhgOBXTSQi+Kg+ WOTgzcbs6OTp46PXQTOukp3ldKQrMosYWuRsCgcTATDiduyG/f1oXzSId9Kpx++ds/8b mimQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=e4ZMUp0S; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 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. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id fc23-20020a056a002e1700b006c1222c5eaasi8582267pfb.175.2023.11.20.06.47.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:47:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=e4ZMUp0S; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 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 5CE5180A9ABE; Mon, 20 Nov 2023 06:47:41 -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 S233765AbjKTOq6 (ORCPT + 27 others); Mon, 20 Nov 2023 09:46:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47002 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229906AbjKTOqx (ORCPT ); Mon, 20 Nov 2023 09:46:53 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 04FEDED; Mon, 20 Nov 2023 06:46:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491610; x=1732027610; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Q74ZR11NZl+PRDfKRQssfNbi5b3tAivgbT0UCKwiVes=; b=e4ZMUp0SWsh6cXIuvQxGNtcR+5dGR24P4geXs1z7GkFcWxbMZsrGPBhT tEb1PDcN7w8SByl1FL3jXLmhmpKLXXQlG6baGHU+sIbteujqsesVZJ4JC orai+iUwI7MotMGAGI+NdIA3UtDyVrzHzRPP8mRY5lqOePgOPVsvsS6v/ cnQgy59ySrCr3bMs9Y2SvPwUKCe2bfG/QN81SffG7Bzyu5hIHXI+wIy+G Lk5UPcqBpCYap0JY/LxJaCA4/nqNCAz0nnr5pwOGgxwGGh7OSNVcztsmo VBFsjlIm1EfoGaHdqLnnVDovHfpP/hsyoZYWb9miQmWZr1IAI4YArvr0Z g==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="455956424" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="455956424" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:48 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="801193124" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="801193124" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 20 Nov 2023 06:46:45 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 2E61568; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 01/24] i2c: designware: Fix PM calls order in dw_i2c_plat_probe() Date: Mon, 20 Nov 2023 16:41:43 +0200 Message-ID: <20231120144641.1660574-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:47:41 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094760793770137 X-GMAIL-MSGID: 1783094760793770137 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. Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:41: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: 167188 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2251764vqn; Mon, 20 Nov 2023 06:47:46 -0800 (PST) X-Google-Smtp-Source: AGHT+IGIQlL65f68j0TxlKAWjfljdNLc2T+ddvNTAsTpO+8/id9IhbSji3QL32fBWVe60ovCaW5d X-Received: by 2002:a05:6a20:e124:b0:189:df1b:6619 with SMTP id kr36-20020a056a20e12400b00189df1b6619mr6401916pzb.35.1700491666102; Mon, 20 Nov 2023 06:47:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491666; cv=none; d=google.com; s=arc-20160816; b=qmplp58v03TaBuoa+iVK0e+pvyZTXcponHg7an4CWZ2ORMU8FQ1pjQ9qPW1J3549BO muji0Bvy86ZMImIFklfnKzEnKq0tIaAMYwyWwLj8kDxirYffPSB/p5A3PSxwPpBjfA68 Q5ladM87pg9hGguVsiQXl9tSCaAg1V8gPrUOTa5b1hN9M0MzO2196XNm3cmLk49fdHHb zklyyX1WoKtjvOSscpoX9TIx2blAYvajdRjIFahKp+mOiAdgTnnjcYE3d5v0I/+5tUY5 p4x7qL9oQ00219S6zEwJJaRQWy3PEqMJ1QOkA1TuT7HyhRwGF9u27CHGUc5hI/Ua59J9 66yA== 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=3FC1TEgMTb8XyWK29PvyBOEy/YMP/32PfU0kYDjviIQ=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=vVj5clM9WgJRE7wY5tBfc8Tv+cfCQq0qfRxIJy+AdvoHU19dmIVwls2tm4yx59xjFJ ib+LMexej2eyPER5g8hRz8q/QIQB0LvQx1pxIcRZzFWm/h1wKdun6vW7/9AHfEINrIxQ senKRMkj3pq5gNDrJd1+b5fS1RP04tBNh/wcllMOlfVrWc4j0OLMBMiHKVF0JfaImgqq SKl7P/+K1WuZIj6AtlNTphGAaDEafWbUWDkYXdYDsINuZ9XiqKykvf91AdkLOMF378RO u1gHhTwTMq4E/PLAjP7//Q0rYV1y61k0xVIIWnMbRaFUXcbEAxs3XKQ9ecNQ4QQcbvbg 0hRw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=n6ok0S77; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 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. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id y2-20020a170902864200b001c9d7d8860fsi7888176plt.485.2023.11.20.06.47.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:47:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=n6ok0S77; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 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 DD2F180A9DCD; Mon, 20 Nov 2023 06:47:30 -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 S233733AbjKTOqy (ORCPT + 27 others); Mon, 20 Nov 2023 09:46:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46984 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233121AbjKTOqw (ORCPT ); Mon, 20 Nov 2023 09:46:52 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CE914C1; Mon, 20 Nov 2023 06:46:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491608; x=1732027608; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=KIuH4XCfPQjyUWIlRjFEssI3BuwBFySin1vMLnPP7+A=; b=n6ok0S77AvyiH1olP5ZHrphZIxZ+9yKfI2438FY5dK7BF69jRdgAU8kR Uh34v55JJOvTHoXikq2fWA5jJUYWT5KBxprnkWoIU6lF3w/DyUDTRM/Aa NZ2Uw9mwo7Wo8gZrWzbAsNz6VNQHb+ggxAAUtGRDb0YRz7COl/WAMAGE7 2ZAsl+XLn2dQ/0OyRYzvBMx2FowPj/bkaJHGquolLgKPipcMDwes3mwI1 lQgBSeWcDi/Kclq7yaIKF8Q51G81QlvfdwHLXd9N+ETK4XCP7Owsc3AL3 TgLLeY32Nv8uXZ41cIEmO5B85kTJW/58nFwu2pBZZSQ4RhMWgZwsa/6Tb g==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="455956418" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="455956418" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:48 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="801193125" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="801193125" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 20 Nov 2023 06:46:45 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 3A683118; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 02/24] i2c: designware: Fix reset call order in dw_i2c_plat_probe() Date: Mon, 20 Nov 2023 16:41:44 +0200 Message-ID: <20231120144641.1660574-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:47:30 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094749238915587 X-GMAIL-MSGID: 1783094749238915587 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. Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:41: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: 167186 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2251635vqn; Mon, 20 Nov 2023 06:47:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IHvIRCWJVoTSrlmXQen+nUIT2EB3vmqswp14xSZgd60PKLlxOULC7SSYqcZkZ0+go5av8pn X-Received: by 2002:a05:6a20:1453:b0:187:c662:9b8b with SMTP id a19-20020a056a20145300b00187c6629b8bmr6598494pzi.14.1700491653873; Mon, 20 Nov 2023 06:47:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491653; cv=none; d=google.com; s=arc-20160816; b=Rlwlaxq2ULS26z9cAC1niYy/vhyjfAC4RBedCohFKoktEE+ahpkjApF0ELVGWscPIu OH9kYy6lU3Lwd3br+/18ERTGN72CqwJMRSvZ0zDVDzxPn5wt+cZRd3C9fhjvpjCbf7nd ZyLKdHlkkobqgIMLFh+g3+MHO217eVSUPCwC1bTRNqM5SbAHrJF7uc0Kcj1yb4G07v03 isPWDyxUhJtXQblE4OGqtGDh082SghQ3RTuId9IDCCJVCZtUma7u7CRkwEd7prRk6aYQ /FN3mPbXhergklsIE27pRq7vRwva6P+Tmvsqucj4JzMdgCG/rySTOSNEEkGZLMq4A/y5 nF3g== 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=OcolVTAuuFKHn23haQ4qgVvwmpwrtjrnG1jUKIv8erc=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=gKanUO78tbsvDhqyhQt5jz9vMI/iHIYiz/ZVPXDlxuHZIKfJguEAIvzYmJUATE8Rmy 36BVKAtZn+Eo6sidc5HJ1B1hVHC547IzHtWAYmjxxRjUaskrdaISImBBywASqgTqjJTq 8nStGDbUqrqp73TIqXAbHu0JKtNl5+7UaBooOTgxz4hnbcWF3/+putaxYSxmTpJS2mju RGNBCyKYEhma4sIhj9VktF3aIXVdHSzO1vEu3CYdHV0cKgf0f72www4tve1bLq1aJrjT ECExfbMH0a7IBbYSEr/SKrAa/Cfbi6qjD5qauUGVUPHFj16eq8xWYw//AlnF/2hkD03m zsNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ApKoZJWm; 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 x4-20020a626304000000b006cb2db00287si7027334pfb.340.2023.11.20.06.47.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:47:33 -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=ApKoZJWm; 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 3E71B809FEDE; Mon, 20 Nov 2023 06:47:26 -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 S233797AbjKTOrB (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47078 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233638AbjKTOqy (ORCPT ); Mon, 20 Nov 2023 09:46:54 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E0382A4; Mon, 20 Nov 2023 06:46:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491610; x=1732027610; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=gttshKJrMZpIh+yFG4GEE2CGljM8HFTYcNc2C9Ugs5s=; b=ApKoZJWmMNrMBI00iNjbG2VAlwimxaq3A1PqBjfEhZ1vzOxeIoa81IoW bi+d1sfqyapaegdcSAXXWUFlueBV/ATERjMYlSoO9bD0YfYfqZIO6jGv1 xghScxH0BeJBWYl27fuRNQjQnuJbhpxrbI9d7ucAb/uCPwfgvV5h0dQcs q3J4DxR1V8n/QJDI4Lp5Vvx0fmkt+TjtK0rBFDIgjlAocDG04elqjIAGq 6pHiMJ6aa6S+EJAycoyVRG7U4Qp7nhBt6FPrLN65xZI3+pfUX16R3bi7Q Nuz/3lc6XG8Hl5EZ+ytpQOj49y1TNDGRCAEkCqetGI7nsDLolZrdf3wtO w==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="455956441" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="455956441" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:48 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="801193127" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="801193127" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 20 Nov 2023 06:46:45 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 47A3812A; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 03/24] i2c: designware: Let PCI core to take care about interrupt vectors Date: Mon, 20 Nov 2023 16:41:45 +0200 Message-ID: <20231120144641.1660574-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:47:26 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094736353467927 X-GMAIL-MSGID: 1783094736353467927 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. Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:41: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: 167200 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2252756vqn; Mon, 20 Nov 2023 06:49:31 -0800 (PST) X-Google-Smtp-Source: AGHT+IHFb3hVmujVw9RkBRtbmOsS9qqKdVXfDEmAGgDk5Xx6y9WtcFPV4QMm61mX8XpKPnWeFpzY X-Received: by 2002:a05:6a20:6a1c:b0:187:b3a1:815f with SMTP id p28-20020a056a206a1c00b00187b3a1815fmr9714670pzk.51.1700491771524; Mon, 20 Nov 2023 06:49:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491771; cv=none; d=google.com; s=arc-20160816; b=xB38/ZJG57kYDRcWe0vjKKL/CNLr2kEE1nXHYd7t2lsRU8dxF0b1//fBoKFpHMDJ8G pSlT1/C68Un9P1oA01dIxlVriXleVfBGeJ71v9WspMztsRaptErK2j00o8tklDtk57g0 iyP4GZK+w20JeZwk4o5N4arTa1kl+w1URBAoavelf+fuWiktbE6FweeKZKYtrm9NI6yS HmPADWyeS+bSOlqXASMuS8FHYf5RGHPqTcMMXMfXcP/USA9xf998dEQ72uZ76K7MZDXO IbHVakmzFuUQSrAhSNJ2ZNOgd9b7aU5LY1WPphr1U3kp1HTYekkgf5J0DfKcBUXnbc8Q loZQ== 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=XU/ZVb8f4wveZF8hFd/B+RQxCnxK+2DYyXaTZ4alqRY=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=Z34fpOyfXRJ1KvFny7HhGHhtl9rvhYF7XX43WGHEErPwB9gQIQg/22pCmZA1DugGwA 9ww3Tsiy5bG12YICqXZklS7fCgc0jSDKZ+c9XDtH9CEGvicW0rW/WlNHYkhHeURLACYW gN23hlzTmGDyqUeZXifgj1d8eej7+NG0VY1G2SoRFA84seF1EhRZBurysDJpUuYiC23F duy/a7+buQPgOpiAXV2EdvY3mGig612oCs6bB8WMjHqzAUeLVtnYM9JJ+mb0p3hUtkRV mBVPZt7vOAk0JyLrDXNAdmmbdVlF5MY7DwwLnRUD1LPfasbiF98Q57eoUuMaGVniylkZ Zv5g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KJvxcYos; 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 x62-20020a636341000000b005c1b5a2be77si8483478pgb.702.2023.11.20.06.49.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:49:31 -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=KJvxcYos; 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 1635780941EF; Mon, 20 Nov 2023 06:47:23 -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 S233861AbjKTOrH (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47200 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233423AbjKTOq5 (ORCPT ); Mon, 20 Nov 2023 09:46:57 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EABD6ED; Mon, 20 Nov 2023 06:46:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491613; x=1732027613; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=So8kYJoKij+VCNKaGUL34AujAf1NZ1x9lxbojhvLPXI=; b=KJvxcYosvcV8FirGX7laC4VNukh0DlH5hibJTGr/BMory8ozfahioifu JV1tc7x1sgJ8CxTzn29uiZO3rIgWMV0tn29i5KG1ZJ91QHMi/Itr6/dCN aJRFEtTjG/epLLxpo83rN+RbBv8bJIlbVLAajc8BjnqURoYZAapwhSwUv EuvOizkgbmMPwPHZPkpoPv0d8BWI0qeF6sWeHpHH6T4hF97u7cOCQ748i ImavZW26cfkKWM7LNHFBDd6CTT7W5deAuPg3Xrku/dSjN8lBiLcuxkgDq xbOKobXtmVs2BCP6lP+aH1ApzSXKSr2U6gOH6RBIdT4Rahjp3L++eI282 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017009" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017009" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291634" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291634" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:48 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 508C912C; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 04/24] i2c: designware: Fix lock probe call order in dw_i2c_plat_probe() Date: Mon, 20 Nov 2023 16:41:46 +0200 Message-ID: <20231120144641.1660574-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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]); Mon, 20 Nov 2023 06:47:23 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094860044433543 X-GMAIL-MSGID: 1783094860044433543 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") Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:41: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: 167201 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2252795vqn; Mon, 20 Nov 2023 06:49:36 -0800 (PST) X-Google-Smtp-Source: AGHT+IHx9EZzJ2xmhUazCMhfwI0IzKyyicm3lTTuxP+HhRxeHc+MbNaO/aXHV0RtJdDUYp9RfxEg X-Received: by 2002:a17:902:dac5:b0:1cf:6675:b313 with SMTP id q5-20020a170902dac500b001cf6675b313mr2062047plx.22.1700491776035; Mon, 20 Nov 2023 06:49:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491776; cv=none; d=google.com; s=arc-20160816; b=MawZeac7ZoO1EH5pJP7+8KlKVahywPk4kDnmABbjxKW72i9wqWqnojvIbfdJTWKZxC oYW0nubZophZCl+AobErTICxKyHNXzocKROLYrdnhRSk4dFaIO9XjuMyo8sGG9eTkNQq 4ZF6N8VcKFRP4A8nyZDZrkZSM+4pfVWX8yrqbkXKty4azgWQTufKtfRkGx2oYcJDfsJW z85EF0jJ/o/WPeA4VM0FxYciDR8RGge/C+BcdIulmVCSCV96t1kBAS4U9YWteETKSDrN b43Y2rnuasGVnNGt9HuIHQAgG1MdvoIW/J7L3My40HueJBn/D9qN6GD6KWFMlCZcGTHk MvVA== 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=tsiNBv6TKgHbmIB3yI0/E/aZYbhk6doGhg/hbcTdWP0=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=ZXylEY9EEFwfRsxLUcEay6PmjBLZWTkl9mc+L5JDGBBCPup1UIpNUVW99Rs9Lz8ka9 okXH38RaXAecga/4exzTdfWDjFvpCCwjHxb6hb53T7bPMgEou5K90obHtt0aiTwV2E8z LM6u8VzeaGgeYWvxo5VyIifmTHswa1XNkMr/0eaLsD6gntpY3IoQCG4qJP8mUGpnlNjj r74bFA17mCxVZe8BxJzkNkf8ggYIS+LIVfUhrKsupwLCSPKO2Q2GnY4gXhmq/WhZ+oaw BbaHkAd4E/H60SFiU+82Wj3f+JcFC5M8ifFrJJjZbPvtSyrqBLQ3/LttEQP6phl61tJI eRzw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Uod9xnTl; 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 s16-20020a17090302d000b001c9fe071f2bsi8454659plk.8.2023.11.20.06.49.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:49:36 -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=Uod9xnTl; 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 77D568028FD0; Mon, 20 Nov 2023 06:47:33 -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 S233904AbjKTOrM (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47268 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233764AbjKTOq6 (ORCPT ); Mon, 20 Nov 2023 09:46:58 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F12C0138; Mon, 20 Nov 2023 06:46:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491615; x=1732027615; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ra1fDXxXZDiL0Wl6vqb23lOjaK/9+v5dMqICn+uCCZQ=; b=Uod9xnTlQ6Td9COtd51owX8oYBs0HHE39hpKFJlnwf+hstBizr2Cgh7d BovDJIq1ObfrFfLtSklEzlPfEf0Rzg+TdZVPEFGyr9ajBP+fYdYiJUlUr 5EeO3Qg+8Tx+wxUU2HvDbcquAM25K5LyFdd7n/X1rA7rCdzVFZq6/4I+q 6CZavTKqfOAkRPzIw3RazfFv4IgT/w7eC1N50WmuOiGaIk056TQ6Y+sWr bFFTa6nowwNg1/0bXrTpJyhjcGdacksmGV1R1q2rBGfbw1X6zI7sJjkAn yZgcyo5AW5E3Pd7RqWj0wyjpGEusiUTeYRsa9h9lV46dU88J7D0E4frer Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017024" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017024" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291642" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291642" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:50 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 5EA8F1D9; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 05/24] i2c: designware: Replace a while-loop by for-loop Date: Mon, 20 Nov 2023 16:41:47 +0200 Message-ID: <20231120144641.1660574-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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]); Mon, 20 Nov 2023 06:47:33 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094864695430278 X-GMAIL-MSGID: 1783094864695430278 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 Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:41: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: 167191 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2251988vqn; Mon, 20 Nov 2023 06:48:11 -0800 (PST) X-Google-Smtp-Source: AGHT+IF3A5NNCW0WGPKrvyNGQP+llPWI6TgLFq+gyuTIHCkIyrhqK9u63wxLVxup6Kk39KzkKqV8 X-Received: by 2002:a05:6a21:1485:b0:17b:3fe8:b4e1 with SMTP id od5-20020a056a21148500b0017b3fe8b4e1mr7467070pzb.50.1700491690828; Mon, 20 Nov 2023 06:48:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491690; cv=none; d=google.com; s=arc-20160816; b=ggsMIomDXun+EIHSFC5IWSZKspnWcfvaYlHR1EBS5QWet8jS/xveVEGFnNBQjlwH59 gvwo4S0vj/gtApvqIoD0kkaensGl92tjnARoQnLXFOuYPg20/1Gb+T3jX36Dt3owfT0y G4e0m+ogumlLyJK92ayRnfyIIYmdHcQirbb2N3MU8CDXPq/rceyhIjprS17zZMzQXygd CG3XDXWh1tKNNzZdZgur29AFe8zOD6pV025qZQI2DnHGIhJw5tebJNoVQNTctOGLmr+Z IXRd3t9XieiA7MACM5azx9lTg5lPI1bvxxkf8fMpGcL5eCtLmC5uIz4LdZv78BIS0ei4 zYcg== 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=T3g5ClPI/1GU/SpZoBzXoFK01dao5j4dQwXFUsqdwJ0=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=AN9PhaeBbhvheMp4MVaKAcXv31Ucq26wlS1Tm2nbRt/Zma3IQ5dLsNFqzZ+MUesEIp qk4IaY+w3hZhw7vrIQpuMKDNxql/gyWBD4Tomhb+wZvZaCFq8jmfAdCPKCPMJkXpmB3H NT5MaKg9RbnYXjjXkamHe5Uoc606XPr/TGvPYIFV1N89zomgbtgVoBqWNtSaYpLfX110 urs+T9xSElLwPwGBkeCpUvP4nj0H97tClV9FDV6Yvd3JOQ/xYuedOaQ01kDwqSZUvJ7h V1IhIiwqsbcK1Y40l8eQiLro5u6/XPPEf4hw2R/iQdAbx1jNqCKI5HdIHzHvXmrgpTe2 N8qA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=YG1XXfP6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 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. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id ca23-20020a056a02069700b005be209ac7fesi8859076pgb.744.2023.11.20.06.48.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:48:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=YG1XXfP6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 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 B1CC380A9ABC; Mon, 20 Nov 2023 06:47:55 -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 S233893AbjKTOrK (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47232 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233707AbjKTOq6 (ORCPT ); Mon, 20 Nov 2023 09:46:58 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E65F8A4; Mon, 20 Nov 2023 06:46:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491614; x=1732027614; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=pYaYCXUl4vo4xNY9WtB46jb0orPUlI9UN6q+0FWzpzw=; b=YG1XXfP6v53egL8PrTzDTRsDTcZHyU4Pv2q1AFu4h648EL+bwVOOWaVY fNT5rfBtpB9fn5H6CrI5jmYduPHoVAGCTAPFbKslVL/b222vn0vd26gPC WyYQTMfzqfQ+ew+9bHqlr/qoTnDICeV1jgBaIpqixS7d0SJ9nE/hfFleg ob7iLHQ0qcmT7Jyciq3tajGN8PZIhTDn8Aj7aJjilmDNMG3fko5/eAbCZ lFsYyDNVx7+qaWf3kQ90npB0mbQf2JGlaQPJ8PIMLhQihJObrG6aGxgVi JxhD+QSlXYkGpLOgrV237JSfWa63nrYX8Go2rSmYnciEyaG0eQJKI+n6B w==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017015" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017015" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291645" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291645" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:50 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 6C0711FD; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 06/24] i2c: designware: Save pointer to semaphore callbacks instead of index Date: Mon, 20 Nov 2023 16:41:48 +0200 Message-ID: <20231120144641.1660574-7-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:47:55 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094774869346280 X-GMAIL-MSGID: 1783094774869346280 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 Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:41: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: 167187 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2251736vqn; Mon, 20 Nov 2023 06:47:44 -0800 (PST) X-Google-Smtp-Source: AGHT+IG5VmtYLCK7WuQXn6MVLSR7/CuF3h5ypkEt4pEv2Q/F8rCfUYcQVmussJT2X5M0FNFDR9p4 X-Received: by 2002:a17:902:da88:b0:1cc:6fa6:ab62 with SMTP id j8-20020a170902da8800b001cc6fa6ab62mr6494090plx.29.1700491664100; Mon, 20 Nov 2023 06:47:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491664; cv=none; d=google.com; s=arc-20160816; b=dDPmAhTZu+tgmuBYYg/c4P9+zaT7Xlh6Ofh4Kkn2yp+rrFTeOetuhCiRF7sNZzaa3Z vwVh7/ei3gnzd7S+AKkK7TpuM4n6vWJARaEnCus6eAPb55HgQrwlOfFLCXEGqYDONwRI 2U2Znk9neKFgQJENzpNdqSi7iwiEo1ldQsHBK2r9v/RPu2HUJV4iRRcialhqlq75nnLE 1aBiLbs35OSTYJ1aMwP0ifhD+KqK0xHcxdVCvz2VOqHhKiN7gqJ9lRKrZYLNvUuLB3QD aoUxQCsiOZ6Azke0SPzAQeYIYRvZWd3Fda7CsJDpu5Z5NFt8Rvrnybr6r6k/YoVia0sF tTOQ== 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=JCLkDKxHhzy6u3aT1JiEkbNCvLRfy02LhdwETy26ISk=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=PndS7LLUT1SPrc7G2morixGWhWLjUihNt1CLnAHFDys+WYBR4aj9CXkrYAQQ7L7zw/ VyxHjGX1fyeRkMmFKFdEmtwcwa779tp9OxWHxTaiG+2MlxoleYIRM8OTV1GKX0mLFOPP jR+70rbC+dP8sxAf44rYBUTdYCaKbRo/2D+59u61Cm/w4QEP7WPtYNTdIiSJBftpxcZ8 4tqqCw7lv7PhsofheNByH2z6L+xIqMLb2pWXVsp/gTtQmKG0Rn/lpjscUtQMNCDFKJGc rNxanw+GbFLDhoEAH5Wo5OQmMn8qTb9cM8f68OMtxWJ7Mf6FCXEHjfQJpljnveKkIpQY kYgA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=jrSMHWWC; 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 w3-20020a170902e88300b001cf59df025csi489901plg.459.2023.11.20.06.47.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:47:44 -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=jrSMHWWC; 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 620BB8063BF7; Mon, 20 Nov 2023 06:47:37 -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 S233885AbjKTOrJ (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47216 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233166AbjKTOq6 (ORCPT ); Mon, 20 Nov 2023 09:46:58 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2F11F136; Mon, 20 Nov 2023 06:46:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491614; x=1732027614; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=gjsS9WB6rIKOIRRhpkjunbSf5RtqeGG3wArFecHMPbQ=; b=jrSMHWWC5az1SqvN8ELBkYFjA8Se3tV5UTHwxMat9X4FxAKrWte5VN3G kU5ESsoPfv43lLb1Tk9FnDx/myZJZuej13KMzySGPlGW5X5ApATgFl8yU 2NnCuMg5lvzvaIe3rAchnHxO6P+Uc2d2ls/zLSINYRaY1SnktW7IUqeAl AtWD5Wo6G3Wj4zwpNmyDmDiLKVejS/PKymRkaHS3zg1lZQaG6tYZVc0D5 4TANYGqc77ossmOD5u9njZpcLbo0zDHUqt98LD5K8m7ICgYhFQ6B8DhEf CELmi3/7cUgGpF/+NcPS3PMzafuhWYqDvs+so+3Mnz/QY2grP4cyXMd7X A==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="455956458" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="455956458" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:52 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="801193153" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="801193153" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 20 Nov 2023 06:46:49 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 721E99F; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 07/24] i2c: designware: Add missing 'c' into PCI IDs variable name Date: Mon, 20 Nov 2023 16:41:49 +0200 Message-ID: <20231120144641.1660574-8-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:47:37 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094747308531284 X-GMAIL-MSGID: 1783094747308531284 Add missing 'c' into i2c_designware_pci_ids variable name. Acked-by: Jarkko Nikula Signed-off-by: Andy Shevchenko --- 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 Mon Nov 20 14:41: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: 167195 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2252514vqn; Mon, 20 Nov 2023 06:49:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IEuYCFcKOMWVY1fQi3cykkG/HOyGYuFx56EkQsWEihNwBj5/NMuF4plxAcZ1kXg6U8ScPdA X-Received: by 2002:a05:6808:1644:b0:3b7:673:86f9 with SMTP id az4-20020a056808164400b003b7067386f9mr2463853oib.20.1700491746945; Mon, 20 Nov 2023 06:49:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491746; cv=none; d=google.com; s=arc-20160816; b=wWrEgKbmGNkUJiIUCNJBQ276RrS6XORTcttdwv48cghb+aN8jgMSUTuuqhl03r8Elv hoeX5kfj2FQ8JlTFN6qOvEUFzxgxAy3GtL90/ImWhanXustE0h90WeumZeiX4SakECUt V8qapmVQWQ4bOOANuypWdPphDuBqO0P2yH2rBigU+I2vNC/BXmqzRxUQh3rTxatukeZ9 I/Pb1MuKVKvcwrRmbMUBXJJN7RLwxznADZI1z4qOAlhJlPSm/Tt7CdX13hq6hJv+kkao 3HsQmuz5rwND1GFX8VpGJ24gndUUAXYXNrK2+B9CVXz89eBuaBaSmTwFkizVWsscVSsg qX9w== 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=jMEz5GUEG7YeeUwJtObd5fKiO2swMnI8eCL6RDMbMXY=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=lJSAgNah0i6DuE81A28rD5gPP1YhYF/PUElXGmzkirGjXDu+3NUqScFYJV+JkZMRbC 3xlT7PRCCggjQYPVsWHRjJf0L2SDp8hiOAv/MGon6DwnzPwcDXrTUACeE4UNHCLbDtsc 1N8r4Mt9SU8O4dlvy7FELt8lFV7LltxuaKFxObjgq+v+l30mtfAyi7NdEwmD8UD1F47I PN/GIZgIoRzg0DxS/O1OYEWDCfkbIhgSZsXkyKUR5iKZfqEMalX2sEznJYhse2JdCidM K1ZrlcW+Z9Ax0HWBcef0AbH7YhJ4+6P573KOeIof9TP9uWOnnYvU/JLxIYGpFWTJEpAC +0Xg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=oIz4xhHF; 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 x3-20020a636303000000b005be0028c5easi8222718pgb.401.2023.11.20.06.49.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:49:06 -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=oIz4xhHF; 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 5FFB080B7C0D; Mon, 20 Nov 2023 06:48:58 -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 S233858AbjKTOrY (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50376 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233770AbjKTOrE (ORCPT ); Mon, 20 Nov 2023 09:47:04 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DB4D3AC; Mon, 20 Nov 2023 06:46:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491615; x=1732027615; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=a0HnivyqeJl6wC2ISiRgNK9FZh2F7hAFet2cYQUURw8=; b=oIz4xhHFjxVQTZ5z3HkL2IC7eUbPRsjomCkKLilEveTpJcbC4v2W+Efx Bfy46TzeLq+tcoUgSy1ld8OD3A0QUwCFKcGj3YhHOiYpadLzdRPphPKZ0 H4loEGUEzzILCmWEDHA9BenqjWFZygEbUHtmSwDjxHdPxJGhQhPgKJwJs 70mPZTLY47gWXO2BFzlFH2N4hI6G/vRvzKmfN99EtzJXMet/dzzljmA8N ZNrlw4CqH7lWuwwPgFs6SJn9FTl+EdgkFvCB0/Yq0NIcKu5NnqvxbJ8RK i6BhLakLxc0fVpupLsdMan5TjPFCofhhhWArMAGD3X1ZVZnnBwKczydKr w==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017031" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017031" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291643" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291643" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:50 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 82E293B5; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 08/24] i2c: designware: Replace MODULE_ALIAS() with MODULE_DEVICE_TABLE() Date: Mon, 20 Nov 2023 16:41:50 +0200 Message-ID: <20231120144641.1660574-9-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:48:58 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094834002182501 X-GMAIL-MSGID: 1783094834002182501 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 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 Mon Nov 20 14:41: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: 167193 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2252120vqn; Mon, 20 Nov 2023 06:48:23 -0800 (PST) X-Google-Smtp-Source: AGHT+IHD0vKqN4wfZZb7xrCloGg3mY7Mal8nNgnmDe0w0qYNmDuVCpXvZyijqyDQgUTr+Huqwc9Y X-Received: by 2002:a05:6a00:e07:b0:6c3:41fd:3a3e with SMTP id bq7-20020a056a000e0700b006c341fd3a3emr6870992pfb.27.1700491703508; Mon, 20 Nov 2023 06:48:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491703; cv=none; d=google.com; s=arc-20160816; b=bD/3h1R8BIi6tvBmCBjw80cGfgxPNpLuQ2UHIcQfCmrWkkvsI/LUSfKujWWcjC0xPg 8muKKD4FYUuNIDwAeGE/7s+skUuqRM2b5TgptK50ooUVDvfDLYB2htNxwODfJ7ZUgIRh LxUwFRm9PNJ+bYYnvP3bSgq5BS/aL5Kg/G1CYH4KT1dWED1Qeenn98+Jf1Qxqh2yE7Tm arP+eYzrHE3FLuE+tN8NjLMLEvfQWsmHH+fNQMWgPG5KjBOLYsCLL33TwHgNY7BzPVSt +LV+DmKDT3ysWTBguf5uKdqB8gOiGxAfSNIywIErseFm7yxFPU/mJjbvHB/AsqACqH9Z iRfw== 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=0zb8rwbGFw66F7QP/DXwVMTUMJFWe1qb6NcqepA+SxE=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=GDhPMQG/qYCoFr6+wjEc1UiZ4ArJFhEHaLiwok5whTsTkYu/jwAiPWO6v+XWpBXWEt oPl8RdPPwWV/T1UM42ckjFD2ebDMbAxuA6BA9Hccq5YjOmPA13Y5gr8IdcClaZQb8rb/ zsR49RL+EyYRHj9/ph3YUOtFgRMAt54f/3yo14h6IbYs6ZW/RQOsB92mZDeYsUMPeSKo /hoitCMy80yPAIsZ6cjLB3dVgDroTAig+uxTvTjn1/v1SFO0T+fCYCzB6cgAXDYJC/0V bc6G94BqACY15j+FofLUCxxITcq59eksYEAvU9y/WDGnaOaY4ATgNlbaB8hYPnr8dblx Odqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=CZAya96H; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 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. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id c6-20020a056a000ac600b006c34752a6e8si4951798pfl.81.2023.11.20.06.48.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:48:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=CZAya96H; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 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 443848052BC5; Mon, 20 Nov 2023 06:48:08 -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 S233908AbjKTOrP (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47246 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233785AbjKTOq6 (ORCPT ); Mon, 20 Nov 2023 09:46:58 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E66BC137; Mon, 20 Nov 2023 06:46:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491614; x=1732027614; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=JQUe43qQ5/h7AycERmmdqXzJY/9l7uxeRbLUgwcQF04=; b=CZAya96Hg+vjn40ytSC6AyM1/MrkhQHJw4oL9G6JvpZrxin4Mwj+6+ew q/PcZKkcW7cnKaTYCjhAPE5Q6NzOpJJEuP42zAGDsmq0Hym5OAY3Te8+w njN57Y+Amb0PaCgn5r4DCkTH0+Fri9zJbbe/ZD1v9kYOyV5ykV/+nBNQb l1hQtZ0gs13wSZgGix1RjrBQo3QlFfjGJDXap1ZOdqIh3ssEzD6fRwxgR r2uXSBtdAyIrMsaTBMvfWX79U+DsJL/ag75uIpTEPBEt3kETJQf3Xgv57 d0v0abyOveyYAika5GXIJW2dDjcNzvbiJGtSku+z+FyNDn/i2QHWVL+3t A==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="455956468" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="455956468" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:52 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="801193155" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="801193155" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 20 Nov 2023 06:46:49 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 926AC3E3; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 09/24] i2c: designware: Unify terminator in device ID tables Date: Mon, 20 Nov 2023 16:41:51 +0200 Message-ID: <20231120144641.1660574-10-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:48:08 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094788367333443 X-GMAIL-MSGID: 1783094788367333443 Make the terminator entry look the same in all device ID tables. Reviewed-by: Mario Limonciello Acked-by: Jarkko Nikula Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:41: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: 167202 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2252895vqn; Mon, 20 Nov 2023 06:49:46 -0800 (PST) X-Google-Smtp-Source: AGHT+IE/LzIp8PL1lbfGKpwE+/be7mJRnXl05gnneiC098ya1TP+w3zP4gFK8xOHyONkqXOfGB7B X-Received: by 2002:a17:902:ab93:b0:1c1:e7b2:27ad with SMTP id f19-20020a170902ab9300b001c1e7b227admr4959920plr.60.1700491786202; Mon, 20 Nov 2023 06:49:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491786; cv=none; d=google.com; s=arc-20160816; b=a4xQw6EmOVgqFUiiCFbdAG4ADQpJz0nW6HLOfkadzAjTdjLLDcn/NrmY2pWPOELm+b BeQjRztQxe2NxvYWSTlupg51DP0WhjvTOkHpeizbk2M+biud5sjdCJLsxQVnDDNxGLmy SGfZaN1KRdF3V+lfZg8sSUhHgW5bYiMZjBy2Ue6Auo/0yTfdTkBLN/N54A9MaWASCyJb PmugJUw/u3OnJ/a4g551AkD8k+7JoBi7bYKL5izLoTNZnlHfoyHNoLb7DhtFReRkQp5l Z8QczYlEhg3A3+HDx3Dyj3rYW1QHfVHZO+Mdhux5zMmuMQUreabhu5gWjNePXvi9Ys39 Phww== 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=NO5VPPF4Etq2SW/zUnEQyWS5QYimhmV8xLnFkIckmwk=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=T8nvspP/txtCpxeKKIUw7CdFu92xXLi/R9Nb563C4aNoaIV8/QvAz9To0lHsQE+mQG 12wdbbV8M+aj+tFjbcDDjiJ/zCiKiT79z61V9O1AoBdEOrpSh70SeAhiOANCVVptTwD8 e1/HAGTWPetUEpBq9nymjrhrwN3MVPk16CBtLUZOZA53BJTc718a1lAIq3IFJnrkVoZz +oGb2SN56kcZFL5KFwJy/5ps42ohBVg9xJX3tZca/K+7AzD6kOpsDHTzMQIki1rkeDHd TXWCTWoFd5lIH3Ph5IkIA0gCnbtdMJmbhezR3Bkxn/oKh8/EnaJjUp4wnFTQr/R0kF3P 2UOw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=LvSraFY5; 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 c6-20020a170902d48600b001c39f2b4d2bsi8752030plg.438.2023.11.20.06.49.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:49:46 -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=LvSraFY5; 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 72CD08028FF8; Mon, 20 Nov 2023 06:47: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 S233988AbjKTOr2 (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47200 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232135AbjKTOrE (ORCPT ); Mon, 20 Nov 2023 09:47:04 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4925C126; Mon, 20 Nov 2023 06:46:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491616; x=1732027616; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=IMyTNKO4GTE+4MqgHZUK0YF/DYKs3aQmIFo7+4BIWQM=; b=LvSraFY5onUNiectn9PNSGAYzGPfu6mxOXxhnFXfffZ8+8DVM3za5D5Z c9GGaR3tr8gKSYbNXyhyesc2woGMeqg/yZZDffr6rfkTC+vLe9VSQ6F2u AFuYmOFmzRSg9M7PeuvqXPdxIOPvwDwViK/RX6aMsQc5Yjf3sOtqQgIHN BGHrPtFU2e++gFBAXi6Gh+a/xpZmRbD3Qk1v/Fyk/9x0aKkWqlmACdIg3 btvygQeeg9jnJmnqQINYZEZFCVPZeOgha5tJuJ9fUr/YzF7jCsHd9h6KQ 4akRsPyDeve91FV0oFDpBaNaQV2l5EllVw4/oZg9AjZmmHLXXzf98oVND Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017040" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017040" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291646" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291646" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:50 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 9DDBA3F5; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 10/24] i2c: designware: Always provide device ID tables Date: Mon, 20 Nov 2023 16:41:52 +0200 Message-ID: <20231120144641.1660574-11-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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]); Mon, 20 Nov 2023 06:47:52 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094874743711873 X-GMAIL-MSGID: 1783094874743711873 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 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 Mon Nov 20 14:41: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: 167204 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2253010vqn; Mon, 20 Nov 2023 06:49:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IFwzD9ihbCFqllZAEIQuUc01BAKjx5/WXhU7QjMcKkngN3xFi7MVDFZNPH8Thv7G5tvocdr X-Received: by 2002:a17:90a:e7cd:b0:281:40b:5a7a with SMTP id kb13-20020a17090ae7cd00b00281040b5a7amr8289180pjb.8.1700491797645; Mon, 20 Nov 2023 06:49:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491797; cv=none; d=google.com; s=arc-20160816; b=yC5S1HqsfHDym/LWSTNjB/6sfNCz+mKeRXHh2Dc56T8lHdsfJIeax3fz3zb6w2q0tR PrWAr506Zs96q6QksyJm3cFhga0rbitSTeOPy/w8WJlEDEOErFkN30aqRE4a5xpx2FtK ReB4MDha3mYvYVgTJz56c2TfvTD7HdAE+thA0JqFHqAtY0LsEUZdCykBoBkTDY3ulMJw /yoZRekvDbxiLfB67PVykTirCPM31ByZskoHFj+6ZwHalayRZEyk0v7E/pvqWOIG9JV9 /6DLrH//vOxHfwr3BvS+K2rysDZEA0TLhFijS3WSJVKtHjLUOin73cJWLGzgdbN29Xql FKuQ== 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=A9hHCb8GJAAw33cJGnamiNhUzfN8pbYUfpA2C+SO72U=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=mtvLqCTK+roYmq/gNfWSUMXakqplkAgwnujVjPkpykjlYWdvP2+QyqD3lWDqAU3ugC bqEgpc2RxNIBYv7gQGrPZhmvmfTgo9S5T6t592Ts5Bm4odoaa8oBoHuwIX9B9xDVoRQS O9I2ZlUxBZmjwW6LkII1YNIWYYfzEWAda+UOTccLXW20W305BIXOHSSEm+2n1VsfPWRz HgHrCSPdb8cZ0UdTKE9N9yMPyzM+83X+wJHba6taqKb/J6DGlf+yzdWZ9lwDo669NBuk 5Dc5c8PzQftl0otM6W47+jD8SdssCnTRYTJtswaZB5fZXOFj9+TpF1ctVZIZ+WFxMkt3 0seA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lksr6iwW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 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. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id n15-20020a17090a73cf00b002804438ebcfsi10688933pjk.171.2023.11.20.06.49.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:49:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lksr6iwW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 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 79BB180A9DFB; Mon, 20 Nov 2023 06:49:43 -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 S233778AbjKTOrU (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47260 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233761AbjKTOq6 (ORCPT ); Mon, 20 Nov 2023 09:46:58 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1E2F4139; Mon, 20 Nov 2023 06:46:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491615; x=1732027615; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=0SVHCxyMs+vlVsjGpSiBU8bWb2RA8tmqrElqqof/mfI=; b=lksr6iwWosrD7HCgwkAm2VIWWKjSB+Xbru0NQrssUI0kfMwQL5rm6y/i DDrkDlw8SXtv1cCc8KOp2g2AVjXGcNkuGDFjdrcWk7NP7gPo3X1ujMUd+ 1OLM9iSqEv8H5H6Y3eybUN0EjxURL6kqLEj3DFNMpvvM/fC511wiz+fxF TN5R9lwxCvMSx+VQgNh9o2xilpQWFIR3cl+nng06JlwCUKL18Mc+kO5cP O/eP7NWMNNLb613EjQ6v4zhX4uwfBx4QpdBHcYPCaZGDIglxOKXoLZp73 e+xY/0F80pZQiZervMhVCsksES7t/XO1B/EAify21V76XmmplT0SA5Qjo A==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="455956474" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="455956474" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:52 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="801193156" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="801193156" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 20 Nov 2023 06:46:49 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id A940242D; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 11/24] i2c: designware: Drop return value from i2c_dw_acpi_configure() Date: Mon, 20 Nov 2023 16:41:53 +0200 Message-ID: <20231120144641.1660574-12-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:49:43 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094887367244014 X-GMAIL-MSGID: 1783094887367244014 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 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 Mon Nov 20 14:41: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: 167192 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2252063vqn; Mon, 20 Nov 2023 06:48:17 -0800 (PST) X-Google-Smtp-Source: AGHT+IG1nQyesLWgf0ZM8z6EgIV6wvOb2McyV794+obW9CCMKzC9yaOSru0cuQhUPFg1uW1WZ5Bd X-Received: by 2002:a05:6808:2f1b:b0:3ae:2024:837b with SMTP id gu27-20020a0568082f1b00b003ae2024837bmr11552868oib.34.1700491696898; Mon, 20 Nov 2023 06:48:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491696; cv=none; d=google.com; s=arc-20160816; b=dka7owoM7vy7D5tm+dQKwru6EJOHFrT7PpTZShlWe57ehZ7WMQdqD0hY+4mHvooCgx pBMAYnZHcapuxn25OvHQTAs8QZWG0mnhaEN637Qvbl88TfI/HUjildhcLaoXs2d4Y+BK l5CPpv7ATPUGWwthNiOvAI6n0BKfewl5Vg9AwmhZvfsF2AbiR1a6b/JsyqxIe6r+Lpit yAHUisayCBF+3s0cvQz2v3qi5NLAwYufigXrC1WLwnoJzChPaxEQovvk7nnWeVIIj+bR NFBTjacrUABGrtvPXRYX5P14SEgys9AJ1A1Ws2EbQxU6gtU/m1Z7C3mJMKfXhMWT7vJK cPZw== 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=ngDzefH9wMIoa+2jvkgXPZFShMUnGE/mV8soCPIRNig=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=b7b2Tcixy3cl5ATm35OvKsop4LuThFY30ZdS2IH0WCNj2tpnKabHExnORwdbQkzS3a SU4PYchVhSExzb/X4LlyNhWzb65pdcATdvsTNZ3VPMakMjEVQgWc3AgTp3I+RqJt3O5J 2bhnCDLKDdkxFr0xdjmGXGxRzdCVew1uP4zvTRV3XdY2xj4MXZjZmrlbe9Cd0py7hc5W IDvjBGzDfZYjug0muAhZkARXLDHsECo/0o99Io2l+FbRuUBysoYgxo/pRB2ojwrQUzkd ipIRwjFGQtu7gT/g/kWPecx4488U+L1RgeFzvzIZEOwB4v5UbyJgH0oTgy+cYbF/7BO5 uneA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HK63N+sN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 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. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id j10-20020a63e74a000000b005bdcad0ac5esi7869227pgk.833.2023.11.20.06.48.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:48:16 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HK63N+sN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 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 991B68053FB8; Mon, 20 Nov 2023 06:48:03 -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 S233872AbjKTOrb (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50392 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233804AbjKTOrE (ORCPT ); Mon, 20 Nov 2023 09:47:04 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 14151113; Mon, 20 Nov 2023 06:46:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491616; x=1732027616; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=6LUVSlowxDNf6cmdrMW1TQdrTDFwzR3hLjcQtZFNefI=; b=HK63N+sNE0rIa5v2YuEUCHaRHpa8bI2+MWV2LNtpL1QE6BqwWBZffqFv TLe4E48cx2AmalRd2GPsTvSZyi3Fpv2GRAZL1UsHEDDSjPQCxvrPGnh9S DB4tmx7jzmj+CumDQCqybI6Tve2dLSiQTqbBxp1wUmRy3V+WGIcMenzEl Ar20rSjqDA62lzwuCEvZWCf+CT3y6x3KYYyjN+F4TltmuiuL5zTbmz+4t +mueSCzs0Boiu88gdEq8zpq/5UYBtoNZGT4YZXxaGIH/eycDhMu6BZGCk byx+Z9v7ENE++cEQCKX7wcSUSPxW9wj0yDzeosqQiys0vzzjQskLR/fda A==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017038" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017038" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291644" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291644" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:50 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id B4B4044A; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 12/24] i2c: designware: Drop return value from dw_i2c_of_configure() Date: Mon, 20 Nov 2023 16:41:54 +0200 Message-ID: <20231120144641.1660574-13-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:48:03 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094781307216590 X-GMAIL-MSGID: 1783094781307216590 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 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 Mon Nov 20 14:41: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: 167208 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2253123vqn; Mon, 20 Nov 2023 06:50:09 -0800 (PST) X-Google-Smtp-Source: AGHT+IH5e1n+H2qpu7dBFFFBxo9RbtGu1XxYxrmhEGyIOvKSfofgyIaAsUsLTC7suOtuthoU4MKu X-Received: by 2002:a17:90b:1b4a:b0:281:10d:6067 with SMTP id nv10-20020a17090b1b4a00b00281010d6067mr5200512pjb.16.1700491809341; Mon, 20 Nov 2023 06:50:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491809; cv=none; d=google.com; s=arc-20160816; b=BVTk0QZhdWqhwF2MBvWHRme517nxWQRTv8OCEIGrC8ueejIxH1cFsjZjvdmGilQ4BH bJzRkg1njor7c3h0ZYZjFbYHR7yA2oKVsx+h00stxtwj7k6e1BvBA1nbqF8QJsAvrKc8 0VQNxz3CU0n1AZ0dKZsdYPT4OtmsRHeU1fqUiSiQpTeXusF/2+fBlEOzY+HMH85BuzRd ULc6LCz71KroLtXX7fLuWLHVMjh7PH71tKb1BfvIPmOCgX9rdqvPOvauyYhXqaodltQI VTzJlDURGoy/JlkUi0/Y9VdKD/TohhRO8WZiAplunS6KGw/3+io1GfV1vTrG/7UgggZi iKYQ== 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=S7FxgcdR2bVsmhvhBFVmu5Ouhv+rKW3TzB5Tu+dfPX0=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=LIyEnIUjO2Trw5XqVs/4jq8s6+rBpAhuCzAuWsc2PjhYyh8uN82XkxoS98YIPkjIn1 od5/AFoJ78hzsWcUUIAURNsc5VYzR16NGq3Du9XCC6YjTJm7MNvKJFVwLcEBjWArgb5C u5oIzPBoQyre0/vtlZSaKFGdxFQcEADrWwGYj4RmJZ5MR/s/vfNJvRHbE2Y0siBok33D OCPVXutwj1cq+BmXepPZQ9FVLA3iJN5ejguLHBJ9+eZ4aehRYaN8K3V2xV1A80nsU1Yc m3Qlax51aM6/QW9jZbQouRYU/iqDjMaNR1idZAW8EgWiWSSQGYy2h/22HTrkHnxjhDSV eeVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=OneQezRP; 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 n15-20020a17090a73cf00b002804438ebcfsi10689264pjk.171.2023.11.20.06.50.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:50:09 -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=OneQezRP; 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 4C2EC80267F7; Mon, 20 Nov 2023 06:47:59 -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 S234109AbjKTOrz (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50418 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233806AbjKTOrI (ORCPT ); Mon, 20 Nov 2023 09:47:08 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A877DD65; Mon, 20 Nov 2023 06:46:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491619; x=1732027619; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=MsQEfbBN1HcZU/6xkH82vQLZL3LbP0Qpqn2wuJGDYp4=; b=OneQezRPT98pCnqSvPkyy+rHDmgmuQpT573unsufq2GiQa1Rs0DQpHpr JRJV/3rgRH3w9iugL0Lf6zflNFk+Kckyzs+Dy/XVksM0Bz3s/Lj7hyahG 88z4H1vGhPSvG368fyrUm5Ev5JaEw2X3CViMN41TMLbF25VOXC02m/BP6 +m4lAhYdt62zpGO1GP+WVR8DmimykVQEgFl92n4UuV8nyvPUfaal+UtD/ qmXXannqUfX7AaEyKBe9n8khq88zSiGsE/p2wXa6Y/MDBXZBSpTU7OJfh JMMlMQO82+ACpUzuuJ7qFWwgYYxvvK3M5jXxVUfPk4PpwiEB4t9XLRovH Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="455956504" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="455956504" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:56 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="801193203" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="801193203" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 20 Nov 2023 06:46:53 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id BA2B3376; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 13/24] i2c: designware: Rename dw_i2c_of_configure() -> i2c_dw_of_configure() Date: Mon, 20 Nov 2023 16:41:55 +0200 Message-ID: <20231120144641.1660574-14-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:48:00 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094899536319474 X-GMAIL-MSGID: 1783094899536319474 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 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 Mon Nov 20 14:41:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 167203 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2252902vqn; Mon, 20 Nov 2023 06:49:47 -0800 (PST) X-Google-Smtp-Source: AGHT+IEuL7MQ+BNqp8vI2sed4xfVYl9FjIPhaQdYeC6slu9ZAfNRR0BOi10AsP1KpUTA7Sn59FlZ X-Received: by 2002:a17:90b:4c92:b0:27d:375a:e322 with SMTP id my18-20020a17090b4c9200b0027d375ae322mr5552170pjb.31.1700491787428; Mon, 20 Nov 2023 06:49:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491787; cv=none; d=google.com; s=arc-20160816; b=esdT8FQaMbWg0GEykLTDjy6Sf/Jsx/98nI3Bd9XD0AXix0bteaH9NdHbSC+EY3mYoX vhcAWekCThiALPkmbaV1PuF+xN+058Ij0AZPsOGSIHruBxV1oikt//5PuVPfssZ/HhLq R0oePX1n+y/vKD1Ja5Jn/+myhPjeibtOt1g/bMX+f60NxmIOzF0VzC83PuQttvOVx40n xdNxnC+SVJTTAqZGLYnjEFLeI11ABlhx6K7P3YDRkljrutbaFmwpAyKFLmknf2Q0xmst Yyr09ulUCtOfer80xesuBdMC1zT1LCPwzbrI4wMd7yMXNIw1NuWRGpG4h1TRDWf064nY GSSQ== 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=I9yEiKuo9NBxWOACq1yJlyHljkwHkG8vh3mHTvE8MaM=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=Ps7OESe654yTS1UkJeOXuvPtcynkNoJIrX1Gy8vxbHcw1JY3O8yRC6XAh4iCsBrPym PrFCgKVGofB5bB7KNOd5fGBIyxVV5wHu4dquhH7tk0/O4rZRP9k8Pnyd/IJsREX+PuIZ 1VEJIKv133sjRy+C85swStZCoKd6qvZL/L0D6SXPpv2YJq0tjFkStW8UlhO0sxNDqtC8 FHV+qK51BIzHP0FNfDbZr22vPPyeFpXjGPhmev4WDBUSr4mpY8uCY6b5WUzuxWz586Bo sthkggHA1n9XVKCPK0u0btLs7auxrqcMpzxWOHjbdBjuGneVFXEwxvs86nPS8jVVVc+Z C4QQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=k6ClOwxe; 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 lr16-20020a17090b4b9000b0027b258f284esi10685010pjb.26.2023.11.20.06.49.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:49: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=k6ClOwxe; 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 1F4C48026DDB; Mon, 20 Nov 2023 06:47:53 -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 S234041AbjKTOrk (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50456 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233850AbjKTOrG (ORCPT ); Mon, 20 Nov 2023 09:47:06 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1C5A0D45; Mon, 20 Nov 2023 06:46:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491617; x=1732027617; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=6oBuwTF+2kGsPHkRGo6mHnl0J5PbGm0AdLNo3/oIzxY=; b=k6ClOwxe9PUDCRIDp9OtzmE4e+pxwCDRAeFM3QOEjgUEf86mKJJAU15Y mgji6SxPw6NzdUgHDBQLsFYgCQZ7ssurpuGiRU7CFiiXJUXnmOw7obvPF 5divkNhZ2XZLNmMKC33lQaJevHuggXMRHeY7KiXWCSAGCbOWE2XUt5wC6 kBQkUjkExGU1XDthIwkVv1FNIEaKoxTxGHKmK5vJCxmiM08b4qRVE+kjy UWTemf/VeW7Sgj4Kr+3jqW55nGuOmsLEoUKNSUIjSJCFZt6Wqr6EWFc8X gChQGFXvYMU+Uk3PvyXcJ8SxDs9bmeWuGNFOt7kuOHDl3LeDhoZZXDdCC w==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="455956497" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="455956497" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:56 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="801193201" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="801193201" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 20 Nov 2023 06:46:53 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id C458E466; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 14/24] i2c: designware: Consolidate firmware parsing and configuring code Date: Mon, 20 Nov 2023 16:41:56 +0200 Message-ID: <20231120144641.1660574-15-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:47:53 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094876421799781 X-GMAIL-MSGID: 1783094876421799781 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 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 Mon Nov 20 14:41: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: 167194 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2252132vqn; Mon, 20 Nov 2023 06:48:25 -0800 (PST) X-Google-Smtp-Source: AGHT+IEnXwRdsKiggI0a9B/uLjtergl2q3DJYNzS85CWx4LBjvjyMpYg7Zacy3G6AOttXb6/TdJW X-Received: by 2002:a05:6a00:6c93:b0:68c:69ca:2786 with SMTP id jc19-20020a056a006c9300b0068c69ca2786mr6596829pfb.34.1700491704677; Mon, 20 Nov 2023 06:48:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491704; cv=none; d=google.com; s=arc-20160816; b=ME8WzLOb1z2LFzDKo3RAUi9hpm+Pyajtw5BtDzYzGfHUayF2n9UXR6g2uZAMkAjQsn n+EwH4ZU71hW9Q8uCRcK/sOfHQ0NFMkNo/kUaHawMzeoTJ8wS4iUCK+TGdzZyNQz/5XT /K/7pL+LWcHw8xjlxJLOjj/txN1Kg63Dyac8FnTmMNHpOTwMCCcTYknh959OaVblSyBj tMG+ieb5rNiqtiPylmHL1A2xjiH/6jJRmAFbp7yiDGIR/1NmUT/+Tf5TQIysSOoKx9AZ LBhTg5ijSJopvYPtE1bwBH+zUOVrShR52RUE+HojlMxghpyZNiWZFhaD+BDiVc4QfVpz n5xQ== 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=S+UY1TfX1Frf4HKUjhkcnIkPJ3jmG8mKjp2HafKNkYo=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=zARGu9Vxz1SWXUbgSBmxv8bPnf5SxJozJpLFZ+aujWe/odvnQR+Xb8GeFz3hao3tpt CKN1D7Wk8Yfx1Sq/GU+bsvALCBEAmcaOwQ/2Ih/RSZh1YXZMVFNrEEJeZh4vwTgvEEA5 F2pLtlLQJkmnynyQwQQNXJFsMDa+qfnVaxkz4OrNR+ETqJkTEmwdH7Eh/p15TWv6DPIL zS58FJoAwTpzzU2IWYmbZaaKR33UIHogaimlpvTiJulBTMLcCmdh0VmEPmogN+9pI226 3hLX/a6Hq+sT7Xzx2AGCDEsdidOcObnQYPqwtXMDEhbo/gcgUoophgQwAAqzXPEIJXXh xYYA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Ma6yvUUF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 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. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id r15-20020a632b0f000000b00578e5228c76si8164764pgr.505.2023.11.20.06.48.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:48:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Ma6yvUUF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 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 1B4E780530D8; Mon, 20 Nov 2023 06:48:09 -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 S234007AbjKTOrf (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47232 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233837AbjKTOrF (ORCPT ); Mon, 20 Nov 2023 09:47:05 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D100D4D; Mon, 20 Nov 2023 06:46:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491617; x=1732027617; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=mWnrCbe952qZv1cdRW5+nJoDJDChwK0VNgu5M+CVVe8=; b=Ma6yvUUFxOc5hswOn0EoW04i+KwE30SfweummFWecKd++fxSDo1rnE2p ZwGLo8M9gH0f2ksQPNDmw2YLhG8Mff90vMG6hg0chdrA4sgeeKTYf9LNw 6JPKN7a0vAc8OnoqqBaaqTroi82aVtZjEToD4chbND7T6RBgvKvvshEAv JykvI7pTssUcyGQdTvjuGelnF09hfZ8jKEXrLEOf6923y4qKopnsvdu+w uBEwFmSWBS+qXszenmSjrXp73lD0/bZsEX+rDzcBEQinKZEgu2LPsvTjD J49RSs3Z8fgJOlgWNr0cxeY68cGs60XJ8z0vJfsWLQiK8aMa2EjXtBpTt w==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017054" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017054" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:56 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291652" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291652" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:53 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id D47AA516; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 15/24] i2c: designware: Unify the firmware type checks Date: Mon, 20 Nov 2023 16:41:57 +0200 Message-ID: <20231120144641.1660574-16-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:48:09 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094789758231364 X-GMAIL-MSGID: 1783094789758231364 Instead of asymmetrical checks for the firmware type use the is_*_node() calls. Reviewed-by: Andi Shyti Reviewed-by: Mario Limonciello 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 Mon Nov 20 14:41:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 167209 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2253224vqn; Mon, 20 Nov 2023 06:50:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IGqJ9D2L185HBgsn/q4iK9qRWC3WCh/7hbuDocEmD8Q6cYjeTY/dXXXpUMQ25rqmpoOFEdU X-Received: by 2002:a05:6808:28e:b0:3a4:6b13:b721 with SMTP id z14-20020a056808028e00b003a46b13b721mr7482870oic.46.1700491818485; Mon, 20 Nov 2023 06:50:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491818; cv=none; d=google.com; s=arc-20160816; b=SMgMenM9iyHE8hBfBp4TVworv+ErcorZdLvtmk+Z49k4d90lUAvV/oywFgiCOYZeYm NaQg9v/7pQvAjGT6OgBQCWkTs7WtgiZwBfanBAO5i61hI3VSSgEZUYcU5UZpFEDGh0cr NR5ZnzPxlb3AB0/iTrrZczOl932zvRwQXLRYDH9vZjXeZHRoSwIIKzyLRM5xO/Y1NokW Y8CEdC9Z0IMVKJOjtb6Y0VsRcJLDMVHKmCrmd1LENB5tIf9TzzPRiyNVtA5qGt+uvt1O 2xPQ/mcRd0neE8bNG4Fba3JYEYGD+ZcmE1rQxhyiv6qUL//o2kq/c6lbAy+tlcIYtdvs PEKA== 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=XIqmL0KpmYvt81hg8nhYz5zfzQJMFgVdVAhAhbHy1T0=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=werYHfydEPjHXrM62s8KWMXBBP9O35IuyU4+ZOYtMNaLsvs+sxHAUFPh+hay7utGIK QJpkl3urB129B5soVGFlGQ2tib2DmgAUQEz502lseeIhf+8+ppfSjHIss+6QoG6Bq4K9 /0pRVf73ggcpIobvQfkVQw9gZSR1nUkIP3+O+ELyKIG3uuWc6Y75JSF43qIDOHP8KpJA F1F5R3BlHvnTc/5VxLZgDkUB/X36YD06Km3MKhbkkWde+m9/k9Lzn/0L6RD0omkTK0+A B8/a2WJhcDK/TPWijMV5ej4THikRrD0zmxSbpOS7qONmUjztYEEQ3H0t09nUmDsZ2ShY I+cA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Msqjec5h; 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 ca3-20020a056a02068300b005b930e0b604si9295839pgb.549.2023.11.20.06.50.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:50:18 -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=Msqjec5h; 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 D85138025E4A; Mon, 20 Nov 2023 06:48:08 -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 S233934AbjKTOr7 (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47228 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233423AbjKTOrI (ORCPT ); Mon, 20 Nov 2023 09:47:08 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A8EBED69; Mon, 20 Nov 2023 06:46:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491619; x=1732027619; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=uLVeF/uTk0+x9zvX73n0BK9nE9dqOP8VDpiHMj0UVU0=; b=Msqjec5h2I/AYlFd6Y/HkcnA92o0Cg0jOG3aRRcSTM4WB/Tn31xM9x+V op3PQ6Y4IS8ln20hRUPw+2sbuCQuE3+1dNJbrNlTYuZrKOXq7aXUh+jyY Q7xt07v39DvyuM+QItLzZd8Pn0gCV7GECE7e8S9U2j2LZFWVT1Pbq12YQ zvDUa/nXj6LKWZTb8Z8UHFpRw7pQdI/ydwvJHkD1MjPVAq356NPnjevEY zRDK4lpS/zfFlr+4daLUuA67AH3ZlcIfXqCUux8JWCVPclG0ic/sk/3ra RswIzHbGb63pNGzqSiFHjC4cTZfyLKBLMeEiI9qY1CHDRAFOR3slgFgUR g==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="455956510" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="455956510" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:56 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="801193204" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="801193204" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 20 Nov 2023 06:46:53 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id DA4AC497; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 16/24] i2c: designware: Move exports to I2C_DW namespaces Date: Mon, 20 Nov 2023 16:41:58 +0200 Message-ID: <20231120144641.1660574-17-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:48:09 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094908544519159 X-GMAIL-MSGID: 1783094908544519159 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. Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:41: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: 167196 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2252561vqn; Mon, 20 Nov 2023 06:49:11 -0800 (PST) X-Google-Smtp-Source: AGHT+IG8vr9sigtVtWmhtjh5qcN33jsVsKvIDIXdz23Wjnez8LqWTf2MNjOb/Y8ibVoQLb/JA4o9 X-Received: by 2002:a17:902:c947:b0:1cf:569d:937b with SMTP id i7-20020a170902c94700b001cf569d937bmr4197796pla.52.1700491751563; Mon, 20 Nov 2023 06:49:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491751; cv=none; d=google.com; s=arc-20160816; b=Hb5T5hjJZP/B0x6H94IMG2yczOj5ybFLhgwSJC5Xkvl/RCLoqUrCI2xAQs47RejCaA rQX4xv8ogUxeIu2fmZkf1oW8tziQ2AHKq+FhG2IskYCyb3FgdwQNU5s8usFH2Y4Hj5m2 jnEvQAxqv/nNyspQ1FxqWIIEv5MnFrDMzP/FolQ6Wr6CtDlmufmVJbiOkEquABvCNZbQ giAX/9tDRGELpuXUHrVjLu02NCaccW8IPzc65eRdktH3yX9m8bPuXhcTqIcIEY2MrUpj I+5PXJMKrTIBCpodrJRXIlP4IDzm5f1wkEH3sNzFlRhckFu4a26Mx2+MXyMjrE3sIzPW tthA== 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=U9pegZ+hOBSwKBUxWRQRd9vt2pgxy7qkRud6d+sU9I0=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=0PPzJ+ChzxI7fp0mWCAZuZDM6VWWMPXLBBqRpQLVUBGojqpPnb2Z0lrD0/NiT+Zfwk avJoQ/9Ew/aEFIHuKIzCi9nimCeZPgPz7M+mZGOxbNh4Np/1hUowUuCzW7/AXG9Vj8er btzkWSBsQXR+ti+V9+T8YpSwDRd0XhfDLD34zSjLniEDALFD3pfbYe3n18Hi7C9L1wrT 1StnSkWJvOHnoMUhTD+L4grA26Q8QNzHFxs01hA9GbONv9BZei6SrZ7qGbrfZya/l+Is mQ9tiSuPsdKizkFSHqVXlmF/3kAXJClwpSrxa5ZtZ6Vdc3LC+0YvyG0CXpZbzUDTXxh9 aalg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ce5ZtRMy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 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. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id c9-20020a170902c1c900b001c9ff461649si7963179plc.581.2023.11.20.06.49.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:49:11 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ce5ZtRMy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 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 5D2AF80530DB; Mon, 20 Nov 2023 06:48:55 -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 S234127AbjKTOsC (ORCPT + 27 others); Mon, 20 Nov 2023 09:48:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50540 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233878AbjKTOrI (ORCPT ); Mon, 20 Nov 2023 09:47:08 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD2A9D79; Mon, 20 Nov 2023 06:47:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491620; x=1732027620; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=UX0z46Bl1SWmYK4CEEW7ztVya3qhw3HeENPzwwS/4SQ=; b=ce5ZtRMy0xL5eyTFBPyhkBctDmjTnMmzRDHid4W68oH+zNvkr9wYCDFh 9snBePGcao5Vg0xofpSKj8HE/eu0A8U0PFXjoRXxnpDg+ZDhwJn1mZ7YG pS0f+qu93kDwvYWhszDgL1orZfInBF0N3GVtWiTYqk5OoOzhHBfpdsCP1 n6AnZbcAFv9MZniGQi0vaQHXPPeq/UrqHxUXhhhUPZrvygiMbNL9kzyc2 /pktXjR92cnjGTSYiuBaM998shcWioMQkpjPxwNBTNDmSEuL0sxejPNQb netx4JBdrbsco5eKEinWbeGTg5VMKQBqa/mQrDShVY6b2Jy0TbV0HgwWF A==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="455956521" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="455956521" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="801193211" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="801193211" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 20 Nov 2023 06:46:53 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id EB4C666B; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 17/24] i2c: designware: Remove ->disable() callback Date: Mon, 20 Nov 2023 16:41:59 +0200 Message-ID: <20231120144641.1660574-18-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:48:55 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094839149675973 X-GMAIL-MSGID: 1783094839149675973 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(). Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:42: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: 167197 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2252633vqn; Mon, 20 Nov 2023 06:49:19 -0800 (PST) X-Google-Smtp-Source: AGHT+IHGSbZKIbgo8gMWwHnKyOZXV0ueVHMs5aRwNPHlVB4XOL9YEKwoLOOnImZu5fhJ12hTfTHa X-Received: by 2002:a05:6808:b15:b0:3b5:95eb:f76e with SMTP id s21-20020a0568080b1500b003b595ebf76emr2304417oij.24.1700491759406; Mon, 20 Nov 2023 06:49:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491759; cv=none; d=google.com; s=arc-20160816; b=u/nclX4+iHKLvlemGa5FQwJbYDwqm6vRvTeOMa3zdR3tPT5CwKFLTd32UX5L2p4Kc6 vs0B5ZD/X2lQqNDMa0jwz+7BYaSz6DJWsDNMAnx0FlQoo3R4zEAtD09aUWEo8pResNpX SuKkeQKkfx/ssvOEwSe+eeFT3ru8CVCY3waBsifs4mECqw1+dAxQEwBdPpLk+qfc/eGP Ser/FWtIPZ8ZRKqQr5xtsMNAI2LPIZVXbFPhXFk2jY3hWj3N0/irYra1BP/eaOQW2rZw uMR1hNVXMHtm/3590qwt70bYGRLPcHVWRNZumq4BcW3WsaE1vFOJ0qvi+PIhIeeHwqyn OSCg== 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=QYXPk96/FbAIr2JTQz7MoaO4PaIKdmuf9HJflLxXXCE=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=pBcvt+RcCv1tbRYGpks61PUHyZk/pdyKTTjyCyd9jXANSmh5y7RDbMSkxXszs98Xf3 zMbNwBmUwb2gI2U1k4qaBY2vkWfQvFCqxTIV+StY5UWxyJRrbIF2yBWGyD5oyrmMlzLL xUEfFH2lD4HB+CC5NPQd9FfdC3nk1S3Cx243WiGo2l7wvASTCP+9Ds4HEHVyhgiDOChM W8a1D8nKXLNtjMR8CsZX1b+/I9QwfwF7WDMdNTF8ZgOOVuPSCdOHosWFPuOeSxqSvp8a mReW9D1odtlzAsCbDp1eBa5jQCzFTy/tEdYFVmhmcfFKUa5qQMHt1HrlzQbNQtlCh50V Mlqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="U/KHemWO"; 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 h2-20020a636c02000000b005b9302f3e47si7974446pgc.3.2023.11.20.06.49.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:49:19 -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="U/KHemWO"; 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 565EF80B31E0; Mon, 20 Nov 2023 06:49:11 -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 S234020AbjKTOrh (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50440 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233849AbjKTOrG (ORCPT ); Mon, 20 Nov 2023 09:47:06 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB894D50; Mon, 20 Nov 2023 06:46:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491617; x=1732027617; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=dGq4FAFGoV4UPUPBdSoVuTSGVirN/YSkMWSIqBBRxpc=; b=U/KHemWOeCbPHWrlSvSMkzGSonBTDRCA+drQzLUbb4TI+1cuVsXzSRCX 2vGxqcgDZBOBtMkgVeyJf6OoPNZMnmLSf/nGDz3I0zbXP7wPPJRgBc2F9 QfokAoYxyW482E3TskYLcQNh+V3TKq79rXjvuHwrZIENGLkUMaqJf9E3e oj+q8zbYz1Lw8scXAkLJSxqWDul9vhMHJ10YRCvHaSc14BK/IBQdYglCR XwfEYmrT/XLz2Vp0cqHegrn48ZXZNj/DpztzEHX/NqhqhuSk65bfWk/qD TvPQAttUTq5lhKnO3Dmb6FvgITSAmKmo//V/UZif32ewJNF/Z0oC4zTwA g==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017064" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017064" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291653" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291653" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:53 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 01FD9678; Mon, 20 Nov 2023 16:46:44 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 18/24] i2c: designware: Consolidate PM ops Date: Mon, 20 Nov 2023 16:42:00 +0200 Message-ID: <20231120144641.1660574-19-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:49:11 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094847001699126 X-GMAIL-MSGID: 1783094847001699126 We have the same (*) PM ops in the PCI and plaform drivers. Instead, consolidate that PM ops under exported variable and deduplicate them. *) With the subtle ACPI and P-Unit behaviour differences in PCI case. But this is not a problem as for ACPI we need to take care of the P-Unit semaphore anyway and calling PM ops for ACPI makes sense as it might provide specific operation regions in (however there are no known devices on market that are using it with PCI enabled I2C). Note, the clocks are not in use in the PCI case. Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:42: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: 167198 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2252660vqn; Mon, 20 Nov 2023 06:49:22 -0800 (PST) X-Google-Smtp-Source: AGHT+IEtzA4YA+VsS+oL9BR2+CWXVWY54NLSrU2mas9K9LZnxoLE/YaVyBrSkb9uPhf0/rNtxGLm X-Received: by 2002:a17:902:8b85:b0:1cc:665d:f818 with SMTP id ay5-20020a1709028b8500b001cc665df818mr5072282plb.68.1700491762458; Mon, 20 Nov 2023 06:49:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491762; cv=none; d=google.com; s=arc-20160816; b=RzFR4+RthiJWZM+mf3t/RmVbippHHM9G6puUfEuX1GvmmF6bJSRqcBPDFub9vVOvHM Au2qjuduO9CRGRWr57PV7v7MCGpU9ozzQ8osstdlDdrRo4ecUnh42y2joHR+cVNsPNf7 gnraKd1PksO68+10MG7EpSZw1EDa2fUE3CV0L/4JA1O6VKtu8nlRqnZIAsi/PixaIMD/ +LqSlokbwPYrIG++Kyyp6ZBeHn52APENumYv79UoQ4bAroF+fuDKs9xonQVToZADCX+i gmVHCNfzQ8SEBLbc0OWiRFdn/Y97p5NeKTT99gLaDk8/OgvhBYaBtgzb5fCXMK7mZgDM CI1w== 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=jD48fs3fVntIIbubSDz+bnvs52SrHgkqNpyrN0YQ4SE=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=A6v5A+c/BgIHzFubY5ytzoRfbUhXb9YkhEL1UfkAD843JhETZD5zx5/L3hfzoKHsFS Uzpf6OM/uOBqC0wPJAo0jXeyqHCwESF6SbHvLftU4W6LucLMKyFuWTSOpQwZkmnA0Ouh coNB+dphxYxR77e8iGRUy5cmG2ctBET8YRuZifvsRRrPGGyujKc0ttbUhd0fFVDM8+Hb TqgdhIEn6hBRA04iE+tty03AaUa09pmNP1/gNna5lUYexJeRRUoEfaVXQTNK84Uuw5D5 xSzSf1RI8Lgmegu8hMNmQZFLGuoglrS9sx56XdBJHfRh3IfEJf4eAbueEcXF33eMRJk+ /Hqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=hRZmxe+l; 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 j7-20020a170903024700b001c60ee79b6esi8581684plh.0.2023.11.20.06.49.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:49:22 -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=hRZmxe+l; 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 505378032F85; Mon, 20 Nov 2023 06:49:15 -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 S230030AbjKTOrx (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50506 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233875AbjKTOrI (ORCPT ); Mon, 20 Nov 2023 09:47:08 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A8BB1D66; Mon, 20 Nov 2023 06:46:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491619; x=1732027619; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OIU/ohSenRIHfIdotaL7Z+fDSzDZwcwlLHrvdYy8u3A=; b=hRZmxe+lhiFwI+J5aBg8topVUB22WD+uIuE56rNrehkfAssvzyDs0W3G 8ngXSdIRa2nd+lThDJvEicBKpdORq9eMtQIh4YCts25gENCq6L3EA0L4N yulsiLRcHd5BAIQm6vTTMfsCxl0jyHpOom9BBq/VJkG7WQ1jZl/SPjXBd L5/uMiJJdiYLUaR7HDEk8Q+PhQMM4xsMp4IwUirJYR/a61jgyuq8nny0g EZdhHDZUWVJvbmjdRP5URyX3sgp45Sf+Ob4BKwGX47sbZJSm8Ln0UcrkD iGQhqCg0GRFb83AWOpA+teeb4XKUaskmQw3XST7cyLeF8YE94Ccrs8Dy4 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017086" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017086" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291654" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291654" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:53 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 0CA136B5; Mon, 20 Nov 2023 16:46:45 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 19/24] i2c: designware: Uninline i2c_dw_probe() Date: Mon, 20 Nov 2023 16:42:01 +0200 Message-ID: <20231120144641.1660574-20-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:49:15 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094850438379406 X-GMAIL-MSGID: 1783094850438379406 Since i2c_dw_probe() is going to be extended, uninline it to reduce the noise in the common header. Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:42: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: 167211 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2253276vqn; Mon, 20 Nov 2023 06:50:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IHVEdjJlEuqLtWNlGcQuRsWVZT8Mk0WxlX7842AR2voQvNBBXzVWMadYUKKwAfePW8hRXVm X-Received: by 2002:a05:6a00:2da1:b0:6cb:b87d:8986 with SMTP id fb33-20020a056a002da100b006cbb87d8986mr401978pfb.8.1700491824206; Mon, 20 Nov 2023 06:50:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491824; cv=none; d=google.com; s=arc-20160816; b=ZWgyLGtwiUbsXq8Ru9oYu3eZFMV8GTwNjA0RL22ixn/kN9Op3aiHmUqPTG+ohM7YVk CDpC7zb0VCGDWuj2Vt1AgIoD6zwTtKoEyaOiF6x6AVTs6ChQGZVQka3a6XrZrhomeOTQ TGv5YN21VaiFKfk8uGpp0Du64sc9y2rEgGxAdplnk5lfBaTZZYG5b5yehyU2yZ82Ggcj 0pXXDELb3rsia0cEZo41XP6g7WuM+xnbcz+yFjzAz2G8m5cFXa6UbdHabW3E53+CQjzt fgvYTNGbd6Xp5FspHnvG7dBM2I5yLO+17ZzyDGXSh9FkmQxg4B5ULs476J11Cvbpl0pa 252g== 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=ywxYMnqhsGCDhUu9PFp1u+QgkY0ZlUm4Q8789GTfDWM=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=TDErcWSn7IgIKVgSYe1O4Z1ldo4RNxynhj97PnBRUnqGQYTe72mDyXoe+frQZ/btVr nV5AaECska1ucxe69N0pTfrhzDjLhJPL2VMg75cMp6pqoLRj0nhBQNGmKQB3F6RW1bdN sm+JrjAC6OgJTdlkjK8DLrl9mJrEMx4pn5x7EvPtLcdkxvjSEP6g9o6GYtPVO3aRtevj 79OhVuEV1Qx0mDhke+FEdgUQQoh8HKlDLNlFzZnfPF9YVy6dixJ8gllQ6n7MevIfsyp2 /z/fQc+64aMxpoTFcFSkoYaTrjwxiCty0+tlal8Mkwu1PQyxebK3tOrIx+LqFCXEB+UO HF2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=LL5SZbvc; 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 d26-20020a634f1a000000b005b982b93780si8282755pgb.251.2023.11.20.06.50.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:50:24 -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=LL5SZbvc; 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 6664F80D44C9; Mon, 20 Nov 2023 06:48:24 -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 S234148AbjKTOsL (ORCPT + 27 others); Mon, 20 Nov 2023 09:48:11 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233841AbjKTOrJ (ORCPT ); Mon, 20 Nov 2023 09:47:09 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 17CCCD7E; Mon, 20 Nov 2023 06:47:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491621; x=1732027621; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=fAFi2/PzE4gq91xVpinNlCCxpt7Mitg7VdWONEcc7AY=; b=LL5SZbvc0A0iQCzwPFsrfh9OlN0fZpmx92b1ZzFJmlZDcFTswCJnijOd FKzPGBnGbWVHJ76mo6CS0inJsSQdjokwWMOx/IQg+hncdERbbRhzSPNkD +yREB29jn2Nx8O8c/iXjTRb33ifShLGxKgvx4WMS3EYhZml44j8fkdUih LUeKDNKkOzMJ1yIVf/RBxSHz+90CIsEu2U9lINQg6mZEYcibl3FhPypsx Vmbu/fd+uVnT3Ft+lAyOODROOXw12U70a4PhGUHmJx8M2fYkx/BNjeLkB qAMcfmH/g7dGaAIp0T+Es+ZBrRHRZXXivJ+pCpl+mRYBHHeXgHwdBvmvY Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="455956531" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="455956531" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="801193215" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="801193215" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 20 Nov 2023 06:46:54 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 266236B9; Mon, 20 Nov 2023 16:46:45 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 20/24] i2c: designware: Propagate firmware node Date: Mon, 20 Nov 2023 16:42:02 +0200 Message-ID: <20231120144641.1660574-21-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:48:24 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094915016836075 X-GMAIL-MSGID: 1783094915016836075 Propagate firmware node by using a specific API call, i.e. device_set_node(). Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:42: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: 167205 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2253014vqn; Mon, 20 Nov 2023 06:49:58 -0800 (PST) X-Google-Smtp-Source: AGHT+IGMNFy3IxMiF5ZkSijEEtGgIcGn3V05kTJmWOuTmVwshoAYiyLbCkl6wJcx+flZKDQ5N9l6 X-Received: by 2002:a05:6a20:1443:b0:187:fbe3:b4d7 with SMTP id a3-20020a056a20144300b00187fbe3b4d7mr6396229pzi.9.1700491798228; Mon, 20 Nov 2023 06:49:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491798; cv=none; d=google.com; s=arc-20160816; b=GQU0Ug0TXZouHUSLmS629FTGmgWoTz+4y9azAdzlRym7SlXsr7uNIxx9fDP04mIR/E YQa/cTs68L6AKS+ThiKJGVCIQGXczIeIL8Fd87HCJNPnlutRGk4T0sIxIPgg0toXT7q5 aC4tDF19zoeotq3X/rpW49LLEy1KkLafCTkpGYw1p+pXSqsmz3cb3jeOcNnKxzaspWSA F09XOz7Qga2kQX5L5t3JK2wDegnzEnejl4TrcWDzV1ZP0g/AflSHtzLHCzRiuGoCsvrr y+AP3bZCWSa2+lAi9p8jhjxeeCKhibJ64jwRdOIU0KMCBar9jajz4o8YqNg4IqyfZyMq Cu+A== 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=58KGCJGnnd0ZSzvWMjNf8bu4TkA3hk6SAe++BBKDWpc=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=nAUM0xWAGSCVKShW3whO+Ai9zxXnf05W9Q4HiNKMKLj/2KPBqhWu7qfvWwiLbdOgQ5 j2JEpAHj70WeC3Zb3Yv9oBbwNXiL+9MOPQvKhw1xiV5sgKdthuG8/YPc/CMyjrzMVf6e jyGZbl4WJAZWXj0h/13J0GCVKFMOo6ck/JOp3Hvo+GT96Y4zMFJAhZ7EGuAxMXFHXUcn ofUAY/9inpkgHrGh6B8KdUW2y48m+GoFHXw/wxZpA90mpgzOC6LopEOuxdMldnJCvx7j zYbiH0RowlEPUnIQ/X/JgtDgBJK13017Srtq2axZO6p8/yZygUEbpeFNXRhjKc7YXFps +fug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=LgEc+I8n; 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 c1-20020a170902aa4100b001c58401354dsi7807023plr.565.2023.11.20.06.49.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:49:58 -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=LgEc+I8n; 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 5DE648026AD1; Mon, 20 Nov 2023 06:47:54 -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 S234056AbjKTOrn (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47200 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233857AbjKTOrG (ORCPT ); Mon, 20 Nov 2023 09:47:06 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8108CD5C; Mon, 20 Nov 2023 06:46:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491618; x=1732027618; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8rCle8cWkE3/d7d+mu+uOd9fDb+OZ2qXOelghp6Npg8=; b=LgEc+I8njd85ZahsD+YPLGoMyfHZWeZEVstGHJmNF00dWFU/OPpYZtas 4cJUHXkTOaJNF7k/pJb6/cAskvKv3OXY6/ke60bn451gDYwWZhkKM2yzB +Lae21TmwOOnV4GYvsG6I4JmNNqV6pondGlP2VyGOr9J08IZh+QRBCItn FKsMEa3ack8o0b7A5sOYpne2rsDPRjTqKJMu+2B8UHvxDYkB+uxV30ZCo QNgcLOE2oinPl7D0iV/8sFs2WqgdVO2HlIKJqwZILT0108EykWjA2R2sd 9tbRJ0Th1Q/Rt5LvMHwDYDS8GUXzB4tO30vrTiB3ivD8tpnF5XQwhWmNE Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017084" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017084" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291656" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291656" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:54 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 31DB16C8; Mon, 20 Nov 2023 16:46:45 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 21/24] i2c: designware: Use pci_get_drvdata() Date: Mon, 20 Nov 2023 16:42:03 +0200 Message-ID: <20231120144641.1660574-22-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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]); Mon, 20 Nov 2023 06:47:54 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094887613804523 X-GMAIL-MSGID: 1783094887613804523 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. Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:42: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: 167199 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2252696vqn; Mon, 20 Nov 2023 06:49:25 -0800 (PST) X-Google-Smtp-Source: AGHT+IHIOabwdMSZv5KDAybMHA/ZwemOjBxT/HuKhi+7uHaYAKHXyPCI5lrxFXQ0wOE4gQYMPrdh X-Received: by 2002:a17:903:41d2:b0:1cc:3544:ea41 with SMTP id u18-20020a17090341d200b001cc3544ea41mr10523398ple.46.1700491765175; Mon, 20 Nov 2023 06:49:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491765; cv=none; d=google.com; s=arc-20160816; b=ZbGhPifRbnLauhK2E2DqjnUpleS5U+oHJ7j5BMbiNhnQOjKtSDwYjv3JD4yV1L1EvI bkRC5Dx4DEHii/65hi9V44dsh3is49d1eX3tfgXlaz8jRBS5V/ia5BEqPWmR0BFGq4dW PuZ4fZvti399/Z7JLl51979N6uFWatOXz6ali83J1hYKC7aFLPAHgmD7lE0GdeIyCQwd RoeUh/iN7IpSXYG52PwlS3CIP3RjPGW8TtW6qrTqD1H7ZMyLdDRH7F6NkVrTziC/Gw+H UA9qGmMNLbnomGqc19+hmacofxxKC2Ein1weOpWjc2lJ3InH8FaPxAvf5rleMhWMLigK qiKA== 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=vGoV8qK8NutVAmWOMVQESy88h8ppmMHDcezLpORJvEw=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=uvEJhYOKK4fGynbwUZcT+Fq8jbAGPV74I0PfA0GZ0HJAV3etMTsmQLQj9MAZK3PHhP D2NBXwWdYGpVez3vm+3wEIPAu5VYVfetU+XXVzbUxtHGtYCRTGXWj/rfpPRTy1lgKhTP 0ryaN03QWoAVLPQmvIZUjCc+lTpDx1jVPYn9reecNgjs+LRWFr/XvKRpAEIje1+K71pN 63r5fbcfUWb3PrFiB3PjP3pyhKCxkKf/FwZJ49q7P5Zo1ZYgJovZioDxdO/bOo4etBrW b/xzNzNBFziGEsTRESDBE2ToEdeE/TebGAcs9CGVrkFzrSO7VwGdH7yNg940uoRlESoh 376Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="ebtP7/ue"; 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 n13-20020a170902e54d00b001c71eb782c0si76738plf.464.2023.11.20.06.49.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:49:25 -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="ebtP7/ue"; 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 BF59980B31C4; Mon, 20 Nov 2023 06:49:16 -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 S234062AbjKTOrq (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50392 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233795AbjKTOrH (ORCPT ); Mon, 20 Nov 2023 09:47:07 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4A6E2D58; Mon, 20 Nov 2023 06:46:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491618; x=1732027618; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OFonFVDQoahtw8qY4zQOdjieniDowfyGSiS8sMAPXkM=; b=ebtP7/uez8l2fBMqHKgyczkv459uVKvSDfi19aEz+vvB2XCRpSOPbwzA 0QLNjkocEDvyLxu3gFBD8I+aQvpllpAW+cFpho1t/JMBUnG2bgPwJY/d6 zj4Irgm7jvRWsciWXLSiSYtmAzmvP0NpuiU05izDN+V9iLdmALBI+8Wmw K3k1EvBCXoLYB8rS/RRJSAW8YlfN+wdnWkszwVr+wAVqh6JG56aXHDjFn DPyjdNX6dPxkEK8c9XYX+bIia7XJgz4wb9mutR23rXbH2qNIJkR7DUPBZ zVUvsqS4aWHF0CdYcrPDBLY6p4W2slflIrG7xZ9kG1ZFDWxRK5tBrS1GA w==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017076" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017076" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291655" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291655" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:54 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 3D4A464E; Mon, 20 Nov 2023 16:46:45 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 22/24] i2c: designware: Use temporary variable for struct device Date: Mon, 20 Nov 2023 16:42:04 +0200 Message-ID: <20231120144641.1660574-23-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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]); Mon, 20 Nov 2023 06:49:16 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094853194802389 X-GMAIL-MSGID: 1783094853194802389 Use temporary variable for struct device to make code neater. Reviewed-by: Mario Limonciello Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- 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 Mon Nov 20 14:42:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 167206 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2253023vqn; Mon, 20 Nov 2023 06:49:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IGnIGRNWVDz5Z7P7EUFFgozp+ulGQGoCfBsFIYMegS+XcaELO3OZT2elAxy5FA8IsoMXxbN X-Received: by 2002:a9d:4e98:0:b0:6b8:7880:de9 with SMTP id v24-20020a9d4e98000000b006b878800de9mr7835663otk.19.1700491799232; Mon, 20 Nov 2023 06:49:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491799; cv=none; d=google.com; s=arc-20160816; b=ue6bJuFLD40agOoST2VP6EUmGxpUY2/Fhnpdih9l9lM5ioYbCyvySxWfvFyJblN6ds vVEYHUnhJwR0QV1GP0QHVHpbJNl1GRyaOgj4yPiY7WGriehhKjHTg/sszQO4GTP6tPHP 05TQzUiQnY8kHHIoOnJsBjvYUlPbPOsBY75P+mVi9GczWI2vC61ahMrpQRS1xzPAGn8j 7nhXrr3RjjXQZf0iSizYHEGH5bT/456G4VMgFRhLsicirBP773SbYTmA46A18UmN9+WI 1xXYBnthvJV0PqMI2u+clzC1/5WLl8qj92N0qbTj65nQo0s6sSQxjlJL+eJl5tnSqCiX 3EYw== 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=rPpSVeVkPx9XiO8WvQdBVC78FVKIH1X8jHTdWJOxHKI=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=xvsAzzhMwRooUTfhXssXZZTnB2LBduAag38L7b7CLHH2svsyr8pwfCvFwCW/IEu8Z2 GlfRyU/+mzYVBsz7y1W0TrgIYojS4QAI6JjIZbT1r9aIHe+IezNkpkZKtn9SHC7oc+yl 9dmVUEnmY1tSHXUEYG8u3bJwbeiTsuqG9jvQbDV9/9cmmVvduvMuK3tjaPJJyefMSn1m jP7IWAOTfn27fVwe83mM4dko2l+0jIYwflszpbC1xZpHnZ+7IGwWs6xsDc7MehtnuWpf YMatYIR18DOnwFs8UOBezp8Tvwjt2bctbXvZNabq0NG/x4zYKsVNQRVeSvAesQjWndgC VBvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=M++pXFN1; 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 e24-20020a656498000000b005a1d88169casi8026146pgv.189.2023.11.20.06.49.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:49:59 -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=M++pXFN1; 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 5FAFF8026AD3; Mon, 20 Nov 2023 06:47:54 -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 S233980AbjKTOrt (ORCPT + 27 others); Mon, 20 Nov 2023 09:47:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50486 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233873AbjKTOrH (ORCPT ); Mon, 20 Nov 2023 09:47:07 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A821CD62; Mon, 20 Nov 2023 06:46:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491619; x=1732027619; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=kTclvOl7vkPey5C16DKDFp42ZZYtPi/iqZTaSSBYP+g=; b=M++pXFN1LpNgHmYcj49Cv3v2wInBrHBHAQ1AJnrZzbgAT4C2ti9eTEl6 lcr+qXh7fuNQjObvByDf9iHru6r+mqPiNWXDwHc6bs2b1seTZq+DdMlsp 4mViOKmzkUgAtY4YCPifga8RGLhhtmRb7WqneqzfdX/uyUdKrgFVvNgpY 5epBpH/JlbxJq6HPwzBCqurAe/gfqNlj2HcekMrS0XB7mnYAuOktw0P6R 7acdb9u8d6e58PYNkp6VuMgKg2zaAgqX6iIhJfVR5Oq9gI7NKjjs/3nGN hl/ZjT4SyGX9Rv1qxLe97LfyT/2a3F+en9RiaElBTyJDgJBEeZNHe+xxI Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017085" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017085" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291657" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291657" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:54 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 4AC0C706; Mon, 20 Nov 2023 16:46:45 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 23/24] i2c: designware: Get rid of redundant 'else' Date: Mon, 20 Nov 2023 16:42:05 +0200 Message-ID: <20231120144641.1660574-24-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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]); Mon, 20 Nov 2023 06:47:54 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094888840160765 X-GMAIL-MSGID: 1783094888840160765 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 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 Mon Nov 20 14:42:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 167210 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp2253271vqn; Mon, 20 Nov 2023 06:50:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IGTMj4Y0rZ95fINLaU7j0RAFLnap0Sl8EM7prRTmX8sNJ0+Um6zD8lL5UuM0FuDrFGH6R0u X-Received: by 2002:a17:902:e852:b0:1bc:1e17:6d70 with SMTP id t18-20020a170902e85200b001bc1e176d70mr10852115plg.24.1700491823827; Mon, 20 Nov 2023 06:50:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700491823; cv=none; d=google.com; s=arc-20160816; b=QavOux+FpiJLR+AoOfwlL0YLy+saBAQxvdebpe1rKwfZRsb9+e2ZenyGg7B51EJlhk 342cuo4jEtpzVd16S2TwioLt9QEqUXlEXOYLCZ6VXohGIybtUdyaD9/T8BAMaXMpr0GS mTAH/fgjIUXpLbTOXMuI6IZlEyI1zijlhIFCnIFqG2ODF7mumUph3fk+Rmd67zdX3nNe 9LKA2DqvSFosbOLegjOn1icyMdbOuDkvOm0Vd15Vkik1zzxhf6QTiPJegNGFt1tWAQys BFbbWoc932eaGAtZFTu3H8KKwfpbG5dxxoXYkGUIWPA95vnXcpbgfygAI4nuBHSiuI7L scVw== 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=l8hJhwaEs+XIYb9OEp6tyw0zXuzGjb+9DaXEn8MvWM4=; fh=g3amdiifXhwL/mTWljo4oOX/iLvH3RCBC8SWsJqOWek=; b=lSF84AyZFr9GEr68F8btZq+N6psVtXjS/FtHpbIx6VGfS3jUdGqD8fgptT+pmX4qML uYL1/KMYOJMq81nvzFxBMGy4ItjI4JPbSrb9IYFc8HZqxcAPM4T06kYwQS+dkPyRHna0 3YquFGam+KgJrfX+dzGAyDdnNd6G3T0km+r+3IzbLucFbgzBzmGJDQtyHtnKAD5vMNWF 0ZgmE41WreT0rXx0zf+2KRd4xy3cUQT6eeJ3I9DyIFzcWURb2r3Xmn7JjzDZrPCb9acM IXgodQBAHX9SbqYqeCNkp46uRP/v2UPzrEg2oPc4jn2uCdtfYu8brPyGpnvP5qcD2ZAl EtMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KvrQVnbg; 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 t12-20020a170902bc4c00b001cc3b988fcesi8073822plz.187.2023.11.20.06.50.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 06:50:23 -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=KvrQVnbg; 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 3E4828025BF4; Mon, 20 Nov 2023 06:48:22 -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 S234131AbjKTOsG (ORCPT + 27 others); Mon, 20 Nov 2023 09:48:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47232 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233876AbjKTOrI (ORCPT ); Mon, 20 Nov 2023 09:47:08 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2D2ECD71; Mon, 20 Nov 2023 06:47:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700491620; x=1732027620; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=H5OX7CLCWf8ZvXE01SKLbtt5d6EZIh6rMIWjVSE/85w=; b=KvrQVnbgvk82ke5pLOOY088amrNx92pfJ8iGEQ5Vbe7mAxl4HRh0oi8O hhLCWlynJwE0b5Iz0CkhK3AHSjJdatHJ8H3sbWHIkxcAB+axe1iCdtIho 5QMWCcf1cczAFzMBXHVJt9jRuTOfrAcD5e9FqGK/QRq35EQWaLsr+4rBJ bfuI0cEoUEtmp5y/TzghPbCtSgZzK7qio0Fzh3+ik0i4DEPj7LuvRzjzm hfn+MHXgm5glTpWTwcXX1BIbFD9qF+bejMOZg3/Av1aIpEeU5FfxOR9/h a9oikSlyNZkoBnjBg27Jqn8UoQnCncr3FqIJsRWbvXcssGNZzyi++cHiB w==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="382017087" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="382017087" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 06:46:58 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="832291658" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="832291658" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 20 Nov 2023 06:46:54 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 51ED970A; Mon, 20 Nov 2023 16:46:45 +0200 (EET) From: Andy Shevchenko To: Mario Limonciello , Jarkko Nikula , Herbert Xu , Andy Shevchenko , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros , Andi Shyti , Philipp Zabel Subject: [PATCH v4 24/24] i2c: designware: Fix spelling and other issues in the comments Date: Mon, 20 Nov 2023 16:42:06 +0200 Message-ID: <20231120144641.1660574-25-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231120144641.1660574-1-andriy.shevchenko@linux.intel.com> References: <20231120144641.1660574-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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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]); Mon, 20 Nov 2023 06:48:22 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783094914450446271 X-GMAIL-MSGID: 1783094914450446271 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 Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-amdpsp.c | 10 +++++----- 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, 30 insertions(+), 23 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-amdpsp.c b/drivers/i2c/busses/i2c-designware-amdpsp.c index 63454b06e5da..8fbd2a10c31a 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; @@ -210,12 +210,12 @@ static void psp_release_i2c_bus(void) { mutex_lock(&psp_i2c_access_mutex); - /* Return early if mailbox was malfunctional */ + /* Return early if mailbox was malfunctioned */ if (psp_i2c_mbox_fail) goto cleanup; /* - * If we are last owner of PSP semaphore, need to release aribtration + * If we are last owner of PSP semaphore, need to release arbitration * via mailbox. */ 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; }