Commit 44aeec83 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull Char/Misc updates from Greg KH:
 "Here is the big set of char/misc and other driver subsystem updates
  for 6.5-rc1.

  Lots of different, tiny, stuff in here, from a range of smaller driver
  subsystems, including pulls from some substems directly:

   - IIO driver updates and additions

   - W1 driver updates and fixes (and a new maintainer!)

   - FPGA driver updates and fixes

   - Counter driver updates

   - Extcon driver updates

   - Interconnect driver updates

   - Coresight driver updates

   - mfd tree tag merge needed for other updates on top of that, lots of
     small driver updates as patches, including:

   - static const updates for class structures

   - nvmem driver updates

   - pcmcia driver fix

   - lots of other small driver updates and fixes

  All of these have been in linux-next for a while with no reported
  problems"

* tag 'char-misc-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (243 commits)
  bsr: fix build problem with bsr_class static cleanup
  comedi: make all 'class' structures const
  char: xillybus: make xillybus_class a static const structure
  xilinx_hwicap: make icap_class a static const structure
  virtio_console: make port class a static const structure
  ppdev: make ppdev_class a static const structure
  char: misc: make misc_class a static const structure
  /dev/mem: make mem_class a static const structure
  char: lp: make lp_class a static const structure
  dsp56k: make dsp56k_class a static const structure
  bsr: make bsr_class a static const structure
  oradax: make 'cl' a static const structure
  hwtracing: hisi_ptt: Fix potential sleep in atomic context
  hwtracing: hisi_ptt: Advertise PERF_PMU_CAP_NO_EXCLUDE for PTT PMU
  hwtracing: hisi_ptt: Export available filters through sysfs
  hwtracing: hisi_ptt: Add support for dynamically updating the filter list
  hwtracing: hisi_ptt: Factor out filter allocation and release operation
  samples: pfsm: add CC_CAN_LINK dependency
  misc: fastrpc: check return value of devm_kasprintf()
  coresight: dummy: Update type of mode parameter in dummy_{sink,source}_enable()
  ...
parents 0a8d6c9c adfdaf81
Loading
Loading
Loading
Loading
+54 −0
Original line number Diff line number Diff line
@@ -90,6 +90,60 @@ Description:
			counter does not freeze at the boundary points, but
			counts continuously throughout.

		interrupt on terminal count:
			The output signal is initially low, and will remain low
			until the counter reaches zero. The output signal then
			goes high and remains high until a new preset value is
			set.

		hardware retriggerable one-shot:
			The output signal is initially high. The output signal
			will go low by a trigger input signal, and will remain
			low until the counter reaches zero. The output will then
			go high and remain high until the next trigger. A
			trigger results in loading the counter to the preset
			value and setting the output signal low, thus starting
			the one-shot pulse.

		rate generator:
			The output signal is initially high. When the counter
			has decremented to 1, the output signal goes low for one
			clock pulse. The output signal then goes high again, the
			counter is reloaded to the preset value, and the process
			repeats in a periodic manner as such.

		square wave mode:
			The output signal is initially high.

			If the initial count is even, the counter is decremented
			by two on succeeding clock pulses. When the count
			expires, the output signal changes value and the
			counter is reloaded to the preset value. The process
			repeats in periodic manner as such.

			If the initial count is odd, the initial count minus one
			(an even number) is loaded and then is decremented by
			two on succeeding clock pulses. One clock pulse after
			the count expires, the output signal goes low and the
			counter is reloaded to the preset value minus one.
			Succeeding clock pulses decrement the count by two. When
			the count expires, the output goes high again and the
			counter is reloaded to the preset value minus one. The
			process repeats in a periodic manner as such.

		software triggered strobe:
			The output signal is initially high. When the count
			expires, the output will go low for one clock pulse and
			then go high again. The counting sequence is "triggered"
			by setting the preset value.

		hardware triggered strobe:
			The output signal is initially high. Counting is started
			by a trigger input signal. When the count expires, the
			output signal will go low for one clock pulse and then
			go high again. A trigger results in loading the counter
			to the preset value.

What:		/sys/bus/counter/devices/counterX/countY/count_mode_available
What:		/sys/bus/counter/devices/counterX/countY/error_noise_available
What:		/sys/bus/counter/devices/counterX/countY/function_available
+52 −0
Original line number Diff line number Diff line
@@ -59,3 +59,55 @@ Description: (RW) Control the allocated buffer watermark of outbound packets.
		The available tune data is [0, 1, 2]. Writing a negative value
		will return an error, and out of range values will be converted
		to 2. The value indicates a probable level of the event.

What:		/sys/devices/hisi_ptt<sicl_id>_<core_id>/root_port_filters
Date:		May 2023
KernelVersion:	6.5
Contact:	Yicong Yang <yangyicong@hisilicon.com>
Description:	This directory contains the files providing the PCIe Root Port filters
		information used for PTT trace. Each file is named after the supported
		Root Port device name <domain>:<bus>:<device>.<function>.

		See the description of the "filter" in Documentation/trace/hisi-ptt.rst
		for more information.

What:		/sys/devices/hisi_ptt<sicl_id>_<core_id>/root_port_filters/multiselect
Date:		May 2023
KernelVersion:	6.5
Contact:	Yicong Yang <yangyicong@hisilicon.com>
Description:	(Read) Indicates if this kind of filter can be selected at the same
		time as others filters, or must be used on it's own. 1 indicates
		the former case and 0 indicates the latter.

What:		/sys/devices/hisi_ptt<sicl_id>_<core_id>/root_port_filters/<bdf>
Date:		May 2023
KernelVersion:	6.5
Contact:	Yicong Yang <yangyicong@hisilicon.com>
Description:	(Read) Indicates the filter value of this Root Port filter, which
		can be used to control the TLP headers to trace by the PTT trace.

What:		/sys/devices/hisi_ptt<sicl_id>_<core_id>/requester_filters
Date:		May 2023
KernelVersion:	6.5
Contact:	Yicong Yang <yangyicong@hisilicon.com>
Description:	This directory contains the files providing the PCIe Requester filters
		information used for PTT trace. Each file is named after the supported
		Endpoint device name <domain>:<bus>:<device>.<function>.

		See the description of the "filter" in Documentation/trace/hisi-ptt.rst
		for more information.

What:		/sys/devices/hisi_ptt<sicl_id>_<core_id>/requester_filters/multiselect
Date:		May 2023
KernelVersion:	6.5
Contact:	Yicong Yang <yangyicong@hisilicon.com>
Description:	(Read) Indicates if this kind of filter can be selected at the same
		time as others filters, or must be used on it's own. 1 indicates
		the former case and 0 indicates the latter.

What:		/sys/devices/hisi_ptt<sicl_id>_<core_id>/requester_filters/<bdf>
Date:		May 2023
KernelVersion:	6.5
Contact:	Yicong Yang <yangyicong@hisilicon.com>
Description:	(Read) Indicates the filter value of this Requester filter, which
		can be used to control the TLP headers to trace by the PTT trace.
+73 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/arm,coresight-dummy-sink.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ARM Coresight Dummy sink component

description: |
  CoreSight components are compliant with the ARM CoreSight architecture
  specification and can be connected in various topologies to suit a particular
  SoCs tracing needs. These trace components can generally be classified as
  sinks, links and sources. Trace data produced by one or more sources flows
  through the intermediate links connecting the source to the currently selected
  sink.

  The Coresight dummy sink component is for the specific coresight sink devices
  kernel don't have permission to access or configure, e.g., CoreSight EUD on
  Qualcomm platforms. It is a mini-USB hub implemented to support the USB-based
  debug and trace capabilities. For this device, a dummy driver is needed to
  register it as Coresight sink device in kernel side, so that path can be
  created in the driver. Then the trace flow would be transferred to EUD via
  coresight link of AP processor. It provides Coresight API for operations on
  dummy source devices, such as enabling and disabling them. It also provides
  the Coresight dummy source paths for debugging.

  The primary use case of the coresight dummy sink is to build path in kernel
  side for dummy sink component.

maintainers:
  - Mike Leach <mike.leach@linaro.org>
  - Suzuki K Poulose <suzuki.poulose@arm.com>
  - James Clark <james.clark@arm.com>
  - Mao Jinlong <quic_jinlmao@quicinc.com>
  - Hao Zhang <quic_hazha@quicinc.com>

properties:
  compatible:
    enum:
      - arm,coresight-dummy-sink

  in-ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port:
        description: Input connection from the Coresight Trace bus to
          dummy sink, such as Embedded USB debugger(EUD).

        $ref: /schemas/graph.yaml#/properties/port

required:
  - compatible
  - in-ports

additionalProperties: false

examples:
  # Minimum dummy sink definition. Dummy sink connect to coresight replicator.
  - |
    sink {
      compatible = "arm,coresight-dummy-sink";

      in-ports {
        port {
          eud_in_replicator_swao: endpoint {
            remote-endpoint = <&replicator_swao_out_eud>;
          };
        };
      };
    };

...
+71 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/arm,coresight-dummy-source.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ARM Coresight Dummy source component

description: |
  CoreSight components are compliant with the ARM CoreSight architecture
  specification and can be connected in various topologies to suit a particular
  SoCs tracing needs. These trace components can generally be classified as
  sinks, links and sources. Trace data produced by one or more sources flows
  through the intermediate links connecting the source to the currently selected
  sink.

  The Coresight dummy source component is for the specific coresight source
  devices kernel don't have permission to access or configure. For some SOCs,
  there would be Coresight source trace components on sub-processor which
  are conneted to AP processor via debug bus. For these devices, a dummy driver
  is needed to register them as Coresight source devices, so that paths can be
  created in the driver. It provides Coresight API for operations on dummy
  source devices, such as enabling and disabling them. It also provides the
  Coresight dummy source paths for debugging.

  The primary use case of the coresight dummy source is to build path in kernel
  side for dummy source component.

maintainers:
  - Mike Leach <mike.leach@linaro.org>
  - Suzuki K Poulose <suzuki.poulose@arm.com>
  - James Clark <james.clark@arm.com>
  - Mao Jinlong <quic_jinlmao@quicinc.com>
  - Hao Zhang <quic_hazha@quicinc.com>

properties:
  compatible:
    enum:
      - arm,coresight-dummy-source

  out-ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port:
        description: Output connection from the source to Coresight
          Trace bus.
        $ref: /schemas/graph.yaml#/properties/port

required:
  - compatible
  - out-ports

additionalProperties: false

examples:
  # Minimum dummy source definition. Dummy source connect to coresight funnel.
  - |
    source {
      compatible = "arm,coresight-dummy-source";

      out-ports {
        port {
          dummy_riscv_out_funnel_swao: endpoint {
            remote-endpoint = <&funnel_swao_in_dummy_riscv>;
          };
        };
      };
    };

...
+9 −5
Original line number Diff line number Diff line
@@ -27,10 +27,14 @@ properties:

  interrupt-names:
    minItems: 1
    items:
    anyOf:
      - items:
          - const: usb_id
          - const: usb_vbus

      - items:
          - const: usb_id
      - items:
          - const: usb_vbus
required:
  - compatible
  - reg
@@ -49,7 +53,7 @@ examples:
            interrupt-controller;
            #interrupt-cells = <4>;

            usb_id: misc@900 {
            usb_id: usb-detect@900 {
                    compatible = "qcom,pm8941-misc";
                    reg = <0x900>;
                    interrupts = <0x0 0x9 0 IRQ_TYPE_EDGE_BOTH>;
Loading