From patchwork Thu Jul 23 04:27:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tingwei Zhang X-Patchwork-Id: 11679881 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 74DC0138A for ; Thu, 23 Jul 2020 04:30:50 +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 4AF9020714 for ; Thu, 23 Jul 2020 04:30:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="HYUBsQx4"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mg.codeaurora.org header.i=@mg.codeaurora.org header.b="ujHplzC5" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4AF9020714 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.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:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=k2E+nDAGobJi7GpaUIEi3PZZLAcN5KyzDSZRJ5SNLBs=; b=HYUBsQx4I2nhL9wDGgUvHOsjtb BHp/NdO6xEFbeYL6tYrhpB5qeEwK9dlQ76yv/ec/JvxlWZmYSHmS21W16nRFewueW5Asp9LDK/QWh KgLfZmzqzLhopGJ6DPJ/Vz53/fKKetv+4UEJZwPCqxl+OR9EdIt3nPg2jbxufhzFEZlRvGUnnPaDo DCX2dO9uR9EcLHPA81zyX9hJRURzfZU4y8GySL3ysHdUyzi1OneNxSgYzms9D80/CKBw50d1Hakml gnEtoGJtI6CjAjKNAQ/gjGwC+1a9yTWrbgVfS9NJpYTmETYBb9gsDZwWXOSpy392z0Sa2wXWVSILo myKP9PpQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jySqB-0006Rr-36; Thu, 23 Jul 2020 04:28:19 +0000 Received: from m43-7.mailgun.net ([69.72.43.7]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jySq8-0006RR-AA for linux-arm-kernel@lists.infradead.org; Thu, 23 Jul 2020 04:28:17 +0000 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1595478495; h=Content-Transfer-Encoding: MIME-Version: Message-Id: Date: Subject: Cc: To: From: Sender; bh=NFJWfYxfpmUBEbTnEH3CdxRgLGVB8PprLnmnKD2TDAY=; b=ujHplzC5Pm1e2f0KY+o4UwrN/A/VpYV1EQpRqdpMZbdHenASFNdvRoN9snyxjhHo0uRSvTiM 4S1x0HlQV2K4dtEg+oiwkoDhB/Fp5U7qI5JnPsXHflLTulvaCa9n8U8bNQoi+hEZ9t6YHLSk XXD8703bROH2m5KLZSeU1G2iXKU= X-Mailgun-Sending-Ip: 69.72.43.7 X-Mailgun-Sid: WyJiYzAxZiIsICJsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmciLCAiYmU5ZTRhIl0= Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n12.prod.us-west-2.postgun.com with SMTP id 5f1911decf983e60a8f033c3 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Thu, 23 Jul 2020 04:28:14 GMT Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 0E9A6C43395; Thu, 23 Jul 2020 04:28:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=2.0 tests=ALL_TRUSTED,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.0 Received: from tingweiz-gv.qualcomm.com (unknown [180.166.53.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: tingwei) by smtp.codeaurora.org (Postfix) with ESMTPSA id 08144C433C6; Thu, 23 Jul 2020 04:28:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 08144C433C6 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=none smtp.mailfrom=tingwei@codeaurora.org From: Tingwei Zhang To: Mathieu Poirier , Suzuki K Poulose , Alexander Shishkin , Mike Leach Subject: [PATCH v4 00/20] coresight: allow to build coresight as modules Date: Thu, 23 Jul 2020 12:27:42 +0800 Message-Id: <20200723042802.22511-1-tingwei@codeaurora.org> X-Mailer: git-send-email 2.20.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200723_002816_433432_E2590F91 X-CRM114-Status: GOOD ( 15.86 ) X-Spam-Score: 0.0 (/) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [69.72.43.7 listed in list.dnswl.org] 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [69.72.43.7 listed in wl.mailspike.net] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 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 , Greg Kroah-Hartman , coresight@lists.linaro.org, Randy Dunlap , Mian Yousaf Kaukab , Russell King , Tingwei Zhang , Leo Yan , linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Allow to build coresight as modules. This gives developers the feasibility to test their code without reboot. This series is based on below two series. - "coresight: allow to build components as modules" https://lkml.org/lkml/2018/6/5/989 - "coresight: make drivers modular" https://lkml.org/lkml/2020/1/17/468 Change from v3: Rebase to coresight-next (Mike and Mathieu) Reorder try_get_module() (Suzuki) Clean up etmdrvdata[] in device remote path (Mike) Move cti_remove_conn_xrefs to cti_remove (Mike) Change from v2: Rebase to 5.8-rc5. Export coresight_add_sysfs_link and coresight_remove_sysfs_link Fix one cut and paste error on MODULE_DESCRIPTION of CTI Change from v1: Use try_module_get() to avoid module to be unloaded when device is used in active trace session. (Mathieu P) Change from above two series. This series adds the support to dynamically remove module when the device in that module is enabled and used by some trace path. It disables all trace paths with that device and release the trace path. Kim Phillips (7): coresight: use IS_ENABLED for CONFIGs that may be modules coresight: allow etm3x to be built as a module coresight: allow etm4x to be built as a module coresight: allow etb to be built as a module coresight: allow tpiu to be built as a module coresight: allow tmc to be built as a module coresight: allow funnel and replicator drivers to be built as modules Mian Yousaf Kaukab (4): coresight: export global symbols coresight: remove multiple init calls from funnel driver coresight: remove multiple init calls from replicator driver coresight: tmc-etr: add function to register catu ops Tingwei Zhang (9): coresight: cpu_debug: add module name in Kconfig coresight: cpu_debug: define MODULE_DEVICE_TABLE coresight: add coresight prefix to barrier_pkt coresight: add try_get_module() in coresight_grab_device() allow to build coresight-stm as a module, for ease of development. coresight: cti: add function to register cti associate ops coresight: allow cti to be built as a module coresight: allow catu drivers to be built as modules coresight: allow the coresight core driver to be built as a module drivers/hwtracing/coresight/Kconfig | 54 ++++++++-- drivers/hwtracing/coresight/Makefile | 22 ++-- drivers/hwtracing/coresight/coresight-catu.c | 37 ++++++- drivers/hwtracing/coresight/coresight-catu.h | 2 - .../{coresight.c => coresight-core.c} | 102 ++++++++++++++---- .../hwtracing/coresight/coresight-cpu-debug.c | 2 + .../{coresight-cti.c => coresight-cti-core.c} | 51 ++++++++- drivers/hwtracing/coresight/coresight-etb10.c | 22 +++- .../hwtracing/coresight/coresight-etm-perf.c | 9 +- .../hwtracing/coresight/coresight-etm-perf.h | 5 +- ...resight-etm3x.c => coresight-etm3x-core.c} | 27 ++++- ...resight-etm4x.c => coresight-etm4x-core.c} | 26 ++++- .../hwtracing/coresight/coresight-funnel.c | 62 ++++++++++- .../hwtracing/coresight/coresight-platform.c | 1 + drivers/hwtracing/coresight/coresight-priv.h | 24 ++--- .../coresight/coresight-replicator.c | 63 ++++++++++- drivers/hwtracing/coresight/coresight-stm.c | 20 +++- drivers/hwtracing/coresight/coresight-sysfs.c | 2 + .../{coresight-tmc.c => coresight-tmc-core.c} | 19 +++- .../hwtracing/coresight/coresight-tmc-etf.c | 2 +- .../hwtracing/coresight/coresight-tmc-etr.c | 21 +++- drivers/hwtracing/coresight/coresight-tmc.h | 3 + drivers/hwtracing/coresight/coresight-tpiu.c | 19 +++- include/linux/coresight.h | 2 +- 24 files changed, 520 insertions(+), 77 deletions(-) rename drivers/hwtracing/coresight/{coresight.c => coresight-core.c} (95%) rename drivers/hwtracing/coresight/{coresight-cti.c => coresight-cti-core.c} (96%) rename drivers/hwtracing/coresight/{coresight-etm3x.c => coresight-etm3x-core.c} (97%) rename drivers/hwtracing/coresight/{coresight-etm4x.c => coresight-etm4x-core.c} (98%) rename drivers/hwtracing/coresight/{coresight-tmc.c => coresight-tmc-core.c} (96%)