Commit ebf435d3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull IIO and staging driver updates from Greg KH:
 "Here is the big set of staging and IIO driver updates for 5.15-rc1.
  Also included in here are the counter driver subsystem updates as the
  IIO drivers needed them.

  Lots of churn in some staging drivers, we dropped the "old" rtl8188eu
  driver and replaced it with a newer version of the driver that had
  been maintained out-of-tree by Larry with the end goal of actually
  being able to get this driver out of staging eventually. Despite that
  driver being "newer" the line count of this pull request is going up.

  Some drivers moved out of staging as well, which is always nice to
  see, that is why there are additions to the mfc and misc driver
  subsystems. All of these were acked by the various subsystem
  maintainers involved.

  But by far, as normal, it's coding style cleanups all over the
  drivers/staging/ tree in here.

  Full details of these changes are in the shortlog.

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

[ Note: the r8188eu merge clashed with commit 89939e89 ("staging:
  rtlwifi: use siocdevprivate") from the networking tree. When resolving
  the issue, I noted that the whole r8188eu rtw_android code is dead
  since commit ae7471ca ("staging: r8188eu: remove rtw_ioctl
  function").

  End result: the merge resolution was to throw all of that away,
  rather than do the mindless fixup to code that isn't actually
  reachable                                               - Linus ]

* tag 'staging-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (551 commits)
  staging: vt6655: Remove filenames in files
  staging: r8188eu: add extra TODO entries
  staging: vt6656: Remove filenames in files
  staging: wlan-ng: fix invalid assignment warning
  staging: r8188eu: rename fields of struct rtl_ps
  staging: r8188eu: remove ODM_DynamicPrimaryCCA_DupRTS()
  staging: r8188eu: rename fields of struct dyn_primary_cca
  staging: r8188eu: rename struct field Wifi_Error_Status
  staging: r8188eu: Provide a TODO file for this driver
  staging: r8188eu: remove unneeded variable
  staging: r8188eu: remove unneeded conversions to bool
  staging: r8188eu: remove {read,write}_macreg
  staging: r8188eu: core: remove condition with no effect
  staging: r8188eu: remove ethernet.h header file
  staging: r8188eu: remove ip.h header file
  staging: r8188eu: remove if_ether.h header file
  staging: r8188eu: make rtw_deinit_intf_priv return void
  staging: r8188eu: use is_multicast_ether_addr in os_dep/recv_linux.c
  staging: r8188eu: use is_multicast_ether_addr in hal/rtl8188eu_xmit.c
  staging: r8188eu: use is_multicast_ether_addr in core/rtw_xmit.c
  ...
parents c6c3c570 4adb389e
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
What:		/sys/bus/iio/devices/iio:deviceX/out_temp_raw
Date:		August 2021
KernelVersion:	5.15
Contact:	Andreas Klinger <ak@it-klinger.de>
Description:
		Set the temperature. This value is sent to the sensor for
		temperature compensation.
		Default value: 25000 (25 °C)

What:		/sys/bus/iio/devices/iio:deviceX/out_humidityrelative_raw
Date:		August 2021
KernelVersion:	5.15
Contact:	Andreas Klinger <ak@it-klinger.de>
Description:
		Set the relative humidity. This value is sent to the sensor for
		humidity compensation.
		Default value: 50000 (50 % relative humidity)

What:		/sys/bus/iio/devices/iio:deviceX/in_resistance_calibbias
Date:		August 2021
KernelVersion:	5.15
Contact:	Andreas Klinger <ak@it-klinger.de>
Description:
		Set the bias value for the resistance which is used for
		calculation of in_concentration_input as follows:

		x = (in_resistance_raw - in_resistance_calibbias) * 0.65

		in_concentration_input = 500 / (1 + e^x)

		Default value: 30000
+0 −61
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/iio/accel/bosch,bma180.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Bosch BMA023 / BMA150/ BMA180 / BMA250 / SMB380 triaxial accelerometers

maintainers:
  - Jonathan Cameron <jic23@kernel.org>

description: |
  https://media.digikey.com/pdf/Data%20Sheets/Bosch/BMA150.pdf
  http://omapworld.com/BMA180_111_1002839.pdf
  http://ae-bst.resource.bosch.com/media/products/dokumente/bma250/bst-bma250-ds002-05.pdf

properties:
  compatible:
    enum:
      - bosch,bma023
      - bosch,bma150
      - bosch,bma180
      - bosch,bma250
      - bosch,smb380

  reg:
    maxItems: 1

  vdd-supply: true

  vddio-supply: true

  interrupts:
    minItems: 1
    maxItems: 2
    description: |
      Type should be either IRQ_TYPE_LEVEL_HIGH or IRQ_TYPE_EDGE_RISING.
      For the bma250 the first interrupt listed must be the one
      connected to the INT1 pin, the second (optional) interrupt
      listed must be the one connected to the INT2 pin.

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        accel@40 {
            compatible = "bosch,bma180";
            reg = <0x40>;
            interrupt-parent = <&gpio6>;
            interrupts = <18 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
        };
    };
...
+46 −9
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ title: Bosch BMA255 and Similar Accelerometers

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>
  - Stephan Gerhold <stephan@gerhold.net>

description:
  3 axis accelerometers with varying range and I2C or SPI
@@ -16,15 +17,24 @@ description:
properties:
  compatible:
    enum:
      - bosch,bmc150_accel
      - bosch,bmi055_accel
      # bmc150-accel driver in Linux
      - bosch,bma222
      - bosch,bma222e
      - bosch,bma250e
      - bosch,bma253
      - bosch,bma254
      - bosch,bma255
      - bosch,bma250e
      - bosch,bma222
      - bosch,bma222e
      - bosch,bma280
      - bosch,bmc150_accel
      - bosch,bmc156_accel
      - bosch,bmi055_accel

      # bma180 driver in Linux
      - bosch,bma023
      - bosch,bma150
      - bosch,bma180
      - bosch,bma250
      - bosch,smb380

  reg:
    maxItems: 1
@@ -36,9 +46,21 @@ properties:
    minItems: 1
    maxItems: 2
    description: |
      The first interrupt listed must be the one connected to the INT1 pin,
      the second (optional) interrupt listed must be the one connected to the
      INT2 pin (if available).
      Without interrupt-names, the first interrupt listed must be the one
      connected to the INT1 pin, the second (optional) interrupt listed must be
      the one connected to the INT2 pin (if available). The type should be
      IRQ_TYPE_EDGE_RISING.

      BMC156 does not have an INT1 pin, therefore the first interrupt pin is
      always treated as INT2.

  interrupt-names:
    minItems: 1
    maxItems: 2
    items:
      enum:
        - INT1
        - INT2

  mount-matrix:
    description: an optional 3x3 mounting rotation matrix.
@@ -63,7 +85,22 @@ examples:
            reg = <0x08>;
            vddio-supply = <&vddio>;
            vdd-supply = <&vdd>;
            interrupts = <57 IRQ_TYPE_EDGE_FALLING>;
            interrupts = <57 IRQ_TYPE_EDGE_RISING>;
            interrupt-names = "INT1";
        };
    };
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        accelerometer@10 {
            compatible = "bosch,bmc156_accel";
            reg = <0x10>;
            vddio-supply = <&vddio>;
            vdd-supply = <&vdd>;
            interrupts = <116 IRQ_TYPE_EDGE_RISING>;
            interrupt-names = "INT2";
        };
    };
  - |
+19 −0
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@ properties:
    enum:
      - ingenic,jz4725b-adc
      - ingenic,jz4740-adc
      - ingenic,jz4760-adc
      - ingenic,jz4760b-adc
      - ingenic,jz4770-adc

  '#io-channel-cells':
@@ -43,6 +45,23 @@ properties:
  interrupts:
    maxItems: 1

  ingenic,use-internal-divider:
    description:
      If present, battery voltage is read from the VBAT_IR pin, which has an
      internal 1/4 divider. If absent, it is read through the VBAT_ER pin,
      which does not have such a divider.
    type: boolean

if:
  not:
    properties:
      compatible:
        contains:
          const: ingenic,jz4760b-adc
then:
  properties:
    ingenic,use-internal-divider: false

required:
  - compatible
  - '#io-channel-cells'
+134 −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/iio/adc/renesas,rzg2l-adc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas RZ/G2L ADC

maintainers:
  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

description: |
  A/D Converter block is a successive approximation analog-to-digital converter
  with a 12-bit accuracy. Up to eight analog input channels can be selected.
  Conversions can be performed in single or repeat mode. Result of the ADC is
  stored in a 32-bit data register corresponding to each channel.

properties:
  compatible:
    items:
      - enum:
          - renesas,r9a07g044-adc   # RZ/G2{L,LC}
      - const: renesas,rzg2l-adc

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: converter clock
      - description: peripheral clock

  clock-names:
    items:
      - const: adclk
      - const: pclk

  power-domains:
    maxItems: 1

  resets:
    maxItems: 2

  reset-names:
    items:
      - const: presetn
      - const: adrst-n

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - power-domains
  - resets
  - reset-names

patternProperties:
  "^channel@[0-7]$":
    $ref: "adc.yaml"
    type: object
    description: |
      Represents the external channels which are connected to the ADC.

    properties:
      reg:
        description: |
          The channel number. It can have up to 8 channels numbered from 0 to 7.
        items:
          - minimum: 0
            maximum: 7

    required:
      - reg

    additionalProperties: false

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/r9a07g044-cpg.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    adc: adc@10059000 {
      compatible = "renesas,r9a07g044-adc", "renesas,rzg2l-adc";
      reg = <0x10059000 0x400>;
      interrupts = <GIC_SPI 347 IRQ_TYPE_EDGE_RISING>;
      clocks = <&cpg CPG_MOD R9A07G044_ADC_ADCLK>,
               <&cpg CPG_MOD R9A07G044_ADC_PCLK>;
      clock-names = "adclk", "pclk";
      power-domains = <&cpg>;
      resets = <&cpg R9A07G044_ADC_PRESETN>,
               <&cpg R9A07G044_ADC_ADRST_N>;
      reset-names = "presetn", "adrst-n";

      #address-cells = <1>;
      #size-cells = <0>;

      channel@0 {
        reg = <0>;
      };
      channel@1 {
        reg = <1>;
      };
      channel@2 {
        reg = <2>;
      };
      channel@3 {
        reg = <3>;
      };
      channel@4 {
        reg = <4>;
      };
      channel@5 {
        reg = <5>;
      };
      channel@6 {
        reg = <6>;
      };
      channel@7 {
        reg = <7>;
      };
    };
Loading