提交 1e9a328e 编写于 作者: T Takashi Iwai

Merge tag 'asoc-fix-v4.15-rc4' of...

Merge tag 'asoc-fix-v4.15-rc4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v4.15

This is a fairly large set of fixes, they've been delayed partly as more
and more keep coming in.  Most of them are very small driver specific
fixes, the biggest individual thing is the revert of the rcar IOMMU
support - it was causing problems and there wasn't the confidence that
it could be resolved sensibly.  There's also a relatively large change
in the Freescale SSI controller which resolves some issues with the
AC'97 mode, these aren't that large in the grand scheme of things and
reflect some fairly thorough review and testing.

要显示的变更太多。

To preserve performance only 1000 of 1000+ files are displayed.
...@@ -75,3 +75,4 @@ stable kernels. ...@@ -75,3 +75,4 @@ stable kernels.
| Qualcomm Tech. | Falkor v1 | E1003 | QCOM_FALKOR_ERRATUM_1003 | | Qualcomm Tech. | Falkor v1 | E1003 | QCOM_FALKOR_ERRATUM_1003 |
| Qualcomm Tech. | Falkor v1 | E1009 | QCOM_FALKOR_ERRATUM_1009 | | Qualcomm Tech. | Falkor v1 | E1009 | QCOM_FALKOR_ERRATUM_1009 |
| Qualcomm Tech. | QDF2400 ITS | E0065 | QCOM_QDF2400_ERRATUM_0065 | | Qualcomm Tech. | QDF2400 ITS | E0065 | QCOM_QDF2400_ERRATUM_0065 |
| Qualcomm Tech. | Falkor v{1,2} | E1041 | QCOM_FALKOR_ERRATUM_1041 |
...@@ -898,6 +898,13 @@ controller implements weight and absolute bandwidth limit models for ...@@ -898,6 +898,13 @@ controller implements weight and absolute bandwidth limit models for
normal scheduling policy and absolute bandwidth allocation model for normal scheduling policy and absolute bandwidth allocation model for
realtime scheduling policy. realtime scheduling policy.
WARNING: cgroup2 doesn't yet support control of realtime processes and
the cpu controller can only be enabled when all RT processes are in
the root cgroup. Be aware that system management software may already
have placed RT processes into nonroot cgroups during the system boot
process, and these processes may need to be moved to the root cgroup
before the cpu controller can be enabled.
CPU Interface Files CPU Interface Files
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
......
...@@ -225,9 +225,9 @@ interrupts. ...@@ -225,9 +225,9 @@ interrupts.
The following control flow is implemented (simplified excerpt):: The following control flow is implemented (simplified excerpt)::
:c:func:`desc->irq_data.chip->irq_mask_ack`; desc->irq_data.chip->irq_mask_ack();
handle_irq_event(desc->action); handle_irq_event(desc->action);
:c:func:`desc->irq_data.chip->irq_unmask`; desc->irq_data.chip->irq_unmask();
Default Fast EOI IRQ flow handler Default Fast EOI IRQ flow handler
...@@ -239,7 +239,7 @@ which only need an EOI at the end of the handler. ...@@ -239,7 +239,7 @@ which only need an EOI at the end of the handler.
The following control flow is implemented (simplified excerpt):: The following control flow is implemented (simplified excerpt)::
handle_irq_event(desc->action); handle_irq_event(desc->action);
:c:func:`desc->irq_data.chip->irq_eoi`; desc->irq_data.chip->irq_eoi();
Default Edge IRQ flow handler Default Edge IRQ flow handler
...@@ -251,15 +251,15 @@ interrupts. ...@@ -251,15 +251,15 @@ interrupts.
The following control flow is implemented (simplified excerpt):: The following control flow is implemented (simplified excerpt)::
if (desc->status & running) { if (desc->status & running) {
:c:func:`desc->irq_data.chip->irq_mask_ack`; desc->irq_data.chip->irq_mask_ack();
desc->status |= pending | masked; desc->status |= pending | masked;
return; return;
} }
:c:func:`desc->irq_data.chip->irq_ack`; desc->irq_data.chip->irq_ack();
desc->status |= running; desc->status |= running;
do { do {
if (desc->status & masked) if (desc->status & masked)
:c:func:`desc->irq_data.chip->irq_unmask`; desc->irq_data.chip->irq_unmask();
desc->status &= ~pending; desc->status &= ~pending;
handle_irq_event(desc->action); handle_irq_event(desc->action);
} while (status & pending); } while (status & pending);
...@@ -293,10 +293,10 @@ simplified version without locking. ...@@ -293,10 +293,10 @@ simplified version without locking.
The following control flow is implemented (simplified excerpt):: The following control flow is implemented (simplified excerpt)::
if (desc->irq_data.chip->irq_ack) if (desc->irq_data.chip->irq_ack)
:c:func:`desc->irq_data.chip->irq_ack`; desc->irq_data.chip->irq_ack();
handle_irq_event(desc->action); handle_irq_event(desc->action);
if (desc->irq_data.chip->irq_eoi) if (desc->irq_data.chip->irq_eoi)
:c:func:`desc->irq_data.chip->irq_eoi`; desc->irq_data.chip->irq_eoi();
EOI Edge IRQ flow handler EOI Edge IRQ flow handler
......
...@@ -15,7 +15,7 @@ Required properties: ...@@ -15,7 +15,7 @@ Required properties:
Example: Example:
ccn@0x2000000000 { ccn@2000000000 {
compatible = "arm,ccn-504"; compatible = "arm,ccn-504";
reg = <0x20 0x00000000 0 0x1000000>; reg = <0x20 0x00000000 0 0x1000000>;
interrupts = <0 181 4>; interrupts = <0 181 4>;
......
...@@ -49,7 +49,7 @@ An interrupt consumer on an SoC using crossbar will use: ...@@ -49,7 +49,7 @@ An interrupt consumer on an SoC using crossbar will use:
interrupts = <GIC_SPI request_number interrupt_level> interrupts = <GIC_SPI request_number interrupt_level>
Example: Example:
device_x@0x4a023000 { device_x@4a023000 {
/* Crossbar 8 used */ /* Crossbar 8 used */
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
... ...
......
...@@ -8,7 +8,7 @@ Required properties: ...@@ -8,7 +8,7 @@ Required properties:
- interrupts : Should contain MC General interrupt. - interrupts : Should contain MC General interrupt.
Example: Example:
memory-controller@0x7000f000 { memory-controller@7000f000 {
compatible = "nvidia,tegra20-mc"; compatible = "nvidia,tegra20-mc";
reg = <0x7000f000 0x024 reg = <0x7000f000 0x024
0x7000f03c 0x3c4>; 0x7000f03c 0x3c4>;
......
...@@ -17,7 +17,7 @@ Optional properties: ...@@ -17,7 +17,7 @@ Optional properties:
- clock-output-names : From common clock binding. - clock-output-names : From common clock binding.
Example: Example:
clock@0xff000000 { clock@ff000000 {
compatible = "adi,axi-clkgen"; compatible = "adi,axi-clkgen";
#clock-cells = <0>; #clock-cells = <0>;
reg = <0xff000000 0x1000>; reg = <0xff000000 0x1000>;
......
...@@ -23,7 +23,7 @@ Example: ...@@ -23,7 +23,7 @@ Example:
clocks = <&clk_osc>; clocks = <&clk_osc>;
}; };
aux: aux@0x7e215004 { aux: aux@7e215004 {
compatible = "brcm,bcm2835-aux"; compatible = "brcm,bcm2835-aux";
#clock-cells = <1>; #clock-cells = <1>;
reg = <0x7e215000 0x8>; reg = <0x7e215000 0x8>;
......
...@@ -24,7 +24,7 @@ tree sources. ...@@ -24,7 +24,7 @@ tree sources.
Example 1: An example of a clock controller node is listed below. Example 1: An example of a clock controller node is listed below.
clock: clock-controller@0x10030000 { clock: clock-controller@10030000 {
compatible = "samsung,exynos4210-clock"; compatible = "samsung,exynos4210-clock";
reg = <0x10030000 0x20000>; reg = <0x10030000 0x20000>;
#clock-cells = <1>; #clock-cells = <1>;
......
...@@ -22,7 +22,7 @@ tree sources. ...@@ -22,7 +22,7 @@ tree sources.
Example 1: An example of a clock controller node is listed below. Example 1: An example of a clock controller node is listed below.
clock: clock-controller@0x10010000 { clock: clock-controller@10010000 {
compatible = "samsung,exynos5250-clock"; compatible = "samsung,exynos5250-clock";
reg = <0x10010000 0x30000>; reg = <0x10010000 0x30000>;
#clock-cells = <1>; #clock-cells = <1>;
......
...@@ -30,7 +30,7 @@ Example 1: An example of a clock controller node is listed below. ...@@ -30,7 +30,7 @@ Example 1: An example of a clock controller node is listed below.
#clock-cells = <0>; #clock-cells = <0>;
}; };
clock: clock-controller@0x10010000 { clock: clock-controller@10010000 {
compatible = "samsung,exynos5410-clock"; compatible = "samsung,exynos5410-clock";
reg = <0x10010000 0x30000>; reg = <0x10010000 0x30000>;
#clock-cells = <1>; #clock-cells = <1>;
......
...@@ -23,7 +23,7 @@ tree sources. ...@@ -23,7 +23,7 @@ tree sources.
Example 1: An example of a clock controller node is listed below. Example 1: An example of a clock controller node is listed below.
clock: clock-controller@0x10010000 { clock: clock-controller@10010000 {
compatible = "samsung,exynos5420-clock"; compatible = "samsung,exynos5420-clock";
reg = <0x10010000 0x30000>; reg = <0x10010000 0x30000>;
#clock-cells = <1>; #clock-cells = <1>;
......
...@@ -21,7 +21,7 @@ tree sources. ...@@ -21,7 +21,7 @@ tree sources.
Example: An example of a clock controller node is listed below. Example: An example of a clock controller node is listed below.
clock: clock-controller@0x10010000 { clock: clock-controller@10010000 {
compatible = "samsung,exynos5440-clock"; compatible = "samsung,exynos5440-clock";
reg = <0x160000 0x10000>; reg = <0x160000 0x10000>;
#clock-cells = <1>; #clock-cells = <1>;
......
...@@ -14,7 +14,7 @@ Required properties: ...@@ -14,7 +14,7 @@ Required properties:
Example: Example:
pllctrl: pll-controller@0x02310000 { pllctrl: pll-controller@02310000 {
compatible = "ti,keystone-pllctrl", "syscon"; compatible = "ti,keystone-pllctrl", "syscon";
reg = <0x02310000 0x200>; reg = <0x02310000 0x200>;
}; };
...@@ -20,13 +20,13 @@ ID in its "clocks" phandle cell. See include/dt-bindings/clock/zx296702-clock.h ...@@ -20,13 +20,13 @@ ID in its "clocks" phandle cell. See include/dt-bindings/clock/zx296702-clock.h
for the full list of zx296702 clock IDs. for the full list of zx296702 clock IDs.
topclk: topcrm@0x09800000 { topclk: topcrm@09800000 {
compatible = "zte,zx296702-topcrm-clk"; compatible = "zte,zx296702-topcrm-clk";
reg = <0x09800000 0x1000>; reg = <0x09800000 0x1000>;
#clock-cells = <1>; #clock-cells = <1>;
}; };
uart0: serial@0x09405000 { uart0: serial@09405000 {
compatible = "zte,zx296702-uart"; compatible = "zte,zx296702-uart";
reg = <0x09405000 0x1000>; reg = <0x09405000 0x1000>;
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
......
...@@ -456,7 +456,7 @@ System ON/OFF key driver ...@@ -456,7 +456,7 @@ System ON/OFF key driver
Definition: this is phandle to the register map node. Definition: this is phandle to the register map node.
EXAMPLE: EXAMPLE:
snvs-pwrkey@0x020cc000 { snvs-pwrkey@020cc000 {
compatible = "fsl,sec-v4.0-pwrkey"; compatible = "fsl,sec-v4.0-pwrkey";
regmap = <&snvs>; regmap = <&snvs>;
interrupts = <0 4 0x4> interrupts = <0 4 0x4>
...@@ -545,7 +545,7 @@ FULL EXAMPLE ...@@ -545,7 +545,7 @@ FULL EXAMPLE
interrupts = <93 2>; interrupts = <93 2>;
}; };
snvs-pwrkey@0x020cc000 { snvs-pwrkey@020cc000 {
compatible = "fsl,sec-v4.0-pwrkey"; compatible = "fsl,sec-v4.0-pwrkey";
regmap = <&sec_mon>; regmap = <&sec_mon>;
interrupts = <0 4 0x4>; interrupts = <0 4 0x4>;
......
...@@ -9,7 +9,7 @@ Required properties: ...@@ -9,7 +9,7 @@ Required properties:
- clock-names : the name of clock used by the DFI, must be "pclk_ddr_mon"; - clock-names : the name of clock used by the DFI, must be "pclk_ddr_mon";
Example: Example:
dfi: dfi@0xff630000 { dfi: dfi@ff630000 {
compatible = "rockchip,rk3399-dfi"; compatible = "rockchip,rk3399-dfi";
reg = <0x00 0xff630000 0x00 0x4000>; reg = <0x00 0xff630000 0x00 0x4000>;
rockchip,pmu = <&pmugrf>; rockchip,pmu = <&pmugrf>;
......
...@@ -27,7 +27,7 @@ Optional properties: ...@@ -27,7 +27,7 @@ Optional properties:
Example: Example:
fb0: fb@0x00500000 { fb0: fb@00500000 {
compatible = "atmel,at91sam9g45-lcdc"; compatible = "atmel,at91sam9g45-lcdc";
reg = <0x00500000 0x1000>; reg = <0x00500000 0x1000>;
interrupts = <23 3 0>; interrupts = <23 3 0>;
...@@ -41,7 +41,7 @@ Example: ...@@ -41,7 +41,7 @@ Example:
Example for fixed framebuffer memory: Example for fixed framebuffer memory:
fb0: fb@0x00500000 { fb0: fb@00500000 {
compatible = "atmel,at91sam9263-lcdc"; compatible = "atmel,at91sam9263-lcdc";
reg = <0x00700000 0x1000 0x70000000 0x200000>; reg = <0x00700000 0x1000 0x70000000 0x200000>;
[...] [...]
......
...@@ -73,7 +73,7 @@ Hypervisor OS configuration: ...@@ -73,7 +73,7 @@ Hypervisor OS configuration:
max-read-transactions = <31>; max-read-transactions = <31>;
channel-reset-timeout-cycles = <0x500>; channel-reset-timeout-cycles = <0x500>;
hidma_24: dma-controller@0x5c050000 { hidma_24: dma-controller@5c050000 {
compatible = "qcom,hidma-1.0"; compatible = "qcom,hidma-1.0";
reg = <0 0x5c050000 0x0 0x1000>, reg = <0 0x5c050000 0x0 0x1000>,
<0 0x5c0b0000 0x0 0x1000>; <0 0x5c0b0000 0x0 0x1000>;
...@@ -85,7 +85,7 @@ Hypervisor OS configuration: ...@@ -85,7 +85,7 @@ Hypervisor OS configuration:
Guest OS configuration: Guest OS configuration:
hidma_24: dma-controller@0x5c050000 { hidma_24: dma-controller@5c050000 {
compatible = "qcom,hidma-1.0"; compatible = "qcom,hidma-1.0";
reg = <0 0x5c050000 0x0 0x1000>, reg = <0 0x5c050000 0x0 0x1000>,
<0 0x5c0b0000 0x0 0x1000>; <0 0x5c0b0000 0x0 0x1000>;
......
...@@ -13,7 +13,7 @@ Required properties: ...@@ -13,7 +13,7 @@ Required properties:
Example: Example:
Controller: Controller:
dma: dma-controller@0x09c00000{ dma: dma-controller@09c00000{
compatible = "zte,zx296702-dma"; compatible = "zte,zx296702-dma";
reg = <0x09c00000 0x1000>; reg = <0x09c00000 0x1000>;
clocks = <&topclk ZX296702_DMA_ACLK>; clocks = <&topclk ZX296702_DMA_ACLK>;
......
EEPROMs (SPI) compatible with Atmel at25. EEPROMs (SPI) compatible with Atmel at25.
Required properties: Required properties:
- compatible : "atmel,at25". - compatible : Should be "<vendor>,<type>", and generic value "atmel,at25".
Example "<vendor>,<type>" values:
"microchip,25lc040"
"st,m95m02"
"st,m95256"
- reg : chip select number - reg : chip select number
- spi-max-frequency : max spi frequency to use - spi-max-frequency : max spi frequency to use
- pagesize : size of the eeprom page - pagesize : size of the eeprom page
...@@ -13,7 +18,7 @@ Optional properties: ...@@ -13,7 +18,7 @@ Optional properties:
- spi-cpol : SPI inverse clock polarity, as per spi-bus bindings. - spi-cpol : SPI inverse clock polarity, as per spi-bus bindings.
- read-only : this parameter-less property disables writes to the eeprom - read-only : this parameter-less property disables writes to the eeprom
Obsolete legacy properties are can be used in place of "size", "pagesize", Obsolete legacy properties can be used in place of "size", "pagesize",
"address-width", and "read-only": "address-width", and "read-only":
- at25,byte-len : total eeprom size in bytes - at25,byte-len : total eeprom size in bytes
- at25,addr-mode : addr-mode flags, as defined in include/linux/spi/eeprom.h - at25,addr-mode : addr-mode flags, as defined in include/linux/spi/eeprom.h
...@@ -22,8 +27,8 @@ Obsolete legacy properties are can be used in place of "size", "pagesize", ...@@ -22,8 +27,8 @@ Obsolete legacy properties are can be used in place of "size", "pagesize",
Additional compatible properties are also allowed. Additional compatible properties are also allowed.
Example: Example:
at25@0 { eeprom@0 {
compatible = "atmel,at25", "st,m95256"; compatible = "st,m95256", "atmel,at25";
reg = <0> reg = <0>
spi-max-frequency = <5000000>; spi-max-frequency = <5000000>;
spi-cpha; spi-cpha;
......
...@@ -30,7 +30,7 @@ Optional properties: ...@@ -30,7 +30,7 @@ Optional properties:
Example: Example:
gpio_altr: gpio@0xff200000 { gpio_altr: gpio@ff200000 {
compatible = "altr,pio-1.0"; compatible = "altr,pio-1.0";
reg = <0xff200000 0x10>; reg = <0xff200000 0x10>;
interrupts = <0 45 4>; interrupts = <0 45 4>;
......
...@@ -27,7 +27,7 @@ Required properties: ...@@ -27,7 +27,7 @@ Required properties:
ti,tca6424 ti,tca6424
ti,tca9539 ti,tca9539
ti,tca9554 ti,tca9554
onsemi,pca9654 onnn,pca9654
exar,xra1202 exar,xra1202
Optional properties: Optional properties:
......
...@@ -34,6 +34,10 @@ Required properties: ...@@ -34,6 +34,10 @@ Required properties:
- reg: I2C address - reg: I2C address
Optional properties:
- smbus-timeout-disable: When set, the smbus timeout function will be disabled.
This is not supported on all chips.
Example: Example:
temp-sensor@1a { temp-sensor@1a {
......
...@@ -18,7 +18,7 @@ Optional properties: ...@@ -18,7 +18,7 @@ Optional properties:
Example Example
/ { / {
i2c4: i2c4@0x10054000 { i2c4: i2c4@10054000 {
compatible = "ingenic,jz4780-i2c"; compatible = "ingenic,jz4780-i2c";
reg = <0x10054000 0x1000>; reg = <0x10054000 0x1000>;
......
...@@ -10,7 +10,7 @@ Required properties: ...@@ -10,7 +10,7 @@ Required properties:
Example: Example:
hp03@0x77 { hp03@77 {
compatible = "hoperf,hp03"; compatible = "hoperf,hp03";
reg = <0x77>; reg = <0x77>;
xclr-gpio = <&portc 0 0x0>; xclr-gpio = <&portc 0 0x0>;
......
...@@ -15,7 +15,7 @@ Optional properties: ...@@ -15,7 +15,7 @@ Optional properties:
Example: Example:
i2c@80110000 { i2c@80110000 {
bu21013_tp@0x5c { bu21013_tp@5c {
compatible = "rohm,bu21013_tp"; compatible = "rohm,bu21013_tp";
reg = <0x5c>; reg = <0x5c>;
touch-gpio = <&gpio2 20 0x4>; touch-gpio = <&gpio2 20 0x4>;
......
...@@ -155,7 +155,7 @@ Example: ...@@ -155,7 +155,7 @@ Example:
<0x0 0xe112f000 0 0x02000>, <0x0 0xe112f000 0 0x02000>,
<0x0 0xe1140000 0 0x10000>, <0x0 0xe1140000 0 0x10000>,
<0x0 0xe1160000 0 0x10000>; <0x0 0xe1160000 0 0x10000>;
v2m0: v2m@0x8000 { v2m0: v2m@8000 {
compatible = "arm,gic-v2m-frame"; compatible = "arm,gic-v2m-frame";
msi-controller; msi-controller;
reg = <0x0 0x80000 0 0x1000>; reg = <0x0 0x80000 0 0x1000>;
...@@ -163,7 +163,7 @@ Example: ...@@ -163,7 +163,7 @@ Example:
.... ....
v2mN: v2m@0x9000 { v2mN: v2m@9000 {
compatible = "arm,gic-v2m-frame"; compatible = "arm,gic-v2m-frame";
msi-controller; msi-controller;
reg = <0x0 0x90000 0 0x1000>; reg = <0x0 0x90000 0 0x1000>;
......
...@@ -71,7 +71,7 @@ Example 2: ...@@ -71,7 +71,7 @@ Example 2:
* An interrupt generating device that is wired to a Meta external * An interrupt generating device that is wired to a Meta external
* trigger block. * trigger block.
*/ */
uart1: uart@0x02004c00 { uart1: uart@02004c00 {
// Interrupt source '5' that is level-sensitive. // Interrupt source '5' that is level-sensitive.
// Note that there are only two cells as specified in the // Note that there are only two cells as specified in the
// interrupt parent's '#interrupt-cells' property. // interrupt parent's '#interrupt-cells' property.
......
...@@ -51,7 +51,7 @@ Example 1: ...@@ -51,7 +51,7 @@ Example 1:
/* /*
* TZ1090 PDC block * TZ1090 PDC block
*/ */
pdc: pdc@0x02006000 { pdc: pdc@02006000 {
// This is an interrupt controller node. // This is an interrupt controller node.
interrupt-controller; interrupt-controller;
......
...@@ -39,7 +39,7 @@ Example: ...@@ -39,7 +39,7 @@ Example:
The following is an example from the SPEAr320 SoC dtsi file. The following is an example from the SPEAr320 SoC dtsi file.
shirq: interrupt-controller@0xb3000000 { shirq: interrupt-controller@b3000000 {
compatible = "st,spear320-shirq"; compatible = "st,spear320-shirq";
reg = <0xb3000000 0x1000>; reg = <0xb3000000 0x1000>;
interrupts = <28 29 30 1>; interrupts = <28 29 30 1>;
......
...@@ -14,7 +14,7 @@ Optional properties: ...@@ -14,7 +14,7 @@ Optional properties:
depends on the interrupt controller parent. depends on the interrupt controller parent.
Example: Example:
mbox_tx: mailbox@0x100 { mbox_tx: mailbox@100 {
compatible = "altr,mailbox-1.0"; compatible = "altr,mailbox-1.0";
reg = <0x100 0x8>; reg = <0x100 0x8>;
interrupt-parent = < &gic_0 >; interrupt-parent = < &gic_0 >;
...@@ -22,7 +22,7 @@ Example: ...@@ -22,7 +22,7 @@ Example:
#mbox-cells = <1>; #mbox-cells = <1>;
}; };
mbox_rx: mailbox@0x200 { mbox_rx: mailbox@200 {
compatible = "altr,mailbox-1.0"; compatible = "altr,mailbox-1.0";
reg = <0x200 0x8>; reg = <0x200 0x8>;
interrupt-parent = < &gic_0 >; interrupt-parent = < &gic_0 >;
...@@ -40,7 +40,7 @@ support only one channel).The equivalent "mbox-names" property value can be ...@@ -40,7 +40,7 @@ support only one channel).The equivalent "mbox-names" property value can be
used to give a name to the communication channel to be used by the client user. used to give a name to the communication channel to be used by the client user.
Example: Example:
mclient0: mclient0@0x400 { mclient0: mclient0@400 {
compatible = "client-1.0"; compatible = "client-1.0";
reg = <0x400 0x10>; reg = <0x400 0x10>;
mbox-names = "mbox-tx", "mbox-rx"; mbox-names = "mbox-tx", "mbox-rx";
......
...@@ -15,7 +15,7 @@ Optional properties: ...@@ -15,7 +15,7 @@ Optional properties:
- brcm,use-bcm-hdr: present if a BCM header precedes each frame. - brcm,use-bcm-hdr: present if a BCM header precedes each frame.
Example: Example:
pdc0: iproc-pdc0@0x612c0000 { pdc0: iproc-pdc0@612c0000 {
compatible = "brcm,iproc-pdc-mbox"; compatible = "brcm,iproc-pdc-mbox";
reg = <0 0x612c0000 0 0x445>; /* PDC FS0 regs */ reg = <0 0x612c0000 0 0x445>; /* PDC FS0 regs */
interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
......
...@@ -17,7 +17,7 @@ Optional properties: ...@@ -17,7 +17,7 @@ Optional properties:
Example: Example:
gsc_0: gsc@0x13e00000 { gsc_0: gsc@13e00000 {
compatible = "samsung,exynos5250-gsc"; compatible = "samsung,exynos5250-gsc";
reg = <0x13e00000 0x1000>; reg = <0x13e00000 0x1000>;
interrupts = <0 85 0>; interrupts = <0 85 0>;
......
...@@ -68,7 +68,7 @@ vcodec_dec: vcodec@16000000 { ...@@ -68,7 +68,7 @@ vcodec_dec: vcodec@16000000 {
"vdec_bus_clk_src"; "vdec_bus_clk_src";
}; };
vcodec_enc: vcodec@0x18002000 { vcodec_enc: vcodec@18002000 {
compatible = "mediatek,mt8173-vcodec-enc"; compatible = "mediatek,mt8173-vcodec-enc";
reg = <0 0x18002000 0 0x1000>, /*VENC_SYS*/ reg = <0 0x18002000 0 0x1000>, /*VENC_SYS*/
<0 0x19002000 0 0x1000>; /*VENC_LT_SYS*/ <0 0x19002000 0 0x1000>; /*VENC_LT_SYS*/
......
...@@ -44,7 +44,7 @@ Device node example ...@@ -44,7 +44,7 @@ Device node example
vin0 = &vin0; vin0 = &vin0;
}; };
vin0: vin@0xe6ef0000 { vin0: vin@e6ef0000 {
compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin"; compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin";
clocks = <&mstp8_clks R8A7790_CLK_VIN0>; clocks = <&mstp8_clks R8A7790_CLK_VIN0>;
reg = <0 0xe6ef0000 0 0x1000>; reg = <0 0xe6ef0000 0 0x1000>;
......
...@@ -138,7 +138,7 @@ Example: ...@@ -138,7 +138,7 @@ Example:
}; };
/* MIPI CSI-2 bus IF sensor */ /* MIPI CSI-2 bus IF sensor */
s5c73m3: sensor@0x1a { s5c73m3: sensor@1a {
compatible = "samsung,s5c73m3"; compatible = "samsung,s5c73m3";
reg = <0x1a>; reg = <0x1a>;
vddio-supply = <...>; vddio-supply = <...>;
......
...@@ -8,7 +8,7 @@ Bindings, specific for the sh_mobile_ceu_camera.c driver: ...@@ -8,7 +8,7 @@ Bindings, specific for the sh_mobile_ceu_camera.c driver:
Example: Example:
ceu0: ceu@0xfe910000 { ceu0: ceu@fe910000 {
compatible = "renesas,sh-mobile-ceu"; compatible = "renesas,sh-mobile-ceu";
reg = <0xfe910000 0xa0>; reg = <0xfe910000 0xa0>;
interrupt-parent = <&intcs>; interrupt-parent = <&intcs>;
......
...@@ -154,7 +154,7 @@ imx074 is linked to ceu0 through the MIPI CSI-2 receiver (csi2). ceu0 has a ...@@ -154,7 +154,7 @@ imx074 is linked to ceu0 through the MIPI CSI-2 receiver (csi2). ceu0 has a
'port' node which may indicate that at any time only one of the following data 'port' node which may indicate that at any time only one of the following data
pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0. pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
ceu0: ceu@0xfe910000 { ceu0: ceu@fe910000 {
compatible = "renesas,sh-mobile-ceu"; compatible = "renesas,sh-mobile-ceu";
reg = <0xfe910000 0xa0>; reg = <0xfe910000 0xa0>;
interrupts = <0x880>; interrupts = <0x880>;
...@@ -193,9 +193,9 @@ pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0. ...@@ -193,9 +193,9 @@ pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
}; };
}; };
i2c0: i2c@0xfff20000 { i2c0: i2c@fff20000 {
... ...
ov772x_1: camera@0x21 { ov772x_1: camera@21 {
compatible = "ovti,ov772x"; compatible = "ovti,ov772x";
reg = <0x21>; reg = <0x21>;
vddio-supply = <&regulator1>; vddio-supply = <&regulator1>;
...@@ -219,7 +219,7 @@ pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0. ...@@ -219,7 +219,7 @@ pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
}; };
}; };
imx074: camera@0x1a { imx074: camera@1a {
compatible = "sony,imx074"; compatible = "sony,imx074";
reg = <0x1a>; reg = <0x1a>;
vddio-supply = <&regulator1>; vddio-supply = <&regulator1>;
...@@ -239,7 +239,7 @@ pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0. ...@@ -239,7 +239,7 @@ pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
}; };
}; };
csi2: csi2@0xffc90000 { csi2: csi2@ffc90000 {
compatible = "renesas,sh-mobile-csi2"; compatible = "renesas,sh-mobile-csi2";
reg = <0xffc90000 0x1000>; reg = <0xffc90000 0x1000>;
interrupts = <0x17a0>; interrupts = <0x17a0>;
......
...@@ -46,7 +46,7 @@ Optional properties: ...@@ -46,7 +46,7 @@ Optional properties:
Example: Example:
emif1: emif@0x4c000000 { emif1: emif@4c000000 {
compatible = "ti,emif-4d"; compatible = "ti,emif-4d";
ti,hwmods = "emif2"; ti,hwmods = "emif2";
phy-type = <1>; phy-type = <1>;
......
...@@ -13,7 +13,7 @@ Required properties: ...@@ -13,7 +13,7 @@ Required properties:
Example: Example:
devctrl: device-state-control@0x02620000 { devctrl: device-state-control@02620000 {
compatible = "ti,keystone-devctrl", "syscon"; compatible = "ti,keystone-devctrl", "syscon";
reg = <0x02620000 0x1000>; reg = <0x02620000 0x1000>;
}; };
...@@ -9,7 +9,7 @@ Required properties: ...@@ -9,7 +9,7 @@ Required properties:
- reg : Location and size of bounce buffer - reg : Location and size of bounce buffer
Example: Example:
smc@0x3404c000 { smc@3404c000 {
compatible = "brcm,bcm11351-smc", "brcm,kona-smc"; compatible = "brcm,bcm11351-smc", "brcm,kona-smc";
reg = <0x3404c000 0x400>; //1 KiB in SRAM reg = <0x3404c000 0x400>; //1 KiB in SRAM
}; };
...@@ -12,7 +12,7 @@ Refer to clocks/clock-bindings.txt for generic clock consumer properties. ...@@ -12,7 +12,7 @@ Refer to clocks/clock-bindings.txt for generic clock consumer properties.
Example: Example:
sdio2: sdio@0x3f1a0000 { sdio2: sdio@3f1a0000 {
compatible = "brcm,kona-sdhci"; compatible = "brcm,kona-sdhci";
reg = <0x3f1a0000 0x10000>; reg = <0x3f1a0000 0x10000>;
clocks = <&sdio3_clk>; clocks = <&sdio3_clk>;
......
...@@ -24,7 +24,7 @@ Optional properties: ...@@ -24,7 +24,7 @@ Optional properties:
Example: Example:
sdhci0: sdhci@0x18041000 { sdhci0: sdhci@18041000 {
compatible = "brcm,sdhci-iproc-cygnus"; compatible = "brcm,sdhci-iproc-cygnus";
reg = <0x18041000 0x100>; reg = <0x18041000 0x100>;
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
......
...@@ -55,7 +55,7 @@ Examples: ...@@ -55,7 +55,7 @@ Examples:
[hwmod populated DMA resources] [hwmod populated DMA resources]
mmc1: mmc@0x4809c000 { mmc1: mmc@4809c000 {
compatible = "ti,omap4-hsmmc"; compatible = "ti,omap4-hsmmc";
reg = <0x4809c000 0x400>; reg = <0x4809c000 0x400>;
ti,hwmods = "mmc1"; ti,hwmods = "mmc1";
...@@ -67,7 +67,7 @@ Examples: ...@@ -67,7 +67,7 @@ Examples:
[generic DMA request binding] [generic DMA request binding]
mmc1: mmc@0x4809c000 { mmc1: mmc@4809c000 {
compatible = "ti,omap4-hsmmc"; compatible = "ti,omap4-hsmmc";
reg = <0x4809c000 0x400>; reg = <0x4809c000 0x400>;
ti,hwmods = "mmc1"; ti,hwmods = "mmc1";
......
...@@ -82,15 +82,15 @@ gpmc: gpmc@6e000000 { ...@@ -82,15 +82,15 @@ gpmc: gpmc@6e000000 {
label = "bootloader-nor"; label = "bootloader-nor";
reg = <0 0x40000>; reg = <0 0x40000>;
}; };
partition@0x40000 { partition@40000 {
label = "params-nor"; label = "params-nor";
reg = <0x40000 0x40000>; reg = <0x40000 0x40000>;
}; };
partition@0x80000 { partition@80000 {
label = "kernel-nor"; label = "kernel-nor";
reg = <0x80000 0x200000>; reg = <0x80000 0x200000>;
}; };
partition@0x280000 { partition@280000 {
label = "filesystem-nor"; label = "filesystem-nor";
reg = <0x240000 0x7d80000>; reg = <0x240000 0x7d80000>;
}; };
......
...@@ -131,7 +131,7 @@ Example: ...@@ -131,7 +131,7 @@ Example:
read-only; read-only;
reg = <0x00000000 0x00400000>; reg = <0x00000000 0x00400000>;
}; };
android@0x00400000 { android@00400000 {
label = "android"; label = "android";
reg = <0x00400000 0x12c00000>; reg = <0x00400000 0x12c00000>;
}; };
......
...@@ -52,7 +52,7 @@ Optional properties: ...@@ -52,7 +52,7 @@ Optional properties:
Example: Example:
tse_sub_0_eth_tse_0: ethernet@0x1,00000000 { tse_sub_0_eth_tse_0: ethernet@1,00000000 {
compatible = "altr,tse-msgdma-1.0"; compatible = "altr,tse-msgdma-1.0";
reg = <0x00000001 0x00000000 0x00000400>, reg = <0x00000001 0x00000000 0x00000400>,
<0x00000001 0x00000460 0x00000020>, <0x00000001 0x00000460 0x00000020>,
...@@ -90,7 +90,7 @@ Example: ...@@ -90,7 +90,7 @@ Example:
}; };
}; };
tse_sub_1_eth_tse_0: ethernet@0x1,00001000 { tse_sub_1_eth_tse_0: ethernet@1,00001000 {
compatible = "altr,tse-msgdma-1.0"; compatible = "altr,tse-msgdma-1.0";
reg = <0x00000001 0x00001000 0x00000400>, reg = <0x00000001 0x00001000 0x00000400>,
<0x00000001 0x00001460 0x00000020>, <0x00000001 0x00001460 0x00000020>,
......
...@@ -18,7 +18,7 @@ Example : ...@@ -18,7 +18,7 @@ Example :
This example shows these optional properties, plus other properties This example shows these optional properties, plus other properties
required for the TI Davinci MDIO driver. required for the TI Davinci MDIO driver.
davinci_mdio: ethernet@0x5c030000 { davinci_mdio: ethernet@5c030000 {
compatible = "ti,davinci_mdio"; compatible = "ti,davinci_mdio";
reg = <0x5c030000 0x1000>; reg = <0x5c030000 0x1000>;
#address-cells = <1>; #address-cells = <1>;
......
...@@ -28,7 +28,7 @@ Required properties: ...@@ -28,7 +28,7 @@ Required properties:
Example: Example:
gmii_to_sgmii_converter: phy@0x100000240 { gmii_to_sgmii_converter: phy@100000240 {
compatible = "altr,gmii-to-sgmii-2.0"; compatible = "altr,gmii-to-sgmii-2.0";
reg = <0x00000001 0x00000240 0x00000008>, reg = <0x00000001 0x00000240 0x00000008>,
<0x00000001 0x00000200 0x00000040>; <0x00000001 0x00000200 0x00000040>;
......
...@@ -36,7 +36,7 @@ Optional properties: ...@@ -36,7 +36,7 @@ Optional properties:
Example: Example:
cpu@0x0 { cpu@0 {
device_type = "cpu"; device_type = "cpu";
compatible = "altr,nios2-1.0"; compatible = "altr,nios2-1.0";
reg = <0>; reg = <0>;
......
...@@ -25,7 +25,7 @@ Optional properties: ...@@ -25,7 +25,7 @@ Optional properties:
- bus-range: PCI bus numbers covered - bus-range: PCI bus numbers covered
Example Example
pcie_0: pcie@0xc00000000 { pcie_0: pcie@c00000000 {
compatible = "altr,pcie-root-port-1.0"; compatible = "altr,pcie-root-port-1.0";
reg = <0xc0000000 0x20000000>, reg = <0xc0000000 0x20000000>,
<0xff220000 0x00004000>; <0xff220000 0x00004000>;
......
...@@ -52,7 +52,7 @@ Additional required properties for imx7d-pcie: ...@@ -52,7 +52,7 @@ Additional required properties for imx7d-pcie:
Example: Example:
pcie@0x01000000 { pcie@01000000 {
compatible = "fsl,imx6q-pcie", "snps,dw-pcie"; compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
reg = <0x01ffc000 0x04000>, reg = <0x01ffc000 0x04000>,
<0x01f00000 0x80000>; <0x01f00000 0x80000>;
......
...@@ -21,7 +21,7 @@ Optional properties: ...@@ -21,7 +21,7 @@ Optional properties:
- dma-coherent: Present if DMA operations are coherent. - dma-coherent: Present if DMA operations are coherent.
Hip05 Example (note that Hip06 is the same except compatible): Hip05 Example (note that Hip06 is the same except compatible):
pcie@0xb0080000 { pcie@b0080000 {
compatible = "hisilicon,hip05-pcie", "snps,dw-pcie"; compatible = "hisilicon,hip05-pcie", "snps,dw-pcie";
reg = <0 0xb0080000 0 0x10000>, <0x220 0x00000000 0 0x2000>; reg = <0 0xb0080000 0 0x10000>, <0x220 0x00000000 0 0x2000>;
reg-names = "rc_dbi", "config"; reg-names = "rc_dbi", "config";
......
...@@ -45,7 +45,7 @@ Optional properties: ...@@ -45,7 +45,7 @@ Optional properties:
- usb3_vbus-supply : regulator phandle for controller usb3 vbus - usb3_vbus-supply : regulator phandle for controller usb3 vbus
Example: Example:
usbphy: phy@0x01c13400 { usbphy: phy@01c13400 {
#phy-cells = <1>; #phy-cells = <1>;
compatible = "allwinner,sun4i-a10-usb-phy"; compatible = "allwinner,sun4i-a10-usb-phy";
/* phy base regs, phy1 pmu reg, phy2 pmu reg */ /* phy base regs, phy1 pmu reg, phy2 pmu reg */
......
...@@ -25,7 +25,7 @@ Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt ...@@ -25,7 +25,7 @@ Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
For example: For example:
pinmux: pinmux@0x0301d0c8 { pinmux: pinmux@0301d0c8 {
compatible = "brcm,cygnus-pinmux"; compatible = "brcm,cygnus-pinmux";
reg = <0x0301d0c8 0x1b0>; reg = <0x0301d0c8 0x1b0>;
......
...@@ -96,14 +96,14 @@ For example, pinctrl might have subnodes like the following: ...@@ -96,14 +96,14 @@ For example, pinctrl might have subnodes like the following:
For a specific board, if it wants to use sd1, For a specific board, if it wants to use sd1,
it can add the following to its board-specific .dts file. it can add the following to its board-specific .dts file.
sd1: sd@0x12340000 { sd1: sd@12340000 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&sd1_pmx0>; pinctrl-0 = <&sd1_pmx0>;
} }
or or
sd1: sd@0x12340000 { sd1: sd@12340000 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&sd1_pmx1>; pinctrl-0 = <&sd1_pmx1>;
} }
...@@ -41,7 +41,7 @@ For example, pinctrl might have subnodes like the following: ...@@ -41,7 +41,7 @@ For example, pinctrl might have subnodes like the following:
For a specific board, if it wants to use uart2 without hardware flow control, For a specific board, if it wants to use uart2 without hardware flow control,
it can add the following to its board-specific .dts file. it can add the following to its board-specific .dts file.
uart2: uart@0xb0070000 { uart2: uart@b0070000 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart2_noflow_pins_a>; pinctrl-0 = <&uart2_noflow_pins_a>;
} }
...@@ -136,7 +136,7 @@ Example for rk3188: ...@@ -136,7 +136,7 @@ Example for rk3188:
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
gpio0: gpio0@0x2000a000 { gpio0: gpio0@2000a000 {
compatible = "rockchip,rk3188-gpio-bank0"; compatible = "rockchip,rk3188-gpio-bank0";
reg = <0x2000a000 0x100>; reg = <0x2000a000 0x100>;
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
...@@ -149,7 +149,7 @@ Example for rk3188: ...@@ -149,7 +149,7 @@ Example for rk3188:
#interrupt-cells = <2>; #interrupt-cells = <2>;
}; };
gpio1: gpio1@0x2003c000 { gpio1: gpio1@2003c000 {
compatible = "rockchip,gpio-bank"; compatible = "rockchip,gpio-bank";
reg = <0x2003c000 0x100>; reg = <0x2003c000 0x100>;
interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
......
...@@ -107,7 +107,7 @@ regulators (twl_reg1 and twl_reg2), ...@@ -107,7 +107,7 @@ regulators (twl_reg1 and twl_reg2),
... ...
}; };
mmc: mmc@0x0 { mmc: mmc@0 {
... ...
... ...
vmmc-supply = <&twl_reg1>; vmmc-supply = <&twl_reg1>;
......
...@@ -12,7 +12,7 @@ Optional properties: ...@@ -12,7 +12,7 @@ Optional properties:
Example: Example:
uart@0x4000c400 { uart@4000c400 {
compatible = "energymicro,efm32-uart"; compatible = "energymicro,efm32-uart";
reg = <0x4000c400 0x400>; reg = <0x4000c400 0x400>;
interrupts = <15>; interrupts = <15>;
......
...@@ -14,7 +14,7 @@ Required properties: ...@@ -14,7 +14,7 @@ Required properties:
Example: Example:
ps20: ps2@0x01c2a000 { ps20: ps2@01c2a000 {
compatible = "allwinner,sun4i-a10-ps2"; compatible = "allwinner,sun4i-a10-ps2";
reg = <0x01c2a000 0x400>; reg = <0x01c2a000 0x400>;
interrupts = <0 62 4>; interrupts = <0 62 4>;
......
...@@ -220,7 +220,7 @@ qmss: qmss@2a40000 { ...@@ -220,7 +220,7 @@ qmss: qmss@2a40000 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
pdsp0@0x2a10000 { pdsp0@2a10000 {
reg = <0x2a10000 0x1000>, reg = <0x2a10000 0x1000>,
<0x2a0f000 0x100>, <0x2a0f000 0x100>,
<0x2a0c000 0x3c8>, <0x2a0c000 0x3c8>,
......
...@@ -21,7 +21,7 @@ please check: ...@@ -21,7 +21,7 @@ please check:
Example: Example:
i2s: i2s@0x77600000 { i2s: i2s@77600000 {
compatible = "adi,axi-i2s-1.00.a"; compatible = "adi,axi-i2s-1.00.a";
reg = <0x77600000 0x1000>; reg = <0x77600000 0x1000>;
clocks = <&clk 15>, <&audio_clock>; clocks = <&clk 15>, <&audio_clock>;
......
...@@ -20,7 +20,7 @@ please check: ...@@ -20,7 +20,7 @@ please check:
Example: Example:
spdif: spdif@0x77400000 { spdif: spdif@77400000 {
compatible = "adi,axi-spdif-tx-1.00.a"; compatible = "adi,axi-spdif-tx-1.00.a";
reg = <0x77600000 0x1000>; reg = <0x77600000 0x1000>;
clocks = <&clk 15>, <&audio_clock>; clocks = <&clk 15>, <&audio_clock>;
......
...@@ -20,7 +20,7 @@ Optional properties: ...@@ -20,7 +20,7 @@ Optional properties:
Example: Example:
&i2c { &i2c {
ak4613: ak4613@0x10 { ak4613: ak4613@10 {
compatible = "asahi-kasei,ak4613"; compatible = "asahi-kasei,ak4613";
reg = <0x10>; reg = <0x10>;
}; };
......
...@@ -17,7 +17,7 @@ Optional properties: ...@@ -17,7 +17,7 @@ Optional properties:
Example 1: Example 1:
&i2c { &i2c {
ak4648: ak4648@0x12 { ak4648: ak4648@12 {
compatible = "asahi-kasei,ak4642"; compatible = "asahi-kasei,ak4642";
reg = <0x12>; reg = <0x12>;
}; };
......
...@@ -73,7 +73,7 @@ Example: ...@@ -73,7 +73,7 @@ Example:
compatible = "dlg,da7218"; compatible = "dlg,da7218";
reg = <0x1a>; reg = <0x1a>;
interrupt-parent = <&gpio6>; interrupt-parent = <&gpio6>;
interrupts = <11 IRQ_TYPE_LEVEL_HIGH>; interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
wakeup-source; wakeup-source;
VDD-supply = <&reg_audio>; VDD-supply = <&reg_audio>;
......
...@@ -77,7 +77,7 @@ Example: ...@@ -77,7 +77,7 @@ Example:
reg = <0x1a>; reg = <0x1a>;
interrupt-parent = <&gpio6>; interrupt-parent = <&gpio6>;
interrupts = <11 IRQ_TYPE_LEVEL_HIGH>; interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
VDD-supply = <&reg_audio>; VDD-supply = <&reg_audio>;
VDDMIC-supply = <&reg_audio>; VDDMIC-supply = <&reg_audio>;
......
...@@ -10,7 +10,7 @@ Required properties: ...@@ -10,7 +10,7 @@ Required properties:
Example: Example:
&i2c { &i2c {
max98371: max98371@0x31 { max98371: max98371@31 {
compatible = "maxim,max98371"; compatible = "maxim,max98371";
reg = <0x31>; reg = <0x31>;
}; };
......
...@@ -10,7 +10,7 @@ Required properties: ...@@ -10,7 +10,7 @@ Required properties:
Example: Example:
&i2c { &i2c {
max9867: max9867@0x18 { max9867: max9867@18 {
compatible = "maxim,max9867"; compatible = "maxim,max9867";
reg = <0x18>; reg = <0x18>;
}; };
......
...@@ -20,7 +20,7 @@ Required properties: ...@@ -20,7 +20,7 @@ Required properties:
Example: Example:
sh_fsi2: sh_fsi2@0xec230000 { sh_fsi2: sh_fsi2@ec230000 {
compatible = "renesas,sh_fsi2"; compatible = "renesas,sh_fsi2";
reg = <0xec230000 0x400>; reg = <0xec230000 0x400>;
interrupts = <0 146 0x4>; interrupts = <0 146 0x4>;
......
...@@ -33,7 +33,7 @@ Required properties on RK3288: ...@@ -33,7 +33,7 @@ Required properties on RK3288:
Example for the rk3188 SPDIF controller: Example for the rk3188 SPDIF controller:
spdif: spdif@0x1011e000 { spdif: spdif@1011e000 {
compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif"; compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif";
reg = <0x1011e000 0x2000>; reg = <0x1011e000 0x2000>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
......
...@@ -51,7 +51,7 @@ Optional properties: ...@@ -51,7 +51,7 @@ Optional properties:
Example: Example:
sti_uni_player1: sti-uni-player@0x8D81000 { sti_uni_player1: sti-uni-player@8D81000 {
compatible = "st,stih407-uni-player-hdmi"; compatible = "st,stih407-uni-player-hdmi";
#sound-dai-cells = <0>; #sound-dai-cells = <0>;
st,syscfg = <&syscfg_core>; st,syscfg = <&syscfg_core>;
...@@ -63,7 +63,7 @@ Example: ...@@ -63,7 +63,7 @@ Example:
st,tdm-mode = <1>; st,tdm-mode = <1>;
}; };
sti_uni_player2: sti-uni-player@0x8D82000 { sti_uni_player2: sti-uni-player@8D82000 {
compatible = "st,stih407-uni-player-pcm-out"; compatible = "st,stih407-uni-player-pcm-out";
#sound-dai-cells = <0>; #sound-dai-cells = <0>;
st,syscfg = <&syscfg_core>; st,syscfg = <&syscfg_core>;
...@@ -74,7 +74,7 @@ Example: ...@@ -74,7 +74,7 @@ Example:
dma-names = "tx"; dma-names = "tx";
}; };
sti_uni_player3: sti-uni-player@0x8D85000 { sti_uni_player3: sti-uni-player@8D85000 {
compatible = "st,stih407-uni-player-spdif"; compatible = "st,stih407-uni-player-spdif";
#sound-dai-cells = <0>; #sound-dai-cells = <0>;
st,syscfg = <&syscfg_core>; st,syscfg = <&syscfg_core>;
...@@ -85,7 +85,7 @@ Example: ...@@ -85,7 +85,7 @@ Example:
dma-names = "tx"; dma-names = "tx";
}; };
sti_uni_reader1: sti-uni-reader@0x8D84000 { sti_uni_reader1: sti-uni-reader@8D84000 {
compatible = "st,stih407-uni-reader-hdmi"; compatible = "st,stih407-uni-reader-hdmi";
#sound-dai-cells = <0>; #sound-dai-cells = <0>;
st,syscfg = <&syscfg_core>; st,syscfg = <&syscfg_core>;
......
...@@ -19,7 +19,7 @@ Recommended properties : ...@@ -19,7 +19,7 @@ Recommended properties :
Example: Example:
spi1: spi@0x4000c400 { /* USART1 */ spi1: spi@4000c400 { /* USART1 */
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
compatible = "energymicro,efm32-spi"; compatible = "energymicro,efm32-spi";
......
...@@ -239,7 +239,7 @@ cpus { ...@@ -239,7 +239,7 @@ cpus {
* A simple fan controller which supports 10 speeds of operation * A simple fan controller which supports 10 speeds of operation
* (represented as 0-9). * (represented as 0-9).
*/ */
fan0: fan@0x48 { fan0: fan@48 {
... ...
cooling-min-level = <0>; cooling-min-level = <0>;
cooling-max-level = <9>; cooling-max-level = <9>;
...@@ -252,7 +252,7 @@ ocp { ...@@ -252,7 +252,7 @@ ocp {
/* /*
* A simple IC with a single bandgap temperature sensor. * A simple IC with a single bandgap temperature sensor.
*/ */
bandgap0: bandgap@0x0000ED00 { bandgap0: bandgap@0000ED00 {
... ...
#thermal-sensor-cells = <0>; #thermal-sensor-cells = <0>;
}; };
...@@ -330,7 +330,7 @@ ocp { ...@@ -330,7 +330,7 @@ ocp {
/* /*
* A simple IC with several bandgap temperature sensors. * A simple IC with several bandgap temperature sensors.
*/ */
bandgap0: bandgap@0x0000ED00 { bandgap0: bandgap@0000ED00 {
... ...
#thermal-sensor-cells = <1>; #thermal-sensor-cells = <1>;
}; };
...@@ -447,7 +447,7 @@ one thermal zone. ...@@ -447,7 +447,7 @@ one thermal zone.
/* /*
* A simple IC with a single temperature sensor. * A simple IC with a single temperature sensor.
*/ */
adc: sensor@0x49 { adc: sensor@49 {
... ...
#thermal-sensor-cells = <0>; #thermal-sensor-cells = <0>;
}; };
...@@ -458,7 +458,7 @@ ocp { ...@@ -458,7 +458,7 @@ ocp {
/* /*
* A simple IC with a single bandgap temperature sensor. * A simple IC with a single bandgap temperature sensor.
*/ */
bandgap0: bandgap@0x0000ED00 { bandgap0: bandgap@0000ED00 {
... ...
#thermal-sensor-cells = <0>; #thermal-sensor-cells = <0>;
}; };
...@@ -516,7 +516,7 @@ with many sensors and many cooling devices. ...@@ -516,7 +516,7 @@ with many sensors and many cooling devices.
/* /*
* An IC with several temperature sensor. * An IC with several temperature sensor.
*/ */
adc_dummy: sensor@0x50 { adc_dummy: sensor@50 {
... ...
#thermal-sensor-cells = <1>; /* sensor internal ID */ #thermal-sensor-cells = <1>; /* sensor internal ID */
}; };
......
...@@ -32,7 +32,7 @@ Optional properties: ...@@ -32,7 +32,7 @@ Optional properties:
Example: Example:
ufsphy1: ufsphy@0xfc597000 { ufsphy1: ufsphy@fc597000 {
compatible = "qcom,ufs-phy-qmp-20nm"; compatible = "qcom,ufs-phy-qmp-20nm";
reg = <0xfc597000 0x800>; reg = <0xfc597000 0x800>;
reg-names = "phy_mem"; reg-names = "phy_mem";
...@@ -53,7 +53,7 @@ Example: ...@@ -53,7 +53,7 @@ Example:
<&clock_gcc clk_gcc_ufs_rx_cfg_clk>; <&clock_gcc clk_gcc_ufs_rx_cfg_clk>;
}; };
ufshc@0xfc598000 { ufshc@fc598000 {
... ...
phys = <&ufsphy1>; phys = <&ufsphy1>;
phy-names = "ufsphy"; phy-names = "ufsphy";
......
...@@ -46,7 +46,7 @@ Note: If above properties are not defined it can be assumed that the supply ...@@ -46,7 +46,7 @@ Note: If above properties are not defined it can be assumed that the supply
regulators or clocks are always on. regulators or clocks are always on.
Example: Example:
ufshc@0xfc598000 { ufshc@fc598000 {
compatible = "jedec,ufs-1.1"; compatible = "jedec,ufs-1.1";
reg = <0xfc598000 0x800>; reg = <0xfc598000 0x800>;
interrupts = <0 28 0>; interrupts = <0 28 0>;
......
...@@ -95,6 +95,7 @@ usb: usb@47400000 { ...@@ -95,6 +95,7 @@ usb: usb@47400000 {
reg = <0x47401300 0x100>; reg = <0x47401300 0x100>;
reg-names = "phy"; reg-names = "phy";
ti,ctrl_mod = <&ctrl_mod>; ti,ctrl_mod = <&ctrl_mod>;
#phy-cells = <0>;
}; };
usb0: usb@47401000 { usb0: usb@47401000 {
...@@ -141,6 +142,7 @@ usb: usb@47400000 { ...@@ -141,6 +142,7 @@ usb: usb@47400000 {
reg = <0x47401b00 0x100>; reg = <0x47401b00 0x100>;
reg-names = "phy"; reg-names = "phy";
ti,ctrl_mod = <&ctrl_mod>; ti,ctrl_mod = <&ctrl_mod>;
#phy-cells = <0>;
}; };
usb1: usb@47401800 { usb1: usb@47401800 {
......
...@@ -22,7 +22,7 @@ See: Documentation/devicetree/bindings/reset/reset.txt ...@@ -22,7 +22,7 @@ See: Documentation/devicetree/bindings/reset/reset.txt
Example: Example:
ehci1: usb@0xfe203e00 { ehci1: usb@fe203e00 {
compatible = "st,st-ehci-300x"; compatible = "st,st-ehci-300x";
reg = <0xfe203e00 0x100>; reg = <0xfe203e00 0x100>;
interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>; interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>;
......
...@@ -20,7 +20,7 @@ See: Documentation/devicetree/bindings/reset/reset.txt ...@@ -20,7 +20,7 @@ See: Documentation/devicetree/bindings/reset/reset.txt
Example: Example:
ohci0: usb@0xfe1ffc00 { ohci0: usb@fe1ffc00 {
compatible = "st,st-ohci-300x"; compatible = "st,st-ohci-300x";
reg = <0xfe1ffc00 0x100>; reg = <0xfe1ffc00 0x100>;
interrupts = <GIC_SPI 149 IRQ_TYPE_NONE>; interrupts = <GIC_SPI 149 IRQ_TYPE_NONE>;
......
...@@ -6,7 +6,7 @@ reg: Register address and length for watchdog registers ...@@ -6,7 +6,7 @@ reg: Register address and length for watchdog registers
Example: Example:
watchdog: jz4740-watchdog@0x10002000 { watchdog: jz4740-watchdog@10002000 {
compatible = "ingenic,jz4740-watchdog"; compatible = "ingenic,jz4740-watchdog";
reg = <0x10002000 0x100>; reg = <0x10002000 0x100>;
}; };
...@@ -185,7 +185,7 @@ The details of these operations are: ...@@ -185,7 +185,7 @@ The details of these operations are:
void dma_async_issue_pending(struct dma_chan *chan); void dma_async_issue_pending(struct dma_chan *chan);
Further APIs: Further APIs:
------------ -------------
1. Terminate APIs 1. Terminate APIs
......
...@@ -25,9 +25,6 @@ PCI Support Library ...@@ -25,9 +25,6 @@ PCI Support Library
.. kernel-doc:: drivers/pci/irq.c .. kernel-doc:: drivers/pci/irq.c
:export: :export:
.. kernel-doc:: drivers/pci/htirq.c
:export:
.. kernel-doc:: drivers/pci/probe.c .. kernel-doc:: drivers/pci/probe.c
:export: :export:
......
...@@ -156,6 +156,40 @@ handle it in two different ways: ...@@ -156,6 +156,40 @@ handle it in two different ways:
root of the overlay. Finally the directory is moved to the new root of the overlay. Finally the directory is moved to the new
location. location.
There are several ways to tune the "redirect_dir" feature.
Kernel config options:
- OVERLAY_FS_REDIRECT_DIR:
If this is enabled, then redirect_dir is turned on by default.
- OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW:
If this is enabled, then redirects are always followed by default. Enabling
this results in a less secure configuration. Enable this option only when
worried about backward compatibility with kernels that have the redirect_dir
feature and follow redirects even if turned off.
Module options (can also be changed through /sys/module/overlay/parameters/*):
- "redirect_dir=BOOL":
See OVERLAY_FS_REDIRECT_DIR kernel config option above.
- "redirect_always_follow=BOOL":
See OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW kernel config option above.
- "redirect_max=NUM":
The maximum number of bytes in an absolute redirect (default is 256).
Mount options:
- "redirect_dir=on":
Redirects are enabled.
- "redirect_dir=follow":
Redirects are not created, but followed.
- "redirect_dir=off":
Redirects are not created and only followed if "redirect_always_follow"
feature is enabled in the kernel/module config.
- "redirect_dir=nofollow":
Redirects are not created and not followed (equivalent to "redirect_dir=off"
if "redirect_always_follow" feature is not enabled).
Non-directories Non-directories
--------------- ---------------
......
此差异已折叠。
****************
Frontend drivers
****************
Frontend attach headers
***********************
.. Keep it on alphabetic order
.. kernel-doc:: drivers/media/dvb-frontends/a8293.h
.. kernel-doc:: drivers/media/dvb-frontends/af9013.h
.. kernel-doc:: drivers/media/dvb-frontends/ascot2e.h
.. kernel-doc:: drivers/media/dvb-frontends/cxd2820r.h
.. kernel-doc:: drivers/media/dvb-frontends/drxk.h
.. kernel-doc:: drivers/media/dvb-frontends/dvb-pll.h
.. kernel-doc:: drivers/media/dvb-frontends/helene.h
.. kernel-doc:: drivers/media/dvb-frontends/horus3a.h
.. kernel-doc:: drivers/media/dvb-frontends/ix2505v.h
.. kernel-doc:: drivers/media/dvb-frontends/m88ds3103.h
.. kernel-doc:: drivers/media/dvb-frontends/mb86a20s.h
.. kernel-doc:: drivers/media/dvb-frontends/mn88472.h
.. kernel-doc:: drivers/media/dvb-frontends/rtl2830.h
.. kernel-doc:: drivers/media/dvb-frontends/rtl2832.h
.. kernel-doc:: drivers/media/dvb-frontends/rtl2832_sdr.h
.. kernel-doc:: drivers/media/dvb-frontends/stb6000.h
.. kernel-doc:: drivers/media/dvb-frontends/tda10071.h
.. kernel-doc:: drivers/media/dvb-frontends/tda826x.h
.. kernel-doc:: drivers/media/dvb-frontends/zd1301_demod.h
.. kernel-doc:: drivers/media/dvb-frontends/zl10036.h
...@@ -41,4 +41,5 @@ For more details see the file COPYING in the source distribution of Linux. ...@@ -41,4 +41,5 @@ For more details see the file COPYING in the source distribution of Linux.
technisat technisat
ttusb-dec ttusb-dec
udev udev
frontends
contributors contributors
...@@ -5,7 +5,6 @@ How to get printk format specifiers right ...@@ -5,7 +5,6 @@ How to get printk format specifiers right
:Author: Randy Dunlap <rdunlap@infradead.org> :Author: Randy Dunlap <rdunlap@infradead.org>
:Author: Andrew Murray <amurray@mpc-data.co.uk> :Author: Andrew Murray <amurray@mpc-data.co.uk>
Integer types Integer types
============= =============
...@@ -45,6 +44,18 @@ return from vsnprintf. ...@@ -45,6 +44,18 @@ return from vsnprintf.
Raw pointer value SHOULD be printed with %p. The kernel supports Raw pointer value SHOULD be printed with %p. The kernel supports
the following extended format specifiers for pointer types: the following extended format specifiers for pointer types:
Pointer Types
=============
Pointers printed without a specifier extension (i.e unadorned %p) are
hashed to give a unique identifier without leaking kernel addresses to user
space. On 64 bit machines the first 32 bits are zeroed. If you _really_
want the address see %px below.
::
%p abcdef12 or 00000000abcdef12
Symbols/Function Pointers Symbols/Function Pointers
========================= =========================
...@@ -85,18 +96,32 @@ Examples:: ...@@ -85,18 +96,32 @@ Examples::
printk("Faulted at %pS\n", (void *)regs->ip); printk("Faulted at %pS\n", (void *)regs->ip);
printk(" %s%pB\n", (reliable ? "" : "? "), (void *)*stack); printk(" %s%pB\n", (reliable ? "" : "? "), (void *)*stack);
Kernel Pointers Kernel Pointers
=============== ===============
:: ::
%pK 0x01234567 or 0x0123456789abcdef %pK 01234567 or 0123456789abcdef
For printing kernel pointers which should be hidden from unprivileged For printing kernel pointers which should be hidden from unprivileged
users. The behaviour of ``%pK`` depends on the ``kptr_restrict sysctl`` - see users. The behaviour of ``%pK`` depends on the ``kptr_restrict sysctl`` - see
Documentation/sysctl/kernel.txt for more details. Documentation/sysctl/kernel.txt for more details.
Unmodified Addresses
====================
::
%px 01234567 or 0123456789abcdef
For printing pointers when you _really_ want to print the address. Please
consider whether or not you are leaking sensitive information about the
Kernel layout in memory before printing pointers with %px. %px is
functionally equivalent to %lx. %px is preferred to %lx because it is more
uniquely grep'able. If, in the future, we need to modify the way the Kernel
handles printing pointers it will be nice to be able to find the call
sites.
Struct Resources Struct Resources
================ ================
......
...@@ -319,12 +319,12 @@ struct Scsi_Host: ...@@ -319,12 +319,12 @@ struct Scsi_Host:
instance. If the reference count reaches 0 then the given instance instance. If the reference count reaches 0 then the given instance
is freed is freed
The Scsi_device structure has had reference counting infrastructure added. The scsi_device structure has had reference counting infrastructure added.
This effectively spreads the ownership of struct Scsi_device instances This effectively spreads the ownership of struct scsi_device instances
across the various SCSI layers which use them. Previously such instances across the various SCSI layers which use them. Previously such instances
were exclusively owned by the mid level. See the access functions declared were exclusively owned by the mid level. See the access functions declared
towards the end of include/scsi/scsi_device.h . If an LLD wants to keep towards the end of include/scsi/scsi_device.h . If an LLD wants to keep
a copy of a pointer to a Scsi_device instance it should use scsi_device_get() a copy of a pointer to a scsi_device instance it should use scsi_device_get()
to bump its reference count. When it is finished with the pointer it can to bump its reference count. When it is finished with the pointer it can
use scsi_device_put() to decrement its reference count (and potentially use scsi_device_put() to decrement its reference count (and potentially
delete it). delete it).
......
...@@ -158,10 +158,6 @@ Note: the minimum value allowed for dirty_bytes is two pages (in bytes); any ...@@ -158,10 +158,6 @@ Note: the minimum value allowed for dirty_bytes is two pages (in bytes); any
value lower than this limit will be ignored and the old configuration will be value lower than this limit will be ignored and the old configuration will be
retained. retained.
Note: the value of dirty_bytes also must be set greater than
dirty_background_bytes or the amount of memory corresponding to
dirty_background_ratio.
============================================================== ==============================================================
dirty_expire_centisecs dirty_expire_centisecs
...@@ -181,9 +177,6 @@ generating disk writes will itself start writing out dirty data. ...@@ -181,9 +177,6 @@ generating disk writes will itself start writing out dirty data.
The total available memory is not equal to total system memory. The total available memory is not equal to total system memory.
Note: dirty_ratio must be set greater than dirty_background_ratio or
ratio corresponding to dirty_background_bytes.
============================================================== ==============================================================
dirty_writeback_centisecs dirty_writeback_centisecs
......
...@@ -2901,14 +2901,19 @@ userspace buffer and its length: ...@@ -2901,14 +2901,19 @@ userspace buffer and its length:
struct kvm_s390_irq_state { struct kvm_s390_irq_state {
__u64 buf; __u64 buf;
__u32 flags; __u32 flags; /* will stay unused for compatibility reasons */
__u32 len; __u32 len;
__u32 reserved[4]; __u32 reserved[4]; /* will stay unused for compatibility reasons */
}; };
Userspace passes in the above struct and for each pending interrupt a Userspace passes in the above struct and for each pending interrupt a
struct kvm_s390_irq is copied to the provided buffer. struct kvm_s390_irq is copied to the provided buffer.
The structure contains a flags and a reserved field for future extensions. As
the kernel never checked for flags == 0 and QEMU never pre-zeroed flags and
reserved, these fields can not be used in the future without breaking
compatibility.
If -ENOBUFS is returned the buffer provided was too small and userspace If -ENOBUFS is returned the buffer provided was too small and userspace
may retry with a bigger buffer. may retry with a bigger buffer.
...@@ -2932,10 +2937,14 @@ containing a struct kvm_s390_irq_state: ...@@ -2932,10 +2937,14 @@ containing a struct kvm_s390_irq_state:
struct kvm_s390_irq_state { struct kvm_s390_irq_state {
__u64 buf; __u64 buf;
__u32 flags; /* will stay unused for compatibility reasons */
__u32 len; __u32 len;
__u32 pad; __u32 reserved[4]; /* will stay unused for compatibility reasons */
}; };
The restrictions for flags and reserved apply as well.
(see KVM_S390_GET_IRQ_STATE)
The userspace memory referenced by buf contains a struct kvm_s390_irq The userspace memory referenced by buf contains a struct kvm_s390_irq
for each interrupt to be injected into the guest. for each interrupt to be injected into the guest.
If one of the interrupts could not be injected for some reason the If one of the interrupts could not be injected for some reason the
......
...@@ -98,5 +98,25 @@ request is made for a page in an old zpool, it is uncompressed using its ...@@ -98,5 +98,25 @@ request is made for a page in an old zpool, it is uncompressed using its
original compressor. Once all pages are removed from an old zpool, the zpool original compressor. Once all pages are removed from an old zpool, the zpool
and its compressor are freed. and its compressor are freed.
Some of the pages in zswap are same-value filled pages (i.e. contents of the
page have same value or repetitive pattern). These pages include zero-filled
pages and they are handled differently. During store operation, a page is
checked if it is a same-value filled page before compressing it. If true, the
compressed length of the page is set to zero and the pattern or same-filled
value is stored.
Same-value filled pages identification feature is enabled by default and can be
disabled at boot time by setting the "same_filled_pages_enabled" attribute to 0,
e.g. zswap.same_filled_pages_enabled=0. It can also be enabled and disabled at
runtime using the sysfs "same_filled_pages_enabled" attribute, e.g.
echo 1 > /sys/module/zswap/parameters/same_filled_pages_enabled
When zswap same-filled page identification is disabled at runtime, it will stop
checking for the same-value filled pages during store operation. However, the
existing pages which are marked as same-value filled pages remain stored
unchanged in zswap until they are either loaded or invalidated.
A debugfs interface is provided for various statistic about pool size, number A debugfs interface is provided for various statistic about pool size, number
of pages stored, and various counters for the reasons pages are rejected. of pages stored, same-value filled pages and various counters for the reasons
pages are rejected.
...@@ -554,13 +554,13 @@ S: Orphan ...@@ -554,13 +554,13 @@ S: Orphan
F: Documentation/filesystems/affs.txt F: Documentation/filesystems/affs.txt
F: fs/affs/ F: fs/affs/
AFS FILESYSTEM & AF_RXRPC SOCKET DOMAIN AFS FILESYSTEM
M: David Howells <dhowells@redhat.com> M: David Howells <dhowells@redhat.com>
L: linux-afs@lists.infradead.org L: linux-afs@lists.infradead.org
S: Supported S: Supported
F: fs/afs/ F: fs/afs/
F: include/net/af_rxrpc.h F: include/trace/events/afs.h
F: net/rxrpc/af_rxrpc.c F: Documentation/filesystems/afs.txt
W: https://www.infradead.org/~dhowells/kafs/ W: https://www.infradead.org/~dhowells/kafs/
AGPGART DRIVER AGPGART DRIVER
...@@ -859,7 +859,8 @@ F: kernel/configs/android* ...@@ -859,7 +859,8 @@ F: kernel/configs/android*
ANDROID DRIVERS ANDROID DRIVERS
M: Greg Kroah-Hartman <gregkh@linuxfoundation.org> M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
M: Arve Hjønnevåg <arve@android.com> M: Arve Hjønnevåg <arve@android.com>
M: Riley Andrews <riandrews@android.com> M: Todd Kjos <tkjos@android.com>
M: Martijn Coenen <maco@android.com>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
L: devel@driverdev.osuosl.org L: devel@driverdev.osuosl.org
S: Supported S: Supported
...@@ -2046,7 +2047,7 @@ F: arch/arm/boot/dts/uniphier* ...@@ -2046,7 +2047,7 @@ F: arch/arm/boot/dts/uniphier*
F: arch/arm/include/asm/hardware/cache-uniphier.h F: arch/arm/include/asm/hardware/cache-uniphier.h
F: arch/arm/mach-uniphier/ F: arch/arm/mach-uniphier/
F: arch/arm/mm/cache-uniphier.c F: arch/arm/mm/cache-uniphier.c
F: arch/arm64/boot/dts/socionext/ F: arch/arm64/boot/dts/socionext/uniphier*
F: drivers/bus/uniphier-system-bus.c F: drivers/bus/uniphier-system-bus.c
F: drivers/clk/uniphier/ F: drivers/clk/uniphier/
F: drivers/gpio/gpio-uniphier.c F: drivers/gpio/gpio-uniphier.c
...@@ -5430,7 +5431,7 @@ F: drivers/media/tuners/fc2580* ...@@ -5430,7 +5431,7 @@ F: drivers/media/tuners/fc2580*
FCOE SUBSYSTEM (libfc, libfcoe, fcoe) FCOE SUBSYSTEM (libfc, libfcoe, fcoe)
M: Johannes Thumshirn <jth@kernel.org> M: Johannes Thumshirn <jth@kernel.org>
L: fcoe-devel@open-fcoe.org L: linux-scsi@vger.kernel.org
W: www.Open-FCoE.org W: www.Open-FCoE.org
S: Supported S: Supported
F: drivers/scsi/libfc/ F: drivers/scsi/libfc/
...@@ -6174,7 +6175,6 @@ M: Jean Delvare <jdelvare@suse.com> ...@@ -6174,7 +6175,6 @@ M: Jean Delvare <jdelvare@suse.com>
M: Guenter Roeck <linux@roeck-us.net> M: Guenter Roeck <linux@roeck-us.net>
L: linux-hwmon@vger.kernel.org L: linux-hwmon@vger.kernel.org
W: http://hwmon.wiki.kernel.org/ W: http://hwmon.wiki.kernel.org/
T: quilt http://jdelvare.nerim.net/devel/linux/jdelvare-hwmon/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
S: Maintained S: Maintained
F: Documentation/hwmon/ F: Documentation/hwmon/
...@@ -7767,6 +7767,7 @@ F: security/keys/ ...@@ -7767,6 +7767,7 @@ F: security/keys/
KGDB / KDB /debug_core KGDB / KDB /debug_core
M: Jason Wessel <jason.wessel@windriver.com> M: Jason Wessel <jason.wessel@windriver.com>
M: Daniel Thompson <daniel.thompson@linaro.org>
W: http://kgdb.wiki.kernel.org/ W: http://kgdb.wiki.kernel.org/
L: kgdb-bugreport@lists.sourceforge.net L: kgdb-bugreport@lists.sourceforge.net
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb.git
...@@ -9331,9 +9332,9 @@ F: drivers/gpu/drm/mxsfb/ ...@@ -9331,9 +9332,9 @@ F: drivers/gpu/drm/mxsfb/
F: Documentation/devicetree/bindings/display/mxsfb-drm.txt F: Documentation/devicetree/bindings/display/mxsfb-drm.txt
MYRICOM MYRI-10G 10GbE DRIVER (MYRI10GE) MYRICOM MYRI-10G 10GbE DRIVER (MYRI10GE)
M: Hyong-Youb Kim <hykim@myri.com> M: Chris Lee <christopher.lee@cspi.com>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
W: https://www.myricom.com/support/downloads/myri10ge.html W: https://www.cspi.com/ethernet-products/support/downloads/
S: Supported S: Supported
F: drivers/net/ethernet/myricom/myri10ge/ F: drivers/net/ethernet/myricom/myri10ge/
...@@ -11777,6 +11778,18 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git rtl8xxxu-deve ...@@ -11777,6 +11778,18 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git rtl8xxxu-deve
S: Maintained S: Maintained
F: drivers/net/wireless/realtek/rtl8xxxu/ F: drivers/net/wireless/realtek/rtl8xxxu/
RXRPC SOCKETS (AF_RXRPC)
M: David Howells <dhowells@redhat.com>
L: linux-afs@lists.infradead.org
S: Supported
F: net/rxrpc/
F: include/keys/rxrpc-type.h
F: include/net/af_rxrpc.h
F: include/trace/events/rxrpc.h
F: include/uapi/linux/rxrpc.h
F: Documentation/networking/rxrpc.txt
W: https://www.infradead.org/~dhowells/kafs/
S3 SAVAGE FRAMEBUFFER DRIVER S3 SAVAGE FRAMEBUFFER DRIVER
M: Antonino Daplas <adaplas@gmail.com> M: Antonino Daplas <adaplas@gmail.com>
L: linux-fbdev@vger.kernel.org L: linux-fbdev@vger.kernel.org
...@@ -12630,6 +12643,14 @@ S: Maintained ...@@ -12630,6 +12643,14 @@ S: Maintained
F: drivers/ssb/ F: drivers/ssb/
F: include/linux/ssb/ F: include/linux/ssb/
SONY IMX274 SENSOR DRIVER
M: Leon Luo <leonl@leopardimaging.com>
L: linux-media@vger.kernel.org
T: git git://linuxtv.org/media_tree.git
S: Maintained
F: drivers/media/i2c/imx274.c
F: Documentation/devicetree/bindings/media/i2c/imx274.txt
SONY MEMORYSTICK CARD SUPPORT SONY MEMORYSTICK CARD SUPPORT
M: Alex Dubov <oakad@yahoo.com> M: Alex Dubov <oakad@yahoo.com>
W: http://tifmxx.berlios.de/ W: http://tifmxx.berlios.de/
...@@ -13096,6 +13117,7 @@ F: drivers/dma/dw/ ...@@ -13096,6 +13117,7 @@ F: drivers/dma/dw/
SYNOPSYS DESIGNWARE ENTERPRISE ETHERNET DRIVER SYNOPSYS DESIGNWARE ENTERPRISE ETHERNET DRIVER
M: Jie Deng <jiedeng@synopsys.com> M: Jie Deng <jiedeng@synopsys.com>
M: Jose Abreu <Jose.Abreu@synopsys.com>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
S: Supported S: Supported
F: drivers/net/ethernet/synopsys/ F: drivers/net/ethernet/synopsys/
...@@ -13648,10 +13670,8 @@ F: drivers/net/wireless/ti/ ...@@ -13648,10 +13670,8 @@ F: drivers/net/wireless/ti/
F: include/linux/wl12xx.h F: include/linux/wl12xx.h
TILE ARCHITECTURE TILE ARCHITECTURE
M: Chris Metcalf <cmetcalf@mellanox.com>
W: http://www.mellanox.com/repository/solutions/tile-scm/ W: http://www.mellanox.com/repository/solutions/tile-scm/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile.git S: Orphan
S: Supported
F: arch/tile/ F: arch/tile/
F: drivers/char/tile-srom.c F: drivers/char/tile-srom.c
F: drivers/edac/tile_edac.c F: drivers/edac/tile_edac.c
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
VERSION = 4 VERSION = 4
PATCHLEVEL = 15 PATCHLEVEL = 15
SUBLEVEL = 0 SUBLEVEL = 0
EXTRAVERSION = -rc1 EXTRAVERSION = -rc4
NAME = Fearless Coyote NAME = Fearless Coyote
# *DOCUMENTATION* # *DOCUMENTATION*
......
# UAPI Header export list # UAPI Header export list
include include/uapi/asm-generic/Kbuild.asm include include/uapi/asm-generic/Kbuild.asm
generic-y += bpf_perf_event.h
...@@ -3,6 +3,7 @@ include include/uapi/asm-generic/Kbuild.asm ...@@ -3,6 +3,7 @@ include include/uapi/asm-generic/Kbuild.asm
generic-y += auxvec.h generic-y += auxvec.h
generic-y += bitsperlong.h generic-y += bitsperlong.h
generic-y += bpf_perf_event.h
generic-y += errno.h generic-y += errno.h
generic-y += fcntl.h generic-y += fcntl.h
generic-y += ioctl.h generic-y += ioctl.h
......
...@@ -630,6 +630,7 @@ ...@@ -630,6 +630,7 @@
reg-names = "phy"; reg-names = "phy";
status = "disabled"; status = "disabled";
ti,ctrl_mod = <&usb_ctrl_mod>; ti,ctrl_mod = <&usb_ctrl_mod>;
#phy-cells = <0>;
}; };
usb0: usb@47401000 { usb0: usb@47401000 {
...@@ -678,6 +679,7 @@ ...@@ -678,6 +679,7 @@
reg-names = "phy"; reg-names = "phy";
status = "disabled"; status = "disabled";
ti,ctrl_mod = <&usb_ctrl_mod>; ti,ctrl_mod = <&usb_ctrl_mod>;
#phy-cells = <0>;
}; };
usb1: usb@47401800 { usb1: usb@47401800 {
......
...@@ -927,7 +927,8 @@ ...@@ -927,7 +927,8 @@
reg = <0x48038000 0x2000>, reg = <0x48038000 0x2000>,
<0x46000000 0x400000>; <0x46000000 0x400000>;
reg-names = "mpu", "dat"; reg-names = "mpu", "dat";
interrupts = <80>, <81>; interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "tx", "rx"; interrupt-names = "tx", "rx";
status = "disabled"; status = "disabled";
dmas = <&edma 8 2>, dmas = <&edma 8 2>,
...@@ -941,7 +942,8 @@ ...@@ -941,7 +942,8 @@
reg = <0x4803C000 0x2000>, reg = <0x4803C000 0x2000>,
<0x46400000 0x400000>; <0x46400000 0x400000>;
reg-names = "mpu", "dat"; reg-names = "mpu", "dat";
interrupts = <82>, <83>; interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "tx", "rx"; interrupt-names = "tx", "rx";
status = "disabled"; status = "disabled";
dmas = <&edma 10 2>, dmas = <&edma 10 2>,
......
...@@ -301,8 +301,8 @@ ...@@ -301,8 +301,8 @@
status = "okay"; status = "okay";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&spi0_pins>; pinctrl-0 = <&spi0_pins>;
dmas = <&edma 16 dmas = <&edma 16 0
&edma 17>; &edma 17 0>;
dma-names = "tx0", "rx0"; dma-names = "tx0", "rx0";
flash: w25q64cvzpig@0 { flash: w25q64cvzpig@0 {
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册