]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
Merge tag 'v3.19-rc6' into HEAD
authorRob Herring <robh@kernel.org>
Wed, 4 Feb 2015 16:43:01 +0000 (10:43 -0600)
committerRob Herring <robh@kernel.org>
Wed, 4 Feb 2015 16:43:01 +0000 (10:43 -0600)
Linux 3.19-rc6

32 files changed:
Documentation/devicetree/bindings/arm/cpus.txt
Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-ahb.txt
Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt
Documentation/devicetree/bindings/ata/tegra-sata.txt
Documentation/devicetree/bindings/fpga/altera-socfpga-fpga-mgr.txt [new file with mode: 0644]
Documentation/devicetree/bindings/fuse/nvidia,tegra20-fuse.txt
Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt
Documentation/devicetree/bindings/misc/nvidia,tegra20-apbmisc.txt
Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt
Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt
Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt
Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt
Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
Documentation/devicetree/bindings/rtc/nvidia,tegra20-rtc.txt
Documentation/devicetree/bindings/serial/of-serial.txt
Documentation/devicetree/bindings/sound/nvidia,tegra30-ahub.txt
Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.txt
Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt
Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt
Documentation/devicetree/bindings/submitting-patches.txt
Documentation/devicetree/bindings/thermal/tegra-soctherm.txt
Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt
Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt
Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt
Documentation/devicetree/bindings/vendor-prefixes.txt
drivers/of/Kconfig
drivers/of/base.c
drivers/of/of_reserved_mem.c
drivers/of/unittest.c
include/linux/mod_devicetable.h

index b2aacbe16ed9af08a616bee7907f7d5890624c2e..8b9e0a95de317e5369932d612ac131be8ac0a641 100644 (file)
@@ -175,6 +175,7 @@ nodes to be present and contain the properties described below.
                            "marvell,pj4a"
                            "marvell,pj4b"
                            "marvell,sheeva-v5"
+                           "nvidia,tegra132-denver"
                            "qcom,krait"
                            "qcom,scorpion"
        - enable-method
index 234406d41c12772069ffc033c4c532a67f192182..067c9790062f7e1ab42aa1835e095ca076babbe4 100644 (file)
@@ -1,7 +1,10 @@
 NVIDIA Tegra AHB
 
 Required properties:
-- compatible : "nvidia,tegra20-ahb" or "nvidia,tegra30-ahb"
+- compatible : For Tegra20, must contain "nvidia,tegra20-ahb".  For
+  Tegra30, must contain "nvidia,tegra30-ahb".  Otherwise, must contain
+  '"nvidia,<chip>-ahb", "nvidia,tegra30-ahb"' where <chip> is tegra124,
+  tegra132, or tegra210.
 - reg : Should contain 1 register ranges(address and length)
 
 Example:
index 68ac65f82a1c590e6f046c6b926523d816d5fbe7..dd75b972ee376d67e6d5a270b83b57ee9d7a844c 100644 (file)
@@ -6,7 +6,11 @@ modes. It provides power-gating controllers for SoC and CPU power-islands.
 
 Required properties:
 - name : Should be pmc
-- compatible : Should contain "nvidia,tegra<chip>-pmc".
+- compatible : For Tegra20, must contain "nvidia,tegra20-pmc".  For Tegra30,
+  must contain "nvidia,tegra30-pmc".  For Tegra114, must contain
+  "nvidia,tegra114-pmc".  For Tegra124, must contain "nvidia,tegra124-pmc".
+  Otherwise, must contain "nvidia,<chip>-pmc", plus at least one of the
+  above, where <chip> is tegra132.
 - reg : Offset and length of the register set for the device
 - clocks : Must contain an entry for each entry in clock-names.
   See ../clocks/clock-bindings.txt for details.
index 946f2072570bf41abf8b9f7922aa17e5f639946c..66c83c3e89151123f7e1fcf6687d2787e5432398 100644 (file)
@@ -1,7 +1,9 @@
 Tegra124 SoC SATA AHCI controller
 
 Required properties :
-- compatible : "nvidia,tegra124-ahci".
+- compatible : For Tegra124, must contain "nvidia,tegra124-ahci".  Otherwise,
+  must contain '"nvidia,<chip>-ahci", "nvidia,tegra124-ahci"', where <chip>
+  is tegra132.
 - reg : Should contain 2 entries:
   - AHCI register set (SATA BAR5)
   - SATA register set
diff --git a/Documentation/devicetree/bindings/fpga/altera-socfpga-fpga-mgr.txt b/Documentation/devicetree/bindings/fpga/altera-socfpga-fpga-mgr.txt
new file mode 100644 (file)
index 0000000..9b027a6
--- /dev/null
@@ -0,0 +1,17 @@
+Altera SOCFPGA FPGA Manager
+
+Required properties:
+- compatible : should contain "altr,socfpga-fpga-mgr"
+- reg        : base address and size for memory mapped io.
+               - The first index is for FPGA manager register access.
+               - The second index is for writing FPGA configuration data.
+- interrupts : interrupt for the FPGA Manager device.
+
+Example:
+
+       hps_0_fpgamgr: fpgamgr@0xff706000 {
+               compatible = "altr,socfpga-fpga-mgr";
+               reg = <0xFF706000 0x1000
+                      0xFFB90000 0x1000>;
+               interrupts = <0 175 4>;
+       };
index d8c98c7614d04d8107d46b67746d1c9ff537d6ba..23e1d3194174abe27f5dcf12a784ecaee1146df1 100644 (file)
@@ -1,11 +1,11 @@
 NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 fuse block.
 
 Required properties:
-- compatible : should be:
-       "nvidia,tegra20-efuse"
-       "nvidia,tegra30-efuse"
-       "nvidia,tegra114-efuse"
-       "nvidia,tegra124-efuse"
+- compatible : For Tegra20, must contain "nvidia,tegra20-efuse".  For Tegra30,
+  must contain "nvidia,tegra30-efuse".  For Tegra114, must contain
+  "nvidia,tegra114-efuse".  For Tegra124, must contain "nvidia,tegra124-efuse".
+  Otherwise, must contain "nvidia,<chip>-efuse", plus one of the above, where
+  <chip> is tegra132.
   Details:
   nvidia,tegra20-efuse: Tegra20 requires using APB DMA to read the fuse data
        due to a hardware bug. Tegra20 also lacks certain information which is
index 4c32ef0b7db8fd635285b63722771a1a5ee9f848..009f4bfa1590cc1689097954f5bc8c37e3fad095 100644 (file)
@@ -197,7 +197,9 @@ of the following host1x client modules:
 - sor: serial output resource
 
   Required properties:
-  - compatible: "nvidia,tegra124-sor"
+  - compatible: For Tegra124, must contain "nvidia,tegra124-sor".  Otherwise,
+    must contain '"nvidia,<chip>-sor", "nvidia,tegra124-sor"', where <chip>
+    is tegra132.
   - reg: Physical base address and length of the controller's registers.
   - interrupts: The interrupt outputs from the controller.
   - clocks: Must contain an entry for each entry in clock-names.
@@ -222,7 +224,9 @@ of the following host1x client modules:
   - nvidia,dpaux: phandle to a DispayPort AUX interface
 
 - dpaux: DisplayPort AUX interface
-  - compatible: "nvidia,tegra124-dpaux"
+  - compatible: For Tegra124, must contain "nvidia,tegra124-dpaux".  Otherwise,
+    must contain '"nvidia,<chip>-dpaux", "nvidia,tegra124-dpaux"', where
+    <chip> is tegra132.
   - reg: Physical base address and length of the controller's registers.
   - interrupts: The interrupt outputs from the controller.
   - clocks: Must contain an entry for each entry in clock-names.
index 87507e9ce6db50ee4eac7089291afa115806084c..656716b72cc4d53362d997040339c4a5e45a13cb 100644 (file)
@@ -1,11 +1,11 @@
 NVIDIA Tegra20/Tegra30/Tegra114 I2C controller driver.
 
 Required properties:
-- compatible : should be:
-       "nvidia,tegra114-i2c"
-       "nvidia,tegra30-i2c"
-       "nvidia,tegra20-i2c"
-       "nvidia,tegra20-i2c-dvc"
+- compatible : For Tegra20, must be one of "nvidia,tegra20-i2c-dvc" or
+  "nvidia,tegra20-i2c".  For Tegra30, must be "nvidia,tegra30-i2c".
+  For Tegra114, must be "nvidia,tegra114-i2c".  Otherwise, must be
+  "nvidia,<chip>-i2c", plus at least one of the above, where <chip> is
+  tegra124, tegra132, or tegra210.
   Details of compatible are as follows:
   nvidia,tegra20-i2c-dvc: Tegra20 has specific I2C controller called as DVC I2C
        controller. This only support master mode of I2C communication. Register
index b97b8bef1fe5487fa0aaa807aeed02fde9b56607..47b205cc9cc7acee20c44d9be6faf691e4cdad2c 100644 (file)
@@ -1,11 +1,10 @@
 NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 apbmisc block
 
 Required properties:
-- compatible : should be:
-       "nvidia,tegra20-apbmisc"
-       "nvidia,tegra30-apbmisc"
-       "nvidia,tegra114-apbmisc"
-       "nvidia,tegra124-apbmisc"
+- compatible : For Tegra20, must be "nvidia,tegra20-apbmisc".  For Tegra30,
+  must be "nvidia,tegra30-apbmisc".  Otherwise, must contain
+  "nvidia,<chip>-apbmisc", plus one of the above, where <chip> is tegra114,
+  tegra124, tegra132.
 - reg: Should contain 2 entries: the first entry gives the physical address
        and length of the registers which contain revision and debug features.
        The second entry gives the physical address and length of the
index f357c16ea815c5fc6c3b2d7a8a4c41a9683f60bc..15b8368ee1f260a4f55d4226b6fccfea40e46162 100644 (file)
@@ -7,7 +7,11 @@ This file documents differences between the core properties described
 by mmc.txt and the properties used by the sdhci-tegra driver.
 
 Required properties:
-- compatible : Should be "nvidia,<chip>-sdhci"
+- compatible : For Tegra20, must contain "nvidia,tegra20-sdhci".
+  For Tegra30, must contain "nvidia,tegra30-sdhci".  For Tegra114,
+  must contain "nvidia,tegra114-sdhci".  For Tegra124, must contain
+  "nvidia,tegra124-sdhci".  Otherwise, must contain "nvidia,<chip>-sdhci",
+  plus one of the above, where <chip> is tegra132 or tegra210.
 - clocks : Must contain one entry, for the module clock.
   See ../clocks/clock-bindings.txt for details.
 - resets : Must contain an entry for each entry in reset-names.
index d763e047c6aeb1b6a31a7f06a1e07bda605504b1..75321ae23c0805cb8c1f8762cfea9d847fa1360c 100644 (file)
@@ -1,10 +1,10 @@
 NVIDIA Tegra PCIe controller
 
 Required properties:
-- compatible: Must be one of:
-  - "nvidia,tegra20-pcie"
-  - "nvidia,tegra30-pcie"
-  - "nvidia,tegra124-pcie"
+- compatible: For Tegra20, must contain "nvidia,tegra20-pcie".  For Tegra30,
+  "nvidia,tegra30-pcie".  For Tegra124, must contain "nvidia,tegra124-pcie".
+  Otherwise, must contain "nvidia,<chip>-pcie", plus one of the above, where
+  <chip> is tegra132 or tegra210.
 - device_type: Must be "pci"
 - reg: A list of physical base address and length for each set of controller
   registers. Must contain an entry for each entry in the reg-names property.
index 189814e7cdc7c1b0dbffe29d6eb3a276ae9759e7..ecb5c0d25218df37ba395207bb04777c52eafa42 100644 (file)
@@ -6,7 +6,8 @@ nvidia,tegra30-pinmux.txt. In fact, this document assumes that binding as
 a baseline, and only documents the differences between the two bindings.
 
 Required properties:
-- compatible: "nvidia,tegra124-pinmux"
+- compatible: For Tegra124, must contain "nvidia,tegra124-pinmux".  For
+  Tegra132, must contain '"nvidia,tegra132-pinmux", "nvidia-tegra124-pinmux"'.
 - reg: Should contain a list of base address and size pairs for:
     -- first entry - the drive strength and pad control registers.
     -- second entry - the pinmux registers
index 2f9c0bd6645793b41f6f1ae6b7c17be8321cc748..30676ded85bb3abd5c63ad94ec1f6e8f5e7eab63 100644 (file)
@@ -13,7 +13,9 @@ how to describe and reference PHYs in device trees.
 
 Required properties:
 --------------------
-- compatible: should be "nvidia,tegra124-xusb-padctl"
+- compatible: For Tegra124, must contain "nvidia,tegra124-xusb-padctl".
+  Otherwise, must contain '"nvidia,<chip>-xusb-padctl",
+  "nvidia-tegra124-xusb-padctl"', where <chip> is tegra132 or tegra210.
 - reg: Physical base address and length of the controller's registers.
 - resets: Must contain an entry for each entry in reset-names.
   See ../reset/reset.txt for details.
index 6b33b9f18e88347d5f2d2cd3b8e0d85d5ea13b12..f63fcb3ed35288c880b832de582867b969e7a7e0 100644 (file)
@@ -16,17 +16,22 @@ mux function to select on those pin(s)/group(s), and various pin configuration
 parameters, such as input, output, pull up, pull down...
 
 The name of each subnode is not important; all subnodes should be enumerated
-and processed purely based on their content.
+and processed purely based on their content. The subnodes use the generic
+pin multiplexing node layout from the standard pin control bindings
+(see pinctrl-bindings.txt):
 
-Required subnode-properties:
-- ste,pins : An array of strings. Each string contains the name of a pin or
-    group.
-
-Optional subnode-properties:
-- ste,function: A string containing the name of the function to mux to the
+Required pin multiplexing subnode properties:
+- function: A string containing the name of the function to mux to the
   pin or group.
+- groups : An array of strings. Each string contains the name of a pin
+  group that will be combined with the function to form a multiplexing
+  set-up.
 
-- ste,config: Handle of pin configuration node (e.g. ste,config = <&slpm_in_wkup_pdis>)
+Required pin configuration subnode properties:
+- pins: A string array describing the pins affected by the configuration
+  in the node.
+- ste,config: Handle of pin configuration node
+  (e.g. ste,config = <&slpm_in_wkup_pdis>)
 
 - ste,input : <0/1/2>
        0: input with no pull
@@ -97,32 +102,32 @@ Example board file extract:
                uart0 {
                        uart0_default_mux: uart0_mux {
                                u0_default_mux {
-                                       ste,function = "u0";
-                                       ste,pins = "u0_a_1";
+                                       function = "u0";
+                                       pins = "u0_a_1";
                                };
                        };
                        uart0_default_mode: uart0_default {
                                uart0_default_cfg1 {
-                                       ste,pins = "GPIO0", "GPIO2";
+                                       pins = "GPIO0", "GPIO2";
                                        ste,input = <1>;
                                };
 
                                uart0_default_cfg2 {
-                                       ste,pins = "GPIO1", "GPIO3";
+                                       pins = "GPIO1", "GPIO3";
                                        ste,output = <1>;
                                };
                        };
                        uart0_sleep_mode: uart0_sleep {
                                uart0_sleep_cfg1 {
-                                       ste,pins = "GPIO0", "GPIO2";
+                                       pins = "GPIO0", "GPIO2";
                                        ste,config = <&slpm_in_wkup_pdis>;
                                };
                                uart0_sleep_cfg2 {
-                                       ste,pins = "GPIO1";
+                                       pins = "GPIO1";
                                        ste,config = <&slpm_out_hi_wkup_pdis>;
                                };
                                uart0_sleep_cfg3 {
-                                       ste,pins = "GPIO3";
+                                       pins = "GPIO3";
                                        ste,config = <&slpm_out_wkup_pdis>;
                                };
                        };
index c7ea9d4a988b8d78971a96cf585a011ae7274711..c52f03b5032f8fab8616d91e7a705a06318331ca 100644 (file)
@@ -1,9 +1,10 @@
 Tegra SoC PWFM controller
 
 Required properties:
-- compatible: should be one of:
-  - "nvidia,tegra20-pwm"
-  - "nvidia,tegra30-pwm"
+- compatible: For Tegra20, must contain "nvidia,tegra20-pwm".  For Tegra30,
+  must contain "nvidia,tegra30-pwm".  Otherwise, must contain
+  "nvidia,<chip>-pwm", plus one of the above, where <chip> is tegra114,
+  tegra124, tegra132, or tegra210.
 - reg: physical base address and length of the controller's registers
 - #pwm-cells: should be 2. See pwm.txt in this directory for a description of
   the cells format.
index 652d1ff2e8beb6f9ca33d145be74f2e12fb0eacf..b7d98ed3e098c5206e5846993a70899b3830be35 100644 (file)
@@ -6,7 +6,9 @@ state.
 
 Required properties:
 
-- compatible : should be "nvidia,tegra20-rtc".
+- compatible : For Tegra20, must contain "nvidia,tegra20-rtc".  Otherwise,
+  must contain '"nvidia,<chip>-rtc", "nvidia,tegra20-rtc"', where <chip>
+  can be tegra30, tegra114, tegra124, or tegra132.
 - reg : Specifies base physical address and size of the registers.
 - interrupts : A single interrupt specifier.
 - clocks : Must contain one entry, for the module clock.
index b52b98234b9b1d5380b1c8cd711637d0bee9f8b3..bea60ef6cdc52c0941fe537511a32fef82c5983f 100644 (file)
@@ -8,7 +8,10 @@ Required properties:
        - "ns16550"
        - "ns16750"
        - "ns16850"
-       - "nvidia,tegra20-uart"
+       - For Tegra20, must contain "nvidia,tegra20-uart"
+       - For other Tegra, must contain '"nvidia,<chip>-uart",
+         "nvidia,tegra20-uart"' where <chip> is tegra30, tegra114, tegra124,
+         tegra132, or tegra210.
        - "nxp,lpc3220-uart"
        - "ralink,rt2880-uart"
        - "ibm,qpace-nwp-serial"
index 946e2ac46091c05dfd9266febfb8362ad646e0cc..0e9a1895d7fb063d6e61a7c18525b4a60843b035 100644 (file)
@@ -1,7 +1,10 @@
 NVIDIA Tegra30 AHUB (Audio Hub)
 
 Required properties:
-- compatible : "nvidia,tegra30-ahub", "nvidia,tegra114-ahub", etc.
+- compatible : For Tegra30, must contain "nvidia,tegra30-ahub".  For Tegra114,
+  must contain "nvidia,tegra114-ahub".  For Tegra124, must contain
+  "nvidia,tegra124-ahub".  Otherwise, must contain "nvidia,<chip>-ahub",
+  plus at least one of the above, where <chip> is tegra132.
 - reg : Should contain the register physical address and length for each of
   the AHUB's register blocks.
   - Tegra30 requires 2 entries, for the APBIF and AHUB/AUDIO register blocks.
index b4730c2822bc8f61d5b7fb819bb907f0be1c47d9..13e2ef496724bdd739b0effd81699b1d4c3f83b7 100644 (file)
@@ -1,7 +1,9 @@
 NVIDIA Tegra30 HDA controller
 
 Required properties:
-- compatible : "nvidia,tegra30-hda"
+- compatible : For Tegra30, must contain "nvidia,tegra30-hda".  Otherwise,
+  must contain '"nvidia,<chip>-hda", "nvidia,tegra30-hda"', where <chip> is
+  tegra114, tegra124, or tegra132.
 - reg : Should contain the HDA registers location and length.
 - interrupts : The interrupt from the HDA controller.
 - clocks : Must contain an entry for each required entry in clock-names.
index 0c113ffe381492627474948aeb3f8357c4693d44..38caa936f6f8aeb96fe09dba1269431e03b225a5 100644 (file)
@@ -1,7 +1,10 @@
 NVIDIA Tegra30 I2S controller
 
 Required properties:
-- compatible : "nvidia,tegra30-i2s"
+- compatible : For Tegra30, must contain "nvidia,tegra30-i2s".  For Tegra124,
+  must contain "nvidia,tegra124-i2s".  Otherwise, must contain
+  "nvidia,<chip>-i2s" plus at least one of the above, where <chip> is
+  tegra114 or tegra132.
 - reg : Should contain I2S registers location and length
 - clocks : Must contain one entry, for the module clock.
   See ../clocks/clock-bindings.txt for details.
index 7ea701e07dc2603453eb4b37d1aaef1c626a3e06..b785976fe98aff57a91f3c8f2d08a62dd2a606de 100644 (file)
@@ -1,7 +1,9 @@
 NVIDIA Tegra114 SPI controller.
 
 Required properties:
-- compatible : should be "nvidia,tegra114-spi".
+- compatible : For Tegra114, must contain "nvidia,tegra114-spi".
+  Otherwise, must contain '"nvidia,<chip>-spi", "nvidia,tegra114-spi"' where
+  <chip> is tegra124, tegra132, or tegra210.
 - reg: Should contain SPI registers location and length.
 - interrupts: Should contain SPI interrupts.
 - clock-names : Must include the following entries:
index b7ba01ad1426cfdb61ede7e68860087df4606a86..56742bc70218bfd5d4035732301f1df6c6f4927e 100644 (file)
@@ -15,6 +15,29 @@ I. For patch submitters
   3) The Documentation/ portion of the patch should come in the series before
      the code implementing the binding.
 
+  4) Any compatible strings used in a chip or board DTS file must be
+     previously documented in the corresponding DT binding text file
+     in Documentation/devicetree/bindings.  This rule applies even if
+     the Linux device driver does not yet match on the compatible
+     string.  [ checkpatch will emit warnings if this step is not
+     followed as of commit bff5da4335256513497cc8c79f9a9d1665e09864
+     ("checkpatch: add DT compatible string documentation checks"). ]
+
+  5) The wildcard "<chip>" may be used in compatible strings, as in
+     the following example:
+
+         - compatible: Must contain '"nvidia,<chip>-pcie",
+           "nvidia,tegra20-pcie"' where <chip> is tegra30, tegra132, ...
+
+     As in the above example, the known values of "<chip>" should be
+     documented if it is used.
+
+  6) If a documented compatible string is not yet matched by the
+     driver, the documentation should also include a compatible
+     string that is matched by the driver (as in the "nvidia,tegra20-pcie"
+     example above).
+
+
 II. For kernel maintainers
 
   1) If you aren't comfortable reviewing a given binding, reply to it and ask
index ecf3ed76cd46f8990db7a91ef021f2defb2f3ae8..6b68cd1504056b4dbceecca0316098e2f6f3e7c2 100644 (file)
@@ -7,7 +7,9 @@ notifications. It is also used to manage emergency shutdown in an
 overheating situation.
 
 Required properties :
-- compatible : "nvidia,tegra124-soctherm".
+- compatible : For Tegra124, must contain "nvidia,tegra124-soctherm".
+  For Tegra132, must contain "nvidia,tegra132-soctherm".
+  For Tegra210, must contain "nvidia,tegra210-soctherm".
 - reg : Should contain 1 entry:
   - SOCTHERM register set
 - interrupts : Defines the interrupt used by SOCTHERM
index b5082a1cf461a16af5d37a5691a1b603ae47e031..1761f53ee36f71162082e4040612889d9073d3d5 100644 (file)
@@ -6,7 +6,9 @@ trigger a legacy watchdog reset.
 
 Required properties:
 
-- compatible : should be "nvidia,tegra30-timer", "nvidia,tegra20-timer".
+- compatible : For Tegra30, must contain "nvidia,tegra30-timer".  Otherwise,
+  must contain '"nvidia,<chip>-timer", "nvidia,tegra30-timer"' where
+  <chip> is tegra124 or tegra132.
 - reg : Specifies base physical address and size of the registers.
 - interrupts : A list of 6 interrupts; one per each of timer channels 1
     through 5, and one for the shared interrupt for the remaining channels.
index 3dc9140e3dfba6d26f7c43e43d04308134cb543e..f60785f73d3d5623b2cda6ddd4b8ea88fd6524a6 100644 (file)
@@ -6,7 +6,10 @@ Practice : Universal Serial Bus" with the following modifications
 and additions :
 
 Required properties :
- - compatible : Should be "nvidia,tegra20-ehci".
+ - compatible : For Tegra20, must contain "nvidia,tegra20-ehci".
+   For Tegra30, must contain "nvidia,tegra30-ehci".  Otherwise, must contain
+   "nvidia,<chip>-ehci" plus at least one of the above, where <chip> is
+   tegra114, tegra124, tegra132, or tegra210.
  - nvidia,phy : phandle of the PHY that the controller is connected to.
  - clocks : Must contain one entry, for the module clock.
    See ../clocks/clock-bindings.txt for details.
index c9205fbf26e22aade11aa802acfffc751feb2c94..a9aa79fb90ed09e1f240093a90fa0498424ad435 100644 (file)
@@ -3,7 +3,10 @@ Tegra SOC USB PHY
 The device node for Tegra SOC USB PHY:
 
 Required properties :
- - compatible : Should be "nvidia,tegra<chip>-usb-phy".
+ - compatible : For Tegra20, must contain "nvidia,tegra20-usb-phy".
+   For Tegra30, must contain "nvidia,tegra30-usb-phy".  Otherwise, must contain
+   "nvidia,<chip>-usb-phy" plus at least one of the above, where <chip> is
+   tegra114, tegra124, tegra132, or tegra210.
  - reg : Defines the following set of registers, in the order listed:
    - The PHY's own register set.
      Always present.
index d443279c95dca76539d60e3c55ce3f9f54d61478..860b18df0548e06e37e31ac34fbd4733e0719825 100644 (file)
@@ -7,6 +7,7 @@ abilis  Abilis Systems
 active-semi    Active-Semi International Inc
 ad     Avionic Design GmbH
 adapteva       Adapteva, Inc.
+adh    AD Holdings Plc.
 adi    Analog Devices, Inc.
 aeroflexgaisler        Aeroflex Gaisler AB
 allwinner      Allwinner Technology Co., Ltd.
@@ -56,6 +57,7 @@ epson Seiko Epson Corp.
 est    ESTeem Wireless Modems
 eukrea  EukrĂ©a Electromatique
 everest        Everest Semiconductor Co. Ltd.
+everspin       Everspin Technologies, Inc.
 excito Excito
 fcs    Fairchild Semiconductor
 fsl    Freescale Semiconductor
@@ -82,8 +84,7 @@ innolux       Innolux Corporation
 intel  Intel Corporation
 intercontrol   Inter Control Group
 isee   ISEE 2007 S.L.
-isil    Intersil (deprecated, use isl)
-isl    Intersil
+isil   Intersil
 karo   Ka-Ro electronics GmbH
 keymile        Keymile GmbH
 lacie  LaCie
@@ -144,6 +145,7 @@ schindler   Schindler
 seagate        Seagate Technology PLC
 sil    Silicon Image
 silabs Silicon Laboratories
+siliconmitus   Silicon Mitus, Inc.
 simtek
 sii    Seiko Instruments, Inc.
 silergy        Silergy Corp.
index b5e0c873d4e1406f10d90860d516b4bd8bf3765f..38d1c51f58b108dbee2b2a2c83f970f60471c569 100644 (file)
@@ -10,7 +10,6 @@ menu "Device Tree and Open Firmware support"
 config OF_UNITTEST
        bool "Device Tree runtime unit tests"
        depends on OF_IRQ && OF_EARLY_FLATTREE
-       select OF_DYNAMIC
        select OF_RESOLVE
        help
          This option builds in test cases for the device tree infrastructure
index 36536b6a8834acd270a4813ff551432946d9e381..0a8aeb8523fe7d54a66207f25eb145e88addb90d 100644 (file)
@@ -1303,6 +1303,7 @@ int of_property_read_u64_array(const struct device_node *np,
        }
        return 0;
 }
+EXPORT_SYMBOL_GPL(of_property_read_u64_array);
 
 /**
  * of_property_read_string - Find and read a string from a property
index dc566b38645f6fcd3a296aa5e82419c857b81bcc..726ebe792813011e69670a19ada489159ea6b64d 100644 (file)
@@ -265,6 +265,7 @@ int of_reserved_mem_device_init(struct device *dev)
 
        return ret;
 }
+EXPORT_SYMBOL_GPL(of_reserved_mem_device_init);
 
 /**
  * of_reserved_mem_device_release() - release reserved memory device structures
@@ -289,3 +290,4 @@ void of_reserved_mem_device_release(struct device *dev)
 
        rmem->ops->device_release(rmem, dev);
 }
+EXPORT_SYMBOL_GPL(of_reserved_mem_device_release);
index 41a4a138f53b26c547296805eaf425ebb359268f..12cdbc1e30420e3c5cd0590814ce9a9cee469558 100644 (file)
@@ -822,6 +822,7 @@ static void update_node_properties(struct device_node *np,
 static int attach_node_and_children(struct device_node *np)
 {
        struct device_node *next, *dup, *child;
+       unsigned long flags;
 
        dup = of_find_node_by_path(np->full_name);
        if (dup) {
@@ -838,8 +839,17 @@ static int attach_node_and_children(struct device_node *np)
 
        child = np->child;
        np->child = NULL;
-       np->sibling = NULL;
-       of_attach_node(np);
+
+       mutex_lock(&of_mutex);
+       raw_spin_lock_irqsave(&devtree_lock, flags);
+       np->sibling = np->parent->child;
+       np->parent->child = np;
+       of_node_clear_flag(np, OF_DETACHED);
+       raw_spin_unlock_irqrestore(&devtree_lock, flags);
+
+       __of_attach_node_sysfs(np);
+       mutex_unlock(&of_mutex);
+
        while (child) {
                next = child->sibling;
                attach_node_and_children(child);
@@ -911,59 +921,6 @@ static int __init selftest_data_add(void)
        return 0;
 }
 
-/**
- *     detach_node_and_children - detaches node
- *     and its children from live tree
- *
- *     @np:    Node to detach from live tree
- */
-static void detach_node_and_children(struct device_node *np)
-{
-       while (np->child)
-               detach_node_and_children(np->child);
-       of_detach_node(np);
-}
-
-/**
- *     selftest_data_remove - removes the selftest data
- *     nodes from the live tree
- */
-static void selftest_data_remove(void)
-{
-       struct device_node *np;
-       struct property *prop;
-
-       if (selftest_live_tree) {
-               of_node_put(of_aliases);
-               of_node_put(of_chosen);
-               of_aliases = NULL;
-               of_chosen = NULL;
-               for_each_child_of_node(of_root, np)
-                       detach_node_and_children(np);
-               __of_detach_node_sysfs(of_root);
-               of_root = NULL;
-               return;
-       }
-
-       while (last_node_index-- > 0) {
-               if (nodes[last_node_index]) {
-                       np = of_find_node_by_path(nodes[last_node_index]->full_name);
-                       if (np == nodes[last_node_index]) {
-                               if (of_aliases == np) {
-                                       of_node_put(of_aliases);
-                                       of_aliases = NULL;
-                               }
-                               detach_node_and_children(np);
-                       } else {
-                               for_each_property_of_node(np, prop) {
-                                       if (strcmp(prop->name, "testcase-alias") == 0)
-                                               of_remove_property(np, prop);
-                               }
-                       }
-               }
-       }
-}
-
 #ifdef CONFIG_OF_OVERLAY
 
 static int selftest_probe(struct platform_device *pdev)
@@ -1514,9 +1471,6 @@ static int __init of_selftest(void)
        of_selftest_platform_populate();
        of_selftest_overlay();
 
-       /* removing selftest data from live tree */
-       selftest_data_remove();
-
        /* Double check linkage after removing testcase data */
        of_selftest_check_tree_linkage();
 
index 745def862580726a26135621763ec0ce79b28cb3..bbf85d612be5ac25276ad67b4ac86ab8a933be5a 100644 (file)
@@ -220,8 +220,7 @@ struct serio_device_id {
 /*
  * Struct used for matching a device
  */
-struct of_device_id
-{
+struct of_device_id {
        char    name[32];
        char    type[32];
        char    compatible[128];