Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'mfd-next-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd

Pull NFD updates from Lee Jones:
"New Drivers:
- Add support for the Cirrus Logic CS42L43 Audio CODEC

Fix-ups:
- Make use of specific printk() format tags for various optimisations
- Kconfig / module modifications / tweaking
- Simplify obtaining resources (memory, device data) using unified
API helpers
- Bunch of Device Tree additions, conversions and adaptions
- Convert a bunch of Regmap configurations to use the Maple Tree
cache
- Ensure correct includes are present and remove some that are not
required
- Remove superfluous code
- Reduce amount of cycles spent in critical sections
- Omit the use of redundant casts and if relevant replace with better
ones
- Swap out raw_spin_{un}lock_irq{save,restore}() for
spin_{un}lock_irq{save,restore}()

Bug Fixes:
- Repair theoretical deadlock situation
- Fix some link-time dependencies
- Use more appropriate datatype when casting"

* tag 'mfd-next-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (70 commits)
mfd: mc13xxx: Simplify device data fetching in probe()
mfd: rz-mtu3: Replace raw_spin_lock->spin_lock()
mfd: rz-mtu3: Reduce critical sections
mfd: mxs-lradc: Fix Wvoid-pointer-to-enum-cast warning
mfd: wm31x: Fix Wvoid-pointer-to-enum-cast warning
mfd: wm8994: Fix Wvoid-pointer-to-enum-cast warning
mfd: tc3589: Fix Wvoid-pointer-to-enum-cast warning
mfd: lp87565: Fix Wvoid-pointer-to-enum-cast warning
mfd: hi6421-pmic: Fix Wvoid-pointer-to-enum-cast warning
mfd: max77541: Fix Wvoid-pointer-to-enum-cast warning
mfd: max14577: Fix Wvoid-pointer-to-enum-cast warning
mfd: stmpe: Fix Wvoid-pointer-to-enum-cast warning
mfd: rn5t618: Remove redundant of_match_ptr()
mfd: lochnagar-i2c: Remove redundant of_match_ptr()
mfd: stpmic1: Remove redundant of_match_ptr()
mfd: act8945a: Remove redundant of_match_ptr()
mfd: rsmu_spi: Remove redundant of_match_ptr()
mfd: altera-a10sr: Remove redundant of_match_ptr()
mfd: rsmu_i2c: Remove redundant of_match_ptr()
mfd: tc3589x: Remove redundant of_match_ptr()
...

+545 -567
-41
Documentation/devicetree/bindings/input/stmpe-keypad.txt
··· 1 - * STMPE Keypad 2 - 3 - Required properties: 4 - - compatible : "st,stmpe-keypad" 5 - - linux,keymap : See ./matrix-keymap.txt 6 - 7 - Optional properties: 8 - - debounce-interval : Debouncing interval time in milliseconds 9 - - st,scan-count : Scanning cycles elapsed before key data is updated 10 - - st,no-autorepeat : If specified device will not autorepeat 11 - - keypad,num-rows : See ./matrix-keymap.txt 12 - - keypad,num-columns : See ./matrix-keymap.txt 13 - 14 - Example: 15 - 16 - stmpe_keypad { 17 - compatible = "st,stmpe-keypad"; 18 - 19 - debounce-interval = <64>; 20 - st,scan-count = <8>; 21 - st,no-autorepeat; 22 - 23 - linux,keymap = <0x205006b 24 - 0x4010074 25 - 0x3050072 26 - 0x1030004 27 - 0x502006a 28 - 0x500000a 29 - 0x5008b 30 - 0x706001c 31 - 0x405000b 32 - 0x6070003 33 - 0x3040067 34 - 0x303006c 35 - 0x60400e7 36 - 0x602009e 37 - 0x4020073 38 - 0x5050002 39 - 0x4030069 40 - 0x3020008>; 41 - };
-108
Documentation/devicetree/bindings/input/touchscreen/stmpe.txt
··· 1 - STMPE Touchscreen 2 - ---------------- 3 - 4 - Required properties: 5 - - compatible: "st,stmpe-ts" 6 - 7 - Optional properties: 8 - - st,ave-ctrl : Sample average control 9 - 0 -> 1 sample 10 - 1 -> 2 samples 11 - 2 -> 4 samples 12 - 3 -> 8 samples 13 - - st,touch-det-delay : Touch detect interrupt delay (recommended is 3) 14 - 0 -> 10 us 15 - 1 -> 50 us 16 - 2 -> 100 us 17 - 3 -> 500 us 18 - 4 -> 1 ms 19 - 5 -> 5 ms 20 - 6 -> 10 ms 21 - 7 -> 50 ms 22 - - st,settling : Panel driver settling time (recommended is 2) 23 - 0 -> 10 us 24 - 1 -> 100 us 25 - 2 -> 500 us 26 - 3 -> 1 ms 27 - 4 -> 5 ms 28 - 5 -> 10 ms 29 - 6 -> 50 ms 30 - 7 -> 100 ms 31 - - st,fraction-z : Length of the fractional part in z (recommended is 7) 32 - (fraction-z ([0..7]) = Count of the fractional part) 33 - - st,i-drive : current limit value of the touchscreen drivers 34 - 0 -> 20 mA (typical 35mA max) 35 - 1 -> 50 mA (typical 80 mA max) 36 - 37 - Optional properties common with MFD (deprecated): 38 - - st,sample-time : ADC conversion time in number of clock. 39 - 0 -> 36 clocks 40 - 1 -> 44 clocks 41 - 2 -> 56 clocks 42 - 3 -> 64 clocks 43 - 4 -> 80 clocks (recommended) 44 - 5 -> 96 clocks 45 - 6 -> 124 clocks 46 - - st,mod-12b : ADC Bit mode 47 - 0 -> 10bit ADC 48 - 1 -> 12bit ADC 49 - - st,ref-sel : ADC reference source 50 - 0 -> internal 51 - 1 -> external 52 - - st,adc-freq : ADC Clock speed 53 - 0 -> 1.625 MHz 54 - 1 -> 3.25 MHz 55 - 2 || 3 -> 6.5 MHz 56 - 57 - Node should be child node of stmpe node to which it belongs. 58 - 59 - Note that common ADC settings of stmpe_touchscreen (child) will take precedence 60 - over the settings done in MFD. 61 - 62 - Example: 63 - 64 - stmpe811@41 { 65 - compatible = "st,stmpe811"; 66 - pinctrl-names = "default"; 67 - pinctrl-0 = <&pinctrl_touch_int>; 68 - #address-cells = <1>; 69 - #size-cells = <0>; 70 - reg = <0x41>; 71 - interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 72 - interrupt-parent = <&gpio4>; 73 - interrupt-controller; 74 - id = <0>; 75 - blocks = <0x5>; 76 - irq-trigger = <0x1>; 77 - /* Common ADC settings */ 78 - /* 3.25 MHz ADC clock speed */ 79 - st,adc-freq = <1>; 80 - /* 12-bit ADC */ 81 - st,mod-12b = <1>; 82 - /* internal ADC reference */ 83 - st,ref-sel = <0>; 84 - /* ADC converstion time: 80 clocks */ 85 - st,sample-time = <4>; 86 - 87 - stmpe_touchscreen { 88 - compatible = "st,stmpe-ts"; 89 - reg = <0>; 90 - /* 8 sample average control */ 91 - st,ave-ctrl = <3>; 92 - /* 5 ms touch detect interrupt delay */ 93 - st,touch-det-delay = <5>; 94 - /* 1 ms panel driver settling time */ 95 - st,settling = <3>; 96 - /* 7 length fractional part in z */ 97 - st,fraction-z = <7>; 98 - /* 99 - * 50 mA typical 80 mA max touchscreen drivers 100 - * current limit value 101 - */ 102 - st,i-drive = <1>; 103 - }; 104 - stmpe_adc { 105 - compatible = "st,stmpe-adc"; 106 - st,norequest-mask = <0x0F>; 107 - }; 108 - };
+3 -40
Documentation/devicetree/bindings/mfd/allwinner,sun6i-a31-prcm.yaml
··· 34 34 - allwinner,sun6i-a31-clock-reset 35 35 - fixed-factor-clock 36 36 37 + required: 38 + - compatible 39 + 37 40 allOf: 38 41 - if: 39 42 properties: ··· 58 55 "#clock-cells": 59 56 const: 0 60 57 61 - # Already checked in the main schema 62 - compatible: true 63 - 64 58 clocks: 65 59 maxItems: 2 66 60 67 61 clock-output-names: 68 62 maxItems: 1 69 63 70 - phandle: true 71 - 72 64 required: 73 65 - "#clock-cells" 74 - - compatible 75 66 - clocks 76 67 - clock-output-names 77 - 78 - additionalProperties: false 79 68 80 69 - if: 81 70 properties: ··· 80 85 "#clock-cells": 81 86 const: 0 82 87 83 - # Already checked in the main schema 84 - compatible: true 85 - 86 88 clocks: 87 89 maxItems: 1 88 90 89 91 clock-output-names: 90 92 maxItems: 1 91 93 92 - phandle: true 93 - 94 94 required: 95 95 - "#clock-cells" 96 - - compatible 97 96 - clocks 98 97 - clock-output-names 99 - 100 - additionalProperties: false 101 98 102 99 - if: 103 100 properties: ··· 106 119 offset of the bit controlling this particular gate in 107 120 the register. 108 121 109 - # Already checked in the main schema 110 - compatible: true 111 - 112 122 clocks: 113 123 maxItems: 1 114 124 ··· 113 129 minItems: 1 114 130 maxItems: 32 115 131 116 - phandle: true 117 - 118 132 required: 119 133 - "#clock-cells" 120 - - compatible 121 134 - clocks 122 135 - clock-output-names 123 - 124 - additionalProperties: false 125 136 126 137 - if: 127 138 properties: ··· 129 150 "#clock-cells": 130 151 const: 0 131 152 132 - # Already checked in the main schema 133 - compatible: true 134 - 135 153 clocks: 136 154 maxItems: 4 137 155 description: > ··· 138 162 clock-output-names: 139 163 maxItems: 1 140 164 141 - phandle: true 142 - 143 165 required: 144 166 - "#clock-cells" 145 - - compatible 146 167 - clocks 147 168 - clock-output-names 148 - 149 - additionalProperties: false 150 169 151 170 - if: 152 171 properties: ··· 154 183 "#reset-cells": 155 184 const: 1 156 185 157 - # Already checked in the main schema 158 - compatible: true 159 - 160 - phandle: true 161 - 162 186 required: 163 187 - "#reset-cells" 164 - - compatible 165 - 166 - additionalProperties: false 167 188 168 189 required: 169 190 - compatible
-42
Documentation/devicetree/bindings/mfd/allwinner,sun8i-a23-prcm.yaml
··· 57 57 "#clock-cells": 58 58 const: 0 59 59 60 - # Already checked in the main schema 61 - compatible: true 62 - 63 60 clocks: 64 61 maxItems: 1 65 62 66 63 clock-output-names: 67 64 maxItems: 1 68 65 69 - phandle: true 70 - 71 66 required: 72 67 - "#clock-cells" 73 - - compatible 74 68 - clocks 75 69 - clock-output-names 76 - 77 - additionalProperties: false 78 70 79 71 - if: 80 72 properties: ··· 83 91 offset of the bit controlling this particular gate in 84 92 the register. 85 93 86 - # Already checked in the main schema 87 - compatible: true 88 - 89 94 clocks: 90 95 maxItems: 1 91 96 ··· 90 101 minItems: 1 91 102 maxItems: 32 92 103 93 - phandle: true 94 - 95 104 required: 96 105 - "#clock-cells" 97 - - compatible 98 106 - clocks 99 107 - clock-output-names 100 - 101 - additionalProperties: false 102 108 103 109 - if: 104 110 properties: ··· 106 122 "#reset-cells": 107 123 const: 1 108 124 109 - # Already checked in the main schema 110 - compatible: true 111 - 112 - phandle: true 113 - 114 125 required: 115 126 - "#reset-cells" 116 - - compatible 117 - 118 - additionalProperties: false 119 - 120 - - if: 121 - properties: 122 - compatible: 123 - contains: 124 - const: allwinner,sun8i-a23-codec-analog 125 - 126 - then: 127 - properties: 128 - # Already checked in the main schema 129 - compatible: true 130 - 131 - phandle: true 132 - 133 - required: 134 - - compatible 135 - 136 - additionalProperties: false 137 127 138 128 required: 139 129 - compatible
+1
Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
··· 6 6 7 7 Required properties: 8 8 - compatible: Should be "atmel,sama5d2-flexcom" 9 + or "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom" 9 10 - reg: Should be the offset/length value for Flexcom dedicated 10 11 I/O registers (without USART, TWI or SPI registers). 11 12 - clocks: Should be the Flexcom peripheral clock from PMC.
+1
Documentation/devicetree/bindings/mfd/atmel-gpbr.txt
··· 6 6 - compatible: Should be one of the following: 7 7 "atmel,at91sam9260-gpbr", "syscon" 8 8 "microchip,sam9x60-gpbr", "syscon" 9 + "microchip,sam9x7-gpbr", "microchip,sam9x60-gpbr", "syscon" 9 10 - reg: contains offset/length value of the GPBR memory 10 11 region. 11 12
+1
Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt
··· 8 8 "atmel,sama5d3-hlcdc" 9 9 "atmel,sama5d4-hlcdc" 10 10 "microchip,sam9x60-hlcdc" 11 + "microchip,sam9x75-xlcdc" 11 12 - reg: base address and size of the HLCDC device registers. 12 13 - clock-names: the name of the 3 clocks requested by the HLCDC device. 13 14 Should contain "periph_clk", "sys_clk" and "slow_clk".
+1
Documentation/devicetree/bindings/mfd/atmel-matrix.txt
··· 14 14 "atmel,at91sam9x5-matrix", "syscon" 15 15 "atmel,sama5d3-matrix", "syscon" 16 16 "microchip,sam9x60-matrix", "syscon" 17 + "microchip,sam9x7-matrix", "atmel,at91sam9x5-matrix", "syscon" 17 18 - reg: Contains offset/length value of the Bus Matrix 18 19 memory region. 19 20
+1
Documentation/devicetree/bindings/mfd/atmel-smc.txt
··· 10 10 "atmel,sama5d3-smc", "syscon" 11 11 "atmel,sama5d2-smc", "syscon" 12 12 "microchip,sam9x60-smc", "syscon" 13 + "microchip,sam9x7-smc", "atmel,at91sam9260-smc", "syscon" 13 14 - reg: Contains offset/length value of the SMC memory 14 15 region. 15 16
+2 -2
Documentation/devicetree/bindings/mfd/brcm,bcm6318-gpio-sysctl.yaml
··· 35 35 "^gpio@[0-9a-f]+$": 36 36 # Child node 37 37 type: object 38 - $ref: "../gpio/brcm,bcm63xx-gpio.yaml" 38 + $ref: /schemas/gpio/brcm,bcm63xx-gpio.yaml 39 39 description: 40 40 GPIO controller for the SoC GPIOs. This child node definition 41 41 should follow the bindings specified in ··· 44 44 "^pinctrl@[0-9a-f]+$": 45 45 # Child node 46 46 type: object 47 - $ref: "../pinctrl/brcm,bcm6318-pinctrl.yaml" 47 + $ref: /schemas/pinctrl/brcm,bcm6318-pinctrl.yaml 48 48 description: 49 49 Pin controller for the SoC pins. This child node definition 50 50 should follow the bindings specified in
+2 -2
Documentation/devicetree/bindings/mfd/brcm,bcm63268-gpio-sysctl.yaml
··· 35 35 "^gpio@[0-9a-f]+$": 36 36 # Child node 37 37 type: object 38 - $ref: "../gpio/brcm,bcm63xx-gpio.yaml" 38 + $ref: /schemas/gpio/brcm,bcm63xx-gpio.yaml 39 39 description: 40 40 GPIO controller for the SoC GPIOs. This child node definition 41 41 should follow the bindings specified in ··· 44 44 "^pinctrl@[0-9a-f]+$": 45 45 # Child node 46 46 type: object 47 - $ref: "../pinctrl/brcm,bcm63268-pinctrl.yaml" 47 + $ref: /schemas/pinctrl/brcm,bcm63268-pinctrl.yaml 48 48 description: 49 49 Pin controller for the SoC pins. This child node definition 50 50 should follow the bindings specified in
+2 -2
Documentation/devicetree/bindings/mfd/brcm,bcm6328-gpio-sysctl.yaml
··· 35 35 "^gpio@[0-9a-f]+$": 36 36 # Child node 37 37 type: object 38 - $ref: "../gpio/brcm,bcm63xx-gpio.yaml" 38 + $ref: /schemas/gpio/brcm,bcm63xx-gpio.yaml 39 39 description: 40 40 GPIO controller for the SoC GPIOs. This child node definition 41 41 should follow the bindings specified in ··· 44 44 "^pinctrl@[0-9a-f]+$": 45 45 # Child node 46 46 type: object 47 - $ref: "../pinctrl/brcm,bcm6328-pinctrl.yaml" 47 + $ref: /schemas/pinctrl/brcm,bcm6328-pinctrl.yaml 48 48 description: 49 49 Pin controller for the SoC pins. This child node definition 50 50 should follow the bindings specified in
+2 -2
Documentation/devicetree/bindings/mfd/brcm,bcm6358-gpio-sysctl.yaml
··· 35 35 "^gpio@[0-9a-f]+$": 36 36 # Child node 37 37 type: object 38 - $ref: "../gpio/brcm,bcm63xx-gpio.yaml" 38 + $ref: /schemas/gpio/brcm,bcm63xx-gpio.yaml 39 39 description: 40 40 GPIO controller for the SoC GPIOs. This child node definition 41 41 should follow the bindings specified in ··· 44 44 "^pinctrl@[0-9a-f]+$": 45 45 # Child node 46 46 type: object 47 - $ref: "../pinctrl/brcm,bcm6358-pinctrl.yaml" 47 + $ref: /schemas/pinctrl/brcm,bcm6358-pinctrl.yaml 48 48 description: 49 49 Pin controller for the SoC pins. This child node definition 50 50 should follow the bindings specified in
+2 -2
Documentation/devicetree/bindings/mfd/brcm,bcm6362-gpio-sysctl.yaml
··· 35 35 "^gpio@[0-9a-f]+$": 36 36 # Child node 37 37 type: object 38 - $ref: "../gpio/brcm,bcm63xx-gpio.yaml" 38 + $ref: /schemas/gpio/brcm,bcm63xx-gpio.yaml 39 39 description: 40 40 GPIO controller for the SoC GPIOs. This child node definition 41 41 should follow the bindings specified in ··· 44 44 "^pinctrl@[0-9a-f]+$": 45 45 # Child node 46 46 type: object 47 - $ref: "../pinctrl/brcm,bcm6362-pinctrl.yaml" 47 + $ref: /schemas/pinctrl/brcm,bcm6362-pinctrl.yaml 48 48 description: 49 49 Pin controller for the SoC pins. This child node definition 50 50 should follow the bindings specified in
+2 -2
Documentation/devicetree/bindings/mfd/brcm,bcm6368-gpio-sysctl.yaml
··· 35 35 "^gpio@[0-9a-f]+$": 36 36 # Child node 37 37 type: object 38 - $ref: "../gpio/brcm,bcm63xx-gpio.yaml" 38 + $ref: /schemas/gpio/brcm,bcm63xx-gpio.yaml 39 39 description: 40 40 GPIO controller for the SoC GPIOs. This child node definition 41 41 should follow the bindings specified in ··· 44 44 "^pinctrl@[0-9a-f]+$": 45 45 # Child node 46 46 type: object 47 - $ref: "../pinctrl/brcm,bcm6368-pinctrl.yaml" 47 + $ref: /schemas/pinctrl/brcm,bcm6368-pinctrl.yaml 48 48 description: 49 49 Pin controller for the SoC pins. This child node definition 50 50 should follow the bindings specified in
+52
Documentation/devicetree/bindings/mfd/maxim,max77693.yaml
··· 31 31 charger: 32 32 $ref: /schemas/power/supply/maxim,max77693.yaml 33 33 34 + connector: 35 + $ref: /schemas/connector/usb-connector.yaml# 36 + unevaluatedProperties: false 37 + 34 38 led: 35 39 $ref: /schemas/leds/maxim,max77693.yaml 36 40 37 41 max77693-muic: 38 42 type: object 39 43 additionalProperties: false 44 + deprecated: true 40 45 41 46 properties: 42 47 compatible: 43 48 const: maxim,max77693-muic 49 + 50 + required: 51 + - compatible 52 + 53 + muic: 54 + type: object 55 + additionalProperties: false 56 + 57 + properties: 58 + compatible: 59 + const: maxim,max77693-muic 60 + 61 + connector: 62 + $ref: /schemas/connector/usb-connector.yaml# 63 + unevaluatedProperties: false 44 64 45 65 required: 46 66 - compatible ··· 124 104 regulator-name = "CHARGER"; 125 105 regulator-min-microamp = <60000>; 126 106 regulator-max-microamp = <2580000>; 107 + }; 108 + }; 109 + 110 + muic { 111 + compatible = "maxim,max77693-muic"; 112 + 113 + connector { 114 + compatible = "samsung,usb-connector-11pin", 115 + "usb-b-connector"; 116 + label = "micro-USB"; 117 + type = "micro"; 118 + 119 + ports { 120 + #address-cells = <1>; 121 + #size-cells = <0>; 122 + 123 + port@0 { 124 + reg = <0>; 125 + 126 + muic_to_usb: endpoint { 127 + remote-endpoint = <&usb_to_muic>; 128 + }; 129 + }; 130 + 131 + port@3 { 132 + reg = <3>; 133 + 134 + muic_to_mhl: endpoint { 135 + remote-endpoint = <&mhl_to_muic>; 136 + }; 137 + }; 138 + }; 127 139 }; 128 140 }; 129 141
+5 -1
Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
··· 41 41 - qcom,pm660 42 42 - qcom,pm660l 43 43 - qcom,pm7250b 44 + - qcom,pm7550ba 44 45 - qcom,pm7325 45 46 - qcom,pm8004 46 47 - qcom,pm8005 ··· 71 70 - qcom,pm8994 72 71 - qcom,pm8998 73 72 - qcom,pma8084 73 + - qcom,pmc8180 74 + - qcom,pmc8180c 74 75 - qcom,pmd9635 75 76 - qcom,pmi632 76 77 - qcom,pmi8950 ··· 91 88 - qcom,pms405 92 89 - qcom,pmx55 93 90 - qcom,pmx65 91 + - qcom,pmx75 94 92 - qcom,smb2351 95 93 - const: qcom,spmi-pmic 96 94 ··· 131 127 132 128 "^audio-codec@[0-9a-f]+$": 133 129 type: object 134 - additionalProperties: true # FIXME qcom,pm8916-wcd-analog-codec binding not converted yet 130 + $ref: /schemas/sound/qcom,pm8916-wcd-analog-codec.yaml# 135 131 136 132 "^charger@[0-9a-f]+$": 137 133 type: object
-1
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml
··· 130 130 examples: 131 131 - | 132 132 #include <dt-bindings/interrupt-controller/irq.h> 133 - #include <dt-bindings/leds/common.h> 134 133 135 134 i2c { 136 135 #address-cells = <1>;
+297
Documentation/devicetree/bindings/mfd/st,stmpe.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/mfd/st,stmpe.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: STMicroelectonics Port Expander (STMPE) 8 + 9 + description: STMicroelectronics Port Expander (STMPE) is a series of slow 10 + bus controllers for various expanded peripherals such as GPIO, keypad, 11 + touchscreen, ADC, PWM or rotator. It can contain one or several different 12 + peripherals connected to SPI or I2C. 13 + 14 + maintainers: 15 + - Linus Walleij <linus.walleij@linaro.org> 16 + 17 + allOf: 18 + - $ref: /schemas/spi/spi-peripheral-props.yaml# 19 + 20 + properties: 21 + compatible: 22 + enum: 23 + - st,stmpe601 24 + - st,stmpe801 25 + - st,stmpe811 26 + - st,stmpe1600 27 + - st,stmpe1601 28 + - st,stmpe2401 29 + - st,stmpe2403 30 + 31 + reg: 32 + maxItems: 1 33 + 34 + interrupts: 35 + maxItems: 1 36 + 37 + vcc-supply: true 38 + 39 + vio-supply: true 40 + 41 + reset-gpios: 42 + maxItems: 1 43 + 44 + wakeup-source: true 45 + 46 + st,autosleep-timeout: 47 + $ref: /schemas/types.yaml#/definitions/uint32 48 + enum: [ 4, 16, 32, 64, 128, 256, 512, 1024 ] 49 + description: Time idle before going to automatic sleep to save power 50 + 51 + st,sample-time: 52 + $ref: /schemas/types.yaml#/definitions/uint32 53 + enum: [ 0, 1, 2, 3, 4, 5, 6 ] 54 + description: | 55 + Sample time per iteration 56 + 0 = 36 clock ticks 57 + 1 = 44 clock ticks 58 + 2 = 56 clock ticks 59 + 3 = 64 clock ticks 60 + 4 = 80 clock ticks - recommended 61 + 5 = 96 clock ticks 62 + 6 = 124 clock ticks 63 + 64 + st,mod-12b: 65 + $ref: /schemas/types.yaml#/definitions/uint32 66 + enum: [ 0, 1 ] 67 + description: ADC bit mode 0 = 10bit ADC, 1 = 12bit ADC 68 + 69 + st,ref-sel: 70 + $ref: /schemas/types.yaml#/definitions/uint32 71 + enum: [ 0, 1 ] 72 + description: ADC reference source 0 = internal, 1 = external 73 + 74 + st,adc-freq: 75 + $ref: /schemas/types.yaml#/definitions/uint32 76 + enum: [ 0, 1, 2, 3 ] 77 + description: | 78 + ADC clock speed 79 + 0 = 1.625 MHz 80 + 1 = 3.25 MHz 81 + 2, 3 = 6.5 MHz 82 + 83 + adc: 84 + type: object 85 + $ref: /schemas/iio/adc/st,stmpe-adc.yaml# 86 + 87 + gpio: 88 + type: object 89 + $ref: /schemas/gpio/st,stmpe-gpio.yaml# 90 + 91 + keyboard-controller: 92 + type: object 93 + $ref: /schemas/input/matrix-keymap.yaml# 94 + 95 + unevaluatedProperties: false 96 + 97 + properties: 98 + compatible: 99 + const: st,stmpe-keypad 100 + 101 + debounce-interval: 102 + description: Debouncing interval in milliseconds 103 + $ref: /schemas/types.yaml#/definitions/uint32 104 + 105 + st,no-autorepeat: 106 + description: If present, the keys will not autorepeat when pressed 107 + $ref: /schemas/types.yaml#/definitions/flag 108 + 109 + st,scan-count: 110 + description: Scanning cycles elapsed before key data is updated 111 + $ref: /schemas/types.yaml#/definitions/uint32 112 + 113 + required: 114 + - compatible 115 + - linux,keymap 116 + 117 + pwm: 118 + type: object 119 + $ref: /schemas/pwm/pwm.yaml# 120 + 121 + unevaluatedProperties: false 122 + 123 + properties: 124 + compatible: 125 + const: st,stmpe-pwm 126 + 127 + "#pwm-cells": 128 + const: 2 129 + 130 + touchscreen: 131 + type: object 132 + $ref: /schemas/input/touchscreen/touchscreen.yaml# 133 + 134 + unevaluatedProperties: false 135 + 136 + properties: 137 + compatible: 138 + const: st,stmpe-ts 139 + 140 + st,ave-ctrl: 141 + $ref: /schemas/types.yaml#/definitions/uint32 142 + enum: [ 0, 1, 2, 3 ] 143 + description: | 144 + Sample average control 145 + 0 = 1 sample 146 + 1 = 2 samples 147 + 2 = 4 samples 148 + 3 = 8 samples 149 + 150 + st,touch-det-delay: 151 + $ref: /schemas/types.yaml#/definitions/uint32 152 + enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ] 153 + description: | 154 + Touch detection delay 155 + 0 = 10 us 156 + 1 = 50 us 157 + 2 = 100 us 158 + 3 = 500 us - recommended 159 + 4 = 1 ms 160 + 5 = 5 ms 161 + 6 = 10 ms 162 + 7 = 50 ms 163 + 164 + st,settling: 165 + $ref: /schemas/types.yaml#/definitions/uint32 166 + enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ] 167 + description: | 168 + Panel driver settling time 169 + 0 = 10 us 170 + 1 = 100 us 171 + 2 = 500 us - recommended 172 + 3 = 1 ms 173 + 4 = 5 ms 174 + 5 = 10 ms 175 + 6 = 50 ms 176 + 7 = 100 ms 177 + 178 + st,fraction-z: 179 + $ref: /schemas/types.yaml#/definitions/uint32 180 + enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ] 181 + description: Length of the fractional part in z, recommended is 7 182 + (fraction-z ([0..7]) = Count of the fractional part) 183 + 184 + st,i-drive: 185 + $ref: /schemas/types.yaml#/definitions/uint32 186 + enum: [ 0, 1 ] 187 + description: | 188 + current limit value of the touchscreen drivers 189 + 0 = 20 mA (typical 35 mA max) 190 + 1 = 50 mA (typical 80 mA max) 191 + 192 + required: 193 + - compatible 194 + 195 + additionalProperties: false 196 + 197 + required: 198 + - compatible 199 + - reg 200 + - interrupts 201 + 202 + examples: 203 + - | 204 + #include <dt-bindings/gpio/gpio.h> 205 + #include <dt-bindings/interrupt-controller/irq.h> 206 + #include <dt-bindings/input/input.h> 207 + i2c { 208 + #address-cells = <1>; 209 + #size-cells = <0>; 210 + 211 + port-expander@43 { 212 + compatible = "st,stmpe2401"; 213 + reg = <0x43>; 214 + reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>; 215 + interrupts = <26 IRQ_TYPE_EDGE_FALLING>; 216 + interrupt-parent = <&gpio>; 217 + vcc-supply = <&db8500_vsmps2_reg>; 218 + vio-supply = <&db8500_vsmps2_reg>; 219 + wakeup-source; 220 + st,autosleep-timeout = <1024>; 221 + 222 + gpio { 223 + compatible = "st,stmpe-gpio"; 224 + gpio-controller; 225 + #gpio-cells = <2>; 226 + interrupt-controller; 227 + #interrupt-cells = <2>; 228 + st,norequest-mask = <0xf0f002>; 229 + }; 230 + 231 + keyboard-controller { 232 + compatible = "st,stmpe-keypad"; 233 + debounce-interval = <64>; 234 + st,scan-count = <8>; 235 + st,no-autorepeat; 236 + keypad,num-rows = <8>; 237 + keypad,num-columns = <8>; 238 + linux,keymap = < 239 + MATRIX_KEY(0x00, 0x00, KEY_1) 240 + MATRIX_KEY(0x00, 0x01, KEY_2) 241 + MATRIX_KEY(0x00, 0x02, KEY_3) 242 + MATRIX_KEY(0x00, 0x03, KEY_4) 243 + MATRIX_KEY(0x00, 0x04, KEY_5) 244 + MATRIX_KEY(0x00, 0x05, KEY_6) 245 + MATRIX_KEY(0x00, 0x06, KEY_7) 246 + MATRIX_KEY(0x00, 0x07, KEY_8) 247 + MATRIX_KEY(0x00, 0x08, KEY_9) 248 + MATRIX_KEY(0x00, 0x09, KEY_0) 249 + >; 250 + }; 251 + 252 + pwm { 253 + compatible = "st,stmpe-pwm"; 254 + #pwm-cells = <2>; 255 + }; 256 + }; 257 + 258 + port-expander@41 { 259 + compatible = "st,stmpe811"; 260 + reg = <0x41>; 261 + interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 262 + interrupt-parent = <&gpio>; 263 + st,adc-freq = <1>; 264 + st,mod-12b = <1>; 265 + st,ref-sel = <0>; 266 + st,sample-time = <4>; 267 + 268 + adc { 269 + compatible = "st,stmpe-adc"; 270 + st,norequest-mask = <0x0f>; 271 + #io-channel-cells = <1>; 272 + }; 273 + 274 + gpio { 275 + compatible = "st,stmpe-gpio"; 276 + gpio-controller; 277 + #gpio-cells = <2>; 278 + interrupt-controller; 279 + #interrupt-cells = <2>; 280 + }; 281 + 282 + pwm { 283 + compatible = "st,stmpe-pwm"; 284 + #pwm-cells = <2>; 285 + }; 286 + 287 + touchscreen { 288 + compatible = "st,stmpe-ts"; 289 + st,ave-ctrl = <3>; 290 + st,touch-det-delay = <5>; 291 + st,settling = <3>; 292 + st,fraction-z = <7>; 293 + st,i-drive = <1>; 294 + }; 295 + }; 296 + }; 297 + ...
+9 -3
Documentation/devicetree/bindings/mfd/st,stpmic1.yaml
··· 106 106 const: st,stpmic1-regulators 107 107 108 108 ldo3: 109 + $ref: /schemas/regulator/regulator.yaml 109 110 type: object 110 111 111 112 properties: ··· 129 128 additionalProperties: false 130 129 131 130 ldo4: 131 + $ref: /schemas/regulator/regulator.yaml 132 132 type: object 133 133 134 134 properties: ··· 144 142 regulator-name: true 145 143 regulator-boot-on: true 146 144 regulator-always-on: true 145 + regulator-min-microvolt: true 146 + regulator-max-microvolt: true 147 147 regulator-over-current-protection: true 148 148 149 149 additionalProperties: false 150 150 151 151 vref_ddr: 152 + $ref: /schemas/regulator/regulator.yaml 152 153 type: object 153 154 154 155 properties: ··· 170 165 additionalProperties: false 171 166 172 167 boost: 168 + $ref: /schemas/regulator/regulator.yaml 173 169 type: object 174 170 175 171 properties: ··· 193 187 "^(buck[1-4]|ldo[1-6]|vref_ddr|boost|pwr_sw[1-2])-supply$": 194 188 description: STPMIC1 voltage regulators supplies 195 189 196 - "^(buck[1-4]|ldo[1-6]|boost|vref_ddr|pwr_sw[1-2])$": 197 - $ref: ../regulator/regulator.yaml 198 - 199 190 "^ldo[1-2,5-6]$": 191 + $ref: /schemas/regulator/regulator.yaml 200 192 type: object 201 193 202 194 properties: ··· 217 213 additionalProperties: false 218 214 219 215 "^buck[1-4]$": 216 + $ref: /schemas/regulator/regulator.yaml 220 217 type: object 221 218 222 219 properties: ··· 242 237 additionalProperties: false 243 238 244 239 "^pwr_sw[1-2]$": 240 + $ref: /schemas/regulator/regulator.yaml 245 241 type: object 246 242 247 243 properties:
+20
Documentation/devicetree/bindings/mfd/stericsson,db8500-prcmu.yaml
··· 72 72 main voltage domain for the chip. 73 73 type: object 74 74 $ref: ../regulator/regulator.yaml# 75 + unevaluatedProperties: false 75 76 76 77 db8500_varm: 77 78 description: The voltage for the ARM Cortex A-9 CPU. 78 79 type: object 79 80 $ref: ../regulator/regulator.yaml# 81 + unevaluatedProperties: false 80 82 81 83 db8500_vmodem: 82 84 description: The voltage for the modem subsystem. 83 85 type: object 84 86 $ref: ../regulator/regulator.yaml# 87 + unevaluatedProperties: false 85 88 86 89 db8500_vpll: 87 90 description: The voltage for the phase locked loop clocks. 88 91 type: object 89 92 $ref: ../regulator/regulator.yaml# 93 + unevaluatedProperties: false 90 94 91 95 db8500_vsmps1: 92 96 description: Also known as VIO12, is a step-down voltage regulator 93 97 for 1.2V I/O. SMPS means System Management Power Source. 94 98 type: object 95 99 $ref: ../regulator/regulator.yaml# 100 + unevaluatedProperties: false 96 101 97 102 db8500_vsmps2: 98 103 description: Also known as VIO18, is a step-down voltage regulator 99 104 for 1.8V I/O. SMPS means System Management Power Source. 100 105 type: object 101 106 $ref: ../regulator/regulator.yaml# 107 + unevaluatedProperties: false 102 108 103 109 db8500_vsmps3: 104 110 description: This is a step-down voltage regulator 105 111 for 0.87 thru 1.875V I/O. SMPS means System Management Power Source. 106 112 type: object 107 113 $ref: ../regulator/regulator.yaml# 114 + unevaluatedProperties: false 108 115 109 116 db8500_vrf1: 110 117 description: RF transceiver voltage regulator. 111 118 type: object 112 119 $ref: ../regulator/regulator.yaml# 120 + unevaluatedProperties: false 113 121 114 122 db8500_sva_mmdsp: 115 123 description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP) ··· 125 117 for video encoding and decoding. 126 118 type: object 127 119 $ref: ../regulator/regulator.yaml# 120 + unevaluatedProperties: false 128 121 129 122 db8500_sva_mmdsp_ret: 130 123 description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP) 131 124 voltage regulator for retention mode. 132 125 type: object 133 126 $ref: ../regulator/regulator.yaml# 127 + unevaluatedProperties: false 134 128 135 129 db8500_sva_pipe: 136 130 description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP) 137 131 voltage regulator for the data pipe. 138 132 type: object 139 133 $ref: ../regulator/regulator.yaml# 134 + unevaluatedProperties: false 140 135 141 136 db8500_sia_mmdsp: 142 137 description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP) ··· 147 136 for image encoding and decoding. 148 137 type: object 149 138 $ref: ../regulator/regulator.yaml# 139 + unevaluatedProperties: false 150 140 151 141 db8500_sia_mmdsp_ret: 152 142 description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP) 153 143 voltage regulator for retention mode. 154 144 type: object 155 145 $ref: ../regulator/regulator.yaml# 146 + unevaluatedProperties: false 156 147 157 148 db8500_sia_pipe: 158 149 description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP) 159 150 voltage regulator for the data pipe. 160 151 type: object 161 152 $ref: ../regulator/regulator.yaml# 153 + unevaluatedProperties: false 162 154 163 155 db8500_sga: 164 156 description: Smart Graphics Accelerator (SGA) voltage regulator. ··· 169 155 accelerator block. 170 156 type: object 171 157 $ref: ../regulator/regulator.yaml# 158 + unevaluatedProperties: false 172 159 173 160 db8500_b2r2_mcde: 174 161 description: Blit Blend Rotate and Rescale (B2R2), and Multi-Channel ··· 177 162 blocks. 178 163 type: object 179 164 $ref: ../regulator/regulator.yaml# 165 + unevaluatedProperties: false 180 166 181 167 db8500_esram12: 182 168 description: Embedded Static RAM (ESRAM) 1 and 2 voltage regulator. 183 169 type: object 184 170 $ref: ../regulator/regulator.yaml# 171 + unevaluatedProperties: false 185 172 186 173 db8500_esram12_ret: 187 174 description: Embedded Static RAM (ESRAM) 1 and 2 voltage regulator for 188 175 retention mode. 189 176 type: object 190 177 $ref: ../regulator/regulator.yaml# 178 + unevaluatedProperties: false 191 179 192 180 db8500_esram34: 193 181 description: Embedded Static RAM (ESRAM) 3 and 4 voltage regulator. 194 182 type: object 195 183 $ref: ../regulator/regulator.yaml# 184 + unevaluatedProperties: false 196 185 197 186 db8500_esram34_ret: 198 187 description: Embedded Static RAM (ESRAM) 3 and 4 voltage regulator for 199 188 retention mode. 200 189 type: object 201 190 $ref: ../regulator/regulator.yaml# 191 + unevaluatedProperties: false 202 192 203 193 required: 204 194 - compatible
-42
Documentation/devicetree/bindings/mfd/stmpe.txt
··· 1 - * ST Microelectronics STMPE Multi-Functional Device 2 - 3 - STMPE is an MFD device which may expose the following inbuilt devices: gpio, 4 - keypad, touchscreen, adc, pwm, rotator. 5 - 6 - Required properties: 7 - - compatible : "st,stmpe[610|801|811|1600|1601|2401|2403]" 8 - - reg : I2C/SPI address of the device 9 - 10 - Optional properties: 11 - - interrupts : The interrupt outputs from the controller 12 - - interrupt-controller : Marks the device node as an interrupt controller 13 - - wakeup-source : Marks the input device as wakable 14 - - st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, 128, 256, 512 and 1024 15 - - irq-gpio : If present, which GPIO to use for event IRQ 16 - 17 - Optional properties for devices with touch and ADC (STMPE811|STMPE610): 18 - - st,sample-time : ADC conversion time in number of clock. 19 - 0 -> 36 clocks 4 -> 80 clocks (recommended) 20 - 1 -> 44 clocks 5 -> 96 clocks 21 - 2 -> 56 clocks 6 -> 124 clocks 22 - 3 -> 64 clocks 23 - - st,mod-12b : ADC Bit mode 24 - 0 -> 10bit ADC 1 -> 12bit ADC 25 - - st,ref-sel : ADC reference source 26 - 0 -> internal 1 -> external 27 - - st,adc-freq : ADC Clock speed 28 - 0 -> 1.625 MHz 2 || 3 -> 6.5 MHz 29 - 1 -> 3.25 MHz 30 - 31 - Example: 32 - 33 - stmpe1601: stmpe1601@40 { 34 - compatible = "st,stmpe1601"; 35 - reg = <0x40>; 36 - interrupts = <26 0x4>; 37 - interrupt-parent = <&gpio6>; 38 - interrupt-controller; 39 - 40 - wakeup-source; 41 - st,autosleep-timeout = <1024>; 42 - };
+14
MAINTAINERS
··· 21796 21796 F: Documentation/hwmon/tps546d24.rst 21797 21797 F: drivers/hwmon/pmbus/tps546d24.c 21798 21798 21799 + TQ SYSTEMS BOARD & DRIVER SUPPORT 21800 + L: linux@ew.tq-group.com 21801 + S: Supported 21802 + W: https://www.tq-group.com/en/products/tq-embedded/ 21803 + F: arch/arm/boot/dts/imx*mba*.dts* 21804 + F: arch/arm/boot/dts/imx*tqma*.dts* 21805 + F: arch/arm/boot/dts/mba*.dtsi 21806 + F: arch/arm64/boot/dts/freescale/imx*mba*.dts* 21807 + F: arch/arm64/boot/dts/freescale/imx*tqma*.dts* 21808 + F: arch/arm64/boot/dts/freescale/mba*.dtsi 21809 + F: drivers/gpio/gpio-tqmx86.c 21810 + F: drivers/mfd/tqmx86.c 21811 + F: drivers/watchdog/tqmx86_wdt.c 21812 + 21799 21813 TRACING 21800 21814 M: Steven Rostedt <rostedt@goodmis.org> 21801 21815 M: Masami Hiramatsu <mhiramat@kernel.org>
+1 -1
drivers/counter/Kconfig
··· 92 92 93 93 config RZ_MTU3_CNT 94 94 tristate "Renesas RZ/G2L MTU3a counter driver" 95 - depends on RZ_MTU3 || COMPILE_TEST 95 + depends on RZ_MTU3 96 96 help 97 97 Enable support for MTU3a counter driver found on Renesas RZ/G2L alike 98 98 SoCs. This IP supports both 16-bit and 32-bit phase counting mode
+3 -2
drivers/mfd/Kconfig
··· 1220 1220 different functionality of the device. 1221 1221 1222 1222 config MFD_RK8XX 1223 - bool 1223 + tristate 1224 1224 select MFD_CORE 1225 1225 1226 1226 config MFD_RK8XX_I2C ··· 1371 1371 and it also adds the irq_chip parts for handling the PMIC chip events. 1372 1372 1373 1373 config RZ_MTU3 1374 - bool "Renesas RZ/G2L MTU3a core driver" 1374 + tristate "Renesas RZ/G2L MTU3a core driver" 1375 1375 depends on (ARCH_RZG2L && OF) || COMPILE_TEST 1376 + select MFD_CORE 1376 1377 help 1377 1378 Select this option to enable Renesas RZ/G2L MTU3a core driver for 1378 1379 the Multi-Function Timer Pulse Unit 3 (MTU3a) hardware available
-1
drivers/mfd/ab8500-core.c
··· 21 21 #include <linux/mfd/abx500/ab8500.h> 22 22 #include <linux/mfd/dbx500-prcmu.h> 23 23 #include <linux/of.h> 24 - #include <linux/of_device.h> 25 24 26 25 /* 27 26 * Interrupt register offsets
+1 -1
drivers/mfd/acer-ec-a500.c
··· 9 9 #include <linux/i2c.h> 10 10 #include <linux/mfd/core.h> 11 11 #include <linux/module.h> 12 - #include <linux/of_device.h> 12 + #include <linux/of.h> 13 13 #include <linux/reboot.h> 14 14 #include <linux/regmap.h> 15 15
+2 -2
drivers/mfd/act8945a.c
··· 10 10 #include <linux/i2c.h> 11 11 #include <linux/mfd/core.h> 12 12 #include <linux/module.h> 13 - #include <linux/of_device.h> 13 + #include <linux/of.h> 14 14 #include <linux/regmap.h> 15 15 16 16 static const struct mfd_cell act8945a_devs[] = { ··· 68 68 static struct i2c_driver act8945a_i2c_driver = { 69 69 .driver = { 70 70 .name = "act8945a", 71 - .of_match_table = of_match_ptr(act8945a_of_match), 71 + .of_match_table = act8945a_of_match, 72 72 }, 73 73 .probe = act8945a_i2c_probe, 74 74 .id_table = act8945a_i2c_id,
+1 -1
drivers/mfd/altera-a10sr.c
··· 163 163 .probe = altr_a10sr_spi_probe, 164 164 .driver = { 165 165 .name = "altr_a10sr", 166 - .of_match_table = of_match_ptr(altr_a10sr_spi_of_match), 166 + .of_match_table = altr_a10sr_spi_of_match, 167 167 }, 168 168 .id_table = altr_a10sr_spi_ids, 169 169 };
+1 -2
drivers/mfd/altera-sysmgr.c
··· 14 14 #include <linux/mfd/syscon.h> 15 15 #include <linux/module.h> 16 16 #include <linux/of.h> 17 - #include <linux/of_address.h> 18 - #include <linux/of_platform.h> 17 + #include <linux/platform_device.h> 19 18 #include <linux/regmap.h> 20 19 #include <linux/slab.h> 21 20
-1
drivers/mfd/arizona-core.c
··· 15 15 #include <linux/mfd/core.h> 16 16 #include <linux/module.h> 17 17 #include <linux/of.h> 18 - #include <linux/of_device.h> 19 18 #include <linux/pm_runtime.h> 20 19 #include <linux/regmap.h> 21 20 #include <linux/regulator/consumer.h>
-1
drivers/mfd/atc260x-core.c
··· 11 11 #include <linux/mfd/core.h> 12 12 #include <linux/module.h> 13 13 #include <linux/of.h> 14 - #include <linux/of_device.h> 15 14 #include <linux/regmap.h> 16 15 17 16 #define ATC260X_CHIP_REV_MAX 31
+1 -3
drivers/mfd/atmel-hlcdc.c
··· 83 83 struct atmel_hlcdc_regmap *hregmap; 84 84 struct device *dev = &pdev->dev; 85 85 struct atmel_hlcdc *hlcdc; 86 - struct resource *res; 87 86 88 87 hregmap = devm_kzalloc(dev, sizeof(*hregmap), GFP_KERNEL); 89 88 if (!hregmap) ··· 92 93 if (!hlcdc) 93 94 return -ENOMEM; 94 95 95 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 96 - hregmap->regs = devm_ioremap_resource(dev, res); 96 + hregmap->regs = devm_platform_ioremap_resource(pdev, 0); 97 97 if (IS_ERR(hregmap->regs)) 98 98 return PTR_ERR(hregmap->regs); 99 99
+6 -6
drivers/mfd/axp20x.c
··· 342 342 .wr_table = &axp152_writeable_table, 343 343 .volatile_table = &axp152_volatile_table, 344 344 .max_register = AXP152_PWM1_DUTY_CYCLE, 345 - .cache_type = REGCACHE_RBTREE, 345 + .cache_type = REGCACHE_MAPLE, 346 346 }; 347 347 348 348 static const struct regmap_config axp192_regmap_config = { ··· 360 360 .wr_table = &axp20x_writeable_table, 361 361 .volatile_table = &axp20x_volatile_table, 362 362 .max_register = AXP20X_OCV(AXP20X_OCV_MAX), 363 - .cache_type = REGCACHE_RBTREE, 363 + .cache_type = REGCACHE_MAPLE, 364 364 }; 365 365 366 366 static const struct regmap_config axp22x_regmap_config = { ··· 369 369 .wr_table = &axp22x_writeable_table, 370 370 .volatile_table = &axp22x_volatile_table, 371 371 .max_register = AXP22X_BATLOW_THRES1, 372 - .cache_type = REGCACHE_RBTREE, 372 + .cache_type = REGCACHE_MAPLE, 373 373 }; 374 374 375 375 static const struct regmap_config axp288_regmap_config = { ··· 378 378 .wr_table = &axp288_writeable_table, 379 379 .volatile_table = &axp288_volatile_table, 380 380 .max_register = AXP288_FG_TUNE5, 381 - .cache_type = REGCACHE_RBTREE, 381 + .cache_type = REGCACHE_MAPLE, 382 382 }; 383 383 384 384 static const struct regmap_config axp313a_regmap_config = { ··· 396 396 .wr_table = &axp806_writeable_table, 397 397 .volatile_table = &axp806_volatile_table, 398 398 .max_register = AXP806_REG_ADDR_EXT, 399 - .cache_type = REGCACHE_RBTREE, 399 + .cache_type = REGCACHE_MAPLE, 400 400 }; 401 401 402 402 static const struct regmap_config axp15060_regmap_config = { ··· 405 405 .wr_table = &axp15060_writeable_table, 406 406 .volatile_table = &axp15060_volatile_table, 407 407 .max_register = AXP15060_IRQ2_STATE, 408 - .cache_type = REGCACHE_RBTREE, 408 + .cache_type = REGCACHE_MAPLE, 409 409 }; 410 410 411 411 #define INIT_REGMAP_IRQ(_variant, _irq, _off, _mask) \
-1
drivers/mfd/bcm590xx.c
··· 14 14 #include <linux/module.h> 15 15 #include <linux/moduleparam.h> 16 16 #include <linux/of.h> 17 - #include <linux/of_device.h> 18 17 #include <linux/regmap.h> 19 18 #include <linux/slab.h> 20 19
+1 -1
drivers/mfd/cros_ec_dev.c
··· 10 10 #include <linux/mfd/core.h> 11 11 #include <linux/module.h> 12 12 #include <linux/mod_devicetable.h> 13 - #include <linux/of_platform.h> 13 + #include <linux/of.h> 14 14 #include <linux/platform_device.h> 15 15 #include <linux/platform_data/cros_ec_chardev.h> 16 16 #include <linux/platform_data/cros_ec_commands.h>
+4 -4
drivers/mfd/cs47l15-tables.c
··· 1249 1249 .readable_reg = &cs47l15_16bit_readable_register, 1250 1250 .volatile_reg = &cs47l15_16bit_volatile_register, 1251 1251 1252 - .cache_type = REGCACHE_RBTREE, 1252 + .cache_type = REGCACHE_MAPLE, 1253 1253 .reg_defaults = cs47l15_reg_default, 1254 1254 .num_reg_defaults = ARRAY_SIZE(cs47l15_reg_default), 1255 1255 }; ··· 1264 1264 .readable_reg = &cs47l15_16bit_readable_register, 1265 1265 .volatile_reg = &cs47l15_16bit_volatile_register, 1266 1266 1267 - .cache_type = REGCACHE_RBTREE, 1267 + .cache_type = REGCACHE_MAPLE, 1268 1268 .reg_defaults = cs47l15_reg_default, 1269 1269 .num_reg_defaults = ARRAY_SIZE(cs47l15_reg_default), 1270 1270 }; ··· 1281 1281 .readable_reg = &cs47l15_32bit_readable_register, 1282 1282 .volatile_reg = &cs47l15_32bit_volatile_register, 1283 1283 1284 - .cache_type = REGCACHE_RBTREE, 1284 + .cache_type = REGCACHE_MAPLE, 1285 1285 }; 1286 1286 EXPORT_SYMBOL_GPL(cs47l15_32bit_spi_regmap); 1287 1287 ··· 1295 1295 .readable_reg = &cs47l15_32bit_readable_register, 1296 1296 .volatile_reg = &cs47l15_32bit_volatile_register, 1297 1297 1298 - .cache_type = REGCACHE_RBTREE, 1298 + .cache_type = REGCACHE_MAPLE, 1299 1299 }; 1300 1300 EXPORT_SYMBOL_GPL(cs47l15_32bit_i2c_regmap);
+1 -1
drivers/mfd/cs47l24-tables.c
··· 1616 1616 .readable_reg = cs47l24_readable_register, 1617 1617 .volatile_reg = cs47l24_volatile_register, 1618 1618 1619 - .cache_type = REGCACHE_RBTREE, 1619 + .cache_type = REGCACHE_MAPLE, 1620 1620 .reg_defaults = cs47l24_reg_default, 1621 1621 .num_reg_defaults = ARRAY_SIZE(cs47l24_reg_default), 1622 1622 };
+4 -4
drivers/mfd/cs47l35-tables.c
··· 1498 1498 .readable_reg = cs47l35_16bit_readable_register, 1499 1499 .volatile_reg = cs47l35_16bit_volatile_register, 1500 1500 1501 - .cache_type = REGCACHE_RBTREE, 1501 + .cache_type = REGCACHE_MAPLE, 1502 1502 .reg_defaults = cs47l35_reg_default, 1503 1503 .num_reg_defaults = ARRAY_SIZE(cs47l35_reg_default), 1504 1504 }; ··· 1515 1515 .readable_reg = cs47l35_16bit_readable_register, 1516 1516 .volatile_reg = cs47l35_16bit_volatile_register, 1517 1517 1518 - .cache_type = REGCACHE_RBTREE, 1518 + .cache_type = REGCACHE_MAPLE, 1519 1519 .reg_defaults = cs47l35_reg_default, 1520 1520 .num_reg_defaults = ARRAY_SIZE(cs47l35_reg_default), 1521 1521 }; ··· 1534 1534 .readable_reg = cs47l35_32bit_readable_register, 1535 1535 .volatile_reg = cs47l35_32bit_volatile_register, 1536 1536 1537 - .cache_type = REGCACHE_RBTREE, 1537 + .cache_type = REGCACHE_MAPLE, 1538 1538 }; 1539 1539 EXPORT_SYMBOL_GPL(cs47l35_32bit_spi_regmap); 1540 1540 ··· 1550 1550 .readable_reg = cs47l35_32bit_readable_register, 1551 1551 .volatile_reg = cs47l35_32bit_volatile_register, 1552 1552 1553 - .cache_type = REGCACHE_RBTREE, 1553 + .cache_type = REGCACHE_MAPLE, 1554 1554 }; 1555 1555 EXPORT_SYMBOL_GPL(cs47l35_32bit_i2c_regmap);
+4 -4
drivers/mfd/cs47l85-tables.c
··· 2836 2836 .readable_reg = cs47l85_16bit_readable_register, 2837 2837 .volatile_reg = cs47l85_16bit_volatile_register, 2838 2838 2839 - .cache_type = REGCACHE_RBTREE, 2839 + .cache_type = REGCACHE_MAPLE, 2840 2840 .reg_defaults = cs47l85_reg_default, 2841 2841 .num_reg_defaults = ARRAY_SIZE(cs47l85_reg_default), 2842 2842 }; ··· 2853 2853 .readable_reg = cs47l85_16bit_readable_register, 2854 2854 .volatile_reg = cs47l85_16bit_volatile_register, 2855 2855 2856 - .cache_type = REGCACHE_RBTREE, 2856 + .cache_type = REGCACHE_MAPLE, 2857 2857 .reg_defaults = cs47l85_reg_default, 2858 2858 .num_reg_defaults = ARRAY_SIZE(cs47l85_reg_default), 2859 2859 }; ··· 2872 2872 .readable_reg = cs47l85_32bit_readable_register, 2873 2873 .volatile_reg = cs47l85_32bit_volatile_register, 2874 2874 2875 - .cache_type = REGCACHE_RBTREE, 2875 + .cache_type = REGCACHE_MAPLE, 2876 2876 }; 2877 2877 EXPORT_SYMBOL_GPL(cs47l85_32bit_spi_regmap); 2878 2878 ··· 2888 2888 .readable_reg = cs47l85_32bit_readable_register, 2889 2889 .volatile_reg = cs47l85_32bit_volatile_register, 2890 2890 2891 - .cache_type = REGCACHE_RBTREE, 2891 + .cache_type = REGCACHE_MAPLE, 2892 2892 }; 2893 2893 EXPORT_SYMBOL_GPL(cs47l85_32bit_i2c_regmap);
+4 -4
drivers/mfd/cs47l90-tables.c
··· 2539 2539 .readable_reg = cs47l90_16bit_readable_register, 2540 2540 .volatile_reg = cs47l90_16bit_volatile_register, 2541 2541 2542 - .cache_type = REGCACHE_RBTREE, 2542 + .cache_type = REGCACHE_MAPLE, 2543 2543 .reg_defaults = cs47l90_reg_default, 2544 2544 .num_reg_defaults = ARRAY_SIZE(cs47l90_reg_default), 2545 2545 }; ··· 2556 2556 .readable_reg = cs47l90_16bit_readable_register, 2557 2557 .volatile_reg = cs47l90_16bit_volatile_register, 2558 2558 2559 - .cache_type = REGCACHE_RBTREE, 2559 + .cache_type = REGCACHE_MAPLE, 2560 2560 .reg_defaults = cs47l90_reg_default, 2561 2561 .num_reg_defaults = ARRAY_SIZE(cs47l90_reg_default), 2562 2562 }; ··· 2575 2575 .readable_reg = cs47l90_32bit_readable_register, 2576 2576 .volatile_reg = cs47l90_32bit_volatile_register, 2577 2577 2578 - .cache_type = REGCACHE_RBTREE, 2578 + .cache_type = REGCACHE_MAPLE, 2579 2579 }; 2580 2580 EXPORT_SYMBOL_GPL(cs47l90_32bit_spi_regmap); 2581 2581 ··· 2591 2591 .readable_reg = cs47l90_32bit_readable_register, 2592 2592 .volatile_reg = cs47l90_32bit_volatile_register, 2593 2593 2594 - .cache_type = REGCACHE_RBTREE, 2594 + .cache_type = REGCACHE_MAPLE, 2595 2595 }; 2596 2596 EXPORT_SYMBOL_GPL(cs47l90_32bit_i2c_regmap);
+4 -4
drivers/mfd/cs47l92-tables.c
··· 1890 1890 .readable_reg = &cs47l92_16bit_readable_register, 1891 1891 .volatile_reg = &cs47l92_16bit_volatile_register, 1892 1892 1893 - .cache_type = REGCACHE_RBTREE, 1893 + .cache_type = REGCACHE_MAPLE, 1894 1894 .reg_defaults = cs47l92_reg_default, 1895 1895 .num_reg_defaults = ARRAY_SIZE(cs47l92_reg_default), 1896 1896 }; ··· 1907 1907 .readable_reg = &cs47l92_16bit_readable_register, 1908 1908 .volatile_reg = &cs47l92_16bit_volatile_register, 1909 1909 1910 - .cache_type = REGCACHE_RBTREE, 1910 + .cache_type = REGCACHE_MAPLE, 1911 1911 .reg_defaults = cs47l92_reg_default, 1912 1912 .num_reg_defaults = ARRAY_SIZE(cs47l92_reg_default), 1913 1913 }; ··· 1926 1926 .readable_reg = &cs47l92_32bit_readable_register, 1927 1927 .volatile_reg = &cs47l92_32bit_volatile_register, 1928 1928 1929 - .cache_type = REGCACHE_RBTREE, 1929 + .cache_type = REGCACHE_MAPLE, 1930 1930 }; 1931 1931 EXPORT_SYMBOL_GPL(cs47l92_32bit_spi_regmap); 1932 1932 ··· 1942 1942 .readable_reg = &cs47l92_32bit_readable_register, 1943 1943 .volatile_reg = &cs47l92_32bit_volatile_register, 1944 1944 1945 - .cache_type = REGCACHE_RBTREE, 1945 + .cache_type = REGCACHE_MAPLE, 1946 1946 }; 1947 1947 EXPORT_SYMBOL_GPL(cs47l92_32bit_i2c_regmap);
+1 -4
drivers/mfd/da9052-i2c.c
··· 13 13 #include <linux/mfd/core.h> 14 14 #include <linux/i2c.h> 15 15 #include <linux/err.h> 16 + #include <linux/of.h> 16 17 17 18 #include <linux/mfd/da9052/da9052.h> 18 19 #include <linux/mfd/da9052/reg.h> 19 20 20 - #ifdef CONFIG_OF 21 - #include <linux/of.h> 22 - #include <linux/of_device.h> 23 - #endif 24 21 25 22 /* I2C safe register check */ 26 23 static inline bool i2c_safe_reg(unsigned char reg)
-1
drivers/mfd/da9055-i2c.c
··· 11 11 #include <linux/i2c.h> 12 12 #include <linux/err.h> 13 13 #include <linux/of.h> 14 - #include <linux/of_device.h> 15 14 16 15 #include <linux/mfd/da9055/core.h> 17 16
+1 -1
drivers/mfd/da9062-core.c
··· 9 9 #include <linux/init.h> 10 10 #include <linux/device.h> 11 11 #include <linux/interrupt.h> 12 - #include <linux/of_device.h> 12 + #include <linux/of.h> 13 13 #include <linux/regmap.h> 14 14 #include <linux/irq.h> 15 15 #include <linux/mfd/core.h>
+1 -3
drivers/mfd/exynos-lpass.c
··· 109 109 struct device *dev = &pdev->dev; 110 110 struct exynos_lpass *lpass; 111 111 void __iomem *base_top; 112 - struct resource *res; 113 112 114 113 lpass = devm_kzalloc(dev, sizeof(*lpass), GFP_KERNEL); 115 114 if (!lpass) 116 115 return -ENOMEM; 117 116 118 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 119 - base_top = devm_ioremap_resource(dev, res); 117 + base_top = devm_platform_ioremap_resource(pdev, 0); 120 118 if (IS_ERR(base_top)) 121 119 return PTR_ERR(base_top); 122 120
+1 -1
drivers/mfd/hi6421-pmic-core.c
··· 59 59 id = of_match_device(of_hi6421_pmic_match, &pdev->dev); 60 60 if (!id) 61 61 return -EINVAL; 62 - type = (enum hi6421_type)id->data; 62 + type = (uintptr_t)id->data; 63 63 64 64 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); 65 65 if (!pmic)
+3 -4
drivers/mfd/hi655x-pmic.c
··· 16 16 #include <linux/mfd/hi655x-pmic.h> 17 17 #include <linux/module.h> 18 18 #include <linux/gpio/consumer.h> 19 - #include <linux/of_platform.h> 19 + #include <linux/mod_devicetable.h> 20 20 #include <linux/platform_device.h> 21 21 #include <linux/regmap.h> 22 22 ··· 100 100 return -ENOMEM; 101 101 pmic->dev = dev; 102 102 103 - pmic->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 104 - base = devm_ioremap_resource(dev, pmic->res); 103 + base = devm_platform_ioremap_resource(pdev, 0); 105 104 if (IS_ERR(base)) 106 105 return PTR_ERR(base); 107 106 ··· 162 163 static struct platform_driver hi655x_pmic_driver = { 163 164 .driver = { 164 165 .name = "hi655x-pmic", 165 - .of_match_table = of_match_ptr(hi655x_pmic_match), 166 + .of_match_table = hi655x_pmic_match, 166 167 }, 167 168 .probe = hi655x_pmic_probe, 168 169 .remove = hi655x_pmic_remove,
+1 -6
drivers/mfd/ipaq-micro.c
··· 78 78 79 79 static void micro_rx_msg(struct ipaq_micro *micro, u8 id, int len, u8 *data) 80 80 { 81 - int i; 82 - 83 81 dev_dbg(micro->dev, "RX msg: %02x, %d bytes\n", id, len); 84 82 85 83 spin_lock(&micro->lock); ··· 129 131 break; 130 132 default: 131 133 dev_err(micro->dev, 132 - "unknown msg %d [%d] ", id, len); 133 - for (i = 0; i < len; ++i) 134 - pr_cont("0x%02x ", data[i]); 135 - pr_cont("\n"); 134 + "unknown msg %d [%d] %*ph\n", id, len, len, data); 136 135 } 137 136 spin_unlock(&micro->lock); 138 137 }
+1 -1
drivers/mfd/iqs62x.c
··· 27 27 #include <linux/mfd/iqs62x.h> 28 28 #include <linux/module.h> 29 29 #include <linux/notifier.h> 30 - #include <linux/of_device.h> 30 + #include <linux/of.h> 31 31 #include <linux/property.h> 32 32 #include <linux/regmap.h> 33 33 #include <linux/slab.h>
+1 -1
drivers/mfd/lochnagar-i2c.c
··· 379 379 static struct i2c_driver lochnagar_i2c_driver = { 380 380 .driver = { 381 381 .name = "lochnagar", 382 - .of_match_table = of_match_ptr(lochnagar_of_match), 382 + .of_match_table = lochnagar_of_match, 383 383 .suppress_bind_attrs = true, 384 384 }, 385 385 .probe = lochnagar_i2c_probe,
+1 -1
drivers/mfd/lp873x.c
··· 7 7 8 8 #include <linux/interrupt.h> 9 9 #include <linux/mfd/core.h> 10 + #include <linux/mod_devicetable.h> 10 11 #include <linux/module.h> 11 - #include <linux/of_device.h> 12 12 #include <linux/regmap.h> 13 13 14 14 #include <linux/mfd/lp873x.h>
+1 -1
drivers/mfd/lp87565.c
··· 92 92 93 93 of_id = of_match_device(of_lp87565_match_table, &client->dev); 94 94 if (of_id) 95 - lp87565->dev_type = (enum lp87565_device_type)of_id->data; 95 + lp87565->dev_type = (uintptr_t)of_id->data; 96 96 97 97 i2c_set_clientdata(client, lp87565); 98 98
-1
drivers/mfd/madera-i2c.c
··· 10 10 #include <linux/i2c.h> 11 11 #include <linux/module.h> 12 12 #include <linux/of.h> 13 - #include <linux/of_device.h> 14 13 #include <linux/regmap.h> 15 14 16 15 #include <linux/mfd/madera/core.h>
-1
drivers/mfd/madera-spi.c
··· 9 9 #include <linux/err.h> 10 10 #include <linux/module.h> 11 11 #include <linux/of.h> 12 - #include <linux/of_device.h> 13 12 #include <linux/regmap.h> 14 13 #include <linux/spi/spi.h> 15 14
+1 -2
drivers/mfd/max14577.c
··· 402 402 403 403 of_id = of_match_device(max14577_dt_match, &i2c->dev); 404 404 if (of_id) 405 - max14577->dev_type = 406 - (enum maxim_device_type)of_id->data; 405 + max14577->dev_type = (uintptr_t)of_id->data; 407 406 } else { 408 407 max14577->dev_type = id->driver_data; 409 408 }
+1 -1
drivers/mfd/max77541.c
··· 173 173 i2c_set_clientdata(client, max77541); 174 174 max77541->i2c = client; 175 175 176 - max77541->id = (enum max7754x_ids)device_get_match_data(dev); 176 + max77541->id = (uintptr_t)device_get_match_data(dev); 177 177 if (!max77541->id) 178 178 max77541->id = (enum max7754x_ids)id->driver_data; 179 179
-1
drivers/mfd/max77620.c
··· 30 30 #include <linux/mfd/max77620.h> 31 31 #include <linux/init.h> 32 32 #include <linux/of.h> 33 - #include <linux/of_device.h> 34 33 #include <linux/regmap.h> 35 34 #include <linux/slab.h> 36 35
-1
drivers/mfd/max77686.c
··· 20 20 #include <linux/mfd/max77686-private.h> 21 21 #include <linux/err.h> 22 22 #include <linux/of.h> 23 - #include <linux/of_device.h> 24 23 25 24 static const struct mfd_cell max77686_devs[] = { 26 25 { .name = "max77686-pmic", },
+1 -1
drivers/mfd/max77843.c
··· 13 13 #include <linux/mfd/core.h> 14 14 #include <linux/mfd/max77693-common.h> 15 15 #include <linux/mfd/max77843-private.h> 16 - #include <linux/of_device.h> 16 + #include <linux/mod_devicetable.h> 17 17 #include <linux/platform_device.h> 18 18 19 19 static const struct mfd_cell max77843_devs[] = {
-1
drivers/mfd/max8907.c
··· 15 15 #include <linux/mfd/max8907.h> 16 16 #include <linux/module.h> 17 17 #include <linux/of.h> 18 - #include <linux/of_device.h> 19 18 #include <linux/regmap.h> 20 19 #include <linux/slab.h> 21 20
-1
drivers/mfd/max8925-core.c
··· 17 17 #include <linux/mfd/core.h> 18 18 #include <linux/mfd/max8925.h> 19 19 #include <linux/of.h> 20 - #include <linux/of_platform.h> 21 20 22 21 static const struct resource bk_resources[] = { 23 22 { 0x84, 0x84, "mode control", IORESOURCE_REG, },
-1
drivers/mfd/max8997.c
··· 11 11 #include <linux/slab.h> 12 12 #include <linux/i2c.h> 13 13 #include <linux/of.h> 14 - #include <linux/of_device.h> 15 14 #include <linux/of_irq.h> 16 15 #include <linux/interrupt.h> 17 16 #include <linux/pm_runtime.h>
-1
drivers/mfd/max8998.c
··· 12 12 #include <linux/i2c.h> 13 13 #include <linux/interrupt.h> 14 14 #include <linux/of.h> 15 - #include <linux/of_device.h> 16 15 #include <linux/of_irq.h> 17 16 #include <linux/pm_runtime.h> 18 17 #include <linux/mutex.h>
+1 -8
drivers/mfd/mc13xxx-i2c.c
··· 53 53 54 54 static int mc13xxx_i2c_probe(struct i2c_client *client) 55 55 { 56 - const struct i2c_device_id *id = i2c_client_get_device_id(client); 57 56 struct mc13xxx *mc13xxx; 58 57 int ret; 59 58 ··· 72 73 return ret; 73 74 } 74 75 75 - if (client->dev.of_node) { 76 - const struct of_device_id *of_id = 77 - of_match_device(mc13xxx_dt_ids, &client->dev); 78 - mc13xxx->variant = of_id->data; 79 - } else { 80 - mc13xxx->variant = (void *)id->driver_data; 81 - } 76 + mc13xxx->variant = i2c_get_match_data(client); 82 77 83 78 return mc13xxx_common_init(&client->dev); 84 79 }
+2 -3
drivers/mfd/mt6358-irq.c
··· 3 3 // Copyright (c) 2020 MediaTek Inc. 4 4 5 5 #include <linux/interrupt.h> 6 + #include <linux/irq.h> 7 + #include <linux/irqdomain.h> 6 8 #include <linux/mfd/mt6357/core.h> 7 9 #include <linux/mfd/mt6357/registers.h> 8 10 #include <linux/mfd/mt6358/core.h> ··· 13 11 #include <linux/mfd/mt6359/registers.h> 14 12 #include <linux/mfd/mt6397/core.h> 15 13 #include <linux/module.h> 16 - #include <linux/of.h> 17 - #include <linux/of_device.h> 18 - #include <linux/of_irq.h> 19 14 #include <linux/platform_device.h> 20 15 #include <linux/regmap.h> 21 16
+3 -2
drivers/mfd/mt6397-core.c
··· 6 6 7 7 #include <linux/interrupt.h> 8 8 #include <linux/ioport.h> 9 + #include <linux/irqdomain.h> 9 10 #include <linux/module.h> 10 - #include <linux/of_device.h> 11 - #include <linux/of_irq.h> 11 + #include <linux/of.h> 12 + #include <linux/platform_device.h> 12 13 #include <linux/regmap.h> 13 14 #include <linux/mfd/core.h> 14 15 #include <linux/mfd/mt6323/core.h>
+2 -3
drivers/mfd/mt6397-irq.c
··· 3 3 // Copyright (c) 2019 MediaTek Inc. 4 4 5 5 #include <linux/interrupt.h> 6 + #include <linux/irq.h> 7 + #include <linux/irqdomain.h> 6 8 #include <linux/module.h> 7 - #include <linux/of.h> 8 - #include <linux/of_device.h> 9 - #include <linux/of_irq.h> 10 9 #include <linux/platform_device.h> 11 10 #include <linux/regmap.h> 12 11 #include <linux/suspend.h>
+1 -1
drivers/mfd/mxs-lradc.c
··· 142 142 if (!of_id) 143 143 return -EINVAL; 144 144 145 - lradc->soc = (enum mxs_lradc_id)of_id->data; 145 + lradc->soc = (uintptr_t)of_id->data; 146 146 147 147 lradc->clk = devm_clk_get(&pdev->dev, NULL); 148 148 if (IS_ERR(lradc->clk)) {
+1 -3
drivers/mfd/omap-usb-host.c
··· 534 534 struct device *dev = &pdev->dev; 535 535 struct usbhs_omap_platform_data *pdata = dev_get_platdata(dev); 536 536 struct usbhs_hcd_omap *omap; 537 - struct resource *res; 538 537 int ret = 0; 539 538 int i; 540 539 bool need_logic_fck; ··· 568 569 return -ENOMEM; 569 570 } 570 571 571 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 572 - omap->uhh_base = devm_ioremap_resource(dev, res); 572 + omap->uhh_base = devm_platform_ioremap_resource(pdev, 0); 573 573 if (IS_ERR(omap->uhh_base)) 574 574 return PTR_ERR(omap->uhh_base); 575 575
+1 -3
drivers/mfd/omap-usb-tll.c
··· 200 200 static int usbtll_omap_probe(struct platform_device *pdev) 201 201 { 202 202 struct device *dev = &pdev->dev; 203 - struct resource *res; 204 203 struct usbtll_omap *tll; 205 204 void __iomem *base; 206 205 int i, nch, ver; 207 206 208 207 dev_dbg(dev, "starting TI HSUSB TLL Controller\n"); 209 208 210 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 211 - base = devm_ioremap_resource(dev, res); 209 + base = devm_platform_ioremap_resource(pdev, 0); 212 210 if (IS_ERR(base)) 213 211 return PTR_ERR(base); 214 212
+2 -1
drivers/mfd/palmas.c
··· 18 18 #include <linux/err.h> 19 19 #include <linux/mfd/core.h> 20 20 #include <linux/mfd/palmas.h> 21 - #include <linux/of_device.h> 21 + #include <linux/of.h> 22 + #include <linux/of_platform.h> 22 23 23 24 static const struct regmap_config palmas_regmap_config[PALMAS_NUM_CLIENTS] = { 24 25 {
+1 -1
drivers/mfd/qcom-pm8008.c
··· 9 9 #include <linux/irq.h> 10 10 #include <linux/irqdomain.h> 11 11 #include <linux/module.h> 12 - #include <linux/of_device.h> 12 + #include <linux/of.h> 13 13 #include <linux/of_platform.h> 14 14 #include <linux/pinctrl/consumer.h> 15 15 #include <linux/regmap.h>
+6 -4
drivers/mfd/qcom-pm8xxx.c
··· 103 103 pm8xxx_config_irq(struct pm_irq_chip *chip, unsigned int bp, unsigned int cp) 104 104 { 105 105 int rc; 106 + unsigned long flags; 106 107 107 - spin_lock(&chip->pm_irq_lock); 108 + spin_lock_irqsave(&chip->pm_irq_lock, flags); 108 109 rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_BLK_SEL, bp); 109 110 if (rc) { 110 111 pr_err("Failed Selecting Block %d rc=%d\n", bp, rc); ··· 117 116 if (rc) 118 117 pr_err("Failed Configuring IRQ rc=%d\n", rc); 119 118 bail: 120 - spin_unlock(&chip->pm_irq_lock); 119 + spin_unlock_irqrestore(&chip->pm_irq_lock, flags); 121 120 return rc; 122 121 } 123 122 ··· 322 321 struct pm_irq_chip *chip = irq_data_get_irq_chip_data(d); 323 322 unsigned int pmirq = irqd_to_hwirq(d); 324 323 unsigned int bits; 324 + unsigned long flags; 325 325 int irq_bit; 326 326 u8 block; 327 327 int rc; ··· 333 331 block = pmirq / 8; 334 332 irq_bit = pmirq % 8; 335 333 336 - spin_lock(&chip->pm_irq_lock); 334 + spin_lock_irqsave(&chip->pm_irq_lock, flags); 337 335 rc = regmap_write(chip->regmap, SSBI_REG_ADDR_IRQ_BLK_SEL, block); 338 336 if (rc) { 339 337 pr_err("Failed Selecting Block %d rc=%d\n", block, rc); ··· 348 346 349 347 *state = !!(bits & BIT(irq_bit)); 350 348 bail: 351 - spin_unlock(&chip->pm_irq_lock); 349 + spin_unlock_irqrestore(&chip->pm_irq_lock, flags); 352 350 353 351 return rc; 354 352 }
+1 -1
drivers/mfd/rave-sp.c
··· 18 18 #include <linux/mfd/rave-sp.h> 19 19 #include <linux/module.h> 20 20 #include <linux/of.h> 21 - #include <linux/of_device.h> 21 + #include <linux/of_platform.h> 22 22 #include <linux/sched.h> 23 23 #include <linux/serdev.h> 24 24 #include <asm/unaligned.h>
+1 -1
drivers/mfd/rk8xx-core.c
··· 14 14 #include <linux/mfd/rk808.h> 15 15 #include <linux/mfd/core.h> 16 16 #include <linux/module.h> 17 - #include <linux/of_device.h> 17 + #include <linux/property.h> 18 18 #include <linux/regmap.h> 19 19 #include <linux/reboot.h> 20 20
+1 -1
drivers/mfd/rn5t618.c
··· 277 277 static struct i2c_driver rn5t618_i2c_driver = { 278 278 .driver = { 279 279 .name = "rn5t618", 280 - .of_match_table = of_match_ptr(rn5t618_of_match), 280 + .of_match_table = rn5t618_of_match, 281 281 .pm = &rn5t618_i2c_dev_pm_ops, 282 282 }, 283 283 .probe = rn5t618_i2c_probe,
+1 -1
drivers/mfd/rohm-bd71828.c
··· 15 15 #include <linux/mfd/rohm-bd71828.h> 16 16 #include <linux/mfd/rohm-generic.h> 17 17 #include <linux/module.h> 18 - #include <linux/of_device.h> 18 + #include <linux/of.h> 19 19 #include <linux/regmap.h> 20 20 #include <linux/types.h> 21 21
+1 -1
drivers/mfd/rohm-bd718x7.c
··· 14 14 #include <linux/mfd/rohm-bd718x7.h> 15 15 #include <linux/mfd/core.h> 16 16 #include <linux/module.h> 17 - #include <linux/of_device.h> 17 + #include <linux/of.h> 18 18 #include <linux/regmap.h> 19 19 #include <linux/types.h> 20 20
+1 -1
drivers/mfd/rohm-bd9576.c
··· 13 13 #include <linux/mfd/rohm-bd957x.h> 14 14 #include <linux/mfd/rohm-generic.h> 15 15 #include <linux/module.h> 16 - #include <linux/of_device.h> 16 + #include <linux/of.h> 17 17 #include <linux/regmap.h> 18 18 #include <linux/types.h> 19 19
+1 -1
drivers/mfd/rsmu_i2c.c
··· 277 277 static struct i2c_driver rsmu_i2c_driver = { 278 278 .driver = { 279 279 .name = "rsmu-i2c", 280 - .of_match_table = of_match_ptr(rsmu_i2c_of_match), 280 + .of_match_table = rsmu_i2c_of_match, 281 281 }, 282 282 .probe = rsmu_i2c_probe, 283 283 .remove = rsmu_i2c_remove,
+1 -1
drivers/mfd/rsmu_spi.c
··· 262 262 static struct spi_driver rsmu_spi_driver = { 263 263 .driver = { 264 264 .name = "rsmu-spi", 265 - .of_match_table = of_match_ptr(rsmu_spi_of_match), 265 + .of_match_table = rsmu_spi_of_match, 266 266 }, 267 267 .probe = rsmu_spi_probe, 268 268 .remove = rsmu_spi_remove,
+1 -1
drivers/mfd/rt5033.c
··· 10 10 */ 11 11 12 12 #include <linux/err.h> 13 + #include <linux/mod_devicetable.h> 13 14 #include <linux/module.h> 14 15 #include <linux/interrupt.h> 15 - #include <linux/of_device.h> 16 16 #include <linux/mfd/core.h> 17 17 #include <linux/mfd/rt5033.h> 18 18 #include <linux/mfd/rt5033-private.h>
+17 -17
drivers/mfd/rz-mtu3.c
··· 11 11 #include <linux/irq.h> 12 12 #include <linux/mfd/core.h> 13 13 #include <linux/mfd/rz-mtu3.h> 14 - #include <linux/of_platform.h> 14 + #include <linux/module.h> 15 + #include <linux/mod_devicetable.h> 16 + #include <linux/platform_device.h> 15 17 #include <linux/reset.h> 16 18 #include <linux/spinlock.h> 17 19 ··· 22 20 struct rz_mtu3_priv { 23 21 void __iomem *mmio; 24 22 struct reset_control *rstc; 25 - raw_spinlock_t lock; 23 + spinlock_t lock; 26 24 }; 27 25 28 26 /******* MTU3 registers (original offset is +0x1200) *******/ ··· 176 174 struct rz_mtu3_priv *priv = mtu->priv_data; 177 175 unsigned long tmdr, flags; 178 176 179 - raw_spin_lock_irqsave(&priv->lock, flags); 177 + spin_lock_irqsave(&priv->lock, flags); 180 178 tmdr = rz_mtu3_shared_reg_read(ch, offset); 181 179 __assign_bit(pos, &tmdr, !!val); 182 180 rz_mtu3_shared_reg_write(ch, offset, tmdr); 183 - raw_spin_unlock_irqrestore(&priv->lock, flags); 181 + spin_unlock_irqrestore(&priv->lock, flags); 184 182 } 185 183 EXPORT_SYMBOL_GPL(rz_mtu3_shared_reg_update_bit); 186 184 ··· 252 250 u16 offset; 253 251 u8 bitpos; 254 252 255 - /* start stop register shared by multiple timer channels */ 256 - raw_spin_lock_irqsave(&priv->lock, flags); 257 - 258 253 offset = rz_mtu3_get_tstr_offset(ch); 259 254 bitpos = rz_mtu3_get_tstr_bit_pos(ch); 255 + 256 + /* start stop register shared by multiple timer channels */ 257 + spin_lock_irqsave(&priv->lock, flags); 258 + 260 259 tstr = rz_mtu3_shared_reg_read(ch, offset); 261 260 __assign_bit(bitpos, &tstr, start); 262 261 rz_mtu3_shared_reg_write(ch, offset, tstr); 263 262 264 - raw_spin_unlock_irqrestore(&priv->lock, flags); 263 + spin_unlock_irqrestore(&priv->lock, flags); 265 264 } 266 265 267 266 bool rz_mtu3_is_enabled(struct rz_mtu3_channel *ch) ··· 270 267 struct rz_mtu3 *mtu = dev_get_drvdata(ch->dev->parent); 271 268 struct rz_mtu3_priv *priv = mtu->priv_data; 272 269 unsigned long flags, tstr; 273 - bool ret = false; 274 270 u16 offset; 275 271 u8 bitpos; 276 272 277 - /* start stop register shared by multiple timer channels */ 278 - raw_spin_lock_irqsave(&priv->lock, flags); 279 - 280 273 offset = rz_mtu3_get_tstr_offset(ch); 281 274 bitpos = rz_mtu3_get_tstr_bit_pos(ch); 275 + 276 + /* start stop register shared by multiple timer channels */ 277 + spin_lock_irqsave(&priv->lock, flags); 282 278 tstr = rz_mtu3_shared_reg_read(ch, offset); 283 - ret = tstr & BIT(bitpos); 279 + spin_unlock_irqrestore(&priv->lock, flags); 284 280 285 - raw_spin_unlock_irqrestore(&priv->lock, flags); 286 - 287 - return ret; 281 + return tstr & BIT(bitpos); 288 282 } 289 283 EXPORT_SYMBOL_GPL(rz_mtu3_is_enabled); 290 284 ··· 349 349 return PTR_ERR(ddata->clk); 350 350 351 351 reset_control_deassert(priv->rstc); 352 - raw_spin_lock_init(&priv->lock); 352 + spin_lock_init(&priv->lock); 353 353 platform_set_drvdata(pdev, ddata); 354 354 355 355 for (i = 0; i < RZ_MTU_NUM_CHANNELS; i++) {
-2
drivers/mfd/sec-core.c
··· 10 10 #include <linux/slab.h> 11 11 #include <linux/i2c.h> 12 12 #include <linux/of.h> 13 - #include <linux/of_device.h> 14 - #include <linux/of_irq.h> 15 13 #include <linux/interrupt.h> 16 14 #include <linux/pm_runtime.h> 17 15 #include <linux/mutex.h>
+1 -1
drivers/mfd/sprd-sc27xx-spi.c
··· 8 8 #include <linux/module.h> 9 9 #include <linux/mfd/core.h> 10 10 #include <linux/mfd/sc27xx-pmic.h> 11 - #include <linux/of_device.h> 11 + #include <linux/of.h> 12 12 #include <linux/of_platform.h> 13 13 #include <linux/regmap.h> 14 14 #include <linux/spi/spi.h>
+3 -3
drivers/mfd/ssbi.c
··· 14 14 #include <linux/err.h> 15 15 #include <linux/io.h> 16 16 #include <linux/kernel.h> 17 + #include <linux/module.h> 18 + #include <linux/of.h> 19 + #include <linux/of_platform.h> 17 20 #include <linux/platform_device.h> 18 21 #include <linux/slab.h> 19 22 #include <linux/ssbi.h> 20 - #include <linux/module.h> 21 - #include <linux/of.h> 22 - #include <linux/of_device.h> 23 23 24 24 /* SSBI 2.0 controller registers */ 25 25 #define SSBI2_CMD 0x0008
+1
drivers/mfd/stm32-lptimer.c
··· 9 9 #include <linux/mfd/stm32-lptimer.h> 10 10 #include <linux/module.h> 11 11 #include <linux/of_platform.h> 12 + #include <linux/platform_device.h> 12 13 13 14 #define STM32_LPTIM_MAX_REGISTER 0x3fc 14 15
+2 -2
drivers/mfd/stm32-timers.c
··· 8 8 #include <linux/mfd/stm32-timers.h> 9 9 #include <linux/module.h> 10 10 #include <linux/of_platform.h> 11 + #include <linux/platform_device.h> 11 12 #include <linux/reset.h> 12 13 13 14 #define STM32_TIMERS_MAX_REGISTERS 0x3fc ··· 227 226 if (!ddata) 228 227 return -ENOMEM; 229 228 230 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 231 - mmio = devm_ioremap_resource(dev, res); 229 + mmio = devm_platform_get_and_ioremap_resource(pdev, 0, &res); 232 230 if (IS_ERR(mmio)) 233 231 return PTR_ERR(mmio); 234 232
+1 -1
drivers/mfd/stmpe-i2c.c
··· 87 87 dev_info(&i2c->dev, "matching on node name, compatible is preferred\n"); 88 88 partnum = id->driver_data; 89 89 } else 90 - partnum = (enum stmpe_partnum)of_id->data; 90 + partnum = (uintptr_t)of_id->data; 91 91 92 92 return stmpe_probe(&i2c_ci, partnum); 93 93 }
+1 -1
drivers/mfd/stpmic1.c
··· 219 219 static struct i2c_driver stpmic1_driver = { 220 220 .driver = { 221 221 .name = "stpmic1", 222 - .of_match_table = of_match_ptr(stpmic1_of_match), 222 + .of_match_table = stpmic1_of_match, 223 223 .pm = pm_sleep_ptr(&stpmic1_pm), 224 224 }, 225 225 .probe = stpmic1_probe,
+2 -2
drivers/mfd/sun4i-gpadc.c
··· 8 8 #include <linux/kernel.h> 9 9 #include <linux/mfd/core.h> 10 10 #include <linux/module.h> 11 - #include <linux/of_device.h> 12 - #include <linux/of_irq.h> 11 + #include <linux/of.h> 12 + #include <linux/platform_device.h> 13 13 #include <linux/regmap.h> 14 14 15 15 #include <linux/mfd/sun4i-gpadc.h>
+2 -2
drivers/mfd/tc3589x.c
··· 340 340 of_id = of_match_device(tc3589x_match, dev); 341 341 if (!of_id) 342 342 return ERR_PTR(-ENODEV); 343 - *version = (enum tc3589x_version) of_id->data; 343 + *version = (uintptr_t) of_id->data; 344 344 345 345 for_each_child_of_node(np, child) { 346 346 if (of_device_is_compatible(child, "toshiba,tc3589x-gpio")) ··· 483 483 .driver = { 484 484 .name = "tc3589x", 485 485 .pm = pm_sleep_ptr(&tc3589x_dev_pm_ops), 486 - .of_match_table = of_match_ptr(tc3589x_match), 486 + .of_match_table = tc3589x_match, 487 487 }, 488 488 .probe = tc3589x_probe, 489 489 .remove = tc3589x_remove,
-1
drivers/mfd/ti-lmu.c
··· 17 17 #include <linux/mfd/ti-lmu-register.h> 18 18 #include <linux/module.h> 19 19 #include <linux/of.h> 20 - #include <linux/of_device.h> 21 20 #include <linux/slab.h> 22 21 23 22 struct ti_lmu_data {
+2 -3
drivers/mfd/ti_am335x_tscadc.c
··· 14 14 #include <linux/mfd/core.h> 15 15 #include <linux/pm_runtime.h> 16 16 #include <linux/of.h> 17 - #include <linux/of_device.h> 17 + #include <linux/platform_device.h> 18 18 #include <linux/sched.h> 19 19 20 20 #include <linux/mfd/ti_am335x_tscadc.h> ··· 201 201 else 202 202 tscadc->irq = err; 203 203 204 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 205 - tscadc->tscadc_base = devm_ioremap_resource(&pdev->dev, res); 204 + tscadc->tscadc_base = devm_platform_get_and_ioremap_resource(pdev, 0, &res); 206 205 if (IS_ERR(tscadc->tscadc_base)) 207 206 return PTR_ERR(tscadc->tscadc_base); 208 207
-1
drivers/mfd/tps6507x.c
··· 20 20 #include <linux/slab.h> 21 21 #include <linux/i2c.h> 22 22 #include <linux/of.h> 23 - #include <linux/of_device.h> 24 23 #include <linux/mfd/core.h> 25 24 #include <linux/mfd/tps6507x.h> 26 25
-1
drivers/mfd/tps65090.c
··· 17 17 #include <linux/mfd/core.h> 18 18 #include <linux/mfd/tps65090.h> 19 19 #include <linux/of.h> 20 - #include <linux/of_device.h> 21 20 #include <linux/err.h> 22 21 23 22 #define NUM_INT_REG 2
-1
drivers/mfd/tps65217.c
··· 17 17 #include <linux/kernel.h> 18 18 #include <linux/module.h> 19 19 #include <linux/of.h> 20 - #include <linux/of_device.h> 21 20 #include <linux/platform_device.h> 22 21 #include <linux/regmap.h> 23 22 #include <linux/slab.h>
-1
drivers/mfd/tps65218.c
··· 15 15 #include <linux/regmap.h> 16 16 #include <linux/err.h> 17 17 #include <linux/of.h> 18 - #include <linux/of_device.h> 19 18 #include <linux/irq.h> 20 19 #include <linux/interrupt.h> 21 20 #include <linux/mutex.h>
+1 -1
drivers/mfd/tps6594-core.c
··· 9 9 #include <linux/delay.h> 10 10 #include <linux/interrupt.h> 11 11 #include <linux/module.h> 12 - #include <linux/of_device.h> 12 + #include <linux/of.h> 13 13 14 14 #include <linux/mfd/core.h> 15 15 #include <linux/mfd/tps6594.h>
-2
drivers/mfd/twl6040.c
··· 16 16 #include <linux/err.h> 17 17 #include <linux/platform_device.h> 18 18 #include <linux/of.h> 19 - #include <linux/of_irq.h> 20 - #include <linux/of_platform.h> 21 19 #include <linux/gpio/consumer.h> 22 20 #include <linux/delay.h> 23 21 #include <linux/i2c.h>
+1 -1
drivers/mfd/wm5102-tables.c
··· 1938 1938 .readable_reg = wm5102_readable_register, 1939 1939 .volatile_reg = wm5102_volatile_register, 1940 1940 1941 - .cache_type = REGCACHE_RBTREE, 1941 + .cache_type = REGCACHE_MAPLE, 1942 1942 .reg_defaults = wm5102_reg_default, 1943 1943 .num_reg_defaults = ARRAY_SIZE(wm5102_reg_default), 1944 1944 };
+1 -1
drivers/mfd/wm5110-tables.c
··· 3218 3218 .readable_reg = wm5110_readable_register, 3219 3219 .volatile_reg = wm5110_volatile_register, 3220 3220 3221 - .cache_type = REGCACHE_RBTREE, 3221 + .cache_type = REGCACHE_MAPLE, 3222 3222 .reg_defaults = wm5110_reg_default, 3223 3223 .num_reg_defaults = ARRAY_SIZE(wm5110_reg_default), 3224 3224 };
+1 -2
drivers/mfd/wm831x-core.c
··· 15 15 #include <linux/mfd/core.h> 16 16 #include <linux/slab.h> 17 17 #include <linux/err.h> 18 - #include <linux/of.h> 19 - #include <linux/of_device.h> 18 + #include <linux/mod_devicetable.h> 20 19 21 20 #include <linux/mfd/wm831x/core.h> 22 21 #include <linux/mfd/wm831x/pdata.h>
+1 -1
drivers/mfd/wm831x-i2c.c
··· 36 36 dev_err(&i2c->dev, "Failed to match device\n"); 37 37 return -ENODEV; 38 38 } 39 - type = (enum wm831x_parent)of_id->data; 39 + type = (uintptr_t)of_id->data; 40 40 } else { 41 41 type = (enum wm831x_parent)id->driver_data; 42 42 }
+1 -1
drivers/mfd/wm831x-spi.c
··· 33 33 dev_err(&spi->dev, "Failed to match device\n"); 34 34 return -ENODEV; 35 35 } 36 - type = (enum wm831x_parent)of_id->data; 36 + type = (uintptr_t)of_id->data; 37 37 } else { 38 38 type = (enum wm831x_parent)id->driver_data; 39 39 }
+1 -1
drivers/mfd/wm8994-core.c
··· 628 628 if (i2c->dev.of_node) { 629 629 of_id = of_match_device(wm8994_of_match, &i2c->dev); 630 630 if (of_id) 631 - wm8994->type = (enum wm8994_type)of_id->data; 631 + wm8994->type = (uintptr_t)of_id->data; 632 632 } else { 633 633 wm8994->type = id->driver_data; 634 634 }
+3 -3
drivers/mfd/wm8994-regmap.c
··· 1238 1238 .reg_bits = 16, 1239 1239 .val_bits = 16, 1240 1240 1241 - .cache_type = REGCACHE_RBTREE, 1241 + .cache_type = REGCACHE_MAPLE, 1242 1242 1243 1243 .reg_defaults = wm1811_defaults, 1244 1244 .num_reg_defaults = ARRAY_SIZE(wm1811_defaults), ··· 1253 1253 .reg_bits = 16, 1254 1254 .val_bits = 16, 1255 1255 1256 - .cache_type = REGCACHE_RBTREE, 1256 + .cache_type = REGCACHE_MAPLE, 1257 1257 1258 1258 .reg_defaults = wm8994_defaults, 1259 1259 .num_reg_defaults = ARRAY_SIZE(wm8994_defaults), ··· 1268 1268 .reg_bits = 16, 1269 1269 .val_bits = 16, 1270 1270 1271 - .cache_type = REGCACHE_RBTREE, 1271 + .cache_type = REGCACHE_MAPLE, 1272 1272 1273 1273 .reg_defaults = wm8958_defaults, 1274 1274 .num_reg_defaults = ARRAY_SIZE(wm8958_defaults),
+1 -1
drivers/mfd/wm8997-tables.c
··· 1523 1523 .readable_reg = wm8997_readable_register, 1524 1524 .volatile_reg = wm8997_volatile_register, 1525 1525 1526 - .cache_type = REGCACHE_RBTREE, 1526 + .cache_type = REGCACHE_MAPLE, 1527 1527 .reg_defaults = wm8997_reg_default, 1528 1528 .num_reg_defaults = ARRAY_SIZE(wm8997_reg_default), 1529 1529 };
+1 -1
drivers/mfd/wm8998-tables.c
··· 1556 1556 .readable_reg = wm8998_readable_register, 1557 1557 .volatile_reg = wm8998_volatile_register, 1558 1558 1559 - .cache_type = REGCACHE_RBTREE, 1559 + .cache_type = REGCACHE_MAPLE, 1560 1560 .reg_defaults = wm8998_reg_default, 1561 1561 .num_reg_defaults = ARRAY_SIZE(wm8998_reg_default), 1562 1562 };
+1 -2
drivers/mtd/chips/cfi_cmdset_0002.c
··· 32 32 #include <linux/interrupt.h> 33 33 #include <linux/reboot.h> 34 34 #include <linux/of.h> 35 - #include <linux/of_platform.h> 36 35 #include <linux/mtd/map.h> 37 36 #include <linux/mtd/mtd.h> 38 37 #include <linux/mtd/cfi.h> ··· 649 650 650 651 /* 651 652 * Valid primary extension versions are: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5 652 - * see: http://cs.ozerki.net/zap/pub/axim-x5/docs/cfi_r20.pdf, page 19 653 + * see: http://cs.ozerki.net/zap/pub/axim-x5/docs/cfi_r20.pdf, page 19 653 654 * http://www.spansion.com/Support/AppNotes/cfi_100_20011201.pdf 654 655 * http://www.spansion.com/Support/Datasheets/s29ws-p_00_a12_e.pdf 655 656 * http://www.spansion.com/Support/Datasheets/S29GL_128S_01GS_00_02_e.pdf
+1 -1
drivers/pwm/Kconfig
··· 505 505 506 506 config PWM_RZ_MTU3 507 507 tristate "Renesas RZ/G2L MTU3a PWM Timer support" 508 - depends on RZ_MTU3 || COMPILE_TEST 508 + depends on RZ_MTU3 509 509 depends on HAS_IOMEM 510 510 help 511 511 This driver exposes the MTU3a PWM Timer controller found in Renesas
-6
include/linux/mfd/88pm860x.h
··· 472 472 extern int pm860x_bulk_write(struct i2c_client *, int, int, unsigned char *); 473 473 extern int pm860x_set_bits(struct i2c_client *, int, unsigned char, 474 474 unsigned char); 475 - extern int pm860x_page_reg_read(struct i2c_client *, int); 476 475 extern int pm860x_page_reg_write(struct i2c_client *, int, unsigned char); 477 476 extern int pm860x_page_bulk_read(struct i2c_client *, int, int, 478 477 unsigned char *); 479 - extern int pm860x_page_bulk_write(struct i2c_client *, int, int, 480 - unsigned char *); 481 - extern int pm860x_page_set_bits(struct i2c_client *, int, unsigned char, 482 - unsigned char); 483 - 484 478 #endif /* __LINUX_MFD_88PM860X_H */
-4
include/linux/mfd/abx500/ab8500.h
··· 382 382 struct ab8500_sysctrl_platform_data *sysctrl; 383 383 }; 384 384 385 - extern int ab8500_init(struct ab8500 *ab8500, 386 - enum ab8500_version version); 387 - extern int ab8500_exit(struct ab8500 *ab8500); 388 - 389 385 extern int ab8500_suspend(struct ab8500 *ab8500); 390 386 391 387 static inline int is_ab8500(struct ab8500 *ab)
-21
include/linux/mfd/dbx500-prcmu.h
··· 556 556 #define PRCMU_QOS_ARM_OPP 3 557 557 #define PRCMU_QOS_DEFAULT_VALUE -1 558 558 559 - static inline unsigned long prcmu_qos_get_cpufreq_opp_delay(void) 560 - { 561 - return 0; 562 - } 563 - 564 - static inline int prcmu_qos_requirement(int prcmu_qos_class) 565 - { 566 - return 0; 567 - } 568 - 569 559 static inline int prcmu_qos_add_requirement(int prcmu_qos_class, 570 560 char *name, s32 value) 571 561 { ··· 570 580 571 581 static inline void prcmu_qos_remove_requirement(int prcmu_qos_class, char *name) 572 582 { 573 - } 574 - 575 - static inline int prcmu_qos_add_notifier(int prcmu_qos_class, 576 - struct notifier_block *notifier) 577 - { 578 - return 0; 579 - } 580 - static inline int prcmu_qos_remove_notifier(int prcmu_qos_class, 581 - struct notifier_block *notifier) 582 - { 583 - return 0; 584 583 } 585 584 586 585 #endif /* __MACH_PRCMU_H */
-1
include/linux/mfd/hi655x-pmic.h
··· 52 52 #define OTMP_D1R_INT_MASK BIT(OTMP_D1R_INT) 53 53 54 54 struct hi655x_pmic { 55 - struct resource *res; 56 55 struct device *dev; 57 56 struct regmap *regmap; 58 57 struct gpio_desc *gpio;
-4
include/linux/mfd/max77686-private.h
··· 441 441 TYPE_MAX77802, 442 442 }; 443 443 444 - extern int max77686_irq_init(struct max77686_dev *max77686); 445 - extern void max77686_irq_exit(struct max77686_dev *max77686); 446 - extern int max77686_irq_resume(struct max77686_dev *max77686); 447 - 448 444 #endif /* __LINUX_MFD_MAX77686_PRIV_H */
-66
include/linux/mfd/rz-mtu3.h
··· 151 151 void *priv_data; 152 152 }; 153 153 154 - #if IS_ENABLED(CONFIG_RZ_MTU3) 155 154 static inline bool rz_mtu3_request_channel(struct rz_mtu3_channel *ch) 156 155 { 157 156 mutex_lock(&ch->lock); ··· 187 188 void rz_mtu3_shared_reg_write(struct rz_mtu3_channel *ch, u16 off, u16 val); 188 189 void rz_mtu3_shared_reg_update_bit(struct rz_mtu3_channel *ch, u16 off, 189 190 u16 pos, u8 val); 190 - #else 191 - static inline bool rz_mtu3_request_channel(struct rz_mtu3_channel *ch) 192 - { 193 - return false; 194 - } 195 - 196 - static inline void rz_mtu3_release_channel(struct rz_mtu3_channel *ch) 197 - { 198 - } 199 - 200 - static inline bool rz_mtu3_is_enabled(struct rz_mtu3_channel *ch) 201 - { 202 - return false; 203 - } 204 - 205 - static inline void rz_mtu3_disable(struct rz_mtu3_channel *ch) 206 - { 207 - } 208 - 209 - static inline int rz_mtu3_enable(struct rz_mtu3_channel *ch) 210 - { 211 - return 0; 212 - } 213 - 214 - static inline u8 rz_mtu3_8bit_ch_read(struct rz_mtu3_channel *ch, u16 off) 215 - { 216 - return 0; 217 - } 218 - 219 - static inline u16 rz_mtu3_16bit_ch_read(struct rz_mtu3_channel *ch, u16 off) 220 - { 221 - return 0; 222 - } 223 - 224 - static inline u32 rz_mtu3_32bit_ch_read(struct rz_mtu3_channel *ch, u16 off) 225 - { 226 - return 0; 227 - } 228 - 229 - static inline u16 rz_mtu3_shared_reg_read(struct rz_mtu3_channel *ch, u16 off) 230 - { 231 - return 0; 232 - } 233 - 234 - static inline void rz_mtu3_8bit_ch_write(struct rz_mtu3_channel *ch, u16 off, u8 val) 235 - { 236 - } 237 - 238 - static inline void rz_mtu3_16bit_ch_write(struct rz_mtu3_channel *ch, u16 off, u16 val) 239 - { 240 - } 241 - 242 - static inline void rz_mtu3_32bit_ch_write(struct rz_mtu3_channel *ch, u16 off, u32 val) 243 - { 244 - } 245 - 246 - static inline void rz_mtu3_shared_reg_write(struct rz_mtu3_channel *ch, u16 off, u16 val) 247 - { 248 - } 249 - 250 - static inline void rz_mtu3_shared_reg_update_bit(struct rz_mtu3_channel *ch, 251 - u16 off, u16 pos, u8 val) 252 - { 253 - } 254 - #endif 255 191 256 192 #endif /* __MFD_RZ_MTU3_H__ */