diff options
18 files changed, 31 insertions, 18 deletions
diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt index bdadc3da9556..6970f30a3770 100644 --- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt | |||
| @@ -66,7 +66,7 @@ Required root node properties: | |||
| 66 | - "insignal,arndale-octa" - for Exynos5420-based Insignal Arndale | 66 | - "insignal,arndale-octa" - for Exynos5420-based Insignal Arndale |
| 67 | Octa board. | 67 | Octa board. |
| 68 | - "insignal,origen" - for Exynos4210-based Insignal Origen board. | 68 | - "insignal,origen" - for Exynos4210-based Insignal Origen board. |
| 69 | - "insignal,origen4412 - for Exynos4412-based Insignal Origen board. | 69 | - "insignal,origen4412" - for Exynos4412-based Insignal Origen board. |
| 70 | 70 | ||
| 71 | 71 | ||
| 72 | Optional nodes: | 72 | Optional nodes: |
diff --git a/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt b/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt index 6fddb4f4f71a..3055d5c2c04e 100644 --- a/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt +++ b/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt | |||
| @@ -36,7 +36,7 @@ Optional nodes: | |||
| 36 | 36 | ||
| 37 | - port/ports: to describe a connection to an external encoder. The | 37 | - port/ports: to describe a connection to an external encoder. The |
| 38 | binding follows Documentation/devicetree/bindings/graph.txt and | 38 | binding follows Documentation/devicetree/bindings/graph.txt and |
| 39 | suppors a single port with a single endpoint. | 39 | supports a single port with a single endpoint. |
| 40 | 40 | ||
| 41 | - See also Documentation/devicetree/bindings/display/tilcdc/panel.txt and | 41 | - See also Documentation/devicetree/bindings/display/tilcdc/panel.txt and |
| 42 | Documentation/devicetree/bindings/display/tilcdc/tfp410.txt for connecting | 42 | Documentation/devicetree/bindings/display/tilcdc/tfp410.txt for connecting |
diff --git a/Documentation/devicetree/bindings/gpio/nintendo,hollywood-gpio.txt b/Documentation/devicetree/bindings/gpio/nintendo,hollywood-gpio.txt index 20fc72d9e61e..45a61b462287 100644 --- a/Documentation/devicetree/bindings/gpio/nintendo,hollywood-gpio.txt +++ b/Documentation/devicetree/bindings/gpio/nintendo,hollywood-gpio.txt | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | Nintendo Wii (Hollywood) GPIO controller | 1 | Nintendo Wii (Hollywood) GPIO controller |
| 2 | 2 | ||
| 3 | Required properties: | 3 | Required properties: |
| 4 | - compatible: "nintendo,hollywood-gpio | 4 | - compatible: "nintendo,hollywood-gpio" |
| 5 | - reg: Physical base address and length of the controller's registers. | 5 | - reg: Physical base address and length of the controller's registers. |
| 6 | - gpio-controller: Marks the device node as a GPIO controller. | 6 | - gpio-controller: Marks the device node as a GPIO controller. |
| 7 | - #gpio-cells: Should be <2>. The first cell is the pin number and the | 7 | - #gpio-cells: Should be <2>. The first cell is the pin number and the |
diff --git a/Documentation/devicetree/bindings/input/touchscreen/hideep.txt b/Documentation/devicetree/bindings/input/touchscreen/hideep.txt index 121d9b7c79a2..1063c30d53f7 100644 --- a/Documentation/devicetree/bindings/input/touchscreen/hideep.txt +++ b/Documentation/devicetree/bindings/input/touchscreen/hideep.txt | |||
| @@ -32,7 +32,7 @@ i2c@00000000 { | |||
| 32 | reg = <0x6c>; | 32 | reg = <0x6c>; |
| 33 | interrupt-parent = <&gpx1>; | 33 | interrupt-parent = <&gpx1>; |
| 34 | interrupts = <2 IRQ_TYPE_LEVEL_LOW>; | 34 | interrupts = <2 IRQ_TYPE_LEVEL_LOW>; |
| 35 | vdd-supply = <&ldo15_reg>"; | 35 | vdd-supply = <&ldo15_reg>; |
| 36 | vid-supply = <&ldo18_reg>; | 36 | vid-supply = <&ldo18_reg>; |
| 37 | reset-gpios = <&gpx1 5 0>; | 37 | reset-gpios = <&gpx1 5 0>; |
| 38 | touchscreen-size-x = <1080>; | 38 | touchscreen-size-x = <1080>; |
diff --git a/Documentation/devicetree/bindings/interrupt-controller/nvidia,tegra20-ictlr.txt b/Documentation/devicetree/bindings/interrupt-controller/nvidia,tegra20-ictlr.txt index 1099fe0788fa..f246ccbf8838 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/nvidia,tegra20-ictlr.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/nvidia,tegra20-ictlr.txt | |||
| @@ -15,7 +15,7 @@ Required properties: | |||
| 15 | include "nvidia,tegra30-ictlr". | 15 | include "nvidia,tegra30-ictlr". |
| 16 | - reg : Specifies base physical address and size of the registers. | 16 | - reg : Specifies base physical address and size of the registers. |
| 17 | Each controller must be described separately (Tegra20 has 4 of them, | 17 | Each controller must be described separately (Tegra20 has 4 of them, |
| 18 | whereas Tegra30 and later have 5" | 18 | whereas Tegra30 and later have 5). |
| 19 | - interrupt-controller : Identifies the node as an interrupt controller. | 19 | - interrupt-controller : Identifies the node as an interrupt controller. |
| 20 | - #interrupt-cells : Specifies the number of cells needed to encode an | 20 | - #interrupt-cells : Specifies the number of cells needed to encode an |
| 21 | interrupt source. The value must be 3. | 21 | interrupt source. The value must be 3. |
diff --git a/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.txt b/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.txt index 136bd612bd83..6a36bf66d932 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.txt | |||
| @@ -12,7 +12,7 @@ Required properties: | |||
| 12 | specifier, shall be 2 | 12 | specifier, shall be 2 |
| 13 | - interrupts: interrupts references to primary interrupt controller | 13 | - interrupts: interrupts references to primary interrupt controller |
| 14 | (only needed for exti controller with multiple exti under | 14 | (only needed for exti controller with multiple exti under |
| 15 | same parent interrupt: st,stm32-exti and st,stm32h7-exti") | 15 | same parent interrupt: st,stm32-exti and st,stm32h7-exti) |
| 16 | 16 | ||
| 17 | Example: | 17 | Example: |
| 18 | 18 | ||
diff --git a/Documentation/devicetree/bindings/mips/brcm/soc.txt b/Documentation/devicetree/bindings/mips/brcm/soc.txt index 356c29789cf5..3a66d3c483e1 100644 --- a/Documentation/devicetree/bindings/mips/brcm/soc.txt +++ b/Documentation/devicetree/bindings/mips/brcm/soc.txt | |||
| @@ -152,7 +152,7 @@ Required properties: | |||
| 152 | - compatible : should contain one of: | 152 | - compatible : should contain one of: |
| 153 | "brcm,bcm7425-timers" | 153 | "brcm,bcm7425-timers" |
| 154 | "brcm,bcm7429-timers" | 154 | "brcm,bcm7429-timers" |
| 155 | "brcm,bcm7435-timers and | 155 | "brcm,bcm7435-timers" and |
| 156 | "brcm,brcmstb-timers" | 156 | "brcm,brcmstb-timers" |
| 157 | - reg : the timers register range | 157 | - reg : the timers register range |
| 158 | - interrupts : the interrupt line for this timer block | 158 | - interrupts : the interrupt line for this timer block |
diff --git a/Documentation/devicetree/bindings/net/fsl-fman.txt b/Documentation/devicetree/bindings/net/fsl-fman.txt index df873d1f3b7c..f8c33890bc29 100644 --- a/Documentation/devicetree/bindings/net/fsl-fman.txt +++ b/Documentation/devicetree/bindings/net/fsl-fman.txt | |||
| @@ -238,7 +238,7 @@ PROPERTIES | |||
| 238 | Must include one of the following: | 238 | Must include one of the following: |
| 239 | - "fsl,fman-dtsec" for dTSEC MAC | 239 | - "fsl,fman-dtsec" for dTSEC MAC |
| 240 | - "fsl,fman-xgec" for XGEC MAC | 240 | - "fsl,fman-xgec" for XGEC MAC |
| 241 | - "fsl,fman-memac for mEMAC MAC | 241 | - "fsl,fman-memac" for mEMAC MAC |
| 242 | 242 | ||
| 243 | - cell-index | 243 | - cell-index |
| 244 | Usage: required | 244 | Usage: required |
diff --git a/Documentation/devicetree/bindings/power/power_domain.txt b/Documentation/devicetree/bindings/power/power_domain.txt index 9b387f861aed..7dec508987c7 100644 --- a/Documentation/devicetree/bindings/power/power_domain.txt +++ b/Documentation/devicetree/bindings/power/power_domain.txt | |||
| @@ -133,7 +133,7 @@ located inside a PM domain with index 0 of a power controller represented by a | |||
| 133 | node with the label "power". | 133 | node with the label "power". |
| 134 | In the second example the consumer device are partitioned across two PM domains, | 134 | In the second example the consumer device are partitioned across two PM domains, |
| 135 | the first with index 0 and the second with index 1, of a power controller that | 135 | the first with index 0 and the second with index 1, of a power controller that |
| 136 | is represented by a node with the label "power. | 136 | is represented by a node with the label "power". |
| 137 | 137 | ||
| 138 | Optional properties: | 138 | Optional properties: |
| 139 | - required-opps: This contains phandle to an OPP node in another device's OPP | 139 | - required-opps: This contains phandle to an OPP node in another device's OPP |
diff --git a/Documentation/devicetree/bindings/regulator/tps65090.txt b/Documentation/devicetree/bindings/regulator/tps65090.txt index ca69f5e3040c..ae326f263597 100644 --- a/Documentation/devicetree/bindings/regulator/tps65090.txt +++ b/Documentation/devicetree/bindings/regulator/tps65090.txt | |||
| @@ -16,7 +16,7 @@ Required properties: | |||
| 16 | Optional properties: | 16 | Optional properties: |
| 17 | - ti,enable-ext-control: This is applicable for DCDC1, DCDC2 and DCDC3. | 17 | - ti,enable-ext-control: This is applicable for DCDC1, DCDC2 and DCDC3. |
| 18 | If DCDCs are externally controlled then this property should be there. | 18 | If DCDCs are externally controlled then this property should be there. |
| 19 | - "dcdc-ext-control-gpios: This is applicable for DCDC1, DCDC2 and DCDC3. | 19 | - dcdc-ext-control-gpios: This is applicable for DCDC1, DCDC2 and DCDC3. |
| 20 | If DCDCs are externally controlled and if it is from GPIO then GPIO | 20 | If DCDCs are externally controlled and if it is from GPIO then GPIO |
| 21 | number should be provided. If it is externally controlled and no GPIO | 21 | number should be provided. If it is externally controlled and no GPIO |
| 22 | entry then driver will just configure this rails as external control | 22 | entry then driver will just configure this rails as external control |
diff --git a/Documentation/devicetree/bindings/reset/st,sti-softreset.txt b/Documentation/devicetree/bindings/reset/st,sti-softreset.txt index a21658f18fe6..3661e6153a92 100644 --- a/Documentation/devicetree/bindings/reset/st,sti-softreset.txt +++ b/Documentation/devicetree/bindings/reset/st,sti-softreset.txt | |||
| @@ -15,7 +15,7 @@ Please refer to reset.txt in this directory for common reset | |||
| 15 | controller binding usage. | 15 | controller binding usage. |
| 16 | 16 | ||
| 17 | Required properties: | 17 | Required properties: |
| 18 | - compatible: Should be st,stih407-softreset"; | 18 | - compatible: Should be "st,stih407-softreset"; |
| 19 | - #reset-cells: 1, see below | 19 | - #reset-cells: 1, see below |
| 20 | 20 | ||
| 21 | example: | 21 | example: |
diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt index d330c73de9a2..68b7d6207e3d 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt | |||
| @@ -39,7 +39,7 @@ Required properties: | |||
| 39 | 39 | ||
| 40 | Optional property: | 40 | Optional property: |
| 41 | - clock-frequency: Desired I2C bus clock frequency in Hz. | 41 | - clock-frequency: Desired I2C bus clock frequency in Hz. |
| 42 | When missing default to 400000Hz. | 42 | When missing default to 100000Hz. |
| 43 | 43 | ||
| 44 | Child nodes should conform to I2C bus binding as described in i2c.txt. | 44 | Child nodes should conform to I2C bus binding as described in i2c.txt. |
| 45 | 45 | ||
diff --git a/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc.txt b/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc.txt index 6a4aadc4ce06..84b28dbe9f15 100644 --- a/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc.txt +++ b/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc.txt | |||
| @@ -30,7 +30,7 @@ Required properties: | |||
| 30 | 30 | ||
| 31 | Board connectors: | 31 | Board connectors: |
| 32 | * Headset Mic | 32 | * Headset Mic |
| 33 | * Secondary Mic", | 33 | * Secondary Mic |
| 34 | * DMIC | 34 | * DMIC |
| 35 | * Ext Spk | 35 | * Ext Spk |
| 36 | 36 | ||
diff --git a/Documentation/devicetree/bindings/sound/qcom,apq8096.txt b/Documentation/devicetree/bindings/sound/qcom,apq8096.txt index aa54e49fc8a2..c7600a93ab39 100644 --- a/Documentation/devicetree/bindings/sound/qcom,apq8096.txt +++ b/Documentation/devicetree/bindings/sound/qcom,apq8096.txt | |||
| @@ -35,7 +35,7 @@ This binding describes the APQ8096 sound card, which uses qdsp for audio. | |||
| 35 | "Digital Mic3" | 35 | "Digital Mic3" |
| 36 | 36 | ||
| 37 | Audio pins and MicBias on WCD9335 Codec: | 37 | Audio pins and MicBias on WCD9335 Codec: |
| 38 | "MIC_BIAS1 | 38 | "MIC_BIAS1" |
| 39 | "MIC_BIAS2" | 39 | "MIC_BIAS2" |
| 40 | "MIC_BIAS3" | 40 | "MIC_BIAS3" |
| 41 | "MIC_BIAS4" | 41 | "MIC_BIAS4" |
diff --git a/Documentation/devicetree/bindings/w1/w1-gpio.txt b/Documentation/devicetree/bindings/w1/w1-gpio.txt index 6e09c35d9f1a..37091902a021 100644 --- a/Documentation/devicetree/bindings/w1/w1-gpio.txt +++ b/Documentation/devicetree/bindings/w1/w1-gpio.txt | |||
| @@ -15,7 +15,7 @@ Optional properties: | |||
| 15 | 15 | ||
| 16 | Examples: | 16 | Examples: |
| 17 | 17 | ||
| 18 | onewire@0 { | 18 | onewire { |
| 19 | compatible = "w1-gpio"; | 19 | compatible = "w1-gpio"; |
| 20 | gpios = <&gpio 126 0>, <&gpio 105 0>; | 20 | gpios = <&gpio 126 0>, <&gpio 105 0>; |
| 21 | }; | 21 | }; |
diff --git a/drivers/of/base.c b/drivers/of/base.c index 848f549164cd..466e3c8582f0 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c | |||
| @@ -102,7 +102,7 @@ static u32 phandle_cache_mask; | |||
| 102 | * - the phandle lookup overhead reduction provided by the cache | 102 | * - the phandle lookup overhead reduction provided by the cache |
| 103 | * will likely be less | 103 | * will likely be less |
| 104 | */ | 104 | */ |
| 105 | static void of_populate_phandle_cache(void) | 105 | void of_populate_phandle_cache(void) |
| 106 | { | 106 | { |
| 107 | unsigned long flags; | 107 | unsigned long flags; |
| 108 | u32 cache_entries; | 108 | u32 cache_entries; |
| @@ -134,8 +134,7 @@ out: | |||
| 134 | raw_spin_unlock_irqrestore(&devtree_lock, flags); | 134 | raw_spin_unlock_irqrestore(&devtree_lock, flags); |
| 135 | } | 135 | } |
| 136 | 136 | ||
| 137 | #ifndef CONFIG_MODULES | 137 | int of_free_phandle_cache(void) |
| 138 | static int __init of_free_phandle_cache(void) | ||
| 139 | { | 138 | { |
| 140 | unsigned long flags; | 139 | unsigned long flags; |
| 141 | 140 | ||
| @@ -148,6 +147,7 @@ static int __init of_free_phandle_cache(void) | |||
| 148 | 147 | ||
| 149 | return 0; | 148 | return 0; |
| 150 | } | 149 | } |
| 150 | #if !defined(CONFIG_MODULES) | ||
| 151 | late_initcall_sync(of_free_phandle_cache); | 151 | late_initcall_sync(of_free_phandle_cache); |
| 152 | #endif | 152 | #endif |
| 153 | 153 | ||
diff --git a/drivers/of/of_private.h b/drivers/of/of_private.h index 891d780c076a..216175d11d3d 100644 --- a/drivers/of/of_private.h +++ b/drivers/of/of_private.h | |||
| @@ -79,6 +79,8 @@ int of_resolve_phandles(struct device_node *tree); | |||
| 79 | #if defined(CONFIG_OF_OVERLAY) | 79 | #if defined(CONFIG_OF_OVERLAY) |
| 80 | void of_overlay_mutex_lock(void); | 80 | void of_overlay_mutex_lock(void); |
| 81 | void of_overlay_mutex_unlock(void); | 81 | void of_overlay_mutex_unlock(void); |
| 82 | int of_free_phandle_cache(void); | ||
| 83 | void of_populate_phandle_cache(void); | ||
| 82 | #else | 84 | #else |
| 83 | static inline void of_overlay_mutex_lock(void) {}; | 85 | static inline void of_overlay_mutex_lock(void) {}; |
| 84 | static inline void of_overlay_mutex_unlock(void) {}; | 86 | static inline void of_overlay_mutex_unlock(void) {}; |
diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c index 7baa53e5b1d7..eda57ef12fd0 100644 --- a/drivers/of/overlay.c +++ b/drivers/of/overlay.c | |||
| @@ -804,6 +804,8 @@ static int of_overlay_apply(const void *fdt, struct device_node *tree, | |||
| 804 | goto err_free_overlay_changeset; | 804 | goto err_free_overlay_changeset; |
| 805 | } | 805 | } |
| 806 | 806 | ||
| 807 | of_populate_phandle_cache(); | ||
| 808 | |||
| 807 | ret = __of_changeset_apply_notify(&ovcs->cset); | 809 | ret = __of_changeset_apply_notify(&ovcs->cset); |
| 808 | if (ret) | 810 | if (ret) |
| 809 | pr_err("overlay changeset entry notify error %d\n", ret); | 811 | pr_err("overlay changeset entry notify error %d\n", ret); |
| @@ -1046,8 +1048,17 @@ int of_overlay_remove(int *ovcs_id) | |||
| 1046 | 1048 | ||
| 1047 | list_del(&ovcs->ovcs_list); | 1049 | list_del(&ovcs->ovcs_list); |
| 1048 | 1050 | ||
| 1051 | /* | ||
| 1052 | * Disable phandle cache. Avoids race condition that would arise | ||
| 1053 | * from removing cache entry when the associated node is deleted. | ||
| 1054 | */ | ||
| 1055 | of_free_phandle_cache(); | ||
| 1056 | |||
| 1049 | ret_apply = 0; | 1057 | ret_apply = 0; |
| 1050 | ret = __of_changeset_revert_entries(&ovcs->cset, &ret_apply); | 1058 | ret = __of_changeset_revert_entries(&ovcs->cset, &ret_apply); |
| 1059 | |||
| 1060 | of_populate_phandle_cache(); | ||
| 1061 | |||
| 1051 | if (ret) { | 1062 | if (ret) { |
| 1052 | if (ret_apply) | 1063 | if (ret_apply) |
| 1053 | devicetree_state_flags |= DTSF_REVERT_FAIL; | 1064 | devicetree_state_flags |= DTSF_REVERT_FAIL; |
