Skip to content

Commit e0ada51

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts were simple overlapping changes in microchip driver. Signed-off-by: David S. Miller <[email protected]>
2 parents 0638eb5 + 83beed7 commit e0ada51

File tree

1,035 files changed

+34074
-20712
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,035 files changed

+34074
-20712
lines changed

.gitignore

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#
1212
.*
1313
*.a
14+
*.asn1.[ch]
1415
*.bin
1516
*.bz2
1617
*.c.[012]*.*
@@ -22,6 +23,7 @@
2223
*.gz
2324
*.i
2425
*.ko
26+
*.lex.c
2527
*.ll
2628
*.lst
2729
*.lz4
@@ -37,6 +39,7 @@
3739
*.so.dbg
3840
*.su
3941
*.symtypes
42+
*.tab.[ch]
4043
*.tar
4144
*.xz
4245
Module.symvers
@@ -129,7 +132,3 @@ all.config
129132

130133
# Kdevelop4
131134
*.kdev4
132-
133-
#Automatically generated by ASN.1 compiler
134-
net/ipv4/netfilter/nf_nat_snmp_basic-asn1.c
135-
net/ipv4/netfilter/nf_nat_snmp_basic-asn1.h

Documentation/clk.txt

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -268,9 +268,19 @@ The common clock framework uses two global locks, the prepare lock and the
268268
enable lock.
269269

270270
The enable lock is a spinlock and is held across calls to the .enable,
271-
.disable and .is_enabled operations. Those operations are thus not allowed to
272-
sleep, and calls to the clk_enable(), clk_disable() and clk_is_enabled() API
273-
functions are allowed in atomic context.
271+
.disable operations. Those operations are thus not allowed to sleep,
272+
and calls to the clk_enable(), clk_disable() API functions are allowed in
273+
atomic context.
274+
275+
For clk_is_enabled() API, it is also designed to be allowed to be used in
276+
atomic context. However, it doesn't really make any sense to hold the enable
277+
lock in core, unless you want to do something else with the information of
278+
the enable state with that lock held. Otherwise, seeing if a clk is enabled is
279+
a one-shot read of the enabled state, which could just as easily change after
280+
the function returns because the lock is released. Thus the user of this API
281+
needs to handle synchronizing the read of the state with whatever they're
282+
using it for to make sure that the enable state doesn't change during that
283+
time.
274284

275285
The prepare lock is a mutex and is held across calls to all other operations.
276286
All those operations are allowed to sleep, and calls to the corresponding API

Documentation/core-api/kernel-api.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,19 @@ Sorting
136136
.. kernel-doc:: lib/list_sort.c
137137
:export:
138138

139+
Text Searching
140+
--------------
141+
142+
.. kernel-doc:: lib/textsearch.c
143+
:doc: ts_intro
144+
145+
.. kernel-doc:: lib/textsearch.c
146+
:export:
147+
148+
.. kernel-doc:: include/linux/textsearch.h
149+
:functions: textsearch_find textsearch_next \
150+
textsearch_get_pattern textsearch_get_pattern_len
151+
139152
UUID/GUID
140153
---------
141154

Documentation/devicetree/bindings/arm/mediatek/mediatek,audsys.txt

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,27 @@ The MediaTek AUDSYS controller provides various clocks to the system.
66
Required Properties:
77

88
- compatible: Should be one of:
9+
- "mediatek,mt2701-audsys", "syscon"
910
- "mediatek,mt7622-audsys", "syscon"
1011
- #clock-cells: Must be 1
1112

1213
The AUDSYS controller uses the common clk binding from
1314
Documentation/devicetree/bindings/clock/clock-bindings.txt
1415
The available clocks are defined in dt-bindings/clock/mt*-clk.h.
1516

17+
Required sub-nodes:
18+
-------
19+
For common binding part and usage, refer to
20+
../sonud/mt2701-afe-pcm.txt.
21+
1622
Example:
1723

18-
audsys: audsys@11220000 {
19-
compatible = "mediatek,mt7622-audsys", "syscon";
20-
reg = <0 0x11220000 0 0x1000>;
21-
#clock-cells = <1>;
22-
};
24+
audsys: clock-controller@11220000 {
25+
compatible = "mediatek,mt7622-audsys", "syscon";
26+
reg = <0 0x11220000 0 0x2000>;
27+
#clock-cells = <1>;
28+
29+
afe: audio-controller {
30+
...
31+
};
32+
};
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
* Clock bindings for Freescale i.MX6 SLL
2+
3+
Required properties:
4+
- compatible: Should be "fsl,imx6sll-ccm"
5+
- reg: Address and length of the register set
6+
- #clock-cells: Should be <1>
7+
- clocks: list of clock specifiers, must contain an entry for each required
8+
entry in clock-names
9+
- clock-names: should include entries "ckil", "osc", "ipp_di0" and "ipp_di1"
10+
11+
The clock consumer should specify the desired clock by having the clock
12+
ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx6sll-clock.h
13+
for the full list of i.MX6 SLL clock IDs.
14+
15+
Examples:
16+
17+
#include <dt-bindings/clock/imx6sll-clock.h>
18+
19+
clks: clock-controller@20c4000 {
20+
compatible = "fsl,imx6sll-ccm";
21+
reg = <0x020c4000 0x4000>;
22+
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
23+
<GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
24+
#clock-cells = <1>;
25+
clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>;
26+
clock-names = "ckil", "osc", "ipp_di0", "ipp_di1";
27+
};
28+
29+
uart1: serial@2020000 {
30+
compatible = "fsl,imx6sl-uart", "fsl,imx6q-uart", "fsl,imx21-uart";
31+
reg = <0x02020000 0x4000>;
32+
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
33+
clocks = <&clks IMX6SLL_CLK_UART1_IPG>,
34+
<&clks IMX6SLL_CLK_UART1_SERIAL>;
35+
clock-names = "ipg", "per";
36+
};
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Device Tree Clock bindings for Intel's SoCFPGA Stratix10 platform
2+
3+
This binding uses the common clock binding[1].
4+
5+
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
6+
7+
Required properties:
8+
- compatible : shall be
9+
"intel,stratix10-clkmgr"
10+
11+
- reg : shall be the control register offset from CLOCK_MANAGER's base for the clock.
12+
13+
- #clock-cells : from common clock binding, shall be set to 1.
14+
15+
Example:
16+
clkmgr: clock-controller@ffd10000 {
17+
compatible = "intel,stratix10-clkmgr";
18+
reg = <0xffd10000 0x1000>;
19+
#clock-cells = <1>;
20+
};

Documentation/devicetree/bindings/clock/renesas,cpg-mssr.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ Required Properties:
2222
- "renesas,r8a7794-cpg-mssr" for the r8a7794 SoC (R-Car E2)
2323
- "renesas,r8a7795-cpg-mssr" for the r8a7795 SoC (R-Car H3)
2424
- "renesas,r8a7796-cpg-mssr" for the r8a7796 SoC (R-Car M3-W)
25+
- "renesas,r8a77965-cpg-mssr" for the r8a77965 SoC (R-Car M3-N)
2526
- "renesas,r8a77970-cpg-mssr" for the r8a77970 SoC (R-Car V3M)
27+
- "renesas,r8a77980-cpg-mssr" for the r8a77980 SoC (R-Car V3H)
2628
- "renesas,r8a77995-cpg-mssr" for the r8a77995 SoC (R-Car D3)
2729

2830
- reg: Base address and length of the memory resource used by the CPG/MSSR
@@ -32,8 +34,8 @@ Required Properties:
3234
clock-names
3335
- clock-names: List of external parent clock names. Valid names are:
3436
- "extal" (r8a7743, r8a7745, r8a7790, r8a7791, r8a7792, r8a7793, r8a7794,
35-
r8a7795, r8a7796, r8a77970, r8a77995)
36-
- "extalr" (r8a7795, r8a7796, r8a77970)
37+
r8a7795, r8a7796, r8a77965, r8a77970, r8a77980, r8a77995)
38+
- "extalr" (r8a7795, r8a7796, r8a77965, r8a77970, r8a77980)
3739
- "usb_extal" (r8a7743, r8a7745, r8a7790, r8a7791, r8a7793, r8a7794)
3840

3941
- #clock-cells: Must be 2

Documentation/devicetree/bindings/clock/rockchip,rk3328-cru.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ clock-output-names:
3232
- "clkin_i2s" - external I2S clock - optional,
3333
- "gmac_clkin" - external GMAC clock - optional
3434
- "phy_50m_out" - output clock of the pll in the mac phy
35+
- "hdmi_phy" - output clock of the hdmi phy pll - optional
3536

3637
Example: Clock controller node:
3738

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
Binding for Silicon Labs 544 programmable I2C clock generator.
2+
3+
Reference
4+
This binding uses the common clock binding[1]. Details about the device can be
5+
found in the datasheet[2].
6+
7+
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
8+
[2] Si544 datasheet
9+
https://www.silabs.com/documents/public/data-sheets/si544-datasheet.pdf
10+
11+
Required properties:
12+
- compatible: One of "silabs,si514a", "silabs,si514b" "silabs,si514c" according
13+
to the speed grade of the chip.
14+
- reg: I2C device address.
15+
- #clock-cells: From common clock bindings: Shall be 0.
16+
17+
Optional properties:
18+
- clock-output-names: From common clock bindings. Recommended to be "si544".
19+
20+
Example:
21+
si544: clock-controller@55 {
22+
reg = <0x55>;
23+
#clock-cells = <0>;
24+
compatible = "silabs,si544b";
25+
};
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
STMicroelectronics STM32 Peripheral Reset Clock Controller
2+
==========================================================
3+
4+
The RCC IP is both a reset and a clock controller.
5+
6+
RCC makes also power management (resume/supend and wakeup interrupt).
7+
8+
Please also refer to reset.txt for common reset controller binding usage.
9+
10+
Please also refer to clock-bindings.txt for common clock controller
11+
binding usage.
12+
13+
14+
Required properties:
15+
- compatible: "st,stm32mp1-rcc", "syscon"
16+
- reg: should be register base and length as documented in the datasheet
17+
- #clock-cells: 1, device nodes should specify the clock in their
18+
"clocks" property, containing a phandle to the clock device node,
19+
an index specifying the clock to use.
20+
- #reset-cells: Shall be 1
21+
- interrupts: Should contain a general interrupt line and a interrupt line
22+
to the wake-up of processor (CSTOP).
23+
24+
Example:
25+
rcc: rcc@50000000 {
26+
compatible = "st,stm32mp1-rcc", "syscon";
27+
reg = <0x50000000 0x1000>;
28+
#clock-cells = <1>;
29+
#reset-cells = <1>;
30+
interrupts = <GIC_SPI 5 IRQ_TYPE_NONE>,
31+
<GIC_SPI 145 IRQ_TYPE_NONE>;
32+
};
33+
34+
Specifying clocks
35+
=================
36+
37+
All available clocks are defined as preprocessor macros in
38+
dt-bindings/clock/stm32mp1-clks.h header and can be used in device
39+
tree sources.
40+
41+
Specifying softreset control of devices
42+
=======================================
43+
44+
Device nodes should specify the reset channel required in their "resets"
45+
property, containing a phandle to the reset device node and an index specifying
46+
which channel to use.
47+
The index is the bit number within the RCC registers bank, starting from RCC
48+
base address.
49+
It is calculated as: index = register_offset / 4 * 32 + bit_offset.
50+
Where bit_offset is the bit offset within the register.
51+
52+
For example on STM32MP1, for LTDC reset:
53+
ltdc = APB4_RSTSETR_offset / 4 * 32 + LTDC_bit_offset
54+
= 0x180 / 4 * 32 + 0 = 3072
55+
56+
The list of valid indices for STM32MP1 is available in:
57+
include/dt-bindings/reset-controller/stm32mp1-resets.h
58+
59+
This file implements defines like:
60+
#define LTDC_R 3072

Documentation/devicetree/bindings/clock/sunxi-ccu.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Required properties :
2020
- "allwinner,sun50i-a64-ccu"
2121
- "allwinner,sun50i-a64-r-ccu"
2222
- "allwinner,sun50i-h5-ccu"
23+
- "allwinner,sun50i-h6-ccu"
2324
- "nextthing,gr8-ccu"
2425

2526
- reg: Must contain the registers base address and length
@@ -31,6 +32,9 @@ Required properties :
3132
- #clock-cells : must contain 1
3233
- #reset-cells : must contain 1
3334

35+
For the main CCU on H6, one more clock is needed:
36+
- "iosc": the SoC's internal frequency oscillator
37+
3438
For the PRCM CCUs on A83T/H3/A64, two more clocks are needed:
3539
- "pll-periph": the SoC's peripheral PLL from the main CCU
3640
- "iosc": the SoC's internal frequency oscillator
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
Binding for TI DA8XX/OMAP-L13X/AM17XX/AM18XX CFGCHIP clocks
2+
3+
TI DA8XX/OMAP-L13X/AM17XX/AM18XX SoCs contain a general purpose set of
4+
registers call CFGCHIPn. Some of these registers function as clock
5+
gates. This document describes the bindings for those clocks.
6+
7+
All of the clock nodes described below must be child nodes of a CFGCHIP node
8+
(compatible = "ti,da830-cfgchip").
9+
10+
USB PHY clocks
11+
--------------
12+
Required properties:
13+
- compatible: shall be "ti,da830-usb-phy-clocks".
14+
- #clock-cells: from common clock binding; shall be set to 1.
15+
- clocks: phandles to the parent clocks corresponding to clock-names
16+
- clock-names: shall be "fck", "usb_refclkin", "auxclk"
17+
18+
This node provides two clocks. The clock at index 0 is the USB 2.0 PHY 48MHz
19+
clock and the clock at index 1 is the USB 1.1 PHY 48MHz clock.
20+
21+
eHRPWM Time Base Clock (TBCLK)
22+
------------------------------
23+
Required properties:
24+
- compatible: shall be "ti,da830-tbclksync".
25+
- #clock-cells: from common clock binding; shall be set to 0.
26+
- clocks: phandle to the parent clock
27+
- clock-names: shall be "fck"
28+
29+
PLL DIV4.5 divider
30+
------------------
31+
Required properties:
32+
- compatible: shall be "ti,da830-div4p5ena".
33+
- #clock-cells: from common clock binding; shall be set to 0.
34+
- clocks: phandle to the parent clock
35+
- clock-names: shall be "pll0_pllout"
36+
37+
EMIFA clock source (ASYNC1)
38+
---------------------------
39+
Required properties:
40+
- compatible: shall be "ti,da850-async1-clksrc".
41+
- #clock-cells: from common clock binding; shall be set to 0.
42+
- clocks: phandles to the parent clocks corresponding to clock-names
43+
- clock-names: shall be "pll0_sysclk3", "div4.5"
44+
45+
ASYNC3 clock source
46+
-------------------
47+
Required properties:
48+
- compatible: shall be "ti,da850-async3-clksrc".
49+
- #clock-cells: from common clock binding; shall be set to 0.
50+
- clocks: phandles to the parent clocks corresponding to clock-names
51+
- clock-names: shall be "pll0_sysclk2", "pll1_sysclk2"
52+
53+
Examples:
54+
55+
cfgchip: syscon@1417c {
56+
compatible = "ti,da830-cfgchip", "syscon", "simple-mfd";
57+
reg = <0x1417c 0x14>;
58+
59+
usb_phy_clk: usb-phy-clocks {
60+
compatible = "ti,da830-usb-phy-clocks";
61+
#clock-cells = <1>;
62+
clocks = <&psc1 1>, <&usb_refclkin>, <&pll0_auxclk>;
63+
clock-names = "fck", "usb_refclkin", "auxclk";
64+
};
65+
ehrpwm_tbclk: ehrpwm_tbclk {
66+
compatible = "ti,da830-tbclksync";
67+
#clock-cells = <0>;
68+
clocks = <&psc1 17>;
69+
clock-names = "fck";
70+
};
71+
div4p5_clk: div4.5 {
72+
compatible = "ti,da830-div4p5ena";
73+
#clock-cells = <0>;
74+
clocks = <&pll0_pllout>;
75+
clock-names = "pll0_pllout";
76+
};
77+
async1_clk: async1 {
78+
compatible = "ti,da850-async1-clksrc";
79+
#clock-cells = <0>;
80+
clocks = <&pll0_sysclk 3>, <&div4p5_clk>;
81+
clock-names = "pll0_sysclk3", "div4.5";
82+
};
83+
async3_clk: async3 {
84+
compatible = "ti,da850-async3-clksrc";
85+
#clock-cells = <0>;
86+
clocks = <&pll0_sysclk 2>, <&pll1_sysclk 2>;
87+
clock-names = "pll0_sysclk2", "pll1_sysclk2";
88+
};
89+
};
90+
91+
Also see:
92+
- Documentation/devicetree/bindings/clock/clock-bindings.txt
93+

0 commit comments

Comments
 (0)