Received: by 2002:a05:7412:e79e:b0:f3:1519:9f41 with SMTP id o30csp47281rdd; Wed, 22 Nov 2023 09:04:35 -0800 (PST) X-Google-Smtp-Source: AGHT+IGjTDLt7eFuXswHsuJ+VswXxIWR0w1PU1Fvp+nVjfzFsNqQbgjK2PFQMDSvq2xvLvbWCOqc X-Received: by 2002:a05:6a20:a402:b0:18b:51e:e711 with SMTP id z2-20020a056a20a40200b0018b051ee711mr2317011pzk.13.1700672675533; Wed, 22 Nov 2023 09:04:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700672675; cv=none; d=google.com; s=arc-20160816; b=oKbMI82XZT6+CWanl0JukcjsR8Gy1tiA25+za2Dp8k9q4jUowIguXHd9wPwamygJMU S6ZWtEvPsGqgSGppCPciaBkni6lwdAbXZE4KtUbxvIH48W09LfeZwfimf/ZOdGJkQkcn iExtKmZ69RxaiXCzBnZxak49mHikoiwrVMyxnGCj41GaR6LCOC+5VBZnY+YNYw/KyPDt G9tK54L0zUUm0JW9TnEazkIuuWYiHkhc44BdaOluFr+03ntYLrWqapsuZMbJQTReR4OG /yT6S3x2HfFAb6v8OD/Bv/nf9E88gphtp/4stP/ajQhqhsYPgsuqvai0rpyIHthyOwdX zzjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=7y7/V0wNAuzGoPsrt1n16Y/7ohzelQgkMuFSoEye4YE=; fh=IAPWe4TxxH++dWJMk9LsgoVT40HMQLG56K72otHPuF0=; b=HWNI9SQcG3pqg4s/i4U2DhnRLYqZvG3ahkk9vIBs7/D1PdVJbI2IGx7ETwoK44YybO V8m5YVlJwdHW7I4PCq7iE8gffmpPaK+A5+lmaMJJi5WyVl83wA7v+vyP3croau9tub9+ sVKwggQiZY1mB4Nn0KbMrDD/3wrBCyvwxGjoVDcDLt93/wiTP9y6Arj2WkLwwEKTgqkX 5hhSl0rdhhQ1F2ay0WqnzPgZRxdnso8q+Kc0SYMjW3zAMp8S++1UO4QHfBG2RgCwdgxK jXK8A+yzcjd8psE4H+R7V6wZColFmBGu1GZTCYE+LXSq2IGnlfqc7zZ+mUlVNA3Z1vk+ 9IpQ== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id fc23-20020a056a002e1700b006c1222c5eaasi13457017pfb.175.2023.11.22.09.04.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Nov 2023 09:04:35 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 4340A806E578; Wed, 22 Nov 2023 09:04:29 -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 S1343814AbjKVRET (ORCPT + 99 others); Wed, 22 Nov 2023 12:04:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50350 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231708AbjKVRES (ORCPT ); Wed, 22 Nov 2023 12:04:18 -0500 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 1B4F09F; Wed, 22 Nov 2023 09:04:14 -0800 (PST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3199CFEC; Wed, 22 Nov 2023 09:05:01 -0800 (PST) Received: from bogus (e103737-lin.cambridge.arm.com [10.1.197.49]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id AF95E3F73F; Wed, 22 Nov 2023 09:04:12 -0800 (PST) Date: Wed, 22 Nov 2023 17:04:10 +0000 From: Sudeep Holla To: Anshuman Khandual Cc: linux-arm-kernel@lists.infradead.org, suzuki.poulose@arm.com, Lorenzo Pieralisi , Sudeep Holla , Mike Leach , James Clark , Maxime Coquelin , Alexandre Torgue , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, coresight@lists.linaro.org, linux-stm32@st-md-mailman.stormreply.com Subject: Re: [PATCH 5/7] coresight: tmc: Move ACPI support from AMBA driver to platform driver Message-ID: References: <20231027072943.3418997-1-anshuman.khandual@arm.com> <20231027072943.3418997-6-anshuman.khandual@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231027072943.3418997-6-anshuman.khandual@arm.com> X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Wed, 22 Nov 2023 09:04:29 -0800 (PST) On Fri, Oct 27, 2023 at 12:59:41PM +0530, Anshuman Khandual wrote: > Add support for the tmc devices in the platform driver, which can then be > used on ACPI based platforms. This change would now allow runtime power > management for ACPI based systems. The driver would try to enable the APB > clock if available. > > Cc: Lorenzo Pieralisi > Cc: Sudeep Holla > Cc: Suzuki K Poulose > Cc: Mike Leach > Cc: James Clark > Cc: linux-acpi@vger.kernel.org > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Cc: coresight@lists.linaro.org > Signed-off-by: Anshuman Khandual > --- > drivers/acpi/arm64/amba.c | 2 - > .../hwtracing/coresight/coresight-tmc-core.c | 127 +++++++++++++++--- > drivers/hwtracing/coresight/coresight-tmc.h | 1 + > 3 files changed, 113 insertions(+), 17 deletions(-) [...] > diff --git a/drivers/hwtracing/coresight/coresight-tmc-core.c b/drivers/hwtracing/coresight/coresight-tmc-core.c > index 7ec5365e2b64..618bc0b7a1a5 100644 > --- a/drivers/hwtracing/coresight/coresight-tmc-core.c > +++ b/drivers/hwtracing/coresight/coresight-tmc-core.c [...] > @@ -573,9 +579,9 @@ static void tmc_shutdown(struct amba_device *adev) > spin_unlock_irqrestore(&drvdata->spinlock, flags); > } > > -static void tmc_remove(struct amba_device *adev) > +static void __tmc_remove(struct device *dev) > { > - struct tmc_drvdata *drvdata = dev_get_drvdata(&adev->dev); > + struct tmc_drvdata *drvdata = dev_get_drvdata(dev); > > /* > * Since misc_open() holds a refcount on the f_ops, which is > @@ -586,6 +592,11 @@ static void tmc_remove(struct amba_device *adev) > coresight_unregister(drvdata->csdev); > } > > +static void tmc_remove(struct amba_device *adev) > +{ > + __tmc_remove(&adev->dev); > +} > + > static const struct amba_id tmc_ids[] = { > CS_AMBA_ID(0x000bb961), > /* Coresight SoC 600 TMC-ETR/ETS */ > @@ -613,6 +624,92 @@ static struct amba_driver tmc_driver = { > > module_amba_driver(tmc_driver); > > +static int tmc_platform_probe(struct platform_device *pdev) > +{ > + struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > + struct tmc_drvdata *drvdata; > + int ret = 0; > + > + drvdata = devm_kzalloc(&pdev->dev, sizeof(*drvdata), GFP_KERNEL); > + if (!drvdata) > + return -ENOMEM; > + > + drvdata->pclk = coresight_get_enable_apb_pclk(&pdev->dev); > + if (IS_ERR(drvdata->pclk)) > + return -ENODEV; > + --->8 > + if (res) { > + drvdata->base = devm_ioremap_resource(&pdev->dev, res); > + if (IS_ERR(drvdata->base)) { > + clk_put(drvdata->pclk); > + return PTR_ERR(drvdata->base); > + } > + } > + --- You need drop the above hunk as _tmc_probe() already takes care of that. This is the root cause for the issue I reported in the other thread. Also sorry for the confusion, I had to refer to coresight-tmc-core.c and post the patch to unify module_init/exit but completely mixed up the file/patch and referred coresight-tpiu-core.c instead as that patch was dealing with it. -- Regards, Sudeep