1. 09 4月, 2021 1 次提交
  2. 12 1月, 2021 1 次提交
    • A
      coresight: remove broken __exit annotations · 8ffe693a
      Arnd Bergmann 提交于
      stable inclusion
      from stable-5.10.4
      commit 939b32e18e8b6fd2435f1d02709ec872d795124f
      bugzilla: 46903
      
      --------------------------------
      
      [ Upstream commit 45fe7bef ]
      
      Functions that are annotated __exit are discarded for built-in drivers,
      but the .remove callback in a device driver must still be kept around
      to allow bind/unbind operations.
      
      There is now a linker warning for the discarded symbol references:
      
      `tmc_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-tmc-core.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-tmc-core.o
      `tpiu_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-tpiu.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-tpiu.o
      `etb_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-etb10.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-etb10.o
      `static_funnel_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-funnel.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-funnel.o
      `dynamic_funnel_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-funnel.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-funnel.o
      `static_replicator_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-replicator.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-replicator.o
      `dynamic_replicator_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-replicator.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-replicator.o
      `catu_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-catu.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-catu.o
      
      Remove all those annotations.
      
      Fixes: 8b0cf826 ("coresight: stm: Allow to build coresight-stm as a module")
      Reviewed-by: NStephen Boyd <swboyd@chromium.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMathieu Poirier <mathieu.poirier@linaro.org>
      Link: https://lore.kernel.org/r/20201208182651.1597945-3-mathieu.poirier@linaro.orgSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NSasha Levin <sashal@kernel.org>
      Signed-off-by: NChen Jun <chenjun102@huawei.com>
      Acked-by: NXie XiuQi <xiexiuqi@huawei.com>
      8ffe693a
  3. 07 1月, 2021 5 次提交
  4. 29 9月, 2020 2 次提交
  5. 18 9月, 2020 5 次提交
  6. 24 8月, 2020 1 次提交
  7. 21 7月, 2020 3 次提交
  8. 02 7月, 2020 1 次提交
    • M
      coresight: etmv4: Fix CPU power management setup in probe() function · 9b6a3f36
      Mike Leach 提交于
      The current probe() function calls a pair of cpuhp_xxx API functions to
      setup CPU hotplug handling. The hotplug lock is held for the duration of
      the two calls and other CPU related code using cpus_read_lock() /
      cpus_read_unlock() calls.
      
      The problem is that on error states, goto: statements bypass the
      cpus_read_unlock() call. This code has increased in complexity as the
      driver has developed.
      
      This patch introduces a pair of helper functions etm4_pm_setup_cpuslocked()
      and etm4_pm_clear() which correct the issues above and group the PM code a
      little better.
      
      The two functions etm4_cpu_pm_register() and etm4_cpu_pm_unregister() are
      dropped as these call cpu_pm_register_notifier() / ..unregister_notifier()
      dependent on CONFIG_CPU_PM - but this define is used to nop these functions
      out in the pm headers - so the wrapper functions are superfluous.
      
      Fixes: f188b5e7 ("coresight: etm4x: Save/restore state across CPU low power states")
      Fixes: e9f5d63f ("hwtracing/coresight-etm4x: Use cpuhp_setup_state_nocalls_cpuslocked()")
      Fixes: 58eb457b ("hwtracing/coresight-etm4x: Convert to hotplug state machine")
      Signed-off-by: NMike Leach <mike.leach@linaro.org>
      Cc: stable <stable@vger.kernel.org>
      Reviewed-by: NMathieu Poirier <mathieu.poirier@linaro.org>
      Link: https://lore.kernel.org/r/20200701160852.2782823-3-mathieu.poirier@linaro.orgSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9b6a3f36
  9. 19 5月, 2020 6 次提交
  10. 14 1月, 2020 1 次提交
  11. 05 11月, 2019 5 次提交
  12. 04 9月, 2019 5 次提交
  13. 04 7月, 2019 1 次提交
  14. 20 6月, 2019 3 次提交
    • S
      coresight: Use platform agnostic names · 0f5f9b6b
      Suzuki K Poulose 提交于
      So far we have reused the name of the "platform" device for
      the CoreSight device. But this is not very intuitive when
      we move to ACPI. Also, the ACPI device names have ":" in them
      (e.g, ARMHC97C:01), which the perf tool doesn't like very much.
      This patch introduces a generic naming scheme, givin more intuitive
      names for the devices that appear on the CoreSight bus.
      The names follow the pattern "prefix" followed by "index" (e.g, etm5).
      We maintain a list of allocated devices per "prefix" to make sure
      we don't allocate a new name when it is reprobed (e.g, due to
      unsatisifed device dependencies). So, we maintain the list
      of "fwnodes" of the parent devices to allocate a consistent name.
      All devices except the ETMs get an index allocated in the order
      of probing. ETMs get an index based on the CPU they are attached to.
      
      TMC devices are named using "tmc_etf", "tmc_etb", and "tmc_etr"
      prefixes depending on the configuration of the device.
      
      The replicators and funnels are not classified as dynamic/static
      anymore. One could easily figure that out by checking the presence
      of "mgmt" registers under sysfs.
      Signed-off-by: NSuzuki K Poulose <suzuki.poulose@arm.com>
      Signed-off-by: NMathieu Poirier <mathieu.poirier@linaro.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0f5f9b6b
    • S
      coresight: Rearrange platform data probing · af7cfd0f
      Suzuki K Poulose 提交于
      We are about to introduce methods to clean up the platform data
      as we switch to tracking the device reference from "name" to "fwnode
      handles" for device connections. This requires us to drop the fwnode
      handle references when the data is no longer required - i.e, when
      the device probe fails or the device gets unregistered.
      
      In order to consolidate the invocation of the cleanup, we delay the
      platform probing to the very last minute, possibly before invoking
      the coresight_register. Then, we leave the coresight core code to
      do the clean up. i.e, if the coresight_register fails, it takes
      care of freeing the data. Otherwise, coresight_unregister will
      do the necessary operations.
      Signed-off-by: NSuzuki K Poulose <suzuki.poulose@arm.com>
      Signed-off-by: NMathieu Poirier <mathieu.poirier@linaro.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      af7cfd0f
    • S
      coresight: Remove name from platform description · 2ede79a6
      Suzuki K Poulose 提交于
      We are about to use a name independent of the parent AMBA device
      name. As such, there is no need to have it in the platform description.
      Let us move this to coresight description instead.
      Signed-off-by: NSuzuki K Poulose <suzuki.poulose@arm.com>
      Signed-off-by: NMathieu Poirier <mathieu.poirier@linaro.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2ede79a6