From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id ED4CFC433E1 for ; Thu, 13 Aug 2020 20:38:14 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BA78520716 for ; Thu, 13 Aug 2020 20:38:14 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="S30sw6xE"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="NzX+K1OR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BA78520716 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=F+VgaKBQfNCSvg/5PBokg4DwxNphfOJJEiG8IYhTO3A=; b=S30sw6xE5oODX8yPfKLaD0KXT VveST88MQg+W40/UQoFoaErSq42A8a3bIk8mWdcBUgHcjxwWBamSgIzRvuL2RiIiLoAg8rGtk0LmT sZHTCgYTNou7ioKmr88Tf1XN22qHXI9/tW2oh1QmNMgJRGYVd+IeWauTvS9jiHSL/rKw+Toa03jLB C1TZ0bRaKoPwhxUgS29r3hBB0jv9zI1jDTcoKOVQZ8Etn0U7ldSGlHHT6Dlquaty7Nhe8p77AuZGA edI3e/49RaduqQMQV2gMCNiolG4+YJZPEP4PORK3885gEuCwBIIKnSsQ5hof0h0NDp/nmLAXpc6K2 10CED1mmg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6Jy8-0004SN-He; Thu, 13 Aug 2020 20:37:00 +0000 Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6Jy5-0004Qn-Ir for linux-arm-kernel@lists.infradead.org; Thu, 13 Aug 2020 20:36:58 +0000 Received: by mail-pl1-x644.google.com with SMTP id r4so3156645pls.2 for ; Thu, 13 Aug 2020 13:36:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=1/wjgBCXnd5KOGhaIdBh5V8kPQPZmAWjtZjgIqdiLrg=; b=NzX+K1OR/gVx+F6qi99USAzS1/ZwKks8taufl56WOQAxd9jBrzHoKx46mG0XRapBmY On+mDwRzt/zthwHavRNhjtEyPhhGziYKjlH+/EZhcBiNfvEA/GmZUrOTsNj4ufXSCgOF 2ZCCtpvMMzQIjerTIAB91jPBagkjE2lXj+KtIemg6aqBOmIrspFqYZfrUamiBw9QKSxf H40840bjgqLNpHwmKlNDu6xLgqxqGsdWAIUcrKuhU9XAs0XVxG3RhtgF3GDIc4gEvX4L oVZMXnhcGX4Z7M11hoSoJWVlMRTCfCp8BYeMEt7wm93mBzrB7S3xFxtrnYmYdZaf3gza OFvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=1/wjgBCXnd5KOGhaIdBh5V8kPQPZmAWjtZjgIqdiLrg=; b=RetGspVRk+jQ3/lvViJXtqmy7jFAnwAsBW4o3xl1PYWnb3XV0guW9jeBzTqSQNyCbi uIG4kqKj2qd7lDiCOL2tBPhehb/+57aCu57Kuv4nYEhfATaR25ZE2QdhWIAoMHmA6Bxr EfHl9fkBWRWkfEypWe+1l9Hq0abMs4cwW2uVbQRAUKJ08Hqkbsv/3PQ33qV6nfG2ZNT7 ImhlVv7iJAt9m6yeHYsrDkLvHNEwgqw95P+m+PPKgeaTex+x1+OPwbhZQs1FK9Omukhq GqE+ZBhHIV8tbpw0VGtgGJZqcXA2I3ehqoXTXIPfYUGCHscqmZ2fIDqyiGoOzMqU3shE VMJA== X-Gm-Message-State: AOAM532wjgEjyvt5Rifff9wM9oMpWVSwKfDmaS8fGpRi2cOrxwLvEoKx QBDVVIBSPYagCk1S+GRftYGEIQ== X-Google-Smtp-Source: ABdhPJxuhfoXFyPiDZlAP1M4JrYa3b1L58n+zxzbf1JNIfYt3ryUtJW7kDcm5QoxJda+R+Eigm7GoA== X-Received: by 2002:a17:90a:d986:: with SMTP id d6mr6145720pjv.134.1597351015474; Thu, 13 Aug 2020 13:36:55 -0700 (PDT) Received: from xps15 (S0106002369de4dac.cg.shawcable.net. [68.147.8.254]) by smtp.gmail.com with ESMTPSA id w9sm6202345pgg.76.2020.08.13.13.36.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Aug 2020 13:36:54 -0700 (PDT) Date: Thu, 13 Aug 2020 14:36:52 -0600 From: Mathieu Poirier To: Tingwei Zhang Subject: Re: [PATCH v8 13/24] coresight: tmc: allow tmc to be built as a module Message-ID: <20200813203652.GM3393195@xps15> References: <20200807111153.7784-1-tingwei@codeaurora.org> <20200807111153.7784-14-tingwei@codeaurora.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200807111153.7784-14-tingwei@codeaurora.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200813_163657_771239_12678CD1 X-CRM114-Status: GOOD ( 31.46 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: tsoni@codeaurora.org, Sai Prakash Ranjan , Kim Phillips , Mao Jinlong , Suzuki K Poulose , Alexander Shishkin , Greg Kroah-Hartman , coresight@lists.linaro.org, Randy Dunlap , Mian Yousaf Kaukab , Russell King , Leo Yan , linux-arm-kernel@lists.infradead.org, Mike Leach Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Fri, Aug 07, 2020 at 07:11:42PM +0800, Tingwei Zhang wrote: > From: Kim Phillips > > Allow to build coresight-tmc as a module, for ease of development. > > - Kconfig becomes a tristate, to allow =m > - append -core to source file name to allow module to > be called coresight-tmc by the Makefile > - add an tmc_remove function, for module unload > - add a MODULE_DEVICE_TABLE for autoloading on boot > > Cc: Mathieu Poirier > Cc: Leo Yan > Cc: Alexander Shishkin > Cc: Randy Dunlap > Cc: Suzuki K Poulose > Cc: Greg Kroah-Hartman > Cc: Russell King > Signed-off-by: Kim Phillips > Signed-off-by: Tingwei Zhang > Tested-by: Mike Leach > Reviewed-by: Suzuki K Poulose For patches 11, 12 and 13: Reviewed-by: Mathieu Poirier > --- > drivers/hwtracing/coresight/Kconfig | 6 ++++- > drivers/hwtracing/coresight/Makefile | 6 ++--- > .../{coresight-tmc.c => coresight-tmc-core.c} | 24 ++++++++++++++++++- > 3 files changed, 31 insertions(+), 5 deletions(-) > rename drivers/hwtracing/coresight/{coresight-tmc.c => coresight-tmc-core.c} (95%) > > diff --git a/drivers/hwtracing/coresight/Kconfig b/drivers/hwtracing/coresight/Kconfig > index 8fd9887fb03b..fc48ae086746 100644 > --- a/drivers/hwtracing/coresight/Kconfig > +++ b/drivers/hwtracing/coresight/Kconfig > @@ -25,7 +25,8 @@ config CORESIGHT_LINKS_AND_SINKS > entity at run time to form a complete trace path. > > config CORESIGHT_LINK_AND_SINK_TMC > - bool "Coresight generic TMC driver" > + tristate "Coresight generic TMC driver" > + > depends on CORESIGHT_LINKS_AND_SINKS > help > This enables support for the Trace Memory Controller driver. > @@ -34,6 +35,9 @@ config CORESIGHT_LINK_AND_SINK_TMC > complies with the generic implementation of the component without > special enhancement or added features. > > + To compile this driver as a module, choose M here: the > + module will be called coresight-tmc. > + > config CORESIGHT_CATU > bool "Coresight Address Translation Unit (CATU) driver" > depends on CORESIGHT_LINK_AND_SINK_TMC > diff --git a/drivers/hwtracing/coresight/Makefile b/drivers/hwtracing/coresight/Makefile > index 271dc255454f..f2a568b969c4 100644 > --- a/drivers/hwtracing/coresight/Makefile > +++ b/drivers/hwtracing/coresight/Makefile > @@ -4,9 +4,9 @@ > # > obj-$(CONFIG_CORESIGHT) += coresight.o coresight-etm-perf.o \ > coresight-platform.o coresight-sysfs.o > -obj-$(CONFIG_CORESIGHT_LINK_AND_SINK_TMC) += coresight-tmc.o \ > - coresight-tmc-etf.o \ > - coresight-tmc-etr.o > +obj-$(CONFIG_CORESIGHT_LINK_AND_SINK_TMC) += coresight-tmc.o > +coresight-tmc-y := coresight-tmc-core.o coresight-tmc-etf.o \ > + coresight-tmc-etr.o > obj-$(CONFIG_CORESIGHT_SINK_TPIU) += coresight-tpiu.o > obj-$(CONFIG_CORESIGHT_SINK_ETBV10) += coresight-etb10.o > obj-$(CONFIG_CORESIGHT_LINKS_AND_SINKS) += coresight-funnel.o \ > diff --git a/drivers/hwtracing/coresight/coresight-tmc.c b/drivers/hwtracing/coresight/coresight-tmc-core.c > similarity index 95% > rename from drivers/hwtracing/coresight/coresight-tmc.c > rename to drivers/hwtracing/coresight/coresight-tmc-core.c > index 7040d583bed9..f46852489adf 100644 > --- a/drivers/hwtracing/coresight/coresight-tmc.c > +++ b/drivers/hwtracing/coresight/coresight-tmc-core.c > @@ -561,6 +561,21 @@ static void tmc_shutdown(struct amba_device *adev) > spin_unlock_irqrestore(&drvdata->spinlock, flags); > } > > +static int __exit tmc_remove(struct amba_device *adev) > +{ > + struct tmc_drvdata *drvdata = dev_get_drvdata(&adev->dev); > + > + /* > + * Since misc_open() holds a refcount on the f_ops, which is > + * etb fops in this case, device is there until last file > + * handler to this device is closed. > + */ > + misc_deregister(&drvdata->miscdev); > + coresight_unregister(drvdata->csdev); > + > + return 0; > +} > + > static const struct amba_id tmc_ids[] = { > CS_AMBA_ID(0x000bb961), > /* Coresight SoC 600 TMC-ETR/ETS */ > @@ -572,6 +587,8 @@ static const struct amba_id tmc_ids[] = { > { 0, 0}, > }; > > +MODULE_DEVICE_TABLE(amba, tmc_ids); > + > static struct amba_driver tmc_driver = { > .drv = { > .name = "coresight-tmc", > @@ -580,6 +597,11 @@ static struct amba_driver tmc_driver = { > }, > .probe = tmc_probe, > .shutdown = tmc_shutdown, > + .remove = tmc_remove, > .id_table = tmc_ids, > }; > -builtin_amba_driver(tmc_driver); > +module_amba_driver(tmc_driver); > + > +MODULE_AUTHOR("Pratik Patel "); > +MODULE_DESCRIPTION("Arm CoreSight Trace Memory Controller driver"); > +MODULE_LICENSE("GPL v2"); > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel