Merge tag 'devicetree-for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 25 Jan 2014 01:27:34 +0000 (17:27 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 25 Jan 2014 01:27:34 +0000 (17:27 -0800)
Pull devicetree updates from Rob Herring:
 - Add new documents with guidelines for DT binding stability and review
   process.  This is one of the outcomes of Kernel Summit DT discussions
 - Remove a bunch of device_type usage which is only for OF and
   deprecated with FDT
 - Fix a long standing issue with compatible string match ordering
 - Various minor binding documentation updates

* tag 'devicetree-for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
  dt-bindings: add rockchip vendor prefix
  serial: vt8500: Add missing binding document for arch-vt8500 serial driver.
  dt/bindings: submitting patches and ABI documents
  DT: Add vendor prefix for Emerging Display Technologies
  of: add vendor prefixe for EPFL
  of: add vendor prefix for Gumstix
  of: add vendor prefix for Ka-Ro electronics GmbH
  devicetree: macb: Document clock properties
  dts: bindings: trivial clock bindings doc fixes
  of: Fix __of_device_is_available check
  dt/bindings: Remove device_type "serial" from marvell,mv64360-mpsc
  dt/bindings: remove device_type "network" references
  dt/bindings: remove users of device_type "mdio"
  dt/bindings: Remove references to linux,phandle properties
  dt/bindings: Remove all references to device_type "ethernet-phy"
  of: irq: Ignore disabled intc's when searching map
  of: irq: Ignore disabled interrupt controllers
  OF: base: match each node compatible against all given matches first
  dt-bindings: add GIC-400 binding

103 files changed:
Documentation/devicetree/bindings/ABI.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/gic.txt
Documentation/devicetree/bindings/clock/clock-bindings.txt
Documentation/devicetree/bindings/marvell.txt
Documentation/devicetree/bindings/net/macb.txt
Documentation/devicetree/bindings/net/marvell-orion-net.txt
Documentation/devicetree/bindings/net/phy.txt
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/pincfg.txt
Documentation/devicetree/bindings/serial/vt8500-uart.txt [new file with mode: 0644]
Documentation/devicetree/bindings/submitting-patches.txt [new file with mode: 0644]
Documentation/devicetree/bindings/vendor-prefixes.txt
Documentation/devicetree/booting-without-of.txt
arch/arm/boot/dts/dove.dtsi
arch/arm/boot/dts/kirkwood-cloudbox.dts
arch/arm/boot/dts/kirkwood-db.dtsi
arch/arm/boot/dts/kirkwood-dnskw.dtsi
arch/arm/boot/dts/kirkwood-dockstar.dts
arch/arm/boot/dts/kirkwood-dreamplug.dts
arch/arm/boot/dts/kirkwood-goflexnet.dts
arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
arch/arm/boot/dts/kirkwood-ib62x0.dts
arch/arm/boot/dts/kirkwood-iconnect.dts
arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
arch/arm/boot/dts/kirkwood-km_kirkwood.dts
arch/arm/boot/dts/kirkwood-lsxl.dtsi
arch/arm/boot/dts/kirkwood-mplcec4.dts
arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
arch/arm/boot/dts/kirkwood-ns2-common.dtsi
arch/arm/boot/dts/kirkwood-openblocks_a6.dts
arch/arm/boot/dts/kirkwood-openblocks_a7.dts
arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi
arch/arm/boot/dts/kirkwood-topkick.dts
arch/arm/boot/dts/kirkwood-ts219.dtsi
arch/arm/boot/dts/kirkwood.dtsi
arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts
arch/arm/boot/dts/orion5x.dtsi
arch/microblaze/platform/generic/system.dts
arch/powerpc/boot/dts/adder875-redboot.dts
arch/powerpc/boot/dts/adder875-uboot.dts
arch/powerpc/boot/dts/asp834x-redboot.dts
arch/powerpc/boot/dts/c2k.dts
arch/powerpc/boot/dts/ep8248e.dts
arch/powerpc/boot/dts/ep88xc.dts
arch/powerpc/boot/dts/gef_ppc9a.dts
arch/powerpc/boot/dts/gef_sbc310.dts
arch/powerpc/boot/dts/gef_sbc610.dts
arch/powerpc/boot/dts/holly.dts
arch/powerpc/boot/dts/ksi8560.dts
arch/powerpc/boot/dts/mpc7448hpc2.dts
arch/powerpc/boot/dts/mpc8272ads.dts
arch/powerpc/boot/dts/mpc8308_p1m.dts
arch/powerpc/boot/dts/mpc8308rdb.dts
arch/powerpc/boot/dts/mpc8313erdb.dts
arch/powerpc/boot/dts/mpc8315erdb.dts
arch/powerpc/boot/dts/mpc832x_mds.dts
arch/powerpc/boot/dts/mpc832x_rdb.dts
arch/powerpc/boot/dts/mpc8349emitx.dts
arch/powerpc/boot/dts/mpc8349emitxgp.dts
arch/powerpc/boot/dts/mpc834x_mds.dts
arch/powerpc/boot/dts/mpc836x_mds.dts
arch/powerpc/boot/dts/mpc836x_rdk.dts
arch/powerpc/boot/dts/mpc8377_mds.dts
arch/powerpc/boot/dts/mpc8377_rdb.dts
arch/powerpc/boot/dts/mpc8377_wlan.dts
arch/powerpc/boot/dts/mpc8378_mds.dts
arch/powerpc/boot/dts/mpc8378_rdb.dts
arch/powerpc/boot/dts/mpc8379_mds.dts
arch/powerpc/boot/dts/mpc8379_rdb.dts
arch/powerpc/boot/dts/mpc8536ds.dtsi
arch/powerpc/boot/dts/mpc8540ads.dts
arch/powerpc/boot/dts/mpc8541cds.dts
arch/powerpc/boot/dts/mpc8544ds.dtsi
arch/powerpc/boot/dts/mpc8548cds.dtsi
arch/powerpc/boot/dts/mpc8555cds.dts
arch/powerpc/boot/dts/mpc8560ads.dts
arch/powerpc/boot/dts/mpc8568mds.dts
arch/powerpc/boot/dts/mpc8569mds.dts
arch/powerpc/boot/dts/mpc8641_hpcn.dts
arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts
arch/powerpc/boot/dts/mpc866ads.dts
arch/powerpc/boot/dts/mpc885ads.dts
arch/powerpc/boot/dts/p1021mds.dts
arch/powerpc/boot/dts/p1025rdb_32b.dts
arch/powerpc/boot/dts/ppa8548.dts
arch/powerpc/boot/dts/pq2fads.dts
arch/powerpc/boot/dts/prpmc2800.dts
arch/powerpc/boot/dts/sbc8349.dts
arch/powerpc/boot/dts/sbc8548-post.dtsi
arch/powerpc/boot/dts/sbc8641d.dts
arch/powerpc/boot/dts/stx_gp3_8560.dts
arch/powerpc/boot/dts/stxssa8555.dts
arch/powerpc/boot/dts/tqm8540.dts
arch/powerpc/boot/dts/tqm8541.dts
arch/powerpc/boot/dts/tqm8548-bigflash.dts
arch/powerpc/boot/dts/tqm8548.dts
arch/powerpc/boot/dts/tqm8555.dts
arch/powerpc/boot/dts/tqm8560.dts
arch/powerpc/boot/dts/tqm8xx.dts
arch/powerpc/sysdev/mv64x60_dev.c
arch/powerpc/sysdev/mv64x60_udbg.c
drivers/of/base.c
drivers/of/irq.c

diff --git a/Documentation/devicetree/bindings/ABI.txt b/Documentation/devicetree/bindings/ABI.txt
new file mode 100644 (file)
index 0000000..d25f8d3
--- /dev/null
@@ -0,0 +1,39 @@
+
+  Devicetree (DT) ABI
+
+I. Regarding stable bindings/ABI, we quote from the 2013 ARM mini-summit
+   summary document:
+
+     "That still leaves the question of, what does a stable binding look
+     like?  Certainly a stable binding means that a newer kernel will not
+     break on an older device tree, but that doesn't mean the binding is
+     frozen for all time. Grant said there are ways to change bindings that
+     don't result in breakage. For instance, if a new property is added,
+     then default to the previous behaviour if it is missing. If a binding
+     truly needs an incompatible change, then change the compatible string
+     at the same time.  The driver can bind against both the old and the
+     new. These guidelines aren't new, but they desperately need to be
+     documented."
+
+II.  General binding rules
+
+  1) Maintainers, don't let perfect be the enemy of good.  Don't hold up a
+     binding because it isn't perfect.
+
+  2) Use specific compatible strings so that if we need to add a feature (DMA)
+     in the future, we can create a new compatible string.  See I.
+
+  3) Bindings can be augmented, but the driver shouldn't break when given
+     the old binding. ie. add additional properties, but don't change the
+     meaning of an existing property. For drivers, default to the original
+     behaviour when a newly added property is missing.
+
+  4) Don't submit bindings for staging or unstable.  That will be decided by
+     the devicetree maintainers *after* discussion on the mailinglist.
+
+III. Notes
+
+  1) This document is intended as a general familiarization with the process as
+     decided at the 2013 Kernel Summit.  When in doubt, the current word of the
+     devicetree maintainers overrules this document.  In that situation, a patch
+     updating this document would be appreciated.
index 3dfb0c0..bae0d87 100644 (file)
@@ -11,6 +11,7 @@ have PPIs or SGIs.
 Main node required properties:
 
 - compatible : should be one of:
+       "arm,gic-400"
        "arm,cortex-a15-gic"
        "arm,cortex-a9-gic"
        "arm,cortex-a7-gic"
index eb65d41..7c52c29 100644 (file)
@@ -5,7 +5,7 @@ Sources of clock signal can be represented by any node in the device
 tree.  Those nodes are designated as clock providers.  Clock consumer
 nodes use a phandle and clock specifier pair to connect clock provider
 outputs to clock inputs.  Similar to the gpio specifiers, a clock
-specifier is an array of one more more cells identifying the clock
+specifier is an array of zero, one or more cells identifying the clock
 output on a device.  The length of a clock specifier is defined by the
 value of a #clock-cells property in the clock provider node.
 
index f7a0da6..ea2b16c 100644 (file)
@@ -79,7 +79,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
    Required properties:
      - #address-cells : Should be <1>
      - #size-cells : Should be <0>
-     - device_type : Should be "mdio"
      - compatible : Should be "marvell,mv64360-mdio"
 
    Example:
@@ -87,7 +86,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
      mdio {
             #address-cells = <1>;
             #size-cells = <0>;
-            device_type = "mdio";
             compatible = "marvell,mv64360-mdio";
 
             ethernet-phy@0 {
@@ -132,7 +130,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
    Ethernet port node
 
    Required properties:
-     - device_type : Should be "network".
      - compatible : Should be "marvell,mv64360-eth".
      - reg : Should be <0>, <1>, or <2>, according to which registers
        within the silicon block the device uses.
@@ -145,7 +142,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
 
    Example Discovery Ethernet port node:
      ethernet@0 {
-            device_type = "network";
             compatible = "marvell,mv64360-eth";
             reg = <0>;
             interrupts = <32>;
@@ -159,7 +155,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
    c) Marvell Discovery PHY nodes
 
    Required properties:
-     - device_type : Should be "ethernet-phy"
      - interrupts : <a> where a is the interrupt number for this phy.
      - interrupt-parent : the phandle for the interrupt controller that
        services interrupts for this device.
@@ -167,7 +162,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
 
    Example Discovery PHY node:
      ethernet-phy@1 {
-            device_type = "ethernet-phy";
             compatible = "broadcom,bcm5421";
             interrupts = <76>;      /* GPP 12 */
             interrupt-parent = <&PIC>;
@@ -271,7 +265,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
    serial port.
 
    Required properties:
-     - device_type : "serial"
      - compatible : "marvell,mv64360-mpsc"
      - reg : Offset and length of the register set for this device
      - sdma : the phandle for the SDMA node used by this port
@@ -288,7 +281,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
 
    Example Discovery MPSCINTR node:
      mpsc@8000 {
-            device_type = "serial";
             compatible = "marvell,mv64360-mpsc";
             reg = <0x8000 0x38>;
             virtual-reg = <0xf1008000>;
index 4ff6504..70af2ec 100644 (file)
@@ -10,6 +10,10 @@ Required properties:
 - interrupts: Should contain macb interrupt
 - phy-mode: String, operation mode of the PHY interface.
   Supported values are: "mii", "rmii", "gmii", "rgmii".
+- clock-names: Tuple listing input clock names.
+       Required elements: 'pclk', 'hclk'
+       Optional elements: 'tx_clk'
+- clocks: Phandles to input clocks.
 
 Optional properties:
 - local-mac-address: 6 bytes, mac address
@@ -22,4 +26,6 @@ Examples:
                interrupts = <21>;
                phy-mode = "rmii";
                local-mac-address = [3a 0e 03 04 05 06];
+               clock-names = "pclk", "hclk", "tx_clk";
+               clocks = <&clkc 30>, <&clkc 30>, <&clkc 13>;
        };
index a73b79f..c233b61 100644 (file)
@@ -32,7 +32,6 @@ Optional controller properties:
 * Ethernet port node
 
 Required port properties:
- - device_type: shall be "network".
  - compatible: shall be one of "marvell,orion-eth-port",
       "marvell,kirkwood-eth-port".
  - reg: port number relative to ethernet controller, shall be 0, 1, or 2.
@@ -61,7 +60,6 @@ or
 mdio-bus {
        ...
        ethphy: ethernet-phy@8 {
-               device_type = "ethernet-phy";
                ...
        };
 };
@@ -75,7 +73,6 @@ eth: ethernet-controller@72000 {
        marvell,tx-checksum-limit = <1600>;
 
        ethernet@0 {
-               device_type = "network";
                compatible = "marvell,orion-eth-port";
                reg = <0>;
                interrupts = <29>;
index 7cd18fb..85de610 100644 (file)
@@ -2,7 +2,6 @@ PHY nodes
 
 Required properties:
 
- - device_type : Should be "ethernet-phy"
  - interrupts : <a b> where a is the interrupt number and b is a
    field that represents an encoding of the sense and level
    information for the interrupt.  This should be encoded based on
@@ -11,8 +10,6 @@ Required properties:
  - interrupt-parent : the phandle for the interrupt controller that
    services interrupts for this device.
  - reg : The ID number for the phy, usually a small integer
- - linux,phandle :  phandle for this node; likely referenced by an
-   ethernet controller node.
 
 Optional Properties:
 
@@ -27,9 +24,7 @@ Example:
 
 ethernet-phy@0 {
        compatible = "ethernet-phy-ieee802.3-c22";
-       linux,phandle = <2452000>;
        interrupt-parent = <40000>;
        interrupts = <35 1>;
        reg = <0>;
-       device_type = "ethernet-phy";
 };
index 0e42694..29b28b8 100644 (file)
@@ -10,7 +10,6 @@ Currently defined compatibles:
 Example:
 
        ethernet@11300 {
-               device_type = "network";
                compatible = "fsl,mpc8272-fcc-enet",
                             "fsl,cpm2-fcc-enet";
                reg = <11300 20 8400 100 11390 1>;
@@ -33,7 +32,6 @@ fsl,mdc-pin : pin of port C controlling mdio clock
 
 Example:
        mdio@10d40 {
-               device_type = "mdio";
                compatible = "fsl,mpc8272ads-mdio-bitbang",
                             "fsl,mpc8272-mdio-bitbang",
                             "fsl,cpm2-mdio-bitbang";
index c5b4306..ec6ee2e 100644 (file)
@@ -1,8 +1,6 @@
 * Pin configuration nodes
 
 Required properties:
-- linux,phandle : phandle of this node; likely referenced by a QE
-  device.
 - pio-map : array of pin configurations.  Each pin is defined by 6
   integers.  The six numbers are respectively: port, pin, dir,
   open_drain, assignment, has_irq.
@@ -29,7 +27,6 @@ Required properties:
 
 Example:
      ucc_pin@01 {
-       linux,phandle = <140001>;
        pio-map = <
        /* port  pin  dir  open_drain  assignment  has_irq */
                0  3  1  0  1  0        /* TxD0 */
diff --git a/Documentation/devicetree/bindings/serial/vt8500-uart.txt b/Documentation/devicetree/bindings/serial/vt8500-uart.txt
new file mode 100644 (file)
index 0000000..795c393
--- /dev/null
@@ -0,0 +1,26 @@
+* VIA VT8500 and WonderMedia WM8xxx UART Controller
+
+Required properties:
+- compatible: should be "via,vt8500-uart"
+
+- reg: base physical address of the controller and length of memory mapped
+       region.
+
+- interrupts: hardware interrupt number
+
+- clocks: shall be the input parent clock phandle for the clock. This should
+       be the 24Mhz reference clock.
+
+Aliases may be defined to ensure the correct ordering of the uarts.
+
+Example:
+       aliases {
+               serial0 = &uart0;
+       };
+
+       uart0: serial@d8200000 {
+               compatible = "via,vt8500-uart";
+               reg = <0xd8200000 0x1040>;
+               interrupts = <32>;
+               clocks = <&clkuart0>;
+       };
diff --git a/Documentation/devicetree/bindings/submitting-patches.txt b/Documentation/devicetree/bindings/submitting-patches.txt
new file mode 100644 (file)
index 0000000..042a027
--- /dev/null
@@ -0,0 +1,38 @@
+
+  Submitting devicetree (DT) binding patches
+
+I. For patch submitters
+
+  0) Normal patch submission rules from Documentation/SubmittingPatches
+     applies.
+
+  1) The Documentation/ portion of the patch should be a separate patch.
+
+  2) Submit the entire series to the devicetree mailinglist at
+
+       devicetree@vger.kernel.org
+
+II. For kernel maintainers
+
+  1) If you aren't comfortable reviewing a given binding, reply to it and ask
+     the devicetree maintainers for guidance.  This will help them prioritize
+     which ones to review and which ones are ok to let go.
+
+  2) For driver (not subsystem) bindings: If you are comfortable with the
+     binding, and it hasn't received an Acked-by from the devicetree
+     maintainers after a few weeks, go ahead and take it.
+
+     Subsystem bindings (anything affecting more than a single device)
+     then getting a devicetree maintainer to review it is required.
+
+  3) For a series going though multiple trees, the binding patch should be
+     kept with the driver using the binding.
+
+III. Notes
+
+  0) Please see ...bindings/ABI.txt for details regarding devicetree ABI.
+
+  1) This document is intended as a general familiarization with the process as
+     decided at the 2013 Kernel Summit.  When in doubt, the current word of the
+     devicetree maintainers overrules this document.  In that situation, a patch
+     updating this document would be appreciated.
index 520596d..5780ffc 100644 (file)
@@ -27,13 +27,16 @@ cortina     Cortina Systems, Inc.
 dallas Maxim Integrated Products (formerly Dallas Semiconductor)
 davicom        DAVICOM Semiconductor, Inc.
 denx   Denx Software Engineering
+edt    Emerging Display Technologies
 emmicro        EM Microelectronic
+epfl   Ecole Polytechnique Fédérale de Lausanne
 epson  Seiko Epson Corp.
 est    ESTeem Wireless Modems
 fsl    Freescale Semiconductor
 GEFanuc        GE Fanuc Intelligent Platforms Embedded Systems, Inc.
 gef    GE Fanuc Intelligent Platforms Embedded Systems, Inc.
 gmt    Global Mixed-mode Technology, Inc.
+gumstix        Gumstix, Inc.
 haoyu  Haoyu Microelectronic Co. Ltd.
 hisilicon      Hisilicon Limited.
 hp     Hewlett Packard
@@ -42,6 +45,7 @@ idt   Integrated Device Technologies, Inc.
 img    Imagination Technologies Ltd.
 intercontrol   Inter Control Group
 isl    Intersil
+karo   Ka-Ro electronics GmbH
 lg     LG Corporation
 linux  Linux-specific binding
 lsi    LSI Corp. (LSI Logic)
@@ -64,6 +68,7 @@ ralink        Mediatek/Ralink Technology Corp.
 ramtron        Ramtron International
 realtek Realtek Semiconductor Corp.
 renesas        Renesas Electronics Corporation
+rockchip       Fuzhou Rockchip Electronics Co., Ltd
 samsung        Samsung Semiconductor
 sbs    Smart Battery System
 schindler      Schindler
index b2fb2f5..1f013bd 100644 (file)
@@ -1364,19 +1364,16 @@ Appendix A - Sample SOC node for MPC8540
                                phy0: ethernet-phy@0 {
                                        interrupts = <5 1>;
                                        reg = <0>;
-                                       device_type = "ethernet-phy";
                                };
 
                                phy1: ethernet-phy@1 {
                                        interrupts = <5 1>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
 
                                phy3: ethernet-phy@3 {
                                        interrupts = <7 1>;
                                        reg = <3>;
-                                       device_type = "ethernet-phy";
                                };
                        };
                };
index 8de1031..2b76524 100644 (file)
                                status = "disabled";
 
                                ethernet-port@0 {
-                                       device_type = "network";
                                        compatible = "marvell,orion-eth-port";
                                        reg = <0>;
                                        interrupts = <29>;
                                status = "disabled";
 
                                ethphy: ethernet-phy {
-                                       device_type = "ethernet-phy";
                                        /* set phy address in board file */
                                };
                        };
index bb4df40..0e06fd3 100644 (file)
@@ -94,7 +94,6 @@
        status = "okay";
 
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
 };
index afebc15..02d1225 100644 (file)
@@ -84,7 +84,6 @@
        status = "okay";
 
        ethphy0: ethernet-phy@8 {
-               device_type = "ethernet-phy";
                reg = <8>;
        };
 };
index 1208756..d5aa956 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy@8 {
-               device_type = "ethernet-phy";
                reg = <8>;
        };
 };
index 2a41c75..f31312e 100644 (file)
@@ -95,7 +95,6 @@
        status = "okay";
 
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                compatible = "marvell,88e1116";
                reg = <0>;
        };
index a755837..ef3463e 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
 
        ethphy1: ethernet-phy@1 {
-               device_type = "ethernet-phy";
                reg = <1>;
        };
 };
index c2e5129..eb93294 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
 };
index 0b557d5..2d51fce 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                compatible = "marvell,88e1121";
                reg = <0>;
        };
 
        ethphy1: ethernet-phy@1 {
-               device_type = "ethernet-phy";
                compatible = "marvell,88e1121";
                reg = <1>;
        };
index 6ccc788..a1add3f 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy@8 {
-               device_type = "ethernet-phy";
                reg = <8>;
        };
 };
index f763629..8d8c80e 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy@11 {
-               device_type = "ethernet-phy";
                reg = <11>;
        };
 };
index 5890006..59e7a5a 100644 (file)
        status = "okay";
 
        ethphy1: ethernet-phy@11 {
-               device_type = "ethernet-phy";
                reg = <11>;
        };
 };
index 5b5808e..04a1e44 100644 (file)
@@ -55,7 +55,6 @@
        status = "okay";
 
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
 };
index fc1cd3b..1656653 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
 
        ethphy1: ethernet-phy@8 {
-               device_type = "ethernet-phy";
                reg = <8>;
        };
 };
index c20607c..73722c0 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy@1 {
-               device_type = "ethernet-phy";
                reg = <1>;
        };
 
        ethphy1: ethernet-phy@2 {
-               device_type = "ethernet-phy";
                reg = <2>;
        };
 };
index 4d2a8db..4838478 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy@0 { /* Marvell 88E1318 */
-               device_type = "ethernet-phy";
                reg = <0>;
        };
 };
index ae1ccbe..743152f 100644 (file)
@@ -89,7 +89,6 @@
        status = "okay";
 
        ethphy0: ethernet-phy {
-               device_type = "ethernet-phy";
                 /* overwrite reg property in board file */
        };
 };
index 5c6a4f1..b88da93 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
 };
index c054ef6..b2f7cae 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
 
        ethphy1: ethernet-phy@1 {
-               device_type = "ethernet-phy";
                reg = <1>;
        };
 };
index 7b1cd99..1ff848d 100644 (file)
@@ -96,7 +96,6 @@
        status = "okay";
 
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
 };
index 40d6adf..5fc817c 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy@0 {
-               device_type = "ethernet-phy";
                reg = <0>;
        };
 };
index 39158cf..911f3a8 100644 (file)
        status = "okay";
 
        ethphy0: ethernet-phy {
-               device_type = "ethernet-phy";
                 /* overwrite reg property in board file */
        };
 };
index 81e6c40..6abf44d 100644 (file)
                        status = "disabled";
 
                        ethernet0-port@0 {
-                               device_type = "network";
                                compatible = "marvell,kirkwood-eth-port";
                                reg = <0>;
                                interrupts = <11>;
                        status = "disabled";
 
                        ethernet1-port@0 {
-                               device_type = "network";
                                compatible = "marvell,kirkwood-eth-port";
                                reg = <0>;
                                interrupts = <15>;
index fcc5bb6..5ed6c13 100644 (file)
@@ -58,7 +58,6 @@
        status = "okay";
 
        ethphy: ethernet-phy {
-               device_type = "ethernet-phy";
                reg = <8>;
        };
 };
index 9f51538..174d892 100644 (file)
                        status = "disabled";
 
                        ethernet-port@0 {
-                               device_type = "network";
                                compatible = "marvell,orion-eth-port";
                                reg = <0>;
                                /* overwrite MAC address in bootloader */
index 3f85df2..b620da2 100644 (file)
                        ranges ;
                        ethernet@81c00000 {
                                compatible = "xlnx,xps-ll-temac-1.01.b", "xlnx,xps-ll-temac-1.00.a";
-                               device_type = "network";
                                interrupt-parent = <&xps_intc_0>;
                                interrupts = < 5 2 >;
                                llink-connected = <&PIM3>;
index 28e9cd3..0839847 100644 (file)
 
                        PHY0: ethernet-phy@0 {
                                reg = <0>;
-                               device_type = "ethernet-phy";
                        };
 
                        PHY1: ethernet-phy@1 {
                                reg = <1>;
-                               device_type = "ethernet-phy";
                        };
                };
 
index 54fb60e..e4554ca 100644 (file)
 
                        PHY0: ethernet-phy@0 {
                                reg = <0>;
-                               device_type = "ethernet-phy";
                        };
 
                        PHY1: ethernet-phy@1 {
                                reg = <1>;
-                               device_type = "ethernet-phy";
                        };
                };
 
index 227290d..9198745 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <17 0x8>;
                                        reg = <0x1>;
-                                       device_type = "ethernet-phy";
                                };
 
                                phy1: ethernet-phy@1 {
                                        interrupt-parent = <&ipic>;
                                        interrupts = <18 0x8>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index f5d625f..1e32903 100644 (file)
                        compatible = "marvell,mv64360-mdio";
                        reg = <0x2000 4>;
                        PHY0: ethernet-phy@0 {
-                               device_type = "ethernet-phy";
                                interrupts = <76>;      /* GPP 12 */
                                interrupt-parent = <&PIC>;
                                reg = <0>;
                        };
                        PHY1: ethernet-phy@1 {
-                               device_type = "ethernet-phy";
                                interrupts = <76>;      /* GPP 12 */
                                interrupt-parent = <&PIC>;
                                reg = <1>;
                        };
                        PHY2: ethernet-phy@2 {
-                               device_type = "ethernet-phy";
                                interrupts = <76>;      /* GPP 12 */
                                interrupt-parent = <&PIC>;
                                reg = <2>;
                };
 
                MPSC0: mpsc@8000 {
-                       device_type = "serial";
                        compatible = "marvell,mv64360-mpsc";
                        reg = <0x8000 0x38>;
                        virtual-reg = <0xd8008000>;
                };
 
                MPSC1: mpsc@9000 {
-                       device_type = "serial";
                        compatible = "marvell,mv64360-mpsc";
                        reg = <0x9000 0x38>;
                        virtual-reg = <0xd8009000>;
index 756758f..8b3a49f 100644 (file)
@@ -67,7 +67,6 @@
                        ranges;
 
                        mdio {
-                               device_type = "mdio";
                                compatible = "fsl,ep8248e-mdio-bitbang";
                                #address-cells = <1>;
                                #size-cells = <0>;
                                PHY0: ethernet-phy@0 {
                                        interrupt-parent = <&PIC>;
                                        reg = <0>;
-                                       device_type = "ethernet-phy";
                                };
 
                                PHY1: ethernet-phy@1 {
                                        interrupt-parent = <&PIC>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                        };
                };
index ae57d62..2aa5bf5 100644 (file)
 
                        PHY0: ethernet-phy@0 {
                                reg = <0x0>;
-                               device_type = "ethernet-phy";
                        };
 
                        PHY1: ethernet-phy@1 {
                                reg = <0x1>;
-                               device_type = "ethernet-phy";
                        };
                };
 
index 38dcb96..83eb0fd 100644 (file)
                                        interrupt-parent = <&gef_pic>;
                                        interrupts = <0x9 0x4>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@2 {
                                        interrupt-parent = <&gef_pic>;
                                        interrupts = <0x8 0x4>;
                                        reg = <3>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index 5ab8932..d426dd3 100644 (file)
                                        interrupt-parent = <&gef_pic>;
                                        interrupts = <0x9 0x4>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@2 {
                                        interrupt-parent = <&gef_pic>;
                                        interrupts = <0x8 0x4>;
                                        reg = <3>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index d5341f5..5db3399 100644 (file)
                                        interrupt-parent = <&gef_pic>;
                                        interrupts = <0x9 0x4>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@2 {
                                        interrupt-parent = <&gef_pic>;
                                        interrupts = <0x8 0x4>;
                                        reg = <3>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index c6e11eb..43e6f0c 100644 (file)
@@ -58,7 +58,6 @@
                };
 
                MDIO: mdio@6000 {
-                       device_type = "mdio";
                        compatible = "tsi109-mdio", "tsi108-mdio";
                        reg = <0x00006000 0x00000050>;
                        #address-cells = <1>;
index 296c572..5d68236 100644 (file)
                                PHY1: ethernet-phy@1 {
                                        interrupt-parent = <&mpic>;
                                        reg = <0x1>;
-                                       device_type = "ethernet-phy";
                                };
 
                                PHY2: ethernet-phy@2 {
                                        interrupt-parent = <&mpic>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
                                PHY0: ethernet-phy@0 {
                                        interrupt-parent = <&mpic>;
                                        reg = <0x0>;
-                                       device_type = "ethernet-phy";
                                };
                        };
 
index 2544f3e..20a0d22 100644 (file)
@@ -68,7 +68,6 @@
                };
 
                MDIO: mdio@6000 {
-                       device_type = "mdio";
                        compatible = "tsi108-mdio";
                        reg = <0x6000 0x50>;
                        #address-cells = <1>;
index e802ebd..6d2cddf 100644 (file)
                        };
 
                        mdio@10d40 {
-                               device_type = "mdio";
                                compatible = "fsl,mpc8272ads-mdio-bitbang",
                                             "fsl,mpc8272-mdio-bitbang",
                                             "fsl,cpm2-mdio-bitbang";
                                        interrupt-parent = <&PIC>;
                                        interrupts = <23 8>;
                                        reg = <0x0>;
-                                       device_type = "ethernet-phy";
                                };
 
                                PHY1: ethernet-phy@1 {
                                        interrupt-parent = <&PIC>;
                                        interrupts = <23 8>;
                                        reg = <0x3>;
-                                       device_type = "ethernet-phy";
                                };
                        };
 
index 22b0832..651e4f5 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <17 0x8>;
                                        reg = <0x1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@2 {
                                        interrupt-parent = <&ipic>;
                                        interrupts = <19 0x8>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index f66d10d..9ce45f2 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <17 0x8>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index 1c836c6..4b635dc 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <20 0x8>;
                                        reg = <0x4>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index 811848e..4354684 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <20 0x8>;
                                        reg = <0x0>;
-                                       device_type = "ethernet-phy";
                                };
 
                                phy1: ethernet-phy@1 {
                                        interrupt-parent = <&ipic>;
                                        interrupts = <19 0x8>;
                                        reg = <0x1>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index da9c72d..0793cdf 100644 (file)
                                interrupt-parent = <&ipic>;
                                interrupts = <17 0x8>;
                                reg = <0x3>;
-                               device_type = "ethernet-phy";
                        };
                        phy4: ethernet-phy@04 {
                                interrupt-parent = <&ipic>;
                                interrupts = <18 0x8>;
                                reg = <0x4>;
-                               device_type = "ethernet-phy";
                        };
                };
 
index ff7b15b..91df1eb 100644 (file)
                                interrupt-parent = <&ipic>;
                                interrupts = <0>;
                                reg = <0x0>;
-                               device_type = "ethernet-phy";
                        };
                        phy04:ethernet-phy@04 {
                                interrupt-parent = <&ipic>;
                                interrupts = <0>;
                                reg = <0x4>;
-                               device_type = "ethernet-phy";
                        };
                };
 
index 2608679..cf85424 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <18 0x8>;
                                        reg = <0x1c>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index 6cd044d..f00066d 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <18 0x8>;
                                        reg = <0x1c>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index 4552864..4843c3f 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <17 0x8>;
                                        reg = <0x0>;
-                                       device_type = "ethernet-phy";
                                };
 
                                phy1: ethernet-phy@1 {
                                        interrupt-parent = <&ipic>;
                                        interrupts = <18 0x8>;
                                        reg = <0x1>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index 81dd513..ecb6ccd 100644 (file)
                                interrupt-parent = <&ipic>;
                                interrupts = <17 0x8>;
                                reg = <0x0>;
-                               device_type = "ethernet-phy";
                        };
                        phy1: ethernet-phy@01 {
                                interrupt-parent = <&ipic>;
                                interrupts = <18 0x8>;
                                reg = <0x1>;
-                               device_type = "ethernet-phy";
                        };
                        tbi-phy@2 {
                                device_type = "tbi-phy";
index b6e9aec..daeacbd 100644 (file)
                                reg = <0x2120 0x18>;
 
                                phy1: ethernet-phy@1 {
-                                       device_type = "ethernet-phy";
                                        compatible = "national,DP83848VV";
                                        reg = <1>;
                                };
 
                                phy2: ethernet-phy@2 {
-                                       device_type = "ethernet-phy";
                                        compatible = "broadcom,BCM5481UA2KMLG";
                                        reg = <2>;
                                };
 
                                phy3: ethernet-phy@3 {
-                                       device_type = "ethernet-phy";
                                        compatible = "national,DP83848VV";
                                        reg = <3>;
                                };
 
                                phy4: ethernet-phy@4 {
-                                       device_type = "ethernet-phy";
                                        compatible = "broadcom,BCM5481UA2KMLG";
                                        reg = <4>;
                                };
index cfccef5..c2c062e 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <17 0x8>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
 
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&ipic>;
                                        interrupts = <18 0x8>;
                                        reg = <0x3>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index 353deff..2b4b653 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <17 0x8>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index ef4a305..c0c7901 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <17 0x8>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
 
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&ipic>;
                                        interrupts = <18 0x8>;
                                        reg = <0x3>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index 538fcb9..1b82b77 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <17 0x8>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
 
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&ipic>;
                                        interrupts = <18 0x8>;
                                        reg = <0x3>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index 32333a9..74b6a53 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <17 0x8>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index 5387092..38e5048 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <17 0x8>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
 
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&ipic>;
                                        interrupts = <18 0x8>;
                                        reg = <0x3>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index 46224c2..3b5cbac 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <17 0x8>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index 7c3dde8..937ad7e 100644 (file)
                phy0: ethernet-phy@0 {
                        interrupts = <10 0x1 0 0>;
                        reg = <0>;
-                       device_type = "ethernet-phy";
                };
                phy1: ethernet-phy@1 {
                        interrupts = <10 0x1 0 0>;
                        reg = <1>;
-                       device_type = "ethernet-phy";
                };
                sgmii_phy0: sgmii-phy@0 {
                        interrupts = <6 1 0 0>;
index 2d31863..7ce274c 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <5 1>;
                                        reg = <0x0>;
-                                       device_type = "ethernet-phy";
                                };
                                phy1: ethernet-phy@1 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <5 1>;
                                        reg = <0x1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <7 1>;
                                        reg = <0x3>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index 1c03c26..4d35a3e 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <5 1>;
                                        reg = <0x0>;
-                                       device_type = "ethernet-phy";
                                };
                                phy1: ethernet-phy@1 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <5 1>;
                                        reg = <0x1>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index b219d03..47d986b 100644 (file)
                phy0: ethernet-phy@0 {
                        interrupts = <10 1 0 0>;
                        reg = <0x0>;
-                       device_type = "ethernet-phy";
                };
                phy1: ethernet-phy@1 {
                        interrupts = <10 1 0 0>;
                        reg = <0x1>;
-                       device_type = "ethernet-phy";
                };
 
                sgmii_phy0: sgmii-phy@0 {
index c61f525..3bc7d47 100644 (file)
                phy0: ethernet-phy@0 {
                        interrupts = <5 1 0 0>;
                        reg = <0x0>;
-                       device_type = "ethernet-phy";
                };
                phy1: ethernet-phy@1 {
                        interrupts = <5 1 0 0>;
                        reg = <0x1>;
-                       device_type = "ethernet-phy";
                };
                phy2: ethernet-phy@2 {
                        interrupts = <5 1 0 0>;
                        reg = <0x2>;
-                       device_type = "ethernet-phy";
                };
                phy3: ethernet-phy@3 {
                        interrupts = <5 1 0 0>;
                        reg = <0x3>;
-                       device_type = "ethernet-phy";
                };
                tbi0: tbi-phy@11 {
                        reg = <0x11>;
index 36a7ea1..f115f21 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <5 1>;
                                        reg = <0x0>;
-                                       device_type = "ethernet-phy";
                                };
                                phy1: ethernet-phy@1 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <5 1>;
                                        reg = <0x1>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index 1a43f5a..0d70921 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <5 1>;
                                        reg = <0x0>;
-                                       device_type = "ethernet-phy";
                                };
                                phy1: ethernet-phy@1 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <5 1>;
                                        reg = <0x1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@2 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <7 1>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <7 1>;
                                        reg = <0x3>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index 09598bb..bead2b6 100644 (file)
                        phy0: ethernet-phy@7 {
                                interrupts = <1 1 0 0>;
                                reg = <0x7>;
-                               device_type = "ethernet-phy";
                        };
                        phy1: ethernet-phy@1 {
                                interrupts = <2 1 0 0>;
                                reg = <0x1>;
-                               device_type = "ethernet-phy";
                        };
                        phy2: ethernet-phy@2 {
                                interrupts = <1 1 0 0>;
                                reg = <0x2>;
-                               device_type = "ethernet-phy";
                        };
                        phy3: ethernet-phy@3 {
                                interrupts = <2 1 0 0>;
                                reg = <0x3>;
-                               device_type = "ethernet-phy";
                        };
                        tbi0: tbi-phy@11 {
                                reg = <0x11>;
                                interrupt-parent = <&mpic>;
                                interrupts = <1 1 0 0>;
                                reg = <0x7>;
-                               device_type = "ethernet-phy";
                        };
                        qe_phy1: ethernet-phy@01 {
                                interrupt-parent = <&mpic>;
                                interrupts = <2 1 0 0>;
                                reg = <0x1>;
-                               device_type = "ethernet-phy";
                        };
                        qe_phy2: ethernet-phy@02 {
                                interrupt-parent = <&mpic>;
                                interrupts = <1 1 0 0>;
                                reg = <0x2>;
-                               device_type = "ethernet-phy";
                        };
                        qe_phy3: ethernet-phy@03 {
                                interrupt-parent = <&mpic>;
                                interrupts = <2 1 0 0>;
                                reg = <0x3>;
-                               device_type = "ethernet-phy";
                        };
                };
        };
index fe0d609..d0dcdaf 100644 (file)
                                interrupt-parent = <&mpic>;
                                interrupts = <1 1 0 0>;
                                reg = <0x7>;
-                               device_type = "ethernet-phy";
                        };
                        qe_phy1: ethernet-phy@01 {
                                interrupt-parent = <&mpic>;
                                interrupts = <2 1 0 0>;
                                reg = <0x1>;
-                               device_type = "ethernet-phy";
                        };
                        qe_phy2: ethernet-phy@02 {
                                interrupt-parent = <&mpic>;
                                interrupts = <3 1 0 0>;
                                reg = <0x2>;
-                               device_type = "ethernet-phy";
                        };
                        qe_phy3: ethernet-phy@03 {
                                interrupt-parent = <&mpic>;
                                interrupts = <4 1 0 0>;
                                reg = <0x3>;
-                               device_type = "ethernet-phy";
                        };
                        qe_phy5: ethernet-phy@04 {
                                reg = <0x04>;
-                               device_type = "ethernet-phy";
                        };
                        qe_phy7: ethernet-phy@06 {
                                reg = <0x6>;
-                               device_type = "ethernet-phy";
                        };
                        tbi1: tbi-phy@11 {
                                reg = <0x11>;
index 1e8666c..1c03060 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <10 1>;
                                        reg = <0>;
-                                       device_type = "ethernet-phy";
                                };
                                phy1: ethernet-phy@1 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <10 1>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@2 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <10 1>;
                                        reg = <2>;
-                                       device_type = "ethernet-phy";
                                };
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <10 1>;
                                        reg = <3>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index fd4cd4d..bb575e2 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <10 1>;
                                        reg = <0>;
-                                       device_type = "ethernet-phy";
                                };
                                phy1: ethernet-phy@1 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <10 1>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@2 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <10 1>;
                                        reg = <2>;
-                                       device_type = "ethernet-phy";
                                };
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <10 1>;
                                        reg = <3>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index bd70065..34c1f48 100644 (file)
@@ -74,7 +74,6 @@
                        #size-cells = <0>;
                        PHY: ethernet-phy@f {
                                reg = <0xf>;
-                               device_type = "ethernet-phy";
                        };
                };
 
index b123e9f..4e93bd9 100644 (file)
 
                        PHY0: ethernet-phy@0 {
                                reg = <0x0>;
-                               device_type = "ethernet-phy";
                        };
 
                        PHY1: ethernet-phy@1 {
                                reg = <0x1>;
-                               device_type = "ethernet-phy";
                        };
 
                        PHY2: ethernet-phy@2 {
                                reg = <0x2>;
-                               device_type = "ethernet-phy";
                        };
                };
 
index 97116f1..7655904 100644 (file)
                                interrupt-parent = <&mpic>;
                                interrupts = <4 1 0 0>;
                                reg = <0x0>;
-                               device_type = "ethernet-phy";
                        };
                        qe_phy1: ethernet-phy@03 {
                                interrupt-parent = <&mpic>;
                                interrupts = <5 1 0 0>;
                                reg = <0x3>;
-                               device_type = "ethernet-phy";
                        };
                        tbi-phy@11 {
                                reg = <0x11>;
index ac5729c..a2ed628 100644 (file)
                                interrupt-parent = <&mpic>;
                                interrupts = <4 1 0 0>;
                                reg = <0x6>;
-                               device_type = "ethernet-phy";
                        };
                        qe_phy1: ethernet-phy@03 {
                                interrupt-parent = <&mpic>;
                                interrupts = <5 1 0 0>;
                                reg = <0x3>;
-                               device_type = "ethernet-phy";
                        };
                        tbi-phy@11 {
                                reg = <0x11>;
index f97ecee..27b0699 100644 (file)
                phy0: ethernet-phy@0 {
                        interrupts = <7 1 0 0>;
                        reg = <0x0>;
-                       device_type = "ethernet-phy";
                };
                phy1: ethernet-phy@1 {
                        interrupts = <8 1 0 0>;
                        reg = <0x1>;
-                       device_type = "ethernet-phy";
                };
                tbi0: tbi-phy@11 {
                        reg = <0x11>;
index 0bb6693..0c525ff 100644 (file)
                        };
 
                        mdio@10d40 {
-                               device_type = "mdio";
                                compatible = "fsl,pq2fads-mdio-bitbang",
                                             "fsl,mpc8280-mdio-bitbang",
                                             "fsl,cpm2-mdio-bitbang";
                                        interrupt-parent = <&PIC>;
                                        interrupts = <25 2>;
                                        reg = <0x0>;
-                                       device_type = "ethernet-phy";
                                };
 
                                PHY1: ethernet-phy@1 {
                                        interrupt-parent = <&PIC>;
                                        interrupts = <25 2>;
                                        reg = <0x3>;
-                                       device_type = "ethernet-phy";
                                };
                        };
 
index 1ee6ff4..00afaac 100644 (file)
                mdio {
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       device_type = "mdio";
                        compatible = "marvell,mv64360-mdio";
                        PHY0: ethernet-phy@1 {
-                               device_type = "ethernet-phy";
                                compatible = "broadcom,bcm5421";
                                interrupts = <76>;      /* GPP 12 */
                                interrupt-parent = <&PIC>;
                                reg = <1>;
                        };
                        PHY1: ethernet-phy@3 {
-                               device_type = "ethernet-phy";
                                compatible = "broadcom,bcm5421";
                                interrupts = <76>;      /* GPP 12 */
                                interrupt-parent = <&PIC>;
                };
 
                MPSC0: mpsc@8000 {
-                       device_type = "serial";
                        compatible = "marvell,mv64360-mpsc";
                        reg = <0x8000 0x38>;
                        virtual-reg = <0xf1008000>;
                };
 
                MPSC1: mpsc@9000 {
-                       device_type = "serial";
                        compatible = "marvell,mv64360-mpsc";
                        reg = <0x9000 0x38>;
                        virtual-reg = <0xf1009000>;
index b1e45a8..fc89e00 100644 (file)
                                        interrupt-parent = <&ipic>;
                                        interrupts = <20 0x8>;
                                        reg = <0x19>;
-                                       device_type = "ethernet-phy";
                                };
 
                                phy1: ethernet-phy@1a {
                                        interrupt-parent = <&ipic>;
                                        interrupts = <21 0x8>;
                                        reg = <0x1a>;
-                                       device_type = "ethernet-phy";
                                };
 
                                tbi0: tbi-phy@11 {
index 33a47e2..9b505c8 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <0x6 0x1>;
                                        reg = <0x19>;
-                                       device_type = "ethernet-phy";
                                };
                                phy1: ethernet-phy@1a {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <0x7 0x1>;
                                        reg = <0x1a>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index 56bebce..631ede7 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <10 1>;
                                        reg = <0x1f>;
-                                       device_type = "ethernet-phy";
                                };
                                phy1: ethernet-phy@0 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <10 1>;
                                        reg = <0>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@1 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <10 1>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy3: ethernet-phy@2 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <10 1>;
                                        reg = <2>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index b670d03..78a72ee 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <5 4>;
                                        reg = <2>;
-                                       device_type = "ethernet-phy";
                                };
                                phy4: ethernet-phy@4 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <5 4>;
                                        reg = <4>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index 4f166b0..859f854 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <5 1>;
                                        reg = <0x2>;
-                                       device_type = "ethernet-phy";
                                };
                                phy1: ethernet-phy@4 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <5 1>;
                                        reg = <0x4>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index ed264d9..91cbd7a 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@2 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <2>;
-                                       device_type = "ethernet-phy";
                                };
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <3>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index 9252421..84dce2d 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@2 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <2>;
-                                       device_type = "ethernet-phy";
                                };
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <3>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index 6e1ac50..7a333dd 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@1 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <2>;
-                                       device_type = "ethernet-phy";
                                };
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <3>;
-                                       device_type = "ethernet-phy";
                                };
                                phy4: ethernet-phy@4 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <4>;
-                                       device_type = "ethernet-phy";
                                };
                                phy5: ethernet-phy@5 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <5>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index 161e75e..c737caf 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@1 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <2>;
-                                       device_type = "ethernet-phy";
                                };
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <3>;
-                                       device_type = "ethernet-phy";
                                };
                                phy4: ethernet-phy@4 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <4>;
-                                       device_type = "ethernet-phy";
                                };
                                phy5: ethernet-phy@5 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <5>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index aa6ff0d..d0416a5 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@2 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <2>;
-                                       device_type = "ethernet-phy";
                                };
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <3>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index 7665a16..f9a11eb 100644 (file)
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <1>;
-                                       device_type = "ethernet-phy";
                                };
                                phy2: ethernet-phy@2 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <2>;
-                                       device_type = "ethernet-phy";
                                };
                                phy3: ethernet-phy@3 {
                                        interrupt-parent = <&mpic>;
                                        interrupts = <8 1>;
                                        reg = <3>;
-                                       device_type = "ethernet-phy";
                                };
                                tbi0: tbi-phy@11 {
                                        reg = <0x11>;
index c3dba25..3d1446b 100644 (file)
                        #size-cells = <0>;
                        PHY: ethernet-phy@f {
                                reg = <0xf>;
-                               device_type = "ethernet-phy";
                        };
                };
 
index a3a8fad..c2dba7d 100644 (file)
@@ -448,7 +448,7 @@ static int __init mv64x60_device_setup(void)
        int err;
 
        id = 0;
-       for_each_compatible_node(np, "serial", "marvell,mv64360-mpsc") {
+       for_each_compatible_node(np, NULL, "marvell,mv64360-mpsc") {
                err = mv64x60_mpsc_device_setup(np, id++);
                if (err)
                        printk(KERN_ERR "Failed to initialize MV64x60 "
index 50a8138..3b8734b 100644 (file)
@@ -85,7 +85,7 @@ static void mv64x60_udbg_init(void)
        if (!stdout)
                return;
 
-       for_each_compatible_node(np, "serial", "marvell,mv64360-mpsc") {
+       for_each_compatible_node(np, NULL, "marvell,mv64360-mpsc") {
                if (np == stdout)
                        break;
        }
index f807d0e..ff85450 100644 (file)
@@ -415,6 +415,9 @@ static int __of_device_is_available(const struct device_node *device)
        const char *status;
        int statlen;
 
+       if (!device)
+               return 0;
+
        status = __of_get_property(device, "status", &statlen);
        if (status == NULL)
                return 1;
@@ -731,24 +734,42 @@ static
 const struct of_device_id *__of_match_node(const struct of_device_id *matches,
                                           const struct device_node *node)
 {
+       const char *cp;
+       int cplen, l;
+
        if (!matches)
                return NULL;
 
-       while (matches->name[0] || matches->type[0] || matches->compatible[0]) {
-               int match = 1;
-               if (matches->name[0])
-                       match &= node->name
-                               && !strcmp(matches->name, node->name);
-               if (matches->type[0])
-                       match &= node->type
-                               && !strcmp(matches->type, node->type);
-               if (matches->compatible[0])
-                       match &= __of_device_is_compatible(node,
-                                                          matches->compatible);
-               if (match)
-                       return matches;
-               matches++;
-       }
+       cp = __of_get_property(node, "compatible", &cplen);
+       do {
+               const struct of_device_id *m = matches;
+
+               /* Check against matches with current compatible string */
+               while (m->name[0] || m->type[0] || m->compatible[0]) {
+                       int match = 1;
+                       if (m->name[0])
+                               match &= node->name
+                                       && !strcmp(m->name, node->name);
+                       if (m->type[0])
+                               match &= node->type
+                                       && !strcmp(m->type, node->type);
+                       if (m->compatible[0])
+                               match &= cp
+                                       && !of_compat_cmp(m->compatible, cp,
+                                                       strlen(m->compatible));
+                       if (match)
+                               return m;
+                       m++;
+               }
+
+               /* Get node's next compatible string */ 
+               if (cp) {
+                       l = strlen(cp) + 1;
+                       cp += l;
+                       cplen -= l;
+               }
+       } while (cp && (cplen > 0));
+
        return NULL;
 }
 
@@ -757,7 +778,10 @@ const struct of_device_id *__of_match_node(const struct of_device_id *matches,
  *     @matches:       array of of device match structures to search in
  *     @node:          the of device structure to match against
  *
- *     Low level utility function used by device matching.
+ *     Low level utility function used by device matching. Matching order
+ *     is to compare each of the node's compatibles with all given matches
+ *     first. This implies node's compatible is sorted from specific to
+ *     generic while matches can be in any order.
  */
 const struct of_device_id *of_match_node(const struct of_device_id *matches,
                                         const struct device_node *node)
index 2721240..9bcf2cf 100644 (file)
@@ -216,6 +216,9 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)
                                goto fail;
                        }
 
+                       if (!of_device_is_available(newpar))
+                               match = 0;
+
                        /* Get #interrupt-cells and #address-cells of new
                         * parent
                         */
@@ -435,7 +438,8 @@ void __init of_irq_init(const struct of_device_id *matches)
        INIT_LIST_HEAD(&intc_parent_list);
 
        for_each_matching_node(np, matches) {
-               if (!of_find_property(np, "interrupt-controller", NULL))
+               if (!of_find_property(np, "interrupt-controller", NULL) ||
+                               !of_device_is_available(np))
                        continue;
                /*
                 * Here, we allocate and populate an intc_desc with the node