Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp1745095pxa; Thu, 20 Aug 2020 20:46:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz1IOnlgknNy14PYj9OGl0Fi88ypVdGgucCXAfR6wb6DG4T0v1hXHqg0Zni01zrLZawZ34l X-Received: by 2002:aa7:c357:: with SMTP id j23mr989553edr.228.1597981572858; Thu, 20 Aug 2020 20:46:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597981572; cv=none; d=google.com; s=arc-20160816; b=XfMRfhp3vk+sQ8/1J3pWyRtuFKAFFMh/Qjd5NVdv2D1yalbdt0hGSVeK4R4C2QVnIu 1eEUk0fS1WFYqydc27fl03oiozw2O5EZxPaGSpM8CWs6x8E1A4pcmBClsDLlB/3YbwM6 /he4wlygx89C9t5Nl8Iooy3a+IkTWvUT96i45jEmDKTLoq9C3Vco1KAd95iwp8O6DGyz bzNwHK9lvUYRFY5/PGCnlCwJv6JA3DK/4mgF2mwkZOu1vtP6c6LMdPadRzFIgDAZjFY0 3ysvAaELkHiXg4Vf+6Mb0lKWbpMNQhU/uJ7+kKKG/heA1++eDlAYegFrLrei+Tq4cGgE kmeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dmarc-filter:dkim-signature; bh=OW2AZSzjeECH0FRhszUqd7yzqFYJ3Uvmi7lh2FY0IN0=; b=q9pjup2qGQhYgBpC6x4WnUW0BEHwlk4Lsm3H2PXcCsvqmlDjHfiwgqXy968RzrkhrN OmPQJMk3q42zMpexBA6sjg9TTFKBmR8m25WyqbQKLpb0IVrhfx9lQd9LaVzu7gdBHSNE W4n1Yrd8w99lPEs8MMtGHgHQ/+EnJBnvnPp20WqfbhC88ddjWkgZFeYiSMqdUM4GC3vt uyXiTsQfyYL+aUrmvlg3YsrCAenOFYH6JlabcxSk0RlLlS2ccNUFvO4QFYzr9WjPA0yY k9/3WXdHkVA5ZTvUvu4Cy1LsgldIM+9keHwCm/4F0OSmjMgcDWyUVFAYOPLJtyEm6pzz 02RQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=HJhRdAdj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i22si354858ejf.220.2020.08.20.20.45.49; Thu, 20 Aug 2020 20:46:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=HJhRdAdj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727866AbgHUDpE (ORCPT + 99 others); Thu, 20 Aug 2020 23:45:04 -0400 Received: from m43-7.mailgun.net ([69.72.43.7]:20819 "EHLO m43-7.mailgun.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727090AbgHUDpD (ORCPT ); Thu, 20 Aug 2020 23:45:03 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1597981502; h=Content-Transfer-Encoding: MIME-Version: Message-Id: Date: Subject: Cc: To: From: Sender; bh=OW2AZSzjeECH0FRhszUqd7yzqFYJ3Uvmi7lh2FY0IN0=; b=HJhRdAdj2TXCxNSBixeK4hEkOcGy7grChfbZSk0W6Hxrcb772J2l1JQ696rCLGsoioJ+oULX 5W3qrG3rdNm7ayGfLJLiA3c5VHHU3krKyt+D7J8fJLMBklM5HaW1D0otvmjKxddOBhJoLSNL SO82aOnS5neFF0l1xGCOWiRx2xM= X-Mailgun-Sending-Ip: 69.72.43.7 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n02.prod.us-west-2.postgun.com with SMTP id 5f3f433dc3a55812b12abd32 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Fri, 21 Aug 2020 03:45:01 GMT Received: by smtp.codeaurora.org (Postfix, from userid 1001) id D92D2C433AF; Fri, 21 Aug 2020 03:45:01 +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 81ABDC433CA; Fri, 21 Aug 2020 03:44:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 81ABDC433CA 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 Cc: Tingwei Zhang , Greg Kroah-Hartman , Leo Yan , Randy Dunlap , Russell King , Kim Phillips , Mian Yousaf Kaukab , tsoni@codeaurora.org, Sai Prakash Ranjan , Mao Jinlong , coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v10 00/24] coresight: allow to build coresight as modules Date: Fri, 21 Aug 2020 11:44:21 +0800 Message-Id: <20200821034445.967-1-tingwei@codeaurora.org> X-Mailer: git-send-email 2.20.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.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 v9: Fix warning reported by kernel test robot Rebase to coresight-next Change from v8: Protect etmdrvdata[] by modifying it on relevant CPU (Mathieu and Suzuki) Grab the device before allocating memory for the node (Mathieu) Add author of coresight core driver (Mathieu) Change from v7: Depends on below change for ETM hotplug (Sai) https://lore.kernel.org/linux-arm-kernel/20200729051310.18436-1-saiprakash.ranjan@codeaurora.org/ Add mutex lock to protect etmdrvdata[] (Suzuki) Add helper function coresight_get_ref() (Suzuki) Reorg replicator and funnel change. Use two patches to support these two drivers. (Suzuki) Add fix tag to "coresight: etm: perf: Fix warning caused by etm_setup_aux failure" (Suzuki) Update author of "coresight: cti: Fix bug clearing sysfs links on callback" Change from v6: Correct module description for CATU (Mike) Check ect_ret equals 0 and set ect_enabled flag (Mike) Add Tested-by and Reviewed-by from Mike Change from v5: Add below CTI clean up change from Mike into series -https://lists.linaro.org/pipermail/coresight/2020-July/004349.html Increase module reference count when enabling CTI device (Mike) Change from v4: Fix error handling in coresight_grab_devicei() (Greg) Add coresight: cti: Fix remove sysfs link error from Mike -https://lists.linaro.org/pipermail/coresight/2020-July/004275.html Move cti_remove_conn_xrefs() into cti_remove() (Mike) Align patch subject to coresight: : (Mike) 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 (8): coresight: use IS_ENABLED for CONFIGs that may be modules coresight: etm3x: allow etm3x to be built as a module coresight: etm4x: allow etm4x to be built as a module coresight: etb: allow etb to be built as a module coresight: tpiu: allow tpiu to be built as a module coresight: tmc: allow tmc to be built as a module coresight: allow funnel driver to be built as module coresight: allow replicator driver to be built as module Mian Yousaf Kaukab (2): coresight: export global symbols coresight: tmc-etr: add function to register catu ops Mike Leach (2): coresight: cti: Fix remove sysfs link error coresight: cti: Fix bug clearing sysfs links on callback Tingwei Zhang (12): 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() coresight: stm: allow to build coresight-stm as a module coresight: etm: perf: Fix warning caused by etm_setup_aux failure coresight: cti: add function to register cti associate ops coresight: cti: don't disable ect device if it's not enabled coresight: cti: increase reference count when enabling cti coresight: cti: allow cti to be built as a module coresight: catu: 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} | 154 +++++++++++++++--- .../hwtracing/coresight/coresight-cpu-debug.c | 2 + .../{coresight-cti.c => coresight-cti-core.c} | 67 ++++++-- drivers/hwtracing/coresight/coresight-etb10.c | 28 +++- .../hwtracing/coresight/coresight-etm-perf.c | 13 +- .../hwtracing/coresight/coresight-etm-perf.h | 5 +- ...resight-etm3x.c => coresight-etm3x-core.c} | 28 +++- ...resight-etm4x.c => coresight-etm4x-core.c} | 84 +++++++--- .../hwtracing/coresight/coresight-funnel.c | 64 +++++++- .../hwtracing/coresight/coresight-platform.c | 1 + drivers/hwtracing/coresight/coresight-priv.h | 24 ++- .../coresight/coresight-replicator.c | 65 +++++++- drivers/hwtracing/coresight/coresight-stm.c | 20 ++- drivers/hwtracing/coresight/coresight-sysfs.c | 2 + .../{coresight-tmc.c => coresight-tmc-core.c} | 25 ++- .../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 | 20 ++- include/linux/coresight.h | 3 +- 24 files changed, 636 insertions(+), 110 deletions(-) rename drivers/hwtracing/coresight/{coresight.c => coresight-core.c} (92%) rename drivers/hwtracing/coresight/{coresight-cti.c => coresight-cti-core.c} (94%) rename drivers/hwtracing/coresight/{coresight-etm3x.c => coresight-etm3x-core.c} (97%) rename drivers/hwtracing/coresight/{coresight-etm4x.c => coresight-etm4x-core.c} (96%) rename drivers/hwtracing/coresight/{coresight-tmc.c => coresight-tmc-core.c} (95%) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project