From patchwork Fri Nov 10 18:11:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163917 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1320014vqs; Fri, 10 Nov 2023 11:01:45 -0800 (PST) X-Google-Smtp-Source: AGHT+IEcwY86xAtX3/l3qCHpPe4m1nyRVTsZwS6oa/wWc3e6IC78bZBR0uujEG8RrwB3aun/LzSa X-Received: by 2002:a05:6a00:124d:b0:692:af9c:d96f with SMTP id u13-20020a056a00124d00b00692af9cd96fmr9088062pfi.1.1699642905192; Fri, 10 Nov 2023 11:01:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699642905; cv=none; d=google.com; s=arc-20160816; b=jK+VCnIhp3HPPjRsudKpW1DhSB9YpJMuIVe8TzBpNDER3BjsE43qCIJIZuMSGy1gom 8AqagWlsF1JR/JpeKu+a4YKsHImlWci7OXu6OotopploFwMzftk3BYNhuFr1f1HhpUJl s3mKkAF/Hd72A9aNytMjdZRw6cQrx4TIDoNvkRluk5VKtqhrGIBOOZs51Q+G06JMVB+e yXeF4Cnb1XxsbDeJUqYfn1iuFKaNGe9dv7Gmqrb8sO+dq0wwt89jKlSMjnNCPHgcm1b3 tMBYZJwGowyxv4PiILZx5cy4Zl+DW7mJM3SjTvrjTFT//Fs+1+7Sv+iBbstu39l8M/gt N9hg== 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=TbEBGZmK6OQWVs3P1GXX1cKUMsa7Nm80oXELaZ625Rs=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=BiG+8fV2Ysc8/OI6YlI6qfNFSWldhzw/MUDYPHm1PnBAL3GarlhFnPuoaFnTHOeJkM PkHalG85+YvDQ5GzasxseZS9EEzQlieY5vKBmUx0TnSyE8zY4ZIdTq+uTGH1/6yqPGtD btrWWg6Bn4csrPAH9TqjrUatoakQXJo4DY1mZta2L8qPiceQVf6D02pagmwRXLDlL0Fq I9+a6EtxR/ZxLbGkHXfajGn1sjTjeJIgzcaxP3uKgLFNTq3C6Awx+eC7A3VbogGsqm3y KDJn3Reshe8/iVgVJKH/BdMr36/bmmQsZu+T5vVj9wyRGhf0onbCq9SDsk8W5u1nm2pq tuhw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="it9/+yVV"; 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 v202-20020a6361d3000000b0055c1760dd8esi11127pgb.380.2023.11.10.11.01.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:01:45 -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="it9/+yVV"; 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 34318819E158; Fri, 10 Nov 2023 11:01:40 -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 S236010AbjKJTBN (ORCPT + 29 others); Fri, 10 Nov 2023 14:01:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46186 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235960AbjKJTAx (ORCPT ); Fri, 10 Nov 2023 14:00:53 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6028E1DF61; Fri, 10 Nov 2023 10:24:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699640658; x=1731176658; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=XYkHs7aZvf3egWebqSD+gvG236t4GW5jLlJ3MZImh9A=; b=it9/+yVVYyBy/PrYEI2uQKo5R9TLjBAICtpovst4vTXyT2SEgJsqTqV2 dskota8ZhMFJrzuBTVqoccEQaRrfxe3F01Lf3WjXCjFkTpgf5HiOyiPNN QVwVhMZ1/B/A4R6ryfSCpmZSJ1YyBoQ2tyoYiI4r52klyNdpTcyHVSRGX ciWxyIET6cRb9c5Uikwga2dCCTMC2IU4ar89zPMOnjYmxZ+0lFDKx2c/W qr4YD2iHR7eU8hvLjho/jJOB3eMv1/mTTbpBbF28aXe9ByB8Z1NVLR35Y sl/q3ui/x/8GcMVSJNJOu+L/PeS4hRtVomeAGQSOTBVvA/bjPaKOghinV Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="375251887" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="375251887" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:23:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="798663739" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="798663739" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 10 Nov 2023 10:23:08 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 57E4414F; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 01/25] i2c: designware: Delete adapter before disabling in i2c_dw_pci_remove() Date: Fri, 10 Nov 2023 20:11:21 +0200 Message-ID: <20231110182304.3894319-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:01:40 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782204759359611770 X-GMAIL-MSGID: 1782204759359611770 Make i2c_dw_pci_remove() to be aligned with dw_i2c_plat_remove() on the sequence of the ceasing I²C operations. Fixes: 18dbdda89f5c ("i2c-designware: Add runtime power management support") Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-pcidrv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index 61d7a27aa070..35d35d7c8e23 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -354,11 +354,13 @@ static void i2c_dw_pci_remove(struct pci_dev *pdev) { struct dw_i2c_dev *dev = pci_get_drvdata(pdev); + i2c_del_adapter(&dev->adapter); + dev->disable(dev); + pm_runtime_forbid(&pdev->dev); pm_runtime_get_noresume(&pdev->dev); - i2c_del_adapter(&dev->adapter); devm_free_irq(&pdev->dev, dev->irq, dev); pci_free_irq_vectors(pdev); } From patchwork Fri Nov 10 18:11:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163927 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1324184vqs; Fri, 10 Nov 2023 11:07:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IEvccRHDgQI0INnKrkg1aSa1rAmfeDXhLD5dz5WaK0u6sx6Wmrho3TIJRSlLoux3jmisJym X-Received: by 2002:a05:6a00:2911:b0:6c4:d13e:333b with SMTP id cg17-20020a056a00291100b006c4d13e333bmr3733476pfb.23.1699643269118; Fri, 10 Nov 2023 11:07:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699643269; cv=none; d=google.com; s=arc-20160816; b=ivsOahy+xqGHA5XyBmZ+0DTCto1QmnFihlm10ltwdsYh5/dK3EcDSg4E9kO6nuSouV JKVKhkqrjTeGHpM7zGPPu8WNqFdSHOccdKp+kl4mvxEH4auewtNc5gb0ypRD3KCXWg2w 3yNeIEqOdEzqRWlbhNoqdlPeYNcbNbjA2ONh+uzkZQnKWF34LJz1kJONyZtOw9WIb2kG ZbCdEL+aBub91wXEkiNk008wgMKsSHzvh1si9lVaqHgCefjj//SxfMK4hDxhqGM2K4NN PmzpnmdK8QhdFqpD7Pb5Xi4YQ8INR8Ng7c3wOnARtywx5x48imYYUThjISk4E648MkF2 UfcA== 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=oFejuWDWpfj4X0YpmGTI/g3SPWMAQ+Nd6+XHAtQ/hAI=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=cynNJiyh6OQ8dKC5WOhySnWuxZQSPbglq4tTbwf+7pQHn3UfYfbtP0wD1GatUTmG28 75OiXDRF15vQn6QXYPBHHvS1Gzmgd7kSVI5/QqnrgWKVqQq0eEmIBjAnAcwjzhxOiVAf rQ0T0PJejujlVFmQM28kx2uP0tWpSehEzYy1Ubna5os+QyDyY9XfZ80ODuBCEbfajIyO 4zVCpuxiEKhuaJsqTFyZJvggRQVsT4RMvMvWmxjBuUcZMtQOeJUPLksj/8w2p3gnnWz2 LfmlrAmd0gQQ8inNUcu94b/rtOdEXCPewj/Sf3A9ncJ5NYmMhvfp5eeN59nLFGYuk5Pj 02MA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=IaVcnqaD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id f19-20020a056a00239300b006c3077a340dsi57581pfc.285.2023.11.10.11.07.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:07:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=IaVcnqaD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id EA6A182A21DA; Fri, 10 Nov 2023 11:07:44 -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 S229920AbjKJTH2 (ORCPT + 29 others); Fri, 10 Nov 2023 14:07:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35444 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229524AbjKJTHL (ORCPT ); Fri, 10 Nov 2023 14:07:11 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4DA4A69B50; Fri, 10 Nov 2023 10:31:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699641092; x=1731177092; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ZW/QTtMTJOHD7YAVCGqQfN6rvkOgtMt7/eliDRM3ikM=; b=IaVcnqaDyvMWpJMZsSyV/bKNaq5pOv7gMvDAC0VjrZzStHwLWnab/BXq urx+PvGzo2PCIHS6YDjyZ35GMAyPzI99V9oqNxeslnpl+Xat0EN9RaDvx dBAU7MPZ+YlqwuCv1md3OGnQ4Tp7g2ynkcRV5zZAo0DX2wSy2dOQaZCeM KgJZF4nLLfR7SltDaJ5U6SFqmA8H06BOyZDa21wZAvkBJNTNztEtFsWcf 1IYs102G8dTSuSqViOUH+xRsFcTzNt2sBcbUw/cwOWvpnR+MewvTDj8Ix ++EFw1uIjUjPFXpzqq9k1bxi2GmeXr7NjznIJ3uDqOYgGuQBVX1uY+uYy g==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="456715060" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="456715060" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="763808265" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="763808265" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 10 Nov 2023 10:29:40 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 63DEE76D; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 02/25] i2c: designware: Fix PM calls order in dw_i2c_plat_probe() Date: Fri, 10 Nov 2023 20:11:22 +0200 Message-ID: <20231110182304.3894319-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:07:45 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782205140411453847 X-GMAIL-MSGID: 1782205140411453847 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. Fixes: 36d48fb5766a ("i2c: designware-platdrv: enable RuntimePM before registering to the core") Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-platdrv.c | 28 ++++++++++++--------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 855b698e99c0..8b0099e1bc26 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,12 @@ 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 = i2c_dw_probe(dev); + ret = dw_i2c_plat_pm_setup(dev); if (ret) - goto exit_probe; + goto exit_reset; - return ret; + return i2c_dw_probe(dev); -exit_probe: - dw_i2c_plat_pm_cleanup(dev); exit_reset: reset_control_assert(dev->rst); return ret; @@ -411,7 +416,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 Fri Nov 10 18:11:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163926 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1324034vqs; Fri, 10 Nov 2023 11:07:35 -0800 (PST) X-Google-Smtp-Source: AGHT+IGEVTqs50JzEeQ0WRtXHaCWpBoKSP7j3CyKe++Pid8uhVokx7wuAnvcYjT3JfXQ2Nm/HWrb X-Received: by 2002:a05:6a21:4881:b0:17e:92b0:3400 with SMTP id av1-20020a056a21488100b0017e92b03400mr19366pzc.15.1699643255605; Fri, 10 Nov 2023 11:07:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699643255; cv=none; d=google.com; s=arc-20160816; b=AgHjdJOc4s/RXxObITkZo4kfevUsVNoAPW2RFO2u3ZCvFvHCOWOItimKVdjYtlPNBD KPWEh+IkAqgOTKp3EHW9OaINqBi0xRoB2KNNeyz34OAz50PuZJjwVvsZVmF5cYvGw60h lJdL/L9vv+7hNYgsflt+8WWkL3xAuK5FXEKiIt+paxC9FYXPNT6zBiaR0C7UxLqOH/xR 573OmLoPs/r14fAXQ8LefRD4C6NGHNTZqVqsniQ30HfnjcCU9ZsjvvZo6IM1dSuI8fhg rOThybZTPCvx8V8cwZ4e/NrPqqil/v6DbdmrSIkrkc9mfh5zNRqsAqUMkMLSD+TAVsNf MV2Q== 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=u+73Q9PoolNGh+vEtSn1ThLyvAoHMwLKpTJYpYInM+A=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=HHiL/xpZpA6DBslGcCkECyldoJWbvI7RY1Ecn4I7gmvCDtzlW5IQwXFqCGPDk98SEZ /xM/xW8OtmA0e0ALNWlmV9I0gX4tUZuUAgHEjsUCnSQFlcgX9UJ1j7o8yT1Ho2/qUofU aGjhog8l4Hr4oPBwYuEA0WPfJ5ndx9vfe+/Bcq4AMug/azc+qBXx9mYRHJSdjVJabpVa mDZIB4tKLXm+NqoEkcI/mnvzx1EP9qwUw2nW+LsforoeHN3OatA4etySiWL3NTrF+36a /ciDNA6AFcUfOIiURd5tZTUF7lomAzW3MwOpuFHAnKZ4YSUyALf5TQdIur1GYCTy2MeN iRhw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="XbdZ///F"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id w9-20020a63d749000000b005b9b68add9asi24550pgi.255.2023.11.10.11.07.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:07:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="XbdZ///F"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id AD98D8386DB0; Fri, 10 Nov 2023 11:07:22 -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 S235845AbjKJTGo (ORCPT + 29 others); Fri, 10 Nov 2023 14:06:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50210 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235781AbjKJTG3 (ORCPT ); Fri, 10 Nov 2023 14:06:29 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3F975310F4; Fri, 10 Nov 2023 10:30:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699641003; x=1731177003; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=GK90mbE0EOw3ya7gSntsxAU2F0RaNMKzpLtQIiMB+v0=; b=XbdZ///F0DxMg91BknwbvxUvAwOd+OqDXw8tuxoe9m2faAsx/IZL8DG6 64NDALRnUsW3KM+TcCIHynaoV4AtJOA6xHL72VkLjhkuGqj98BXCaB/+v k+GPLdM83gLIFgI7jRh2igRZeLkyjUoBRByOtuqQZONmEcTPUpm5XKr/X PrFsds83sFFyJvCvtlRB/unukMyZhHtTF/9mMShy+7N0dJl9GZaQhaJ7Z 1f9wgooz50pNAwUYwm+fvEeJ4dqXKKe7Y0bNt8vbOSyZHkNhVLsOXSbfw oPVjRf/HEId6kojuGQERN9IeZ+8mPUvX32SLewxA6iY8GvlLSDDnsZziY Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="456715036" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="456715036" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="763808228" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="763808228" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 10 Nov 2023 10:29:36 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 78C9979F; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 03/25] i2c: designware: Fix reset call order in dw_i2c_plat_probe() Date: Fri, 10 Nov 2023 20:11:23 +0200 Message-ID: <20231110182304.3894319-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:07:22 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782205126217021130 X-GMAIL-MSGID: 1782205126217021130 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. Fixes: ab809fd81fde ("i2c: designware: add reset interface") Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-platdrv.c | 56 ++++++++++++--------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 8b0099e1bc26..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,13 +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; return i2c_dw_probe(dev); - -exit_reset: - reset_control_assert(dev->rst); - return ret; } static void dw_i2c_plat_remove(struct platform_device *pdev) @@ -418,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 Fri Nov 10 18:11:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163916 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1319602vqs; Fri, 10 Nov 2023 11:01:14 -0800 (PST) X-Google-Smtp-Source: AGHT+IGeOtEPqhPRX909tmt6CHyz0A1JudAZvjt+I0v+LIYeTMLncwGSxHg5Lzy3WX1ns28oTZfN X-Received: by 2002:aca:2417:0:b0:3b2:e5c6:23bc with SMTP id n23-20020aca2417000000b003b2e5c623bcmr191671oic.52.1699642873666; Fri, 10 Nov 2023 11:01:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699642873; cv=none; d=google.com; s=arc-20160816; b=UspfF/TY7cTIJkHfcXxdUGduDaok7aQJhAVEIkyhD+ugVAK7A7xDeOxBFrWHM7eFQI F9dYeatmPVGI2UDV625njgtoizPpNsQ7BExsePaS1M2IU2kMa3Hgpo/JjpJWuDOzg6SH izH5jEXsxhSZUZqYtjer/w7E9U5o2EIZdTIF2aoxLOSYJF1I4lTW2KcREJRmPVPeR2JQ 5fcPl0Wg3SPi5FKD4F3RCtTG4e1DxBztQk/RWU5DJsucqcwW4l6EeEDYStY8GEGxHYEH jqyb4dSI7LNevwrNaAxySUXiTfjLgG32HqA7L3RVaVE5asW3QxbWGBfwOL51v9wvgKxg dudw== 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=gCCEuL5tKp0L/n/dKfTEJogYeLdtSxr5vBZhU0xevZI=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=qo27X3GBC13kvmtzJ3AfNpv3z0XxUjQqfYZFvutMUaarjni9wC0/THkEfwTWhdoztZ V/ASDId6PpXdrprYkDbyuc1nLusNZ7AnIWYQDDOSH0UU8SImqP1NYsikWL5w6IaLzl13 vucz0iGxTbfYTI1OKkPvolukQSLIRtLKHEVkRtyH3lbLeH1gjGav3gyohJpeCwJIj4NH P4wcKtFxsjRFufMV1KkWH/pwHSI6OOwQT3fVJkPRKzhfh/Xm94Ab02wMbUN87HrmOcHS TxyFNZf8ML/1sw4XFjwHq1nO7GC5STw28wez0G3aBksr/+fqaPpZ1HDIDaZWcrgYlbk+ carg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=QC30o9Uf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id w16-20020a0568080d5000b003af5a2920a4si30434oik.58.2023.11.10.11.01.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:01:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=QC30o9Uf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 18D3E80F8217; Fri, 10 Nov 2023 11:01:11 -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 S235879AbjKJTA7 (ORCPT + 29 others); Fri, 10 Nov 2023 14:00:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38938 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235882AbjKJTAn (ORCPT ); Fri, 10 Nov 2023 14:00:43 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AA3962FEEA; Fri, 10 Nov 2023 10:24:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699640650; x=1731176650; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=kVG773duH+EOCyTkARxisz1cA6Q+EAf5xrvsYKuVvPk=; b=QC30o9UfJC/ujHRQjt4eeus/F1M0jy2PixrxDrEETiaLY7dJqyfn0+Gv 6U93WjSkznr8N4EshzzhgnzY1WisSWXK+3h2aTUHe1/Aubs/tC7bjIfKV MH+5L7Istx1PJxjDzpCr9C9yOqWsg4Ow9rruAbge/Cs9E1ejQ3Ta6EM3A KwkV9kUFt7HX2RhdBDXYBCI4JS0Ol3wBjx3RGddbWghpC5gmeBCw1wguR lZVNhOzZTH3DWY2VsPHftRvBDuq3PuLkzPI9qSAvs84gJw7wQbjOtxU2K N7KM78y5jbXoJJUaYz438wI4FFGQHG4ocup9ec2o+lLvFz0M5eTcXoUjf A==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="375251895" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="375251895" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:23:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="798663738" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="798663738" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 10 Nov 2023 10:23:08 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 844637C4; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 04/25] i2c: designware: Let PCI core to take care about interrupt vectors Date: Fri, 10 Nov 2023 20:11:24 +0200 Message-ID: <20231110182304.3894319-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 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]); Fri, 10 Nov 2023 11:01:11 -0800 (PST) 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782204725996813579 X-GMAIL-MSGID: 1782204725996813579 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. Fixes: 21aa3983d619 ("i2c: designware-pci: Switch over to MSI interrupts") Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-pcidrv.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index 35d35d7c8e23..175aa18f1a04 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); @@ -360,9 +354,6 @@ static void i2c_dw_pci_remove(struct pci_dev *pdev) pm_runtime_forbid(&pdev->dev); pm_runtime_get_noresume(&pdev->dev); - - 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 Fri Nov 10 18:11:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163928 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1324200vqs; Fri, 10 Nov 2023 11:07:52 -0800 (PST) X-Google-Smtp-Source: AGHT+IHDyzLr63Te/Ncg+8CN83X1PTuyn+awWFSKrpYdhJ9fqgjwgaWjZjBSI7PG1m3qcW0bsxIw X-Received: by 2002:a05:6870:4d0d:b0:1e9:934d:514c with SMTP id pn13-20020a0568704d0d00b001e9934d514cmr67878oab.50.1699643272020; Fri, 10 Nov 2023 11:07:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699643272; cv=none; d=google.com; s=arc-20160816; b=Sra8sILiF8raGxJsVuQkyC1ntArH3jTyy3EtpotZHi8fMMN/fV9XeBeDf2eU05bEAF 46gl9R8McY6qtZnSLNxwlruZdCB3RFqpVRrN+DaLRYJCsPX3uwBoVUsOJ7W7DmhZqQTX WaC1ki96pR/ezJ+9GsUndvGfJ9CbLYUIhCEbLg/b3SFqijsJqIdNrctKhfcAOArVKrbD meHqoYqB7E3tGuqL/JTfH9kdiA/V2Nh91eMJOQOSxW8QXr6TrU6844znEB03y6l+Y20g XT/N5wm5MApYP0b1KF0HGCRKcHszhywawQbyoI+mVEZengmGoTuT7Nl7kXCzBLsL7XEE 2D2g== 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=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=zoNltR36Qgl2c8jCqvDt1SWiOk9RNizl6jcBq4tXrB0agiQAXC2w1LbPQ6SzfQQw3d cWF51qMyErbixn4ZxWiFwYUQXD9J2EPAWIVraDMs4Gp1W3jLwk/bGnX7tpth/G8tC8vc nDjrVDe0E2Mj/T95pTRZ4lai62HU9zWCgjd4EVkvbo3QNlJYbpZrIYEh1lcevHBUZ6Km X47dzdlMN2uA+MnajttRZYtT5e01Nu0eBluXJ0vb05iS9mfq728cnSgS9716ulD8sk5C wrmSe5yGRhUa5y46+s3sZUIwlCaDnE8jH+1TklvUsAqPYbDRq/lyRju0MvzxjxKgnp9P CLnQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=RsK4Aog9; 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 h19-20020a056870171300b001e1e36afb87si72651oae.112.2023.11.10.11.07.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:07:52 -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=RsK4Aog9; 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 7AFD880291C6; Fri, 10 Nov 2023 11:07:13 -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 S1345123AbjKJTHF (ORCPT + 29 others); Fri, 10 Nov 2023 14:07:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49360 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345168AbjKJTGq (ORCPT ); Fri, 10 Nov 2023 14:06:46 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 28EEC1288FE; Fri, 10 Nov 2023 10:31:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699641063; x=1731177063; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=So8kYJoKij+VCNKaGUL34AujAf1NZ1x9lxbojhvLPXI=; b=RsK4Aog9zMwUU+woRGZ+AdPBuQl6F3QgfwgzLEryLxv6Fz4ZMpasgxJc fAZY6IN0iiw5mTQU2cmKur7zx8BxDhXP8p5F4+DlbwHIjwieNMy6cukhN F9C3qv7pPViKyHURwcU/nVqyuAgfq9zkPX/qMVdP9amgXef3HfC2uFhQd kIJ7L4FvMgTnF6rl518aZb4fqxHw6G1GaEG21bBGTkxAVwKnyFqq6Uor9 X753nvHDj2HUvCvO0wGWPLeR9VFuBDemBiEqRGQB4dlm2HUcdv+jSJv7W pZBtAWE+QVgTyUP0HzeoiGeEk8KVBIRHV48xYBKpfl4dpDQgHfC/cnVFi A==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="456715051" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="456715051" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="763808231" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="763808231" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 10 Nov 2023 10:29:36 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 9068C7E7; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 05/25] i2c: designware: Fix lock probe call order in dw_i2c_plat_probe() Date: Fri, 10 Nov 2023 20:11:25 +0200 Message-ID: <20231110182304.3894319-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:07:13 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782205143726253662 X-GMAIL-MSGID: 1782205143726253662 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 --- 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 Fri Nov 10 18:11:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163931 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1324331vqs; Fri, 10 Nov 2023 11:08:06 -0800 (PST) X-Google-Smtp-Source: AGHT+IE0BayldOxdB4JOIrWbqsZpa4IFGYUark4IT9Ry9dEIk0x8QTaX63DwYUKJ790rzck4TyHy X-Received: by 2002:a05:6e02:20c5:b0:359:47b9:7bef with SMTP id 5-20020a056e0220c500b0035947b97befmr356363ilq.1.1699643285812; Fri, 10 Nov 2023 11:08:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699643285; cv=none; d=google.com; s=arc-20160816; b=iq6r0hm+biB3ebEYoz9w25bMDWZVvRR3z3jvb+bNcdi7wPdEedStsiggzW9WWKJuFK paeeAsQiOSqYVaWO+298G2MJ09/NlKKMKTjRRoYxH3k1wjb4dCoZoxFITi/LWIdvpJJ/ +1Fjs/HRzwAPIn9r+4U5RQaoYeHOMP0w9kfQgEtw6O6Kocijt05BJDrkAi8oL/U8GPzY dIuxx6fv4WppwN77MPOUIox5+M+HAJmYhVag2+9TC+xip2xhmgNClXzSz3LU23qiU5mo qdzzEo2F2uVd9dtzVb1LLHkNbwXn7LG+u8PtCzgoc2nO0Nam12l4W8LTimOLe7596piB 5erQ== 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=OdWw+/LETCTpMB7isv+gmUKAkIH4sVi+elJyv8k/7VY=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=I9Rl6m4mu6rS75WyD2KmSaNYEk7g6IfkYDtfLlbekd4Qrd8caaNZjKDfL7J+ihjjW8 8wNiuF+Pou5sXf+0/fNi+gWw6LqUqup8pNLoTvBNOmxyRBIgmPwivrutxnD/imj26M9e +3u+lK6qeS03PX6Fylxkm+MSArc5w2czY110kmdNSioLL1HWPZ3qIlUCChIOSkJNI8/i 26vBq9NYeArbWKlcweteYn/HMfSAaHHpfq0ZGPNGcYh0nsHjo5IrcloIjI48dkhJvuqA XWMZ0OZv0EH+LdVBtElrMVxBMWCEKyHvPHMnPNKRM9XcGNTkqC6mW2MlNmP2kQ4Wcyb0 Hqug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ns9P5a2o; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id h63-20020a638342000000b005b928e3942csi34636pge.74.2023.11.10.11.08.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:08:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ns9P5a2o; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 8921B82A21EF; Fri, 10 Nov 2023 11:08:03 -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 S1344930AbjKJTHp (ORCPT + 29 others); Fri, 10 Nov 2023 14:07:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235717AbjKJTH0 (ORCPT ); Fri, 10 Nov 2023 14:07:26 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0352C27B30; Fri, 10 Nov 2023 10:30:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699641003; x=1731177003; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=FtWCs8mUEVjet65jeUzSbd7yYe6/fT5WULvkbUviyec=; b=ns9P5a2oesVL6BGaCMLAf0bisKbihQ+Y2MChHyTOb+0Hk8Qq38V4thu6 NksBtUPr77bU6gzUWmlNKSz39KXBPtDl9iJZnhkebwyKbqjwp4Ywh9E5l rLKhsWMzfNSzoL8Qsv1QbdNtwWAFixfSUx6/ff4PnyfkbUb8CPOfHrzzs 1EWfh/uI39NAcT6WxfFIXPvFqiEaOhpclbhMlrYfUh1fAVNjwBn/+FzuK x1i0lJXoAqqyn/aL/8BpacQbl10VNLu9Gd8tNmniIRNs5pcUrnQkKI7Jj eSrdpS6KsV/Cf+n7iO1jYt8h1wtY7yOe98qNCuyYlI6HCwDkKehiu6YXp Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="380606836" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="380606836" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="792912159" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="792912159" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 10 Nov 2023 10:29:36 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 9F9A97F1; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 06/25] i2c: designware: Replace a while-loop by for-loop Date: Fri, 10 Nov 2023 20:11:26 +0200 Message-ID: <20231110182304.3894319-7-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:08:03 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782205158134714226 X-GMAIL-MSGID: 1782205158134714226 Replace a while-loop by for-loop in i2c_dw_probe_lock_support() to save a few lines of code. Signed-off-by: Andy Shevchenko Reviewed-by: Mario Limonciello Acked-by: Jarkko Nikula --- 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 Fri Nov 10 18:11:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163930 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1324278vqs; Fri, 10 Nov 2023 11:07:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IFfFTuwUvMSwyFaNXmPHavs0bbFfNNYyosjqOB8nD4Z/Eu+Hde4wC2LbwaM9/wxxPBwsmDp X-Received: by 2002:a05:6870:41cf:b0:1ef:8517:ef6b with SMTP id z15-20020a05687041cf00b001ef8517ef6bmr87762oac.43.1699643279735; Fri, 10 Nov 2023 11:07:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699643279; cv=none; d=google.com; s=arc-20160816; b=EOetOTnVpYiQW8D0yRjYtHIDHuYAA45wz4pMJC1DRFEkPjqhezehILTkp/J3afPd93 ioBWGgQTcnGlopNHIFCZQCLJ3vsIwl1N162TgPpsJZhH0sy2Ij5qIS/R8VVu/HoiPFcE Wvg5Ud2IaJTLn/mzev+KlbbYzg0o9WhUqvxQe+AfRl6yvGdiZm/6fjj86vx7FhwbBKKs tYydy5CPLbUtazJsVniIRtJTV9x91n9Ap+yeJSaOZFNNsuVrFl2lRcH+DL0c80/8ItO6 ijr94fE2xzhzJ9ptPSbZe9+OsCGM6F7Ip2W2l+jltk7meQN+CBbFoew8XM9UyNTnsf2F BJCg== 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=rIuRdIB/N6fR4r0wGrjYF2ibYYVtBmAAkaWSmSUBMCI=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=apd8ouxGNNtodIWV47V5EcqB89iTRwhaxd0XAFrEqCj0tu5FZiojCBeYqTlYMQvf0b MclzwTjJcgRXZYemjKbAJV3JOAgNcjIYI1D8PhvwQ//fkP9a8zteJZE/xtXelI15ls04 ekF72l0/fv4qrXsG3khvjYaK7WbmXH3JmMCa8onXKZC+xZhHJcEWST1Yg26fV8bKvZIx kAQs2jZTiT3B+6oYTeXsUdvnj4PuKHZzrsc6kvYpi+7ZFoX0Xf9XEJSYTFeyzzUS2k+J E757NJhCZ0kxz50j9wEtn0T0bgD2L2t0rytNY626avcJl70I1VDZc5ySl+bWw+vYUMl8 GvwQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=XRpPg6QR; 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 a17-20020a656051000000b00557531eafb0si18949pgp.559.2023.11.10.11.07.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:07: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=XRpPg6QR; 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 E786583BF23C; Fri, 10 Nov 2023 11:07:51 -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 S235768AbjKJTHs (ORCPT + 29 others); Fri, 10 Nov 2023 14:07:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49484 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235698AbjKJTHd (ORCPT ); Fri, 10 Nov 2023 14:07:33 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E0D8B43F24; Fri, 10 Nov 2023 10:30:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699641006; x=1731177006; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8Ch616RIiwMbi+7TM0+OouYVFx4BrkmdvHXetfyjPF8=; b=XRpPg6QR9JSZWAJzqQFr/TPEOV1dwyAbwUUIYBxG4nN9c1dOBpCEJY5g gEz1YiL3kg4xPOF4wVLBQA16Zts4INzneWCKp+wrCaQVw1GcjrXGL7GtU bmXwpirMXg5O+BkUFuCZC+7aqoWTpSSa3DrSkWFQVoanhLngcUbtho+ff o+O4LiG+8T1H3yubegzT6SQpxlOfIbIY7bOSF9zBNBuvWlYhireDpEv9V IKFbtfQwd7vH1l6Za54rSj33XkDIL4aX94ygdsdbEVPUUBwgBxol6DYvM pvuJ/G6hUuPSaY1cQVk9Cuv9wfZV/PgdU1EOffYOqvX8ThmlCEx+S7l/F w==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="456715043" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="456715043" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="763808230" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="763808230" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 10 Nov 2023 10:29:36 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id AD3C1812; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 07/25] i2c: designware: Save pointer to semaphore callbacks instead of index Date: Fri, 10 Nov 2023 20:11:27 +0200 Message-ID: <20231110182304.3894319-8-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:07:52 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782205151570620041 X-GMAIL-MSGID: 1782205151570620041 Instead of saving index and do an additional level of referencing, save just a pointer to the semaphore callbacks directly. It makes code cleaner. Signed-off-by: Andy Shevchenko Acked-by: Jarkko Nikula --- 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 Fri Nov 10 18:11:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163929 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1324245vqs; Fri, 10 Nov 2023 11:07:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IHuG8QSV6rs/dmLhptYFdsOefb8cE/srspqEt4731O6oEJidqQkgOXZnbBZXxDTyRkh/ljJ X-Received: by 2002:a05:6871:438e:b0:1e9:ae68:fda9 with SMTP id lv14-20020a056871438e00b001e9ae68fda9mr116393oab.10.1699643276885; Fri, 10 Nov 2023 11:07:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699643276; cv=none; d=google.com; s=arc-20160816; b=RHKNS/MTlRyS3BVaZczBRA/73JTizG7R9P3sbyaZwahXJifWVQ2GGfWFsAkD2vbTdq FjhiAll16rMZirhxPKLJHQhVG3IZdEY9qixA4Dur9LlOhQLFhyzvFCTcJfNUSbdN/WbR 6wnfVULRlKPZCP4vkwT7FDmEhwDGblq5Yj/DS4F1ydByMiAtmrZbqOv5+SwU+/diCL3r XCdeKWRWDzmV9NyGlJZiPrgN5bqrNy83BfdEimPWSa+QADjOIIk4ZyCUZmV6aXDjha8H ew0jHYq5EIQK0HYHem/YxFs/0u9mSg3KEkuebUtkMcuRTn+lPI55ixQhltS6a6xkgpC0 rREw== 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=+qbC7YXeqPEz91y4HURzAC/+frWHKzHvXpyx/MDJMxg=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=sxMbD1BITZpUK7qvixwIOQ2UcqP2ErdPRjD0zGvwQ2uH7RkOUonPKOk7h+5N6hLW3t z3Xw1NmaCdTxj9mC0c68WnWbzmz7ekdxfHJBNj8hieYzZHKa+Yjmay/zBqT6cyrENLXN 9kOPiSGK7tPjdauCDoFv2JrJSck+h/dCb+20SfjsXvxyRqNjnOzqYhK05uvQDJy/Ug1x Rew21zMQaWVfcLY+oathKTCgGOOVjb2umUPk1E6pRfLnn3ADzIIop7I0Zci79C/IHfMq K5yK0PzMcGCSDo3+TEk1N06x6MYI2zU1TOhowPsU0quGl7stTcGwZQvBoDAZcyETifsl oqww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=dZOkCWKj; 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 lc3-20020a056871418300b001e1fd30238fsi76007oab.7.2023.11.10.11.07.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:07:56 -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=dZOkCWKj; 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 8C15680DF27F; Fri, 10 Nov 2023 11:07:32 -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 S1345635AbjKJTHX (ORCPT + 29 others); Fri, 10 Nov 2023 14:07:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49596 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345518AbjKJTHF (ORCPT ); Fri, 10 Nov 2023 14:07:05 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DAE6762CF3; Fri, 10 Nov 2023 10:31:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699641088; x=1731177088; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=eidm3WGoLQyIQ+F+/YdqjYipuzRZroeIzP7JrslkPvk=; b=dZOkCWKj9EfH1fpf1Oxy9eBeRTI+J7xjftl/+lwESXuCYZ8M9MwRXV+T r8TL1juBC5/8gowZdj06AqE8RAfGan/OzDMDXxqxl9+zM02d4MWqg32yj uwrbrmEsYxW8+aMtiSeaTZE5pGEYDUCyHXLYlVID753OAnyK6bgo2y1ui g1PEyv8dYa+t7AMQhGnmGvStc0qx5Qg1Wyt2h/cFIe+szjgQmVIsuwJ/9 9OtnJ9aeCqdscyIvgyHZPHoUWhDjpSeZ/SAMcdBYBSUqoO+VF+a1YkWe5 j8eljmR0ILRCXtyz2sHRDzUur7p1V5P8hBdJGGO8lx/d2UkFI8XGEVona Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="380606864" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="380606864" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="792912169" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="792912169" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 10 Nov 2023 10:29:40 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id B742781E; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 08/25] i2c: designware: Add missing 'c' into PCI IDs variable name Date: Fri, 10 Nov 2023 20:11:28 +0200 Message-ID: <20231110182304.3894319-9-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:07:32 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782205148806050609 X-GMAIL-MSGID: 1782205148806050609 Add missing 'c' into i2c_designware_pci_ids variable name. Signed-off-by: Andy Shevchenko Acked-by: Jarkko Nikula --- 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 175aa18f1a04..d2ed4e77afb3 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -356,7 +356,7 @@ static void i2c_dw_pci_remove(struct pci_dev *pdev) pm_runtime_get_noresume(&pdev->dev); } -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 }, @@ -404,16 +404,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 Fri Nov 10 18:11:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163918 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1320406vqs; Fri, 10 Nov 2023 11:02:17 -0800 (PST) X-Google-Smtp-Source: AGHT+IF+X06YG7mUlpEVKrj0rW87AX466kyPbr781+XZhQFiPOygu1CALQiJ5ft1TDUMICTMPWmn X-Received: by 2002:a05:6808:112:b0:3b2:e577:7339 with SMTP id b18-20020a056808011200b003b2e5777339mr167703oie.41.1699642937086; Fri, 10 Nov 2023 11:02:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699642937; cv=none; d=google.com; s=arc-20160816; b=Yp0htATPU5VJfU+Qi9dL25M6esYME5VQEniKUgKEjJX4fQUPQG3TPBeI2KT2BY/iIA D2qQz2FS8QlIZb85t7lKALKDiiJS6NbtbvX/OKho9891L8qVJbB4hx37IjOc22eROn7F ZO1e1H8QLjA1U/UDWQZmHO7RsXdWLtw7/LVtLN8fevBLufGnXxOPB9FqEiTZ08+JaauA aRu4NJ2cwi+uV7HrDapdOIej11oQt9Pfu+OTUwopqlWbA98FIEiIrh6MzItcP1+44RKW BQ2tvdyXh8guNJUmmIKWGDxteys+9ANi+1GuikTEuVtYQqI9lvtuhVVFDDE0ClEjy9eQ pO5g== 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=90HpV4ytOMRYUHnHkG4j1gnMWxur4JKccA2qHlbvND0=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=TgZ5s8Kkj5J3WcPOLSqlHLIzXaDjNsWxDE8t9pwpZy5qAIIjEjTp6bmBGuXDq2qLCw Tct0q7GDb5njRs3TXxKUMaW6Dpc5eMkfmKguJKFhFdVxp2GPLUR/VKbiJKPvAdA1eyHL Q532cqvVk9baGNLw2SdBQBkyY7kDaxaWQ2IlY6QFYpOFSbNUIp8QvRp5cqnpVlN8uZeK i3Cnu9/DwmD5SoSzodjM6gpUUJTRsdfKOVQ66Wss8vjrVXPMpd6vLIh0LuM+Uefeuov+ nSakcucsAoyghPOrq0gVnqTYXllceihpQGT1ZOt9MLBdw2p+7GrETOMj4xv/jbKAMXna 24rg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=T93xu4PC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id bx29-20020a056a02051d00b005bdfd3a0d3esi26850pgb.185.2023.11.10.11.02.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:02:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=T93xu4PC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id DAF5B817C8BB; Fri, 10 Nov 2023 11:02:14 -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 S1344206AbjKJTCF (ORCPT + 29 others); Fri, 10 Nov 2023 14:02:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53244 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235303AbjKJTBr (ORCPT ); Fri, 10 Nov 2023 14:01:47 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 620DA1091B4; Fri, 10 Nov 2023 10:24:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699640673; x=1731176673; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=eMPXpCWG6Cf4B8QclIybkFC1zjR2hPsfAHy93QLcORg=; b=T93xu4PCj0QBQbFzi9l9IC5xlLfBalfd8QVHM0P8Qr+6RA2/zeFIYM9d mzMKOkfTxWBWBFHpJMq6YMUpvc+cNZDkH/R1HN4pN8jME+5NWKbkCyPWV BOi+LQflGIMqfEbuqeBPURbWhLedXapo7izuF0ylHWc40IN+Rr/bVORFl 7QN1b4r2S/GgQFZJ2DW7Uo/4OVBr9CO1BJr2b+N47vzhpahzm1pFXl5P3 M91RFBF4c/VtyIl7oQ7dalsorHy8ms/hSR6gVG8MflyziE71ou1G47D9o Z33Zk8xAWArdiYq0+YRJZGPiD3n8yPsUSZS0bwkjPCOIcTSZHH/4/AAgV A==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="375251918" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="375251918" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:23:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="798663748" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="798663748" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 10 Nov 2023 10:23:12 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id C0972823; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 09/25] i2c: designware: Replace MODULE_ALIAS() with MODULE_DEVICE_TABLE() Date: Fri, 10 Nov 2023 20:11:29 +0200 Message-ID: <20231110182304.3894319-10-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 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]); Fri, 10 Nov 2023 11:02:14 -0800 (PST) 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782204792178428676 X-GMAIL-MSGID: 1782204792178428676 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 Signed-off-by: Andy Shevchenko Reviewed-by: Mario Limonciello Acked-by: Jarkko Nikula Tested-by: Jarkko Nikula --- 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 d2ed4e77afb3..db642e0aa61f 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -417,8 +417,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 Fri Nov 10 18:11:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163966 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1347482vqs; Fri, 10 Nov 2023 11:52:41 -0800 (PST) X-Google-Smtp-Source: AGHT+IEBvBX6fiRdgDvmXHUmlzZWY/jVBOnlV0UdrISIozCDYVyH7O0bYEapOcGnZePBIWT28k0d X-Received: by 2002:a05:6a21:71ca:b0:183:d382:1c9e with SMTP id ay10-20020a056a2171ca00b00183d3821c9emr100301pzc.48.1699645960908; Fri, 10 Nov 2023 11:52:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699645960; cv=none; d=google.com; s=arc-20160816; b=B9qehoxmRMHQ3HauG+92TfWS8fcXbe/OMn1TcP/wRCYLl71/ezUDuLB6LLL9MzLr3J IN6HouNyVAoQnTZsYwS1V/gsLK3OSSLqHcELjB/ukaNoLyBsee0QsB4YR5wbLHbJTIn6 6CSof5IHlVnkNQxXV8x2Kl41h8lbG5idgaWxlT8Bb4W7xnPDWD/h4U6uxhYsxNkQhV8y jCge0LvIcyoVXneDTzvnRpAmQYOs5eSM9dsbA5+Em7oukyUopfFzlifsKS/P2aDnHWGm Tn4/rqCCkb+sYAtx1e/4Hp1g7WeCPrKVWw83bIVQ2ro+gGccq897qsWN7ISgZQIC+5d4 3WkA== 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=avVLQ7e6iSMuIOoDqNjHt0hCHx9uOrUQk9/lbFOgpac=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=thl04C6Pnlw8ESCYwaw+wahT8Zw9J+m7d3aZMwGPI8zkdmoUZNzNFpA2xJK7Y6V0zo Dg35HdS+bFjuffBEMC6ZRs7MM4cyD8FW7Swu9JaCU2BF/o75Bw9ordr4WuJelgRQ7lva ywAlfPlJGjCSPzMolmKOJCOgfxfl5+9PEDgH3t/xsAptMkwR0yJ6B9lSgdYcSONkTobi 0y5EiVtipwdA1iSyJk4XlgnHYepqCqH30GBe0MeVN9C6Bci5vISvoeS3J7GPGHOiGOfS x3nYT7noTbj1F0oSm/5n23oxxzLz/BLEu7/+BcWtOqx3UI0SMUmj6Jk/w0VRD2S91Doh 4mHA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=SwkxtQL8; 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 t35-20020a056a0013a300b006bd7cfa8497si160159pfg.83.2023.11.10.11.52.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:52:40 -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=SwkxtQL8; 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 E4E9C80620BD; Fri, 10 Nov 2023 11:52:28 -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 S236201AbjKJTv5 (ORCPT + 29 others); Fri, 10 Nov 2023 14:51:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53604 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236400AbjKJTvo (ORCPT ); Fri, 10 Nov 2023 14:51:44 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DD31F10CF58; Fri, 10 Nov 2023 10:24: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=1699640689; x=1731176689; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=t7lpDMY5V8q2UqFLVQ4gPKw1ojL0XlQrxXHVcB/Bxww=; b=SwkxtQL8CFadVmHTI95ig1Lveo5bjqw67zdR9Q4gaj5q/iLYxMhRqX0F iwaD9GC0cpSsVaTPY1LIUnvBi/RgwR7jPbCTfqyMOYXPxqaNr+R86Y7eJ VcOB89u9aKUnJTn2s8jDnXLWv3/XS+6oQtWmZOTn/9NYOZT8XuxPGb5bX vQ6m+h3pXJ9s2q+/SL0BiEyJ9s/wvsT9hjqKR120z9LLUOs1151RN5CjP P++2WUKnnDYa0w4KdcVWZyJBxs0hDEXE0dJT/VSH+JCKtI+h2KqaoNRly y9/AaAqihEnYP7Wl0eq4hiZgdxaZXujd/IcveAqWDPozc3QCDX1eDpRNH Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="375251928" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="375251928" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:23:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="798663749" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="798663749" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 10 Nov 2023 10:23:12 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id C9A58835; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 10/25] i2c: designware: Unify terminator in device ID tables Date: Fri, 10 Nov 2023 20:11:30 +0200 Message-ID: <20231110182304.3894319-11-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:52:29 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782207963257617323 X-GMAIL-MSGID: 1782207963257617323 Make the terminator entry look the same in all device ID tables. Signed-off-by: Andy Shevchenko Reviewed-by: Mario Limonciello Acked-by: Jarkko Nikula Acked-by: Jarkko Nikula --- 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 db642e0aa61f..7f04dc33e6f7 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -402,7 +402,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 Fri Nov 10 18:11:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163963 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1346148vqs; Fri, 10 Nov 2023 11:49:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IFvJzJFwR3uaGC9gMaN8dO3IXTpLrBgxsP9YzxX/kK3H8uWY0hTkW8Fs+EDvfU56I/OJIDD X-Received: by 2002:a05:6808:3990:b0:3b2:db24:6384 with SMTP id gq16-20020a056808399000b003b2db246384mr388703oib.38.1699645797658; Fri, 10 Nov 2023 11:49:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699645797; cv=none; d=google.com; s=arc-20160816; b=tPBo64YLcn8UHpmaNPlFNeI2fcBAeBtWtil2eXTnd/KB9Sa4A9+NnsZF5OrxuR+pt4 Sr3FuZy90ItlRnKpZZa3zFNfhyMHy+knTAYhUuUFfX/Kh9UH37RT6vVRRNfg1HDtwdMg kqJuWpD30cefEBy8rmvoendUvgoEb1tQzCYBbDZvkHxOPxNZvxD/VLzOOE+LtdvJu3C9 2JPc4qqcCN0Snur7RFWBXlidFth3vWDv0hjEkRXKgI4HggwyIv2CZSjPOwfFa/JmSFtH 8tlM8pN+prXUgQMCd+zeQLoPt0ad7B+iAp/VKh7WkD0c7leTEuZ3WQdFoLjicn8fe2Nd 0ceQ== 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=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=uUOZGTx7jsdCzQ+1wH+fooE5oCzEn35fdRVSMup13IqY8qZwOPyynJQRaDS8j7qk2C N4Wjw5XZqRcUslthGIFe+K699CfLnrzkflOnkRoX87TOfr4mnHyxJdDpy4biqW1GmZFH Y11/CvPuw4T3vEwOiMwQWFg0on/EH5RbabhxmZhbYbK6r1OXwUzgpq3Ro2S2n1gP0uGS IS7zscg9eltTxTjNsXKx2pEVQiCHV1suHNyxRJcrYBbjE6bCQ20BQIjpJJyhWrSU6qx/ MrOHYuWQBcI1wAIkVt9jHuLgpzQ3IdXp54f/zotMZ+jcUd5tm3jpSKA/3SgTKlXXE6oD OTkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=I8V0PTZK; 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 23-20020a630b17000000b005b16e351343si114880pgl.241.2023.11.10.11.49.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:49:57 -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=I8V0PTZK; 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 1785082DA4F9; Fri, 10 Nov 2023 11:49:55 -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 S1346633AbjKJTte (ORCPT + 29 others); Fri, 10 Nov 2023 14:49:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36942 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236321AbjKJTtS (ORCPT ); Fri, 10 Nov 2023 14:49:18 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5470612D388; Fri, 10 Nov 2023 10:32:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699641123; x=1731177123; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=IMyTNKO4GTE+4MqgHZUK0YF/DYKs3aQmIFo7+4BIWQM=; b=I8V0PTZKL5g29QkO+O1vwXiIi5tqpyqjhB9pHjx5Cl2KhtjAP2p5ZDBW xbZl68pT4nT76q073TuF3Q8WNLW9ezVPnkLAYGneU+nuSJiUiAghu4Sdg T+txngmv+WV3gqIjEYGQh6xLSj1jXGzZpw9DOso9MwCE15duzwj7TpRDp gVrWUB8fDTtqldatnkfGCnmX3K0P22PvYcwII1e+rh/JZ0j7TorI+M8sI 2FNSwGmD9ZpOtMPXqrqCzh3CmBx8pV5noRegzVJvApohPEyx2mXZRnpLu vAdgUPE8eR73P6YdZcVWBehKD+qixd2p5gscxX8HwfcPlF+x/L1xV+Iim g==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="456715085" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="456715085" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="763808266" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="763808266" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 10 Nov 2023 10:29:40 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id D3405845; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 11/25] i2c: designware: Always provide device ID tables Date: Fri, 10 Nov 2023 20:11:31 +0200 Message-ID: <20231110182304.3894319-12-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 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]); Fri, 10 Nov 2023 11:49:55 -0800 (PST) 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782207792063609484 X-GMAIL-MSGID: 1782207792063609484 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 Fri Nov 10 18:11:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163921 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1321726vqs; Fri, 10 Nov 2023 11:04:08 -0800 (PST) X-Google-Smtp-Source: AGHT+IGEouNb/mrAYCdB3t6Rx7YZQqINCrSsCrbKGCZXwBByJDFuLS3IrLWSfp56gf58CpTwqbDt X-Received: by 2002:a4a:2458:0:b0:586:b79f:b0ee with SMTP id v24-20020a4a2458000000b00586b79fb0eemr326830oov.5.1699643048714; Fri, 10 Nov 2023 11:04:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699643048; cv=none; d=google.com; s=arc-20160816; b=sdvAp4cIYkcP50j0x1m/jX5VmcgGWYo+leujUwM87JZ0riHYS8DISq+zcXJvnk1C0y RND0Ssmt/rjpIHNlMgbROn0CCjmm17X/OrdjfSM3C1DUpLk55/JJa6M2tEqCjMVHRJyc QUGq7PYSiqDR6eaxlrwSCrtwxK8KMy7y2zMUp1j/pERPGknHhiuh5WhtDCF96/bbdzR5 HsBqwTACHVweLBAcnYPp4BHlpCANyoeCryWzCuD4OqDtaTOqpAUgRb0I7izOavr3U8UK 1dHpz/nIWHhUk6PUC89/IWcE8MyO6pVA9vYC+E1XL5+aiNWV6WNRNcEbxvK8Z3AdEhRu mlHQ== 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=yTasinIaEKHr+ZI95OldTyocIMVfgTLCrJnp5Dw5GtY=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=ESzRYJx1Cx6mEDEWw1hCVeIHsUCxP9swDPNNjN6vL9gmHM7kT92d2Pa+XEEk/DDJEQ Ums4twGF8tJfoydqWRNn1MT4F2VwkxxrR6JvKyq+2CdftthFNTpN+vkcvIQECLz4ISf7 Cq2rUAwQOfu6D69Kc6iuY9+lwNxG8FJ612qBcF3DXtxDI6/Kb2iL5K7hygSj2j6zLVjH n0k/0awAmSCgkKoUNR1WhNrbBWYiDaf1WatO67hYf2BATh8KW5ZTMZ0vmAFvSOOP8iOh LTfWNd6ZaOgEv1+EkKqrzPg9M7WR9A/OrOC+JDsz2SyACfy19KNP63qyPRK90O5iHv4C DEFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KsprGHiW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id dx28-20020a056830487c00b006ce2ec2a675si62343otb.38.2023.11.10.11.03.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:04:08 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KsprGHiW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 93F7282990CC; Fri, 10 Nov 2023 11:03:51 -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 S229524AbjKJTDk (ORCPT + 29 others); Fri, 10 Nov 2023 14:03:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38868 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235968AbjKJTDR (ORCPT ); Fri, 10 Nov 2023 14:03:17 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C6C5010CF61; Fri, 10 Nov 2023 10:24: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=1699640689; x=1731176689; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=+t/+ISVMikofYDc4BCdaYrj3cszrb8orFAWjbmSNNG4=; b=KsprGHiWKuLkain6y7D6j+vQl5rKqTWLuMaxUIHvH1qRQ6cgAQ9G7soQ Jo+JK8hBLxeJ9O9wE+qLGTfuScRxY6ONtiOgZoT1bucOrhCbkeM77y2NB hu6k7JT8rmu+nS9LkZNU3Rd+lm3zFl8KtkVwruCcf31g+t8N+fmWpcDWc pCOduZZ1ZNTUvkvUg53OscNrHMseGm064XPbd5y6MMgNn8GFG3H4kIrFt g4mklWQkZVRgdWn/01pNE6PSMU3AAcICusRaJsqH306Kts653Iyuso2z5 hFbge1mnAHT/DaDzbSh1qPhvkjhgK5RGf1BUpHbxdpLbozXducSHHefYA g==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="375251938" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="375251938" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:23:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="798663753" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="798663753" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 10 Nov 2023 10:23:17 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id E04D0852; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 12/25] i2c: designware: Drop return value from i2c_dw_acpi_configure() Date: Fri, 10 Nov 2023 20:11:32 +0200 Message-ID: <20231110182304.3894319-13-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:03:51 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782204909536543919 X-GMAIL-MSGID: 1782204909536543919 i2c_dw_acpi_configure() is called without checking of the returned value, hence just drop it by converting to void. Reviewed-by: Andi Shyti Signed-off-by: Andy Shevchenko Acked-by: Jarkko Nikula --- 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 affcfb243f0f..8d2223d164e3 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 Fri Nov 10 18:11:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163920 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1321492vqs; Fri, 10 Nov 2023 11:03:45 -0800 (PST) X-Google-Smtp-Source: AGHT+IEqEyfiV7ZQITR1kqbk2ECe3p/fNIaStp5CjJWhY9D73QEhu6REv/V5CIzOz5j9jb5vwmbH X-Received: by 2002:a05:6a00:1a8e:b0:6c3:720a:157a with SMTP id e14-20020a056a001a8e00b006c3720a157amr9963061pfv.12.1699643025466; Fri, 10 Nov 2023 11:03:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699643025; cv=none; d=google.com; s=arc-20160816; b=AddZ53NqT7jRLynPyeNbZXJ+JS7v3yIr15jWrvaTMNz70EBuFmOvbd2hLdLwyH5lkc 0qgUwPfScRf7b3SZj+MSiaZPsMTwGJblb3ca8rJEjlzs04PfG+SgS6XBIaG+660FokAv pq/+4aJ3TrSFcBIX54TSe/mkOFqYUrbMEVepeNEB9XL4f6V/e/l/wnRNUYoa+ehnzn8z dKbZlOc2HPLE0p3CPSfnHx+MutYn9gdUQcCgLknv9xRhH5fUNJuskgvKiBpVhsl+hyi6 6MZs3blAIYCVIWRjuPW4OXkhM8rCukNUpMt/kRDGJyIHGOaWyLzpC6fzRCwFgU4kwRpU m2bQ== 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=L/FoU64zMTx8QeUhwzdNi+KodQ9OAuEt4sntM4hork4=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=IRihGDgbCOyQotsz1bf+WmXu2Q14vIN3cQizU3a4qRUsQ9JbOc6uHifv+aQW1eKBAV ZubH+qaIl45f1jOyNm3XTDFlMfPQMH+jhyG7U2B3ALVrRgahstRfZdLX4Wsu0nKYcG7I tnvYP3xJyBBsLIcBrZU6AMMQ9iaT/LIl5DBmZHBbQGD4Z3xDFbQo9zeVut5yB5NtA8ER fdGqDOJ16fqsacPSDfynbLTjqJc6S+0rgK50TlLoiEziPT8ylKFgAYA7dfd04m7MD0K5 BouQsqcyE2n8wu+cFdeG0p96AfVGdiUU8D1ZbWzuJUwfDIFnP9HtebyzBSgU+Vs21nuM 7UUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=CiyTNEro; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id q20-20020a056a00085400b006b864485166si53437pfk.146.2023.11.10.11.03.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:03:45 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=CiyTNEro; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id E622A812046D; Fri, 10 Nov 2023 11:03:27 -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 S236006AbjKJTDK (ORCPT + 29 others); Fri, 10 Nov 2023 14:03:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53168 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235858AbjKJTC4 (ORCPT ); Fri, 10 Nov 2023 14:02:56 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 57E1FB194; Fri, 10 Nov 2023 10:25: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=1699640750; x=1731176750; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=iBLY1R6cjuJHda+oTNWabsUonf0bQ9GTFI1KsT6FZTI=; b=CiyTNEro8OpO2/NT0idhhoKTbAmVBB9IrKGve/Ml/+nFBhVApuh76Yy1 oarS/H6n+qJNKRoOrFelj5zwhiPGq27SeW/6/ciNWz6YIeljTct3rpYK1 qr4XByuZyYqDjh9mdB4umPe1W+1JAS87mvI/hHFw/5s1uwsT3R3M8ZUPb X+6D3HRlfdWA14+gkJk+LOfpFtkWItctU6SVDKAc6QEdy1wf69npVIBi1 yz9kRsdgcSDIbEKXkZcyCbICuJoNlSe/wKouSwqEuVmtpaH/5AjOmrhl/ b0QHeWW2kC5GsVC+6kSyOoUQuGOT3Y52duN+K9lHkQqXTbhtHNk7iIutv Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="375251957" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="375251957" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:23:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="798663752" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="798663752" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 10 Nov 2023 10:23:16 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id E967685E; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 13/25] i2c: designware: Drop return value from dw_i2c_of_configure() Date: Fri, 10 Nov 2023 20:11:33 +0200 Message-ID: <20231110182304.3894319-14-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:03:28 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782204885085619209 X-GMAIL-MSGID: 1782204885085619209 dw_i2c_of_configure() is called without checking of the returned value, hence just drop it by converting to void. Reviewed-by: Andi Shyti Signed-off-by: Andy Shevchenko Reviewed-by: Mario Limonciello Acked-by: Jarkko Nikula --- 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 Fri Nov 10 18:11:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163991 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1379246vqs; Fri, 10 Nov 2023 12:57:16 -0800 (PST) X-Google-Smtp-Source: AGHT+IHQDJhpZLNgpIWgB5KjMCnakdWqePXXiGzzkzGRFk/5rjQkqT7PTrnEfxB3xLQv9uL42uSp X-Received: by 2002:a17:903:2654:b0:1cc:4e78:d10f with SMTP id je20-20020a170903265400b001cc4e78d10fmr489227plb.8.1699649836106; Fri, 10 Nov 2023 12:57:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699649836; cv=none; d=google.com; s=arc-20160816; b=IA0L/qgOPYpTgiisOk1q+mYSmLVEQr7QlrKaoI0GIad8d+6WTJPFp+UX3R1cG6gqFy DnIX0u0KPQbNL5Jh4eh0QCcSg+teqM0k0h9CkEwKWqlUDM+rAP+hEPiHhco+melhT6rW STwNKlZB4m53xQuoZgFWXnN2ggaVBelUhdy0f+K5nyG7MBQurd+reB5pPMdt/NOS+6Wl MB/TjGCPROwuPE7Zrb1I35vjP86xcTFUahCnp+0kWXqnBdflFKhM4Ava4cFxzXgaCHfY omrsBZOg5KX2gANsfnx47uUKrWtwjw/f99+7SpbgBUWTGjBHZz+bvKsnrG7Ms0LkLWjb 2KSA== 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=y0v2zvZ5dbT/XiTnvy6WJ9ol2gWBWIHa2pIpEOGLQg0=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=nmzRWMgEsoMYTKWO7h4RWJRSjWMXvItWWQW+jCBL7++UXVcfjs0QqwZaiY2QGLBrnu KoOnqfweUaZkPjkImTs+YZlNfTg7MGgtE4wTePEpntkzuMB/Ul3Dh5AVLzRQBpyCasG6 ySJLqJgaQyFtwui8fTosPtd7Cp7OPXdAlOBKrJbGXVSqShF+i14LUKMfFKc+pk1jAFJo 15T6YhroOUkoFA1qdi4XUMy5lwiM0Xt1kM98XhNsR4ff07gEuTzQeTkXgYYs8+f/0mUb hhGfZxoUhCjTX9ljADsY7J92h0fZPn7i8eL0+xABn+CGUbMiM5ZgyBpWCBZnsQ+wblUL 9Fkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=NyL7DKfx; 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 3-20020a170902c10300b001befd0512e8si134051pli.303.2023.11.10.12.57.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 12:57: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=NyL7DKfx; 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 BD8EB83CE95C; Fri, 10 Nov 2023 12:57:13 -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 S1345962AbjKJU5B (ORCPT + 29 others); Fri, 10 Nov 2023 15:57:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235873AbjKJU4n (ORCPT ); Fri, 10 Nov 2023 15:56:43 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 56EEF62CE0; Fri, 10 Nov 2023 10:31:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699641085; x=1731177085; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=aDNeBaFxH9YLIpux4SIUUOepmpuzRLX2X1AJDeylr5c=; b=NyL7DKfxpVYcDQTT+9V4WxVvaZ/mCDaMCQCGc/jJi9EE1FOssavUSpob vny9UoEvAkf38cvjVOFQc8QaUGOdJ5MIDj3aXVA8faRM/GusH7/dPaVAz Y7ZSrABR+M29SiHkc8K5f6MRI8XhZKgu54bJz8oKUsqZVuLbt8lWEFEtT VaRkBcG3zMgcYo7srtRHa1rhUGMkH8NSZj/4it/NuAFnIogk1q57sS89T VI46IJ4iiTEOlgCIkuW6d5tVwzVKRs/1iPemGaRb4L/ginsRSCXcaYjSQ N2A7mG2qKCVh68xZkV6kYjfqtYeeTZg0FDXYpMCzj2bATmVMLPY93xJD6 w==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="456715078" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="456715078" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="763808263" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="763808263" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 10 Nov 2023 10:29:40 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id F2288888; Fri, 10 Nov 2023 20:23:07 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 14/25] i2c: designware: Rename dw_i2c_of_configure() -> i2c_dw_of_configure() Date: Fri, 10 Nov 2023 20:11:34 +0200 Message-ID: <20231110182304.3894319-15-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 12:57:13 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782207379558602399 X-GMAIL-MSGID: 1782212026729359849 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 Signed-off-by: Andy Shevchenko Acked-by: Jarkko Nikula --- 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 Fri Nov 10 18:11:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163919 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1321113vqs; Fri, 10 Nov 2023 11:03:17 -0800 (PST) X-Google-Smtp-Source: AGHT+IHfKfuiQCAGt1pY3iokarT++yQ5qG2AXn+O98F+6bJZRq3AeMg1b4/VzyavuTfFXjpNw85P X-Received: by 2002:a05:6a21:3e0a:b0:180:d76f:3d74 with SMTP id bk10-20020a056a213e0a00b00180d76f3d74mr9454888pzc.30.1699642996746; Fri, 10 Nov 2023 11:03:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699642996; cv=none; d=google.com; s=arc-20160816; b=q92g8FHV2oNxIfqHbbkTqvea27fiJNPxps5Ll/5ZO+i51XLU0YJwqdU1po10bFwFmF zKBOzCx4q732Avx6yyeTjyXOe0G3yt2qsE0X/U2nGO2Hip8A9R+9gV4C6aJ6cWNFxGv2 rbCpIi6UwcOK7NrOxNHA+sIc0N/BZYgWWsPN2TDOXaRj4V7BFuvx+Wh+kozxsKFrDXyR HQ8bBRNQniKsA681RroU1Bo4pZQ3Q5/0C0btOWFR9hblqPdkGzddimBDRhhlnBXj+LzK zIGFagU7VNqdZ4QHTWMkma9n3GdL/ULDjGQAYN+0ug0ddoF75XvaLSWv9ihPjckopnAS oEPQ== 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=hkXFrIDJrIgsckQyGxgHbdCYcNSLyp3yO1Wm7FjinRw=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=PYU7wXGshRcjhgGBJ3uExoQcC3EoaH1hRwjXgy5zHDvUXcGipjtVXLulWNUZ1Vfywc Xl5g80GXZqz9vQtRsTjCgP/tPGrw8ebLgvURoiAlTYizRo4OQeCclQaDf+jwoxkSmN6B hKcwNsfMoRpTV7OPdiE1jCPHyLpAr7CMSXxMCN7GElRx1OSJ37lrIWwSh7GL5cMoSFqH /w81m/vk3wT8WHiYb67QBRFVstZaQm4XZ6+KLqZay8ze6PdBeizatAme+84AY2ACiPB8 uh6GLpBD4IoTuYkME7GweEQ2skAZns0qbqpq99LPfw3s1F7nIVFbidrYo20Fzbpj8hLz lnBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HV00dD0i; 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 fh13-20020a056a00390d00b006933e8fec67si50403pfb.227.2023.11.10.11.03.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:03:16 -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=HV00dD0i; 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 6D9DE83A234E; Fri, 10 Nov 2023 11:02:41 -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 S229920AbjKJTCb (ORCPT + 29 others); Fri, 10 Nov 2023 14:02:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235983AbjKJTCQ (ORCPT ); Fri, 10 Nov 2023 14:02:16 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 23C481A308; Fri, 10 Nov 2023 10:25:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699640733; x=1731176733; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=UlLtzUZidhLr+ErCA/P7beaN1JMuUCeo3WO1WKunYxo=; b=HV00dD0iBGlvdN0gUwrhAPf5oHpatzinqeyMcQpQP2OcC1TxT8e7ZFa3 65J0SfSJjc/lB0V7wrTBosd6QQiL23xkR94Lh30Syo9l1Ko+eBqrfBWTc J3rzGQCujCvsqeEwFomJFyXkmr5rmS9/U6ecuGjR26xwmclQ/nhrpOYS9 0mSe8C/JSpb4B8L8mdl3PeBLy0W5rWPWf1r+y5pd1iAzzys8xi1dHhSn4 bsoLHbwmwKHBv7hcjhUq/5i+/yshtOG5Bj1cLjM4hTTuQ887O8Roiv16B iBnhg2cYXZOw5PVEUcMoPHFuoY3ILeTh96qlbkoeGNdtqv160+Ffw4U1p w==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="375251946" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="375251946" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:23:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="798663761" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="798663761" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 10 Nov 2023 10:23:21 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 080188BB; Fri, 10 Nov 2023 20:23:08 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 15/25] i2c: designware: Consolidate firmware parsing and configuring code Date: Fri, 10 Nov 2023 20:11:35 +0200 Message-ID: <20231110182304.3894319-16-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:02:41 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782204854671576762 X-GMAIL-MSGID: 1782204854671576762 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 8d2223d164e3..a5cae814a9c2 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 7f04dc33e6f7..1d1b0c3cc079 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 Fri Nov 10 18:11:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163965 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1346907vqs; Fri, 10 Nov 2023 11:51:25 -0800 (PST) X-Google-Smtp-Source: AGHT+IFamiMGKjr+QJEmn7GAkAY3ybMP57Od0r1Wsl+Z+5d6XUS+6IFj8KB9/+d9dKRkn4hf+NWF X-Received: by 2002:a05:6a00:2310:b0:6be:4789:97ba with SMTP id h16-20020a056a00231000b006be478997bamr19004pfh.3.1699645884500; Fri, 10 Nov 2023 11:51:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699645884; cv=none; d=google.com; s=arc-20160816; b=aT+6O0nIvqJMsVXz0a6JC6pJoBhvILScbeHZVNKZOo6kI1U/EJGQYkFXhJkfFgpOOu X6busRepgnpawswYjkmABvJc+7+JRXEIu3uKyQHO8Q7nbRWCnHRFGiY4kpTc0WUyZReo OvvlPlWGmpDhC2jfzer6KHVu+af9bl8hz8riCIMbgZMO3fY19id1XbHE5W1ZB+s8yti2 3CMLbISJnx+IGIbnD8g/b6BXn2SSNAzNVijq/l5NZtbsNykcfpnEma+unDuobxa10yFx Bbsxq+vcU4+f0skL3QwCg7A1wueq5zRBQM/rxImUZ7Ii4T28uVLG6GY4YIvU9zTrtCTu tDbA== 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=CMYTXXNmMALgTdI8TJn+qTi96rSszhFRjgKUdlF1Vig=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=gz0DYZ1vrtQq016DU6gOtcUzzSCWGF+4YYUY3OgJ1zTj5h29PYsLRqGFoV71EOQa/V H5lYd/0uazTIgL7H0t7Jsbu6I15GW4VJPLq4BexIqkIbcQQhR9PsVK+9VP50yg5t3Ufq AwCCQyG6gUtP5azTscmWoBpoqV8mLHCNBRDWnXQJXqVTH2+hRngpi3S3FkJML82pG7yF lG7Q45hoSnU5V3AcdZLtQFcS+0KfWhZcRBRawvIWKAQr1zk4KO67+WO/d9rNJjz2kwB9 sFrxl7sdCKGLFBAUSY6t27riCZNNCvMyuOQPNq0shFejjyoTvnoCxZg+aOMYDKzNG+57 503g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HoLZ3TZG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id g8-20020a63fa48000000b005652bd27e80si86446pgk.588.2023.11.10.11.51.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:51:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HoLZ3TZG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id A8107809862E; Fri, 10 Nov 2023 11:49:56 -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 S1346465AbjKJTt3 (ORCPT + 29 others); Fri, 10 Nov 2023 14:49:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55394 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236304AbjKJTtR (ORCPT ); Fri, 10 Nov 2023 14:49:17 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B0C3129207; Fri, 10 Nov 2023 10:31:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699641065; x=1731177065; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=rMCJyp3s0CVWHHyikBnsf5d5zvaMttv+rzq/RNKsO7w=; b=HoLZ3TZGh3JEzWijA0dxenmQhVTfmmtC/32fRYBsJ/DCyNJeCsvT1IXR CgFQcQ43wkqgbLADvJoNgVpTnHINNmiuxTxzQbRMQJvRWhKUI8x5CMKul obelbVd9//o2q59dCWYDF3x7hb0QlUqVye4L8FbhICGCaEaBqtT7mMbeo oNjSOO9Jf/PqkX8QMlyl3jix6S2mWm4lSvJ2RSYzswS/LAEL91xfKdGnE WWqAAlWV3LFU7m5BrBQ7Nryr0DPrESZGaj7bT5UTuSAr5vcLsZus/SLFZ uoNLhW/ilGWXh87m/FEFYc/tBMh9v4v092pLomStzZW3+u0wTpt8wiBEr A==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="380606862" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="380606862" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="792912168" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="792912168" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 10 Nov 2023 10:29:40 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 1318A8C1; Fri, 10 Nov 2023 20:23:08 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 16/25] i2c: designware: Unify the firmware type checks Date: Fri, 10 Nov 2023 20:11:36 +0200 Message-ID: <20231110182304.3894319-17-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:49:56 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782207883355461931 X-GMAIL-MSGID: 1782207883355461931 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 a5cae814a9c2..49d9d5f83071 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 Fri Nov 10 18:11:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163922 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1321730vqs; Fri, 10 Nov 2023 11:04:09 -0800 (PST) X-Google-Smtp-Source: AGHT+IGYywULaM24X23wRqqFpNPqAQCNjIEeXBojH7J4j+ltsOaxsshoEUjlsqPnsOlGUMDVll2M X-Received: by 2002:a05:6830:1245:b0:6cd:8c8:1654 with SMTP id s5-20020a056830124500b006cd08c81654mr14465otp.2.1699643049273; Fri, 10 Nov 2023 11:04:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699643049; cv=none; d=google.com; s=arc-20160816; b=qRQOypCrNt/HN+MEs287ha4/k6AZc27unfbqlPVkrkpjdhYtIsZjsFL28Gna9X5QPV 92fRuAuhxs3YnIIO5BIEhmCOw7vZB4APoMbHO0nuII4dMaSeALhXHNo+2cOgihsuZOIc Wmn2kHIB9GeRD1x1gKN0z5WX/pciBVcjhAJFolaZBsTtuQTjY93TZhCBstiWwCBUp3+p N1mY7+dzDA1vOPA5ykjMtjm1hoIws5hic44DnqsIjY3LuJq7qp31PO1+aYXmbtv4g+kh oki02jzHTx44wY+Ww6vZummSvnABDHGtb1XjnDap1HNA32wL5sOepwzkVnPtcq6iIzfh 4lpw== 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=WmOZcoGNRV7+++2b6yaOg7lrCGRx2gPdfl/X9GZnVDY=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=ICYGcfi0sx+7+q5Zay0cQ7/JrZ3Gr2MwPWoqcoktN0bbJEYU0re3x/rMyfTVo3sFmF eOVonqh9eNF2SWxhQMIpE9Wngf1+ElFn2Xi3MOVuiPQ+14r4BHGXl2E+J2pKevjoJaBo 9+l8WMeBjohvaBWHLkiAdO3RUeMcTcBOPmaoWLjeJDdzvxI3xTeR7Uoh/TAaJdVpnTTE 3nCQkvq8lG7O+lJ6o2auiHc83pXsYfFBIZrcFM7oRLKqfUU2/4MpHzpmu/5X7b9oJWSd yhfE3O82ETS/UgVeqva3t6te1qtafUXxS2jSm044IeMYe1mWaNSPv2GtkmVgo61s1uZV CYAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=FA3WnKEn; 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 z7-20020a9d62c7000000b006bb2269e141si60405otk.335.2023.11.10.11.03.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:04:09 -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=FA3WnKEn; 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 13A8E8374D77; Fri, 10 Nov 2023 11:03:58 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236006AbjKJTDx (ORCPT + 29 others); Fri, 10 Nov 2023 14:03:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50210 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230107AbjKJTDg (ORCPT ); Fri, 10 Nov 2023 14:03:36 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4AB113BF00; Fri, 10 Nov 2023 10:26: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=1699640817; x=1731176817; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=O/61XX2x2rbxGBK0Nd+IaP9DQZqXK/UHh2oGdWZrP5M=; b=FA3WnKEnGJvc0LYF2JCZAo4mHk1OdDn+hBanr+6IhT2uowTDgssbkHud etm6Zst6jSqHsGLIQmyM2NOWF0CaE3FrXPfqGFYAA+D8MVVrXJ5lp/ldj k10zCdkGQZ13tX2Zc+5d56oD2xGwDSss6R9U8SIwJ3f4acf1rN9N0rnk9 j/FEb/ZZydYH/oNphXSE3jih8mba20HyD0/ksBZWbyOx4AQ2jAjA2KLmC A4baZTb7Lcp9m2nFH8D+jnXPy6SzK1rXRXzSmZMDFI/tVvSogI+pZi19r PZz/JYugq8NUFI3i2r0EOA9FUnKBb64sCW43pu9UAa+KNNGCmtd4bJRAX A==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="375251978" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="375251978" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:23:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="798663764" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="798663764" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 10 Nov 2023 10:23:21 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 1F2318C9; Fri, 10 Nov 2023 20:23:08 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 17/25] i2c: designware: Move exports to I2C_DW namespaces Date: Fri, 10 Nov 2023 20:11:37 +0200 Message-ID: <20231110182304.3894319-18-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:03:58 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782204910178490107 X-GMAIL-MSGID: 1782204910178490107 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 --- 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 49d9d5f83071..50cf4cbfeff3 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 1d1b0c3cc079..93a117d295d7 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -411,3 +411,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 Fri Nov 10 18:11:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163996 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1382216vqs; Fri, 10 Nov 2023 13:02:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IEDGO5t9GMTxNpAXA6k7diOvAhP0sTySIDHndzD6nfDWEbeOPczpWhFRy3j57jWZgNlzTsI X-Received: by 2002:a05:6808:202a:b0:3ae:a81:55a9 with SMTP id q42-20020a056808202a00b003ae0a8155a9mr578358oiw.24.1699650168937; Fri, 10 Nov 2023 13:02:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699650168; cv=none; d=google.com; s=arc-20160816; b=St5QsbV0M4FszXj33PCPMRU+wFymJ2rLWDBNFSeoyCGUyDmGGykJFYYh8gD5B30fIP W5H8/EzEnEJMuJyPOO81tycgE816m7sa6VZfJdjqC62Lydrh8SlIJsHMLvBR6G7DY1ij pI0CJ0/tI9So0hbVXBoChwKMUPjxokFAGmjzCNpgJaOIEMVLUfNgJR9gMvVJKndn6cWf mUf+unGWsqmIuoazBfgSoflTtucTYQvNTemHf7qc9MxAvTY0MYOzVgr/IIeCx9SHU9CG lv+Z1f9WDzuIijzQnzvACJhdiew7aIrU8De8gByj7AJfWkiXgX1gFTMYB2pJ49w+3YhR aKIA== 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=0iDgSqnqp2Jw0ec3IGjKbrgvVfk/TDSYy+tkMq3wvQk=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=gWOp7zr/p2KC1ttoCjy99erQR5FPeAIfPl6HVv94FR3LtlAh0qjfJT9XxmR7eZ2oiS JZxwZ3+U6tga37XQIL15Ma8OG/dkKTOeeN0dNZGjGPLj+639/278vleYOWC0thTpC32K EFGrMDlfAVUY4tlAtsoDjur03l7XlR/bfb7tPEuTFgoiGjkfrPSnpUlaY26UmN6uywQy AT5UbSEqMH/QLo+RSQ1nyR9jsbvY5c37dn+3rHsjTaXFZJH5tImDt3IQ1cD31luMN7D9 pcOvpw7dnfBOybYEeID5YuIdUeZ3MBATaZbVZH9dhqDu6AVsXcgy0IeTT9QOXBjg6srh oL3A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="cEbb/LvB"; 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 q29-20020a056808201d00b003b3e88b6c18si109388oiw.305.2023.11.10.13.02.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 13:02:48 -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="cEbb/LvB"; 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 B91B9804C221; Fri, 10 Nov 2023 13:02:07 -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 S1344920AbjKJVCC (ORCPT + 29 others); Fri, 10 Nov 2023 16:02:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50460 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235921AbjKJVBs (ORCPT ); Fri, 10 Nov 2023 16:01:48 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AE1DB114F14; Fri, 10 Nov 2023 10:30:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699641005; x=1731177005; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=B3CkUjJAuKNPK59JWl+dYcVt5eqY8CuXnEh/dYaOvzk=; b=cEbb/LvBPkeB+wP1AVReeFB5MiMp8Q/mVRdWa6cWInhQQR96HrCjcSS8 FFHbD7a4dPKu4EktihLKUqxQVojUc1m3ZUx+Ky36IZMCQotvasn6Jp6w6 oK5NbEycX66QvTukpI7NQsizrYuwtG3bnECUNLZwq3UQbrT5iivwShhGA DDFgM9GU+3o5f+YUK6A/UNoKQO8BM9y2hbOXp33FzxUjdfztY20jQFUu0 fGaU4sinatqcsAgnGSP+7rJ/oFLb3YQ2oFLmPOxMT36KfvvTGo3UovwH5 PU6UUpGgHnWqSdEgZ1fegPmSPZlSa2s8UBKh7k1aGWm1VZHVTfwn5Flsg A==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="380606842" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="380606842" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="792912160" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="792912160" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 10 Nov 2023 10:29:36 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 247D876F; Fri, 10 Nov 2023 20:23:08 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 18/25] i2c: designware: Remove ->disable() callback Date: Fri, 10 Nov 2023 20:11:38 +0200 Message-ID: <20231110182304.3894319-19-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 13:02:07 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782212375578218350 X-GMAIL-MSGID: 1782212375578218350 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 --- drivers/i2c/busses/i2c-designware-core.h | 2 -- drivers/i2c/busses/i2c-designware-master.c | 1 - drivers/i2c/busses/i2c-designware-pcidrv.c | 4 ++-- drivers/i2c/busses/i2c-designware-platdrv.c | 4 ++-- drivers/i2c/busses/i2c-designware-slave.c | 3 +-- 5 files changed, 5 insertions(+), 9 deletions(-) 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 93a117d295d7..6fd4a3d8764a 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; } @@ -341,7 +341,7 @@ static void i2c_dw_pci_remove(struct pci_dev *pdev) i2c_del_adapter(&dev->adapter); - 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 Fri Nov 10 18:11:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163924 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1323393vqs; Fri, 10 Nov 2023 11:06:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IF0IYdJwew9nY0Ff79ZcmTxT7yZyhxiMe8yMsfhekb7eASxsy4hnS63gNjL3cHgc6L/FDK6 X-Received: by 2002:a17:90a:b293:b0:280:47ba:767a with SMTP id c19-20020a17090ab29300b0028047ba767amr4729598pjr.16.1699643193971; Fri, 10 Nov 2023 11:06:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699643193; cv=none; d=google.com; s=arc-20160816; b=n98WZ+Djkzqa4z8FKlwePxM6gcGF5HFpr64ugYvhiar95WK03Kh5kzcCBWnU7BLLl7 qPDICJhcPq8zo9463Qp+CBDYV/b9DaU9cnj4wj1QCdudBPHrmBcOMsTfqDbrBLQKkJsb kWY5Gh1SM05JsulK984xkTVWkUseWaFUFsVlfiI+0knuSYmTeqmtRu2cERHAY75H2KT8 LHZma53LYJxscSU+c1xJM/lNuguGe+82ZgNmjQL6LZvB8uOAOBMun/aFR7XzWuomoqlZ PIemosO8dzdWZPwLqDC94DhgPQB6AGGJaXS6tB6C6NE65/+0fY59ul+ppDkHTsJ55J9G 1wuQ== 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=yiQuY9CeHGunj/xu2TPhZYIlISf0Td60hm9xeNcHMY0=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=RWG4h/rPQsopqL7WVI3IsvdJpy2dOJptR/ccNoNths0TavxdRqCNmT3iOcpHEYtN30 f5VVrM0XobpI4w0Ma2LFnMAZxrosJN+VtecFZuh19ijmxopl0vkCi4T7V7irxy3cdwcZ GU2m++ilGp/q92OWMpKCwY4o10pU23ZYCu08X1Ec3uBF9PT2CKQ1hNBCIYxsC2vqygVo Klo3QUhOpkEJDtP3Hu8YC08TsAS1qf8PgunT/SF6uCAUtMlwJo4/OH1DT1CwDAN15k/a 1DXO+/2u/tjoDoluXg/TVJac9JlgA7u9w+b/OEgVDSlh5coIS+Ub1UyCiPRpbHrupm2g +Szw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=SKyRDH++; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id i8-20020a17090a7e0800b0027901ee93fbsi4533132pjl.156.2023.11.10.11.06.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:06:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=SKyRDH++; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 162E5837ED38; Fri, 10 Nov 2023 11:05:00 -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 S235970AbjKJTD4 (ORCPT + 29 others); Fri, 10 Nov 2023 14:03:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59840 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235976AbjKJTDj (ORCPT ); Fri, 10 Nov 2023 14:03:39 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 221824C3E; Fri, 10 Nov 2023 10:27:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699640826; x=1731176826; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=FDUwAH8xOLBxnLuBaj9E/OeMnat6GwenshE3bhi4w4o=; b=SKyRDH++rgqyPnTkSLufddY9m/7env76007vWSiPtRpL+MUI6OtgDO/v dowzZWLVAjYAias1uCwZZPBDbIDr+3YfTRlRP1+IRqBgxIy0oPzptPqr9 6g9rs4UP81RDFN3hBMgzNYYGOd/KTZpyAkjqM7IhaarESv6SJ7C1VOOgB s2Pv/+1c6wH5TDoX1zfWb00twIWLqPe1e3TkK+L+U9D+VfMLfQqoxCbki UxjMRKyrxKw3GYPutLKZmZFpNPlLihgyjw6bmYFGkYvk+7BL2bFx9YD5r ZMZ71SlWBAtTQ0Lmp9/HwDb3wLmSOtFCot5lD1wxt2K3TSD7wAYKGMXfO A==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="375251983" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="375251983" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:23:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="798663771" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="798663771" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 10 Nov 2023 10:23:24 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 34FE98D6; Fri, 10 Nov 2023 20:23:08 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 19/25] i2c: designware: Consolidate PM ops Date: Fri, 10 Nov 2023 20:11:39 +0200 Message-ID: <20231110182304.3894319-20-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:05:00 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782205061903822417 X-GMAIL-MSGID: 1782205061903822417 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 --- 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 50cf4cbfeff3..b7e653e939bd 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 @@ -712,5 +713,66 @@ void i2c_dw_disable(struct dw_i2c_dev *dev) i2c_dw_release_lock(dev); } +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 6fd4a3d8764a..c9eb01a16048 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 Fri Nov 10 18:11:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163968 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1347548vqs; Fri, 10 Nov 2023 11:52:50 -0800 (PST) X-Google-Smtp-Source: AGHT+IFd6yQciJ/WhLOio9kKBrOXQGxqA470HQDa94WP6F2LP8N3cayiOtMwYMlLP5ZwUtOv5YrK X-Received: by 2002:a17:902:f550:b0:1c6:30d1:7214 with SMTP id h16-20020a170902f55000b001c630d17214mr313372plf.55.1699645970028; Fri, 10 Nov 2023 11:52:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699645970; cv=none; d=google.com; s=arc-20160816; b=pNyjq+6XBhBqj5eQpN8YsVL8++PzyX4lhy4+a+HmGJc41op75uk3do+A2BvMRqZrOv IC3ucooc4oW84otx6aDOhRTpohdbKOE0NMB3x/LOa2UZRJeIQirJCUOvLH+fohdZmlAt Gag+zUTucxU81ewYnnnQLuzbptPOEKiN0x4qFUOWElcM8vba4X8hfqBLqHtA6hgznM7M Z/e7NT344frRTSjZi1rIewhQVAmdFhXj/F5vWPy7kU0A0UzE3Rm1BrZXHm73U+vCutLl W3F3yBF8nsSlqPNSajWDKKsNgiMU5CVODvB18WmD2WIWJ8DVR1TpxQ5XKQNdlTQ/auBt kZ2w== 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=y+vup+IRSV4vL7MW/o0K48Pd7Y5IgCvX0WilaaYI5XM=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=LbrWV6W7wk0lDslQtlP37a1b8tQ1l8T31BGngRhw4dNkmMFhQt0pUILLezSOXmq6ku 4zulF+Q1lA/gNnFODZpZd4akvz/38S9fY58QqPCDzgUtfO5JfOCmmaowErVW9m8IiC7d 0BteM6VcCxx486x7uYSPPzVkWwYzZC6CGuLFWGQg9exZxo3H16g6+WznVpRyVe8lwZfd uB8o+Fi4CfrBhbCNNkVh5XT808qQqMCjwUQkwpC9IHC6Mc6emnoByLAuEnhujuvNeOEM UKncDfZsXh5xs5XhPnzAd1+YT4u4u6gapd37XesoiLt9JXOvornlD9GRi7m/JQnKar8s vckg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=fwXUbv4w; 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 p4-20020a170902e74400b001ca81fa0661si19455plf.508.2023.11.10.11.52.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:52:50 -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=fwXUbv4w; 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 242CA8077568; Fri, 10 Nov 2023 11:51:21 -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 S1346622AbjKJTvO (ORCPT + 29 others); Fri, 10 Nov 2023 14:51:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36862 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346681AbjKJTuv (ORCPT ); Fri, 10 Nov 2023 14:50:51 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AB153515EF; Fri, 10 Nov 2023 10:30:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699641041; x=1731177041; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=X/xNhyHvFMkgPNj7any9KS/bIKEyL+Njqu+OGpvTT3E=; b=fwXUbv4wLzxoJFpzAPraDOiPXR90UFazMcpvzrb4AD+6j5o+AoGsMPp1 REeKImJGkAEhzow43veh7yhova+BK/XUM1AtoMJqQmjPKBAb1uggdtfup BP8IQ1WvUxWHHZdVzm5xQ3VabPljG1XsJSVGcEqZgBq48Zzsps2xExAn5 IBuwTNrXrVDqzg4JnIxNi67qPoGg0DrA/O/X4O/BIf1h4Xl4p8KIqnc5P NQiz4hXYGUH+xC+NVeanb5t9tY34iNgy1OrblVZn4IvKkw5jqXn9FeoMs +/LG4cetKDXx0G0FkBnCsuleTT+dqeZ3DphTEXy5AIYZl5KOM8tTHv2AX A==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="380606851" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="380606851" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="792912167" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="792912167" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 10 Nov 2023 10:29:40 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 3F97F8D7; Fri, 10 Nov 2023 20:23:08 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 20/25] i2c: designware: Uninline i2c_dw_probe() Date: Fri, 10 Nov 2023 20:11:40 +0200 Message-ID: <20231110182304.3894319-21-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:51:21 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782207972706637556 X-GMAIL-MSGID: 1782207972706637556 Since i2c_dw_probe() is going to be extended, uninline it to reduce the noise in the common header. Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-common.c | 14 ++++++++++++++ drivers/i2c/busses/i2c-designware-core.h | 17 ++--------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c index b7e653e939bd..68d6a1c642a0 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -713,6 +713,20 @@ void i2c_dw_disable(struct dw_i2c_dev *dev) i2c_dw_release_lock(dev); } +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 Fri Nov 10 18:11:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163925 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1323398vqs; Fri, 10 Nov 2023 11:06:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IGcQ+W8hXTpoDTEUO8yjYAs2DNQnmvrsCaSaXaxwPTgdSQb2TchDMT2kgEyo31/SNpVYH2v X-Received: by 2002:a05:6a00:1948:b0:6c3:559c:60ef with SMTP id s8-20020a056a00194800b006c3559c60efmr8605283pfk.1.1699643194558; Fri, 10 Nov 2023 11:06:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699643194; cv=none; d=google.com; s=arc-20160816; b=aMqndmCsMzn0lQOORSTBQ8q0VbYDRPvg0snFxE+4hyQUnGHP2GsrrjouUIIWJGtL99 8tl6lrthh4GJz2RVSO+SSZBCeMx/ezUOp190a1tgKfnI7khYLMZGtzvTGq1C4382Nvmk qQ3gKiOCcyaG2Y7ZRnrXeCo4BAoQJH2bXoSBiE6yDE2z8+xW4IeSmawZvkf0FWE7Nah9 oXCU4c1XvVq7dKDqnpV6fzoOUVrbb8FzwWSn8iY5tPCKzFIrwnub/Rz8Od2rkaLso7kD G2/WHavl3wCJwChP9VyVjdYUE2BO9QrnD2381fkrzCn+nJRUqUUUDT2DNd/w+0QMvREo 8P3g== 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=RqFCEZt+cifBQxPxg9HkAFKqDM3d9czV3VCHcNX17xE=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=TW1YgimB8sSLNuKGJfgeEe+gdMe8LOfK+9oxyQ05l+9nUGlTJmZKdpYH1DlMJZh9b6 OAd2GeQcHNKw8EO2SmFr6zf5ugQUtP5zRa4ASqIrRKaCjgUvUy1dOfXVtkaenwEDlIoM cx8c+OZXYDHAeZ0252Q7M+buLQ+y7HDWrTVFF4o0FBUACxaTwL3jP+g5GHtAdf+McRB8 yO9l7aNIlwXql9oiCR4ckhBmLFLozh/CeFJty/TncXzJ/vhY5QG/1KpVGjTdr/oql+XK xJ4q6l21IpCBAnunsAiEPzP0TZqB9RnqWAZlAA+w7fKD28aIgY4aBDJK/F+nafNIOV2V 8qXA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=kWln275s; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id fc26-20020a056a002e1a00b006826c8d5a31si80897pfb.21.2023.11.10.11.06.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:06:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=kWln275s; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 755CB8069919; Fri, 10 Nov 2023 11:05:24 -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 S1344800AbjKJTD1 (ORCPT + 29 others); Fri, 10 Nov 2023 14:03:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57998 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236002AbjKJTDI (ORCPT ); Fri, 10 Nov 2023 14:03:08 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4C5BC293E3; Fri, 10 Nov 2023 10:26:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699640789; x=1731176789; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=fA4wI6REMt5xrvlGqZW7ug+64blc2EEl5FTiwCmCoEA=; b=kWln275sYwY6XZHSIKU+u8znkJPYlcZNh+mXpoq8IBOq3k5FvJnASdg+ TAPkEScjOBqlAeWKUKGmlYO5GlS2PqwO8P/W8Q5FmAQ3LqctqqtOSaPMG EGe0l+p+BGz95rvbptdUSzw9X9t0/mmRj9M6ouXW03QQr+uPzC9WwQr1I gi6hu4N3ln10UqN5vJDNaoiDRCli6yvDsXlutiwYBJX5vAFi3mhB9VBid NAahQmMLhl3C/cLfwLedMOd4N4FyHaNrom0AU+rV9iZV+ISpIfad9+NO5 lUyjJj2hvPm8nge7NN8C8SiI5lgTiUbudVF45scfnmJbB3Zio6cd0FeGJ w==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="375251968" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="375251968" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:23:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="798663772" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="798663772" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 10 Nov 2023 10:23:25 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 4593F8D1; Fri, 10 Nov 2023 20:23:08 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 21/25] i2c: designware: Propagate firmware node Date: Fri, 10 Nov 2023 20:11:41 +0200 Message-ID: <20231110182304.3894319-22-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:05:24 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782205062209094222 X-GMAIL-MSGID: 1782205062209094222 Propagate firmware node by using a specific API call, i.e. device_set_node(). Signed-off-by: Andy Shevchenko --- drivers/i2c/busses/i2c-designware-common.c | 2 ++ drivers/i2c/busses/i2c-designware-pcidrv.c | 2 -- drivers/i2c/busses/i2c-designware-platdrv.c | 3 --- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c index 68d6a1c642a0..45b5c910b8db 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -715,6 +715,8 @@ void i2c_dw_disable(struct dw_i2c_dev *dev) 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 c9eb01a16048..f9fbd41c188d 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 Fri Nov 10 18:11:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 163990 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1379076vqs; Fri, 10 Nov 2023 12:56:47 -0800 (PST) X-Google-Smtp-Source: AGHT+IFZ+vosHB6ou7d9UIhtkJQISMfc1TimJENFhTXpm5F9h4N4QO+tzGrNtLSU11ZddMMXcbCb X-Received: by 2002:a05:620a:2688:b0:777:457:34be with SMTP id c8-20020a05620a268800b00777045734bemr364132qkp.24.1699649807213; Fri, 10 Nov 2023 12:56:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699649807; cv=none; d=google.com; s=arc-20160816; b=NNXO2/WSApjhp+ibCJyY+LrzBqE+8ZBZmAe5yjsuh+zRqJkfEhwMHjfg179eUNMcmi RdB8nDt/9JMRQJFrgftCYAMBJoXD3oQmk6Q8/yg3Xp5cDF448ancrybrwRWCGRsbPgt2 kHrXizILrcg/GYLDVcV9SReJOabqpIhtUnMUHkjgGIqdlhQlnyW031z1Cjrs0/5ho7k4 0GVWBT4XBuwRAwpE/9NrC8++HmGu4e8Mxv3KD2NgLoIKOMzoehvLumXGbso8TFm2QU+Q UQHHdhkADFyH5sPusWQvEVopHimFanEE3cC+uVu+7YV1UX2weFTZDQJPU7vMHvt29eyG D+iQ== 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=yDrTTN8j4nYqEc2FFAkNitArppT2Hvgu2q2TGvqqUog=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=rXosnuqgPkplz9DWwIellrIJ7EWF7byyrFNmWz5Q6pTY33LWoCCeQ+LG8+6CinscWz wXWBVFDisOqfdlSuMbVuIoeC4Q+DtFAl3+MRmiTYsIWsAnlUMn96IHHvTAYeJ+iQdBYl WpsLvel5TNetaP5C1Du76tHpzV5zsQ/FzuOfR/z9exzd08DhDVN2mlND7PSXX/zElBdB 8zbCdlFPNOg6U9BSdX3Si16Odv15h0VBbvpEJhtkZnpI0NRMJPIlU4snWZN1FmzNOWT3 pUTn+gevt9wpSSCSF0hS1Q0AWTGa56BVUA4b470q43mqKqTKIHjOIHnv5TpPjhCjE2iC 2VmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=aCJIZkso; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id q19-20020a05620a0d9300b00770f3ea0864si232854qkl.783.2023.11.10.12.56.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 12:56:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=aCJIZkso; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 8118B8379F19; Fri, 10 Nov 2023 12:56:42 -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 S229920AbjKJU4b (ORCPT + 29 others); Fri, 10 Nov 2023 15:56:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230250AbjKJU41 (ORCPT ); Fri, 10 Nov 2023 15:56:27 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0C7B87693; Fri, 10 Nov 2023 10:32:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699641144; x=1731177144; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=bEJAV9zxfyI2elm8JN4vfIfB/68Bb0SGglHF3L4Fy+Y=; b=aCJIZksonkYiMiWdefRMRkeGVig9iU8p98Cg3KYv0yyKgye3yzTvrtev XmpwRrWS/tUVDtFMlHgrE6gR4uCvXssgrHsDFdcAK6whAOoUsXjQjIwjG wSRwhjQxF98frtUFcjr0olnoxuJ7G84SXd4+a7ZKm+lM9N1CI+pr7a1rf pagsbr+MrseWLs1OQLPsia4LXdRuYZDXsYtmtXIT/JpWje4029VEw4iVX 0R/DBp76W/MkyZ268q7hyIoZl0O5t37Mvpg7/A+z1oS+219pfbWY2dOmC JT+Jx5SMPzbsXmIErOl8cLtg/SOBOM1ZBR5oUduAiK+nQerhive0LQlE9 w==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="456715067" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="456715067" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="763808264" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="763808264" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 10 Nov 2023 10:29:40 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 571888E8; Fri, 10 Nov 2023 20:23:08 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 22/25] i2c: designware: Use pci_get_drvdata() Date: Fri, 10 Nov 2023 20:11:42 +0200 Message-ID: <20231110182304.3894319-23-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 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]); Fri, 10 Nov 2023 12:56:42 -0800 (PST) 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782211996205593777 X-GMAIL-MSGID: 1782211996205593777 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 --- 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 f9fbd41c188d..826c0c0a7c8d 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 Fri Nov 10 18:11: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: 163923 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1322344vqs; Fri, 10 Nov 2023 11:05:06 -0800 (PST) X-Google-Smtp-Source: AGHT+IHdgysNsgjW6jneH3lvdzgubksHcG5EMVPTJ0a9e9K0ouBucFPmJZdsQMsndpNjUNWoDjxn X-Received: by 2002:aca:d02:0:b0:3ae:511e:179e with SMTP id 2-20020aca0d02000000b003ae511e179emr174030oin.54.1699643106047; Fri, 10 Nov 2023 11:05:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699643106; cv=none; d=google.com; s=arc-20160816; b=cQ4uBQYBWHXSFAGUDfA+2vh79yRB20E8MCx4oFk0Gcw7S5dsAETKMsc61jGQncaZGW 9qS9Am8zYqv94kAscCMf1gNiKA+GvbP8YDrOaq1M/VoxHP8yv9D3VgQUMp2NqUMG5TGK l01qmFhZJC9AFNpAckQIoyoVwAe4lDylL6WYUCeJDrM+oWCyV+MAbf9hTjwceWEOossO uNAX9FPKQ6ecgrIIb4w9Q4aFtIj7fCZnf8Cb58bVonwQa/m1/KzZYbNACGlXC5GXzSft w59HwEeITF4xZ6/6f3QcFy+Wp+5cPcWZwasv6EpDBWRM099IRlSJym5eLmyPFhhCqc9q s0sw== 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=zv36/kcU7c04rhesdeq58P79sm9sQcUkTIzQrJ/Egaw=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=sah+Rf/Godbu65bH7rdXgNz0z8X6bgW273Mw0UDgny1AdQ6OOa+/kSbcR9TjBGiZZu GSa55DISr1kqiQdwpwb+z6M0Zo3RTglwJCs3sJfO9IJKMoTYaaibuxlgPXcVe+Sq2CZt hh0hk4GAp+Pjnf1eSUlrhclbIt0UvQP+hgE0MWBUeaYLBzaWvGeLlA4dWV1j7N68v7Zl Ruf94HtwxTb9s1U/DxhcRN2i3+xaKQpH5hJzwq9TWjAeM9f4LjtIzHgRsjflTgmYrhvN eUzwUQt7PXde1tsMl55fL2Aqv6lVUbm+vvocodwSikMeeKeVQ+SJ8kiqONYMa2wXgWFa OCTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MDOopHTv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id cf8-20020a056a02084800b005be1ee5be37si38608pgb.133.2023.11.10.11.05.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:05:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MDOopHTv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 33832837ED20; Fri, 10 Nov 2023 11:04:42 -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 S229464AbjKJTED (ORCPT + 29 others); Fri, 10 Nov 2023 14:04:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59792 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235971AbjKJTDi (ORCPT ); Fri, 10 Nov 2023 14:03:38 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9F4F84C06; Fri, 10 Nov 2023 10:27:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699640826; x=1731176826; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=lpWh4uAOv4LsodGDZzPPgdeMwQAJY/mrq6JPPyeOyOE=; b=MDOopHTvMBeQjdyNQJuUa/j5arW7d+mII+NL7vVeiz5BdMIhl2kcp5W5 4zBYjBB9de29EDbOmKxzk25o411tSq0c+izwykQ2687kKQIkvjNlDpGOc FSU59maSQfropo4qRJikOHDdBvFwlMsWjXLcBJ9jZhcW7Ju5wOyxLNxb4 VeB5SP1RoFGKcVo4qBg6jqWI7mb16pckXVrf9Ie0GXY7oxXidJkW1Asu8 WZs5iKQ46L5yQ2C8y1hukoAZA6BsKlSztKqPXdO89zoPbjekU/BqPl/f2 AJCJzvkE94mf1qKwBGrTWmZVZ80e6fMZJV2j0G5FYoGlVCWGU/wwjrPoV A==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="375251991" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="375251991" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:23:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="798663774" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="798663774" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga001.jf.intel.com with ESMTP; 10 Nov 2023 10:23:28 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 5CEE88E3; Fri, 10 Nov 2023 20:23:08 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 23/25] i2c: designware: Use temporary variable for struct device Date: Fri, 10 Nov 2023 20:11:43 +0200 Message-ID: <20231110182304.3894319-24-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-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]); Fri, 10 Nov 2023 11:04:42 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782204969706803426 X-GMAIL-MSGID: 1782204969706803426 Use temporary variable for struct device to make code neater. Signed-off-by: Andy Shevchenko Reviewed-by: Mario Limonciello --- 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 826c0c0a7c8d..34002c5eb67c 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 Fri Nov 10 18:11: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: 163964 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1346171vqs; Fri, 10 Nov 2023 11:50:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IEjqFw1pbt1nROr0/8joDQxLww9O8yMoYwk4jfF58m88hpF1nuM5pYUfZ1X6Xcos0ELimkA X-Received: by 2002:a05:6a00:4099:b0:6b4:231b:a45c with SMTP id bw25-20020a056a00409900b006b4231ba45cmr1618pfb.26.1699645799717; Fri, 10 Nov 2023 11:49:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699645799; cv=none; d=google.com; s=arc-20160816; b=gU5/Hk2wOT+AZ3fD3Ga4vrRYaWG9tEsSPVEQsOjl1+ykCMCizyoeEblxti3pDR/iaF Idx3ht30Y0yAwmkVZ4D4ugHhpyLNHLcvJGFw6jhBaYs89/u1uJEBLmRYJtyer3kz3NnN 4i5lQukxFd0rcEZsuMY5XHprEpvKHH0F/jBWVkjmmrDeBiBu/V8cQTEdDt4aXO9mt6xw GfgYpKArntaVVWYc5kbBmVrcdGMxFalaMipuS4BBShC/vNP+MGMoN2ly4QVfDjPQKuev UYrd8rI+pik2CPCBAnV3E+grcOMJQFFW4v2pEk6Of58jnOCRFCNgha/kFiWL+3BGOYuu anYQ== 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=rxX2dhQkLXoe8ZkwlA+x51nNVuLE5FvzOiMA1EUFca0=; fh=oqZDtrV02dtzkTHSBiwo+TWR13WhTCI6t34Q5J0VV5o=; b=g5q+9jZ9GC0S3jqthch/UasnfYKnI2Nv+G7AoWv7xLyqTb9DvwYZiIJvfDByJJflDY +7kEd/yAJ2ieR2uvKd7qOktAo8CtPRcgtFLoksaGWIh2Z5Uqg2Y/F6fyz7ynoZ3Y6QVD pd7OaAxEWo5r0nshtS5R5ixvaHFh6bb7gy73d7wtur73EmEbBhKlHCDh1bECEWY/4zdY LQm1a0+TG36eBlNHlldzkNoprHKFPYNiVknhfMYpXkXSEboVowlqm+W59rFXuDsAuuq0 G0aT3d7zwZHMr9d1RD9vkjHKnNb0WfLmeMEckkHBG0O3+MdaukbbiNnCyj8eJ7UsBi2/ BMUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="mDr/5Nv4"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id u16-20020a056a00125000b0069347c30c78si132444pfi.230.2023.11.10.11.49.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 11:49:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="mDr/5Nv4"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 473B983019EC; Fri, 10 Nov 2023 11:49:56 -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 S1346598AbjKJTtc (ORCPT + 29 others); Fri, 10 Nov 2023 14:49:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36902 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236314AbjKJTtR (ORCPT ); Fri, 10 Nov 2023 14:49:17 -0500 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5E4A512C917; Fri, 10 Nov 2023 10:31: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=1699641116; x=1731177116; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ogMo2ROZ1IRQfZGGc0DiQKwc3w6L4EKaxN3bgiF6KaQ=; b=mDr/5Nv4e4uaa7nUd41A2dSB1aQ9Z48N7Aw6lrMxKNr7SAyBoxHFSmMd M1mak7toTMNIl0PbWFIGK6OiZ4+Jqj5i180gbkNjLGhwe12JH9HWc4Fbi bN9Fi6hCVQCy/vO6TNBZaipvK47Csjzgaeusbcmz6g1XsE0tZ43CdVerC NimkKUsRN9m6dut0bqwXmlaIwGSLkU1z+TpVUszbZFy7YNSOtTgFAKgPH Ob04uUJKsKvb8Aql2iJAwIGjE1upJCrbuW8Cy9HjeSpRK0FkFqLL/P1yd LAW4Xupy+vhXZNcmfwdILThERPV2axsM1U88BJdr2fqiLHSC8qHsGvQa4 w==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="380606876" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="380606876" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 10:29:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="792912170" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="792912170" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 10 Nov 2023 10:29:40 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 6D374918; Fri, 10 Nov 2023 20:23:08 +0200 (EET) From: Andy Shevchenko To: Jarkko Nikula , Mario Limonciello , 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 , Hans de Goede Subject: [PATCH v3 24/25] i2c: designware: Get rid of redundant 'else' Date: Fri, 10 Nov 2023 20:11:44 +0200 Message-ID: <20231110182304.3894319-25-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> References: <20231110182304.3894319-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 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]); Fri, 10 Nov 2023 11:49:56 -0800 (PST) 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782207793886773385 X-GMAIL-MSGID: 1782207793886773385 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 45b5c910b8db..5e28f50e4ce6 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)