aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2010-04-13 19:12:29 -0400
committerGrant Likely <grant.likely@secretlab.ca>2010-05-18 18:10:44 -0400
commit61c7a080a5a061c976988fd4b844dfb468dda255 (patch)
tree8cb492b73f2755c38a6164d770da34d5af6486a0 /drivers
parentd12d42f744f805a9ccc33cd76f04b237cd83ce56 (diff)
of: Always use 'struct device.of_node' to get device node pointer.
The following structure elements duplicate the information in 'struct device.of_node' and so are being eliminated. This patch makes all readers of these elements use device.of_node instead. (struct of_device *)->node (struct dev_archdata *)->prom_node (sparc) (struct dev_archdata *)->of_node (powerpc & microblaze) Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ata/pata_macio.c2
-rw-r--r--drivers/ata/pata_mpc52xx.c10
-rw-r--r--drivers/ata/pata_of_platform.c2
-rw-r--r--drivers/ata/sata_fsl.c4
-rw-r--r--drivers/atm/fore200e.c16
-rw-r--r--drivers/block/swim3.c2
-rw-r--r--drivers/block/xsysace.c8
-rw-r--r--drivers/cdrom/viocd.c2
-rw-r--r--drivers/char/hw_random/n2-drv.c2
-rw-r--r--drivers/char/hw_random/pasemi-rng.c2
-rw-r--r--drivers/char/ipmi/ipmi_si_intf.c4
-rw-r--r--drivers/char/viotape.c2
-rw-r--r--drivers/char/xilinx_hwicap/xilinx_hwicap.c6
-rw-r--r--drivers/crypto/talitos.c2
-rw-r--r--drivers/dma/fsldma.c6
-rw-r--r--drivers/gpio/pca953x.c2
-rw-r--r--drivers/i2c/busses/i2c-cpm.c20
-rw-r--r--drivers/i2c/busses/i2c-ibm_iic.c4
-rw-r--r--drivers/i2c/busses/i2c-mpc.c17
-rw-r--r--drivers/ide/pmac.c10
-rw-r--r--drivers/infiniband/hw/ehca/ehca_main.c11
-rw-r--r--drivers/input/serio/i8042-sparcio.h2
-rw-r--r--drivers/input/serio/xilinx_ps2.c8
-rw-r--r--drivers/leds/leds-gpio.c2
-rw-r--r--drivers/macintosh/macio_asic.c16
-rw-r--r--drivers/macintosh/macio_sysfs.c6
-rw-r--r--drivers/macintosh/mediabay.c2
-rw-r--r--drivers/macintosh/rack-meter.c4
-rw-r--r--drivers/macintosh/therm_pm72.c2
-rw-r--r--drivers/mmc/host/of_mmc_spi.c4
-rw-r--r--drivers/mmc/host/sdhci-of-core.c2
-rw-r--r--drivers/mtd/maps/physmap_of.c6
-rw-r--r--drivers/mtd/maps/sun_uflash.c2
-rw-r--r--drivers/mtd/nand/fsl_elbc_nand.c6
-rw-r--r--drivers/mtd/nand/ndfc.c10
-rw-r--r--drivers/mtd/nand/pasemi_nand.c2
-rw-r--r--drivers/net/can/sja1000/sja1000_of_platform.c4
-rw-r--r--drivers/net/ehea/ehea_main.c14
-rw-r--r--drivers/net/fec_mpc52xx.c12
-rw-r--r--drivers/net/fec_mpc52xx_phy.c4
-rw-r--r--drivers/net/fs_enet/fs_enet-main.c8
-rw-r--r--drivers/net/fs_enet/mac-fcc.c8
-rw-r--r--drivers/net/fs_enet/mac-fec.c4
-rw-r--r--drivers/net/fs_enet/mac-scc.c6
-rw-r--r--drivers/net/fs_enet/mii-fec.c6
-rw-r--r--drivers/net/fsl_pq_mdio.c2
-rw-r--r--drivers/net/gianfar.c6
-rw-r--r--drivers/net/greth.c3
-rw-r--r--drivers/net/ibm_newemac/core.c13
-rw-r--r--drivers/net/ibm_newemac/debug.c9
-rw-r--r--drivers/net/ibm_newemac/debug.h4
-rw-r--r--drivers/net/ibm_newemac/mal.c28
-rw-r--r--drivers/net/ibm_newemac/rgmii.c12
-rw-r--r--drivers/net/ibm_newemac/tah.c7
-rw-r--r--drivers/net/ibm_newemac/zmii.c9
-rw-r--r--drivers/net/ll_temac_main.c10
-rw-r--r--drivers/net/myri_sbus.c2
-rw-r--r--drivers/net/niu.c10
-rw-r--r--drivers/net/phy/mdio-gpio.c6
-rw-r--r--drivers/net/sunbmac.c6
-rw-r--r--drivers/net/sunhme.c8
-rw-r--r--drivers/net/sunlance.c6
-rw-r--r--drivers/net/sunqe.c6
-rw-r--r--drivers/net/ucc_geth.c2
-rw-r--r--drivers/net/xilinx_emaclite.c10
-rw-r--r--drivers/of/device.c20
-rw-r--r--drivers/of/of_i2c.c2
-rw-r--r--drivers/of/of_mdio.c4
-rw-r--r--drivers/pcmcia/electra_cf.c2
-rw-r--r--drivers/sbus/char/bbc_envctrl.c4
-rw-r--r--drivers/sbus/char/bbc_i2c.c4
-rw-r--r--drivers/sbus/char/display7seg.c2
-rw-r--r--drivers/sbus/char/envctrl.c2
-rw-r--r--drivers/sbus/char/flash.c4
-rw-r--r--drivers/sbus/char/uctrl.c2
-rw-r--r--drivers/scsi/ibmvscsi/ibmvfc.c2
-rw-r--r--drivers/scsi/ibmvscsi/ibmvscsi.c2
-rw-r--r--drivers/scsi/qlogicpti.c10
-rw-r--r--drivers/scsi/sun_esp.c16
-rw-r--r--drivers/serial/apbuart.c2
-rw-r--r--drivers/serial/cpm_uart/cpm_uart_core.c2
-rw-r--r--drivers/serial/mpc52xx_uart.c8
-rw-r--r--drivers/serial/nwpserial.c2
-rw-r--r--drivers/serial/of_serial.c4
-rw-r--r--drivers/serial/pmac_zilog.c2
-rw-r--r--drivers/serial/sunhv.c2
-rw-r--r--drivers/serial/sunsab.c6
-rw-r--r--drivers/serial/sunsu.c6
-rw-r--r--drivers/serial/sunzilog.c8
-rw-r--r--drivers/serial/uartlite.c6
-rw-r--r--drivers/serial/ucc_uart.c2
-rw-r--r--drivers/spi/mpc52xx_psc_spi.c11
-rw-r--r--drivers/spi/mpc52xx_spi.c14
-rw-r--r--drivers/spi/spi_mpc8xxx.c8
-rw-r--r--drivers/usb/host/ehci-ppc-of.c2
-rw-r--r--drivers/usb/host/fhci-hcd.c4
-rw-r--r--drivers/usb/host/isp1760-if.c2
-rw-r--r--drivers/usb/host/ohci-ppc-of.c2
-rw-r--r--drivers/video/cg6.c2
-rw-r--r--drivers/video/ffb.c2
-rw-r--r--drivers/video/fsl-diu-fb.c2
-rw-r--r--drivers/video/platinumfb.c2
-rw-r--r--drivers/video/sunxvr1000.c2
-rw-r--r--drivers/video/xilinxfb.c18
-rw-r--r--drivers/watchdog/cpwd.c2
105 files changed, 321 insertions, 311 deletions
diff --git a/drivers/ata/pata_macio.c b/drivers/ata/pata_macio.c
index 211b6438b3a0..c74f13bc9876 100644
--- a/drivers/ata/pata_macio.c
+++ b/drivers/ata/pata_macio.c
@@ -1139,7 +1139,7 @@ static int __devinit pata_macio_attach(struct macio_dev *mdev,
1139 "Failed to allocate private memory\n"); 1139 "Failed to allocate private memory\n");
1140 return -ENOMEM; 1140 return -ENOMEM;
1141 } 1141 }
1142 priv->node = of_node_get(mdev->ofdev.node); 1142 priv->node = of_node_get(mdev->ofdev.dev.of_node);
1143 priv->mdev = mdev; 1143 priv->mdev = mdev;
1144 priv->dev = &mdev->ofdev.dev; 1144 priv->dev = &mdev->ofdev.dev;
1145 1145
diff --git a/drivers/ata/pata_mpc52xx.c b/drivers/ata/pata_mpc52xx.c
index 9f5b053611dd..4cce719add3f 100644
--- a/drivers/ata/pata_mpc52xx.c
+++ b/drivers/ata/pata_mpc52xx.c
@@ -694,7 +694,7 @@ mpc52xx_ata_probe(struct of_device *op, const struct of_device_id *match)
694 struct bcom_task *dmatsk = NULL; 694 struct bcom_task *dmatsk = NULL;
695 695
696 /* Get ipb frequency */ 696 /* Get ipb frequency */
697 ipb_freq = mpc5xxx_get_bus_frequency(op->node); 697 ipb_freq = mpc5xxx_get_bus_frequency(op->dev.of_node);
698 if (!ipb_freq) { 698 if (!ipb_freq) {
699 dev_err(&op->dev, "could not determine IPB bus frequency\n"); 699 dev_err(&op->dev, "could not determine IPB bus frequency\n");
700 return -ENODEV; 700 return -ENODEV;
@@ -702,7 +702,7 @@ mpc52xx_ata_probe(struct of_device *op, const struct of_device_id *match)
702 702
703 /* Get device base address from device tree, request the region 703 /* Get device base address from device tree, request the region
704 * and ioremap it. */ 704 * and ioremap it. */
705 rv = of_address_to_resource(op->node, 0, &res_mem); 705 rv = of_address_to_resource(op->dev.of_node, 0, &res_mem);
706 if (rv) { 706 if (rv) {
707 dev_err(&op->dev, "could not determine device base address\n"); 707 dev_err(&op->dev, "could not determine device base address\n");
708 return rv; 708 return rv;
@@ -735,14 +735,14 @@ mpc52xx_ata_probe(struct of_device *op, const struct of_device_id *match)
735 * The MPC5200 ATA controller supports MWDMA modes 0, 1 and 2 and 735 * The MPC5200 ATA controller supports MWDMA modes 0, 1 and 2 and
736 * UDMA modes 0, 1 and 2. 736 * UDMA modes 0, 1 and 2.
737 */ 737 */
738 prop = of_get_property(op->node, "mwdma-mode", &proplen); 738 prop = of_get_property(op->dev.of_node, "mwdma-mode", &proplen);
739 if ((prop) && (proplen >= 4)) 739 if ((prop) && (proplen >= 4))
740 mwdma_mask = ATA_MWDMA2 & ((1 << (*prop + 1)) - 1); 740 mwdma_mask = ATA_MWDMA2 & ((1 << (*prop + 1)) - 1);
741 prop = of_get_property(op->node, "udma-mode", &proplen); 741 prop = of_get_property(op->dev.of_node, "udma-mode", &proplen);
742 if ((prop) && (proplen >= 4)) 742 if ((prop) && (proplen >= 4))
743 udma_mask = ATA_UDMA2 & ((1 << (*prop + 1)) - 1); 743 udma_mask = ATA_UDMA2 & ((1 << (*prop + 1)) - 1);
744 744
745 ata_irq = irq_of_parse_and_map(op->node, 0); 745 ata_irq = irq_of_parse_and_map(op->dev.of_node, 0);
746 if (ata_irq == NO_IRQ) { 746 if (ata_irq == NO_IRQ) {
747 dev_err(&op->dev, "error mapping irq\n"); 747 dev_err(&op->dev, "error mapping irq\n");
748 return -EINVAL; 748 return -EINVAL;
diff --git a/drivers/ata/pata_of_platform.c b/drivers/ata/pata_of_platform.c
index 1f18ad9e4fe1..19da29f011db 100644
--- a/drivers/ata/pata_of_platform.c
+++ b/drivers/ata/pata_of_platform.c
@@ -18,7 +18,7 @@ static int __devinit pata_of_platform_probe(struct of_device *ofdev,
18 const struct of_device_id *match) 18 const struct of_device_id *match)
19{ 19{
20 int ret; 20 int ret;
21 struct device_node *dn = ofdev->node; 21 struct device_node *dn = ofdev->dev.of_node;
22 struct resource io_res; 22 struct resource io_res;
23 struct resource ctl_res; 23 struct resource ctl_res;
24 struct resource irq_res; 24 struct resource irq_res;
diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
index a69192b38b43..e3339e25b152 100644
--- a/drivers/ata/sata_fsl.c
+++ b/drivers/ata/sata_fsl.c
@@ -1313,7 +1313,7 @@ static int sata_fsl_probe(struct of_device *ofdev,
1313 dev_printk(KERN_INFO, &ofdev->dev, 1313 dev_printk(KERN_INFO, &ofdev->dev,
1314 "Sata FSL Platform/CSB Driver init\n"); 1314 "Sata FSL Platform/CSB Driver init\n");
1315 1315
1316 hcr_base = of_iomap(ofdev->node, 0); 1316 hcr_base = of_iomap(ofdev->dev.of_node, 0);
1317 if (!hcr_base) 1317 if (!hcr_base)
1318 goto error_exit_with_cleanup; 1318 goto error_exit_with_cleanup;
1319 1319
@@ -1332,7 +1332,7 @@ static int sata_fsl_probe(struct of_device *ofdev,
1332 host_priv->ssr_base = ssr_base; 1332 host_priv->ssr_base = ssr_base;
1333 host_priv->csr_base = csr_base; 1333 host_priv->csr_base = csr_base;
1334 1334
1335 irq = irq_of_parse_and_map(ofdev->node, 0); 1335 irq = irq_of_parse_and_map(ofdev->dev.of_node, 0);
1336 if (irq < 0) { 1336 if (irq < 0) {
1337 dev_printk(KERN_ERR, &ofdev->dev, "invalid irq from platform\n"); 1337 dev_printk(KERN_ERR, &ofdev->dev, "invalid irq from platform\n");
1338 goto error_exit_with_cleanup; 1338 goto error_exit_with_cleanup;
diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c
index f7d6ebaa0418..593a03a376e4 100644
--- a/drivers/atm/fore200e.c
+++ b/drivers/atm/fore200e.c
@@ -789,7 +789,7 @@ static int __init fore200e_sba_map(struct fore200e *fore200e)
789 fore200e->bus->write(0x02, fore200e->regs.sba.isr); /* XXX hardwired interrupt level */ 789 fore200e->bus->write(0x02, fore200e->regs.sba.isr); /* XXX hardwired interrupt level */
790 790
791 /* get the supported DVMA burst sizes */ 791 /* get the supported DVMA burst sizes */
792 bursts = of_getintprop_default(op->node->parent, "burst-sizes", 0x00); 792 bursts = of_getintprop_default(op->dev.of_node->parent, "burst-sizes", 0x00);
793 793
794 if (sbus_can_dma_64bit()) 794 if (sbus_can_dma_64bit())
795 sbus_set_sbus64(&op->dev, bursts); 795 sbus_set_sbus64(&op->dev, bursts);
@@ -820,18 +820,20 @@ static int __init fore200e_sba_prom_read(struct fore200e *fore200e, struct prom_
820 const u8 *prop; 820 const u8 *prop;
821 int len; 821 int len;
822 822
823 prop = of_get_property(op->node, "madaddrlo2", &len); 823 prop = of_get_property(op->dev.of_node, "madaddrlo2", &len);
824 if (!prop) 824 if (!prop)
825 return -ENODEV; 825 return -ENODEV;
826 memcpy(&prom->mac_addr[4], prop, 4); 826 memcpy(&prom->mac_addr[4], prop, 4);
827 827
828 prop = of_get_property(op->node, "madaddrhi4", &len); 828 prop = of_get_property(op->dev.of_node, "madaddrhi4", &len);
829 if (!prop) 829 if (!prop)
830 return -ENODEV; 830 return -ENODEV;
831 memcpy(&prom->mac_addr[2], prop, 4); 831 memcpy(&prom->mac_addr[2], prop, 4);
832 832
833 prom->serial_number = of_getintprop_default(op->node, "serialnumber", 0); 833 prom->serial_number = of_getintprop_default(op->dev.of_node,
834 prom->hw_revision = of_getintprop_default(op->node, "promversion", 0); 834 "serialnumber", 0);
835 prom->hw_revision = of_getintprop_default(op->dev.of_node,
836 "promversion", 0);
835 837
836 return 0; 838 return 0;
837} 839}
@@ -841,10 +843,10 @@ static int fore200e_sba_proc_read(struct fore200e *fore200e, char *page)
841 struct of_device *op = fore200e->bus_dev; 843 struct of_device *op = fore200e->bus_dev;
842 const struct linux_prom_registers *regs; 844 const struct linux_prom_registers *regs;
843 845
844 regs = of_get_property(op->node, "reg", NULL); 846 regs = of_get_property(op->dev.of_node, "reg", NULL);
845 847
846 return sprintf(page, " SBUS slot/device:\t\t%d/'%s'\n", 848 return sprintf(page, " SBUS slot/device:\t\t%d/'%s'\n",
847 (regs ? regs->which_io : 0), op->node->name); 849 (regs ? regs->which_io : 0), op->dev.of_node->name);
848} 850}
849#endif /* CONFIG_SBUS */ 851#endif /* CONFIG_SBUS */
850 852
diff --git a/drivers/block/swim3.c b/drivers/block/swim3.c
index 59ca2b77b574..52f2d11bc7b9 100644
--- a/drivers/block/swim3.c
+++ b/drivers/block/swim3.c
@@ -1004,7 +1004,7 @@ static const struct block_device_operations floppy_fops = {
1004 1004
1005static int swim3_add_device(struct macio_dev *mdev, int index) 1005static int swim3_add_device(struct macio_dev *mdev, int index)
1006{ 1006{
1007 struct device_node *swim = mdev->ofdev.node; 1007 struct device_node *swim = mdev->ofdev.dev.of_node;
1008 struct floppy_state *fs = &floppy_states[index]; 1008 struct floppy_state *fs = &floppy_states[index];
1009 int rc = -EBUSY; 1009 int rc = -EBUSY;
1010 1010
diff --git a/drivers/block/xsysace.c b/drivers/block/xsysace.c
index e1c95e208a66..3094909b0613 100644
--- a/drivers/block/xsysace.c
+++ b/drivers/block/xsysace.c
@@ -1198,10 +1198,10 @@ ace_of_probe(struct of_device *op, const struct of_device_id *match)
1198 dev_dbg(&op->dev, "ace_of_probe(%p, %p)\n", op, match); 1198 dev_dbg(&op->dev, "ace_of_probe(%p, %p)\n", op, match);
1199 1199
1200 /* device id */ 1200 /* device id */
1201 id = of_get_property(op->node, "port-number", NULL); 1201 id = of_get_property(op->dev.of_node, "port-number", NULL);
1202 1202
1203 /* physaddr */ 1203 /* physaddr */
1204 rc = of_address_to_resource(op->node, 0, &res); 1204 rc = of_address_to_resource(op->dev.of_node, 0, &res);
1205 if (rc) { 1205 if (rc) {
1206 dev_err(&op->dev, "invalid address\n"); 1206 dev_err(&op->dev, "invalid address\n");
1207 return rc; 1207 return rc;
@@ -1209,11 +1209,11 @@ ace_of_probe(struct of_device *op, const struct of_device_id *match)
1209 physaddr = res.start; 1209 physaddr = res.start;
1210 1210
1211 /* irq */ 1211 /* irq */
1212 irq = irq_of_parse_and_map(op->node, 0); 1212 irq = irq_of_parse_and_map(op->dev.of_node, 0);
1213 1213
1214 /* bus width */ 1214 /* bus width */
1215 bus_width = ACE_BUS_WIDTH_16; 1215 bus_width = ACE_BUS_WIDTH_16;
1216 if (of_find_property(op->node, "8-bit", NULL)) 1216 if (of_find_property(op->dev.of_node, "8-bit", NULL))
1217 bus_width = ACE_BUS_WIDTH_8; 1217 bus_width = ACE_BUS_WIDTH_8;
1218 1218
1219 /* Call the bus-independant setup code */ 1219 /* Call the bus-independant setup code */
diff --git a/drivers/cdrom/viocd.c b/drivers/cdrom/viocd.c
index cc435be0bc13..451cd7071b1d 100644
--- a/drivers/cdrom/viocd.c
+++ b/drivers/cdrom/viocd.c
@@ -567,7 +567,7 @@ static int viocd_probe(struct vio_dev *vdev, const struct vio_device_id *id)
567 struct disk_info *d; 567 struct disk_info *d;
568 struct cdrom_device_info *c; 568 struct cdrom_device_info *c;
569 struct request_queue *q; 569 struct request_queue *q;
570 struct device_node *node = vdev->dev.archdata.of_node; 570 struct device_node *node = vdev->dev.of_node;
571 571
572 deviceno = vdev->unit_address; 572 deviceno = vdev->unit_address;
573 if (deviceno >= VIOCD_MAX_CD) 573 if (deviceno >= VIOCD_MAX_CD)
diff --git a/drivers/char/hw_random/n2-drv.c b/drivers/char/hw_random/n2-drv.c
index 10f868eefaa6..0861d99cd75b 100644
--- a/drivers/char/hw_random/n2-drv.c
+++ b/drivers/char/hw_random/n2-drv.c
@@ -660,7 +660,7 @@ static int __devinit n2rng_probe(struct of_device *op,
660 np->hvapi_major); 660 np->hvapi_major);
661 goto out_hvapi_unregister; 661 goto out_hvapi_unregister;
662 } 662 }
663 np->num_units = of_getintprop_default(op->node, 663 np->num_units = of_getintprop_default(op->dev.of_node,
664 "rng-#units", 0); 664 "rng-#units", 0);
665 if (!np->num_units) { 665 if (!np->num_units) {
666 dev_err(&op->dev, "VF RNG lacks rng-#units property\n"); 666 dev_err(&op->dev, "VF RNG lacks rng-#units property\n");
diff --git a/drivers/char/hw_random/pasemi-rng.c b/drivers/char/hw_random/pasemi-rng.c
index 7fa61dd1d9d9..b213855bae68 100644
--- a/drivers/char/hw_random/pasemi-rng.c
+++ b/drivers/char/hw_random/pasemi-rng.c
@@ -98,7 +98,7 @@ static int __devinit rng_probe(struct of_device *ofdev,
98 const struct of_device_id *match) 98 const struct of_device_id *match)
99{ 99{
100 void __iomem *rng_regs; 100 void __iomem *rng_regs;
101 struct device_node *rng_np = ofdev->node; 101 struct device_node *rng_np = ofdev->dev.of_node;
102 struct resource res; 102 struct resource res;
103 int err = 0; 103 int err = 0;
104 104
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index 4462b113ba3f..2b44a0e1b988 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -2469,7 +2469,7 @@ static int __devinit ipmi_of_probe(struct of_device *dev,
2469 struct smi_info *info; 2469 struct smi_info *info;
2470 struct resource resource; 2470 struct resource resource;
2471 const int *regsize, *regspacing, *regshift; 2471 const int *regsize, *regspacing, *regshift;
2472 struct device_node *np = dev->node; 2472 struct device_node *np = dev->dev.of_node;
2473 int ret; 2473 int ret;
2474 int proplen; 2474 int proplen;
2475 2475
@@ -2525,7 +2525,7 @@ static int __devinit ipmi_of_probe(struct of_device *dev,
2525 info->io.regspacing = regspacing ? *regspacing : DEFAULT_REGSPACING; 2525 info->io.regspacing = regspacing ? *regspacing : DEFAULT_REGSPACING;
2526 info->io.regshift = regshift ? *regshift : 0; 2526 info->io.regshift = regshift ? *regshift : 0;
2527 2527
2528 info->irq = irq_of_parse_and_map(dev->node, 0); 2528 info->irq = irq_of_parse_and_map(dev->dev.of_node, 0);
2529 info->dev = &dev->dev; 2529 info->dev = &dev->dev;
2530 2530
2531 dev_dbg(&dev->dev, "addr 0x%lx regsize %d spacing %d irq %x\n", 2531 dev_dbg(&dev->dev, "addr 0x%lx regsize %d spacing %d irq %x\n",
diff --git a/drivers/char/viotape.c b/drivers/char/viotape.c
index 1144a04cda6e..42f7fa442ff8 100644
--- a/drivers/char/viotape.c
+++ b/drivers/char/viotape.c
@@ -866,7 +866,7 @@ static int viotape_probe(struct vio_dev *vdev, const struct vio_device_id *id)
866{ 866{
867 int i = vdev->unit_address; 867 int i = vdev->unit_address;
868 int j; 868 int j;
869 struct device_node *node = vdev->dev.archdata.of_node; 869 struct device_node *node = vdev->dev.of_node;
870 870
871 if (i >= VIOTAPE_MAX_TAPE) 871 if (i >= VIOTAPE_MAX_TAPE)
872 return -ENODEV; 872 return -ENODEV;
diff --git a/drivers/char/xilinx_hwicap/xilinx_hwicap.c b/drivers/char/xilinx_hwicap/xilinx_hwicap.c
index 7261b8d9087c..5a0a31e2029c 100644
--- a/drivers/char/xilinx_hwicap/xilinx_hwicap.c
+++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.c
@@ -772,18 +772,18 @@ hwicap_of_probe(struct of_device *op, const struct of_device_id *match)
772 772
773 dev_dbg(&op->dev, "hwicap_of_probe(%p, %p)\n", op, match); 773 dev_dbg(&op->dev, "hwicap_of_probe(%p, %p)\n", op, match);
774 774
775 rc = of_address_to_resource(op->node, 0, &res); 775 rc = of_address_to_resource(op->dev.of_node, 0, &res);
776 if (rc) { 776 if (rc) {
777 dev_err(&op->dev, "invalid address\n"); 777 dev_err(&op->dev, "invalid address\n");
778 return rc; 778 return rc;
779 } 779 }
780 780
781 id = of_get_property(op->node, "port-number", NULL); 781 id = of_get_property(op->dev.of_node, "port-number", NULL);
782 782
783 /* It's most likely that we're using V4, if the family is not 783 /* It's most likely that we're using V4, if the family is not
784 specified */ 784 specified */
785 regs = &v4_config_registers; 785 regs = &v4_config_registers;
786 family = of_get_property(op->node, "xlnx,family", NULL); 786 family = of_get_property(op->dev.of_node, "xlnx,family", NULL);
787 787
788 if (family) { 788 if (family) {
789 if (!strcmp(family, "virtex2p")) { 789 if (!strcmp(family, "virtex2p")) {
diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c
index dc558a097311..5a02f3482dba 100644
--- a/drivers/crypto/talitos.c
+++ b/drivers/crypto/talitos.c
@@ -1807,7 +1807,7 @@ static int talitos_probe(struct of_device *ofdev,
1807 const struct of_device_id *match) 1807 const struct of_device_id *match)
1808{ 1808{
1809 struct device *dev = &ofdev->dev; 1809 struct device *dev = &ofdev->dev;
1810 struct device_node *np = ofdev->node; 1810 struct device_node *np = ofdev->dev.of_node;
1811 struct talitos_private *priv; 1811 struct talitos_private *priv;
1812 const unsigned int *prop; 1812 const unsigned int *prop;
1813 int i, err; 1813 int i, err;
diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c
index 88f470f0d820..0e376eb37417 100644
--- a/drivers/dma/fsldma.c
+++ b/drivers/dma/fsldma.c
@@ -1313,7 +1313,7 @@ static int __devinit fsldma_of_probe(struct of_device *op,
1313 INIT_LIST_HEAD(&fdev->common.channels); 1313 INIT_LIST_HEAD(&fdev->common.channels);
1314 1314
1315 /* ioremap the registers for use */ 1315 /* ioremap the registers for use */
1316 fdev->regs = of_iomap(op->node, 0); 1316 fdev->regs = of_iomap(op->dev.of_node, 0);
1317 if (!fdev->regs) { 1317 if (!fdev->regs) {
1318 dev_err(&op->dev, "unable to ioremap registers\n"); 1318 dev_err(&op->dev, "unable to ioremap registers\n");
1319 err = -ENOMEM; 1319 err = -ENOMEM;
@@ -1321,7 +1321,7 @@ static int __devinit fsldma_of_probe(struct of_device *op,
1321 } 1321 }
1322 1322
1323 /* map the channel IRQ if it exists, but don't hookup the handler yet */ 1323 /* map the channel IRQ if it exists, but don't hookup the handler yet */
1324 fdev->irq = irq_of_parse_and_map(op->node, 0); 1324 fdev->irq = irq_of_parse_and_map(op->dev.of_node, 0);
1325 1325
1326 dma_cap_set(DMA_MEMCPY, fdev->common.cap_mask); 1326 dma_cap_set(DMA_MEMCPY, fdev->common.cap_mask);
1327 dma_cap_set(DMA_INTERRUPT, fdev->common.cap_mask); 1327 dma_cap_set(DMA_INTERRUPT, fdev->common.cap_mask);
@@ -1343,7 +1343,7 @@ static int __devinit fsldma_of_probe(struct of_device *op,
1343 * of_platform_bus_remove(). Instead, we manually instantiate every DMA 1343 * of_platform_bus_remove(). Instead, we manually instantiate every DMA
1344 * channel object. 1344 * channel object.
1345 */ 1345 */
1346 for_each_child_of_node(op->node, child) { 1346 for_each_child_of_node(op->dev.of_node, child) {
1347 if (of_device_is_compatible(child, "fsl,eloplus-dma-channel")) { 1347 if (of_device_is_compatible(child, "fsl,eloplus-dma-channel")) {
1348 fsl_dma_chan_probe(fdev, child, 1348 fsl_dma_chan_probe(fdev, child,
1349 FSL_DMA_IP_85XX | FSL_DMA_BIG_ENDIAN, 1349 FSL_DMA_IP_85XX | FSL_DMA_BIG_ENDIAN,
diff --git a/drivers/gpio/pca953x.c b/drivers/gpio/pca953x.c
index 7d521e1d17e1..1db114b09990 100644
--- a/drivers/gpio/pca953x.c
+++ b/drivers/gpio/pca953x.c
@@ -437,7 +437,7 @@ pca953x_get_alt_pdata(struct i2c_client *client)
437 struct device_node *node; 437 struct device_node *node;
438 const uint16_t *val; 438 const uint16_t *val;
439 439
440 node = dev_archdata_get_node(&client->dev.archdata); 440 node = client->dev.of_node;
441 if (node == NULL) 441 if (node == NULL)
442 return NULL; 442 return NULL;
443 443
diff --git a/drivers/i2c/busses/i2c-cpm.c b/drivers/i2c/busses/i2c-cpm.c
index 9c2e10082b79..48d2c1a0d4ce 100644
--- a/drivers/i2c/busses/i2c-cpm.c
+++ b/drivers/i2c/busses/i2c-cpm.c
@@ -440,7 +440,7 @@ static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm)
440 440
441 init_waitqueue_head(&cpm->i2c_wait); 441 init_waitqueue_head(&cpm->i2c_wait);
442 442
443 cpm->irq = of_irq_to_resource(ofdev->node, 0, NULL); 443 cpm->irq = of_irq_to_resource(ofdev->dev.of_node, 0, NULL);
444 if (cpm->irq == NO_IRQ) 444 if (cpm->irq == NO_IRQ)
445 return -EINVAL; 445 return -EINVAL;
446 446
@@ -451,13 +451,13 @@ static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm)
451 return ret; 451 return ret;
452 452
453 /* I2C parameter RAM */ 453 /* I2C parameter RAM */
454 i2c_base = of_iomap(ofdev->node, 1); 454 i2c_base = of_iomap(ofdev->dev.of_node, 1);
455 if (i2c_base == NULL) { 455 if (i2c_base == NULL) {
456 ret = -EINVAL; 456 ret = -EINVAL;
457 goto out_irq; 457 goto out_irq;
458 } 458 }
459 459
460 if (of_device_is_compatible(ofdev->node, "fsl,cpm1-i2c")) { 460 if (of_device_is_compatible(ofdev->dev.of_node, "fsl,cpm1-i2c")) {
461 461
462 /* Check for and use a microcode relocation patch. */ 462 /* Check for and use a microcode relocation patch. */
463 cpm->i2c_ram = i2c_base; 463 cpm->i2c_ram = i2c_base;
@@ -474,7 +474,7 @@ static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm)
474 474
475 cpm->version = 1; 475 cpm->version = 1;
476 476
477 } else if (of_device_is_compatible(ofdev->node, "fsl,cpm2-i2c")) { 477 } else if (of_device_is_compatible(ofdev->dev.of_node, "fsl,cpm2-i2c")) {
478 cpm->i2c_addr = cpm_muram_alloc(sizeof(struct i2c_ram), 64); 478 cpm->i2c_addr = cpm_muram_alloc(sizeof(struct i2c_ram), 64);
479 cpm->i2c_ram = cpm_muram_addr(cpm->i2c_addr); 479 cpm->i2c_ram = cpm_muram_addr(cpm->i2c_addr);
480 out_be16(i2c_base, cpm->i2c_addr); 480 out_be16(i2c_base, cpm->i2c_addr);
@@ -489,24 +489,24 @@ static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm)
489 } 489 }
490 490
491 /* I2C control/status registers */ 491 /* I2C control/status registers */
492 cpm->i2c_reg = of_iomap(ofdev->node, 0); 492 cpm->i2c_reg = of_iomap(ofdev->dev.of_node, 0);
493 if (cpm->i2c_reg == NULL) { 493 if (cpm->i2c_reg == NULL) {
494 ret = -EINVAL; 494 ret = -EINVAL;
495 goto out_ram; 495 goto out_ram;
496 } 496 }
497 497
498 data = of_get_property(ofdev->node, "fsl,cpm-command", &len); 498 data = of_get_property(ofdev->dev.of_node, "fsl,cpm-command", &len);
499 if (!data || len != 4) { 499 if (!data || len != 4) {
500 ret = -EINVAL; 500 ret = -EINVAL;
501 goto out_reg; 501 goto out_reg;
502 } 502 }
503 cpm->cp_command = *data; 503 cpm->cp_command = *data;
504 504
505 data = of_get_property(ofdev->node, "linux,i2c-class", &len); 505 data = of_get_property(ofdev->dev.of_node, "linux,i2c-class", &len);
506 if (data && len == 4) 506 if (data && len == 4)
507 cpm->adap.class = *data; 507 cpm->adap.class = *data;
508 508
509 data = of_get_property(ofdev->node, "clock-frequency", &len); 509 data = of_get_property(ofdev->dev.of_node, "clock-frequency", &len);
510 if (data && len == 4) 510 if (data && len == 4)
511 cpm->freq = *data; 511 cpm->freq = *data;
512 else 512 else
@@ -661,7 +661,7 @@ static int __devinit cpm_i2c_probe(struct of_device *ofdev,
661 661
662 /* register new adapter to i2c module... */ 662 /* register new adapter to i2c module... */
663 663
664 data = of_get_property(ofdev->node, "linux,i2c-index", &len); 664 data = of_get_property(ofdev->dev.of_node, "linux,i2c-index", &len);
665 if (data && len == 4) { 665 if (data && len == 4) {
666 cpm->adap.nr = *data; 666 cpm->adap.nr = *data;
667 result = i2c_add_numbered_adapter(&cpm->adap); 667 result = i2c_add_numbered_adapter(&cpm->adap);
@@ -679,7 +679,7 @@ static int __devinit cpm_i2c_probe(struct of_device *ofdev,
679 /* 679 /*
680 * register OF I2C devices 680 * register OF I2C devices
681 */ 681 */
682 of_register_i2c_devices(&cpm->adap, ofdev->node); 682 of_register_i2c_devices(&cpm->adap, ofdev->dev.of_node);
683 683
684 return 0; 684 return 0;
685out_shut: 685out_shut:
diff --git a/drivers/i2c/busses/i2c-ibm_iic.c b/drivers/i2c/busses/i2c-ibm_iic.c
index b1bc6e277d2a..e66dc83953c5 100644
--- a/drivers/i2c/busses/i2c-ibm_iic.c
+++ b/drivers/i2c/busses/i2c-ibm_iic.c
@@ -664,7 +664,7 @@ static inline u8 iic_clckdiv(unsigned int opb)
664static int __devinit iic_request_irq(struct of_device *ofdev, 664static int __devinit iic_request_irq(struct of_device *ofdev,
665 struct ibm_iic_private *dev) 665 struct ibm_iic_private *dev)
666{ 666{
667 struct device_node *np = ofdev->node; 667 struct device_node *np = ofdev->dev.of_node;
668 int irq; 668 int irq;
669 669
670 if (iic_force_poll) 670 if (iic_force_poll)
@@ -695,7 +695,7 @@ static int __devinit iic_request_irq(struct of_device *ofdev,
695static int __devinit iic_probe(struct of_device *ofdev, 695static int __devinit iic_probe(struct of_device *ofdev,
696 const struct of_device_id *match) 696 const struct of_device_id *match)
697{ 697{
698 struct device_node *np = ofdev->node; 698 struct device_node *np = ofdev->dev.of_node;
699 struct ibm_iic_private *dev; 699 struct ibm_iic_private *dev;
700 struct i2c_adapter *adap; 700 struct i2c_adapter *adap;
701 const u32 *freq; 701 const u32 *freq;
diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
index f1321f763789..69473b6c260c 100644
--- a/drivers/i2c/busses/i2c-mpc.c
+++ b/drivers/i2c/busses/i2c-mpc.c
@@ -560,14 +560,14 @@ static int __devinit fsl_i2c_probe(struct of_device *op,
560 560
561 init_waitqueue_head(&i2c->queue); 561 init_waitqueue_head(&i2c->queue);
562 562
563 i2c->base = of_iomap(op->node, 0); 563 i2c->base = of_iomap(op->dev.of_node, 0);
564 if (!i2c->base) { 564 if (!i2c->base) {
565 dev_err(i2c->dev, "failed to map controller\n"); 565 dev_err(i2c->dev, "failed to map controller\n");
566 result = -ENOMEM; 566 result = -ENOMEM;
567 goto fail_map; 567 goto fail_map;
568 } 568 }
569 569
570 i2c->irq = irq_of_parse_and_map(op->node, 0); 570 i2c->irq = irq_of_parse_and_map(op->dev.of_node, 0);
571 if (i2c->irq != NO_IRQ) { /* i2c->irq = NO_IRQ implies polling */ 571 if (i2c->irq != NO_IRQ) { /* i2c->irq = NO_IRQ implies polling */
572 result = request_irq(i2c->irq, mpc_i2c_isr, 572 result = request_irq(i2c->irq, mpc_i2c_isr,
573 IRQF_SHARED, "i2c-mpc", i2c); 573 IRQF_SHARED, "i2c-mpc", i2c);
@@ -577,21 +577,22 @@ static int __devinit fsl_i2c_probe(struct of_device *op,
577 } 577 }
578 } 578 }
579 579
580 if (of_get_property(op->node, "fsl,preserve-clocking", NULL)) { 580 if (of_get_property(op->dev.of_node, "fsl,preserve-clocking", NULL)) {
581 clock = MPC_I2C_CLOCK_PRESERVE; 581 clock = MPC_I2C_CLOCK_PRESERVE;
582 } else { 582 } else {
583 prop = of_get_property(op->node, "clock-frequency", &plen); 583 prop = of_get_property(op->dev.of_node, "clock-frequency",
584 &plen);
584 if (prop && plen == sizeof(u32)) 585 if (prop && plen == sizeof(u32))
585 clock = *prop; 586 clock = *prop;
586 } 587 }
587 588
588 if (match->data) { 589 if (match->data) {
589 struct mpc_i2c_data *data = match->data; 590 struct mpc_i2c_data *data = match->data;
590 data->setup(op->node, i2c, clock, data->prescaler); 591 data->setup(op->dev.of_node, i2c, clock, data->prescaler);
591 } else { 592 } else {
592 /* Backwards compatibility */ 593 /* Backwards compatibility */
593 if (of_get_property(op->node, "dfsrr", NULL)) 594 if (of_get_property(op->dev.of_node, "dfsrr", NULL))
594 mpc_i2c_setup_8xxx(op->node, i2c, clock, 0); 595 mpc_i2c_setup_8xxx(op->dev.of_node, i2c, clock, 0);
595 } 596 }
596 597
597 dev_set_drvdata(&op->dev, i2c); 598 dev_set_drvdata(&op->dev, i2c);
@@ -605,7 +606,7 @@ static int __devinit fsl_i2c_probe(struct of_device *op,
605 dev_err(i2c->dev, "failed to add adapter\n"); 606 dev_err(i2c->dev, "failed to add adapter\n");
606 goto fail_add; 607 goto fail_add;
607 } 608 }
608 of_register_i2c_devices(&i2c->adap, op->node); 609 of_register_i2c_devices(&i2c->adap, op->dev.of_node);
609 610
610 return result; 611 return result;
611 612
diff --git a/drivers/ide/pmac.c b/drivers/ide/pmac.c
index 159955d16c47..183fa38760d8 100644
--- a/drivers/ide/pmac.c
+++ b/drivers/ide/pmac.c
@@ -1153,7 +1153,7 @@ pmac_ide_macio_attach(struct macio_dev *mdev, const struct of_device_id *match)
1153 1153
1154 if (macio_resource_count(mdev) == 0) { 1154 if (macio_resource_count(mdev) == 0) {
1155 printk(KERN_WARNING "ide-pmac: no address for %s\n", 1155 printk(KERN_WARNING "ide-pmac: no address for %s\n",
1156 mdev->ofdev.node->full_name); 1156 mdev->ofdev.dev.of_node->full_name);
1157 rc = -ENXIO; 1157 rc = -ENXIO;
1158 goto out_free_pmif; 1158 goto out_free_pmif;
1159 } 1159 }
@@ -1161,7 +1161,7 @@ pmac_ide_macio_attach(struct macio_dev *mdev, const struct of_device_id *match)
1161 /* Request memory resource for IO ports */ 1161 /* Request memory resource for IO ports */
1162 if (macio_request_resource(mdev, 0, "ide-pmac (ports)")) { 1162 if (macio_request_resource(mdev, 0, "ide-pmac (ports)")) {
1163 printk(KERN_ERR "ide-pmac: can't request MMIO resource for " 1163 printk(KERN_ERR "ide-pmac: can't request MMIO resource for "
1164 "%s!\n", mdev->ofdev.node->full_name); 1164 "%s!\n", mdev->ofdev.dev.of_node->full_name);
1165 rc = -EBUSY; 1165 rc = -EBUSY;
1166 goto out_free_pmif; 1166 goto out_free_pmif;
1167 } 1167 }
@@ -1173,7 +1173,7 @@ pmac_ide_macio_attach(struct macio_dev *mdev, const struct of_device_id *match)
1173 */ 1173 */
1174 if (macio_irq_count(mdev) == 0) { 1174 if (macio_irq_count(mdev) == 0) {
1175 printk(KERN_WARNING "ide-pmac: no intrs for device %s, using " 1175 printk(KERN_WARNING "ide-pmac: no intrs for device %s, using "
1176 "13\n", mdev->ofdev.node->full_name); 1176 "13\n", mdev->ofdev.dev.of_node->full_name);
1177 irq = irq_create_mapping(NULL, 13); 1177 irq = irq_create_mapping(NULL, 13);
1178 } else 1178 } else
1179 irq = macio_irq(mdev, 0); 1179 irq = macio_irq(mdev, 0);
@@ -1182,7 +1182,7 @@ pmac_ide_macio_attach(struct macio_dev *mdev, const struct of_device_id *match)
1182 regbase = (unsigned long) base; 1182 regbase = (unsigned long) base;
1183 1183
1184 pmif->mdev = mdev; 1184 pmif->mdev = mdev;
1185 pmif->node = mdev->ofdev.node; 1185 pmif->node = mdev->ofdev.dev.of_node;
1186 pmif->regbase = regbase; 1186 pmif->regbase = regbase;
1187 pmif->irq = irq; 1187 pmif->irq = irq;
1188 pmif->kauai_fcr = NULL; 1188 pmif->kauai_fcr = NULL;
@@ -1191,7 +1191,7 @@ pmac_ide_macio_attach(struct macio_dev *mdev, const struct of_device_id *match)
1191 if (macio_request_resource(mdev, 1, "ide-pmac (dma)")) 1191 if (macio_request_resource(mdev, 1, "ide-pmac (dma)"))
1192 printk(KERN_WARNING "ide-pmac: can't request DMA " 1192 printk(KERN_WARNING "ide-pmac: can't request DMA "
1193 "resource for %s!\n", 1193 "resource for %s!\n",
1194 mdev->ofdev.node->full_name); 1194 mdev->ofdev.dev.of_node->full_name);
1195 else 1195 else
1196 pmif->dma_regs = ioremap(macio_resource_start(mdev, 1), 0x1000); 1196 pmif->dma_regs = ioremap(macio_resource_start(mdev, 1), 0x1000);
1197 } else 1197 } else
diff --git a/drivers/infiniband/hw/ehca/ehca_main.c b/drivers/infiniband/hw/ehca/ehca_main.c
index 129a6bebd6e3..26391853277f 100644
--- a/drivers/infiniband/hw/ehca/ehca_main.c
+++ b/drivers/infiniband/hw/ehca/ehca_main.c
@@ -291,8 +291,9 @@ static int ehca_sense_attributes(struct ehca_shca *shca)
291 }; 291 };
292 292
293 ehca_gen_dbg("Probing adapter %s...", 293 ehca_gen_dbg("Probing adapter %s...",
294 shca->ofdev->node->full_name); 294 shca->ofdev->dev.of_node->full_name);
295 loc_code = of_get_property(shca->ofdev->node, "ibm,loc-code", NULL); 295 loc_code = of_get_property(shca->ofdev->dev.of_node, "ibm,loc-code",
296 NULL);
296 if (loc_code) 297 if (loc_code)
297 ehca_gen_dbg(" ... location lode=%s", loc_code); 298 ehca_gen_dbg(" ... location lode=%s", loc_code);
298 299
@@ -720,16 +721,16 @@ static int __devinit ehca_probe(struct of_device *dev,
720 int ret, i, eq_size; 721 int ret, i, eq_size;
721 unsigned long flags; 722 unsigned long flags;
722 723
723 handle = of_get_property(dev->node, "ibm,hca-handle", NULL); 724 handle = of_get_property(dev->dev.of_node, "ibm,hca-handle", NULL);
724 if (!handle) { 725 if (!handle) {
725 ehca_gen_err("Cannot get eHCA handle for adapter: %s.", 726 ehca_gen_err("Cannot get eHCA handle for adapter: %s.",
726 dev->node->full_name); 727 dev->dev.of_node->full_name);
727 return -ENODEV; 728 return -ENODEV;
728 } 729 }
729 730
730 if (!(*handle)) { 731 if (!(*handle)) {
731 ehca_gen_err("Wrong eHCA handle for adapter: %s.", 732 ehca_gen_err("Wrong eHCA handle for adapter: %s.",
732 dev->node->full_name); 733 dev->dev.of_node->full_name);
733 return -ENODEV; 734 return -ENODEV;
734 } 735 }
735 736
diff --git a/drivers/input/serio/i8042-sparcio.h b/drivers/input/serio/i8042-sparcio.h
index 5071af2c0604..29e17698b2a4 100644
--- a/drivers/input/serio/i8042-sparcio.h
+++ b/drivers/input/serio/i8042-sparcio.h
@@ -51,7 +51,7 @@ static inline void i8042_write_command(int val)
51 51
52static int __devinit sparc_i8042_probe(struct of_device *op, const struct of_device_id *match) 52static int __devinit sparc_i8042_probe(struct of_device *op, const struct of_device_id *match)
53{ 53{
54 struct device_node *dp = op->node; 54 struct device_node *dp = op->dev.of_node;
55 55
56 dp = dp->child; 56 dp = dp->child;
57 while (dp) { 57 while (dp) {
diff --git a/drivers/input/serio/xilinx_ps2.c b/drivers/input/serio/xilinx_ps2.c
index f84f8e32e3f1..7a288c0ef1a6 100644
--- a/drivers/input/serio/xilinx_ps2.c
+++ b/drivers/input/serio/xilinx_ps2.c
@@ -244,17 +244,17 @@ static int __devinit xps2_of_probe(struct of_device *ofdev,
244 int error; 244 int error;
245 245
246 dev_info(dev, "Device Tree Probing \'%s\'\n", 246 dev_info(dev, "Device Tree Probing \'%s\'\n",
247 ofdev->node->name); 247 ofdev->dev.of_node->name);
248 248
249 /* Get iospace for the device */ 249 /* Get iospace for the device */
250 error = of_address_to_resource(ofdev->node, 0, &r_mem); 250 error = of_address_to_resource(ofdev->dev.of_node, 0, &r_mem);
251 if (error) { 251 if (error) {
252 dev_err(dev, "invalid address\n"); 252 dev_err(dev, "invalid address\n");
253 return error; 253 return error;
254 } 254 }
255 255
256 /* Get IRQ for the device */ 256 /* Get IRQ for the device */
257 if (of_irq_to_resource(ofdev->node, 0, &r_irq) == NO_IRQ) { 257 if (of_irq_to_resource(ofdev->dev.of_node, 0, &r_irq) == NO_IRQ) {
258 dev_err(dev, "no IRQ found\n"); 258 dev_err(dev, "no IRQ found\n");
259 return -ENODEV; 259 return -ENODEV;
260 } 260 }
@@ -342,7 +342,7 @@ static int __devexit xps2_of_remove(struct of_device *of_dev)
342 iounmap(drvdata->base_address); 342 iounmap(drvdata->base_address);
343 343
344 /* Get iospace of the device */ 344 /* Get iospace of the device */
345 if (of_address_to_resource(of_dev->node, 0, &r_mem)) 345 if (of_address_to_resource(of_dev->dev.of_node, 0, &r_mem))
346 dev_err(dev, "invalid address\n"); 346 dev_err(dev, "invalid address\n");
347 else 347 else
348 release_mem_region(r_mem.start, resource_size(&r_mem)); 348 release_mem_region(r_mem.start, resource_size(&r_mem));
diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c
index c6e4b772b757..a77a23e783db 100644
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
@@ -211,7 +211,7 @@ struct gpio_led_of_platform_data {
211static int __devinit of_gpio_leds_probe(struct of_device *ofdev, 211static int __devinit of_gpio_leds_probe(struct of_device *ofdev,
212 const struct of_device_id *match) 212 const struct of_device_id *match)
213{ 213{
214 struct device_node *np = ofdev->node, *child; 214 struct device_node *np = ofdev->dev.of_node, *child;
215 struct gpio_led_of_platform_data *pdata; 215 struct gpio_led_of_platform_data *pdata;
216 int count = 0, ret; 216 int count = 0, ret;
217 217
diff --git a/drivers/macintosh/macio_asic.c b/drivers/macintosh/macio_asic.c
index 26a303a1d1ab..67fe13ffe90b 100644
--- a/drivers/macintosh/macio_asic.c
+++ b/drivers/macintosh/macio_asic.c
@@ -248,7 +248,7 @@ static void macio_create_fixup_irq(struct macio_dev *dev, int index,
248 248
249static void macio_add_missing_resources(struct macio_dev *dev) 249static void macio_add_missing_resources(struct macio_dev *dev)
250{ 250{
251 struct device_node *np = dev->ofdev.node; 251 struct device_node *np = dev->ofdev.dev.of_node;
252 unsigned int irq_base; 252 unsigned int irq_base;
253 253
254 /* Gatwick has some missing interrupts on child nodes */ 254 /* Gatwick has some missing interrupts on child nodes */
@@ -289,7 +289,7 @@ static void macio_add_missing_resources(struct macio_dev *dev)
289 289
290static void macio_setup_interrupts(struct macio_dev *dev) 290static void macio_setup_interrupts(struct macio_dev *dev)
291{ 291{
292 struct device_node *np = dev->ofdev.node; 292 struct device_node *np = dev->ofdev.dev.of_node;
293 unsigned int irq; 293 unsigned int irq;
294 int i = 0, j = 0; 294 int i = 0, j = 0;
295 295
@@ -317,7 +317,7 @@ static void macio_setup_interrupts(struct macio_dev *dev)
317static void macio_setup_resources(struct macio_dev *dev, 317static void macio_setup_resources(struct macio_dev *dev,
318 struct resource *parent_res) 318 struct resource *parent_res)
319{ 319{
320 struct device_node *np = dev->ofdev.node; 320 struct device_node *np = dev->ofdev.dev.of_node;
321 struct resource r; 321 struct resource r;
322 int index; 322 int index;
323 323
@@ -373,7 +373,7 @@ static struct macio_dev * macio_add_one_device(struct macio_chip *chip,
373 373
374 dev->bus = &chip->lbus; 374 dev->bus = &chip->lbus;
375 dev->media_bay = in_bay; 375 dev->media_bay = in_bay;
376 dev->ofdev.node = np; 376 dev->ofdev.dev.of_node = np;
377 dev->ofdev.dma_mask = 0xffffffffUL; 377 dev->ofdev.dma_mask = 0xffffffffUL;
378 dev->ofdev.dev.dma_mask = &dev->ofdev.dma_mask; 378 dev->ofdev.dev.dma_mask = &dev->ofdev.dma_mask;
379 dev->ofdev.dev.parent = parent; 379 dev->ofdev.dev.parent = parent;
@@ -494,9 +494,9 @@ static void macio_pci_add_devices(struct macio_chip *chip)
494 } 494 }
495 495
496 /* Add media bay devices if any */ 496 /* Add media bay devices if any */
497 pnode = mbdev->ofdev.dev.of_node;
497 if (mbdev) 498 if (mbdev)
498 for (np = NULL; (np = of_get_next_child(mbdev->ofdev.node, np)) 499 for (np = NULL; (np = of_get_next_child(pnode, np)) != NULL;) {
499 != NULL;) {
500 if (macio_skip_device(np)) 500 if (macio_skip_device(np))
501 continue; 501 continue;
502 of_node_get(np); 502 of_node_get(np);
@@ -506,9 +506,9 @@ static void macio_pci_add_devices(struct macio_chip *chip)
506 } 506 }
507 507
508 /* Add serial ports if any */ 508 /* Add serial ports if any */
509 pnode = sdev->ofdev.dev.of_node;
509 if (sdev) { 510 if (sdev) {
510 for (np = NULL; (np = of_get_next_child(sdev->ofdev.node, np)) 511 for (np = NULL; (np = of_get_next_child(pnode, np)) != NULL;) {
511 != NULL;) {
512 if (macio_skip_device(np)) 512 if (macio_skip_device(np))
513 continue; 513 continue;
514 of_node_get(np); 514 of_node_get(np);
diff --git a/drivers/macintosh/macio_sysfs.c b/drivers/macintosh/macio_sysfs.c
index 9e9453b58425..6999ce59fd10 100644
--- a/drivers/macintosh/macio_sysfs.c
+++ b/drivers/macintosh/macio_sysfs.c
@@ -9,7 +9,7 @@ field##_show (struct device *dev, struct device_attribute *attr, \
9 char *buf) \ 9 char *buf) \
10{ \ 10{ \
11 struct macio_dev *mdev = to_macio_device (dev); \ 11 struct macio_dev *mdev = to_macio_device (dev); \
12 return sprintf (buf, format_string, mdev->ofdev.node->field); \ 12 return sprintf (buf, format_string, mdev->ofdev.dev.of_node->field); \
13} 13}
14 14
15static ssize_t 15static ssize_t
@@ -21,7 +21,7 @@ compatible_show (struct device *dev, struct device_attribute *attr, char *buf)
21 int length = 0; 21 int length = 0;
22 22
23 of = &to_macio_device (dev)->ofdev; 23 of = &to_macio_device (dev)->ofdev;
24 compat = of_get_property(of->node, "compatible", &cplen); 24 compat = of_get_property(of->dev.of_node, "compatible", &cplen);
25 if (!compat) { 25 if (!compat) {
26 *buf = '\0'; 26 *buf = '\0';
27 return 0; 27 return 0;
@@ -58,7 +58,7 @@ static ssize_t devspec_show(struct device *dev,
58 struct of_device *ofdev; 58 struct of_device *ofdev;
59 59
60 ofdev = to_of_device(dev); 60 ofdev = to_of_device(dev);
61 return sprintf(buf, "%s\n", ofdev->node->full_name); 61 return sprintf(buf, "%s\n", ofdev->dev.of_node->full_name);
62} 62}
63 63
64macio_config_of_attr (name, "%s\n"); 64macio_config_of_attr (name, "%s\n");
diff --git a/drivers/macintosh/mediabay.c b/drivers/macintosh/mediabay.c
index 08002b88f342..288acce76b74 100644
--- a/drivers/macintosh/mediabay.c
+++ b/drivers/macintosh/mediabay.c
@@ -564,7 +564,7 @@ static int __devinit media_bay_attach(struct macio_dev *mdev, const struct of_de
564 unsigned long base; 564 unsigned long base;
565 int i; 565 int i;
566 566
567 ofnode = mdev->ofdev.node; 567 ofnode = mdev->ofdev.dev.of_node;
568 568
569 if (macio_resource_count(mdev) < 1) 569 if (macio_resource_count(mdev) < 1)
570 return -ENODEV; 570 return -ENODEV;
diff --git a/drivers/macintosh/rack-meter.c b/drivers/macintosh/rack-meter.c
index 7c54d80c4fb2..12946c5f583f 100644
--- a/drivers/macintosh/rack-meter.c
+++ b/drivers/macintosh/rack-meter.c
@@ -375,7 +375,7 @@ static int __devinit rackmeter_probe(struct macio_dev* mdev,
375 pr_debug("rackmeter_probe()\n"); 375 pr_debug("rackmeter_probe()\n");
376 376
377 /* Get i2s-a node */ 377 /* Get i2s-a node */
378 while ((i2s = of_get_next_child(mdev->ofdev.node, i2s)) != NULL) 378 while ((i2s = of_get_next_child(mdev->ofdev.dev.of_node, i2s)) != NULL)
379 if (strcmp(i2s->name, "i2s-a") == 0) 379 if (strcmp(i2s->name, "i2s-a") == 0)
380 break; 380 break;
381 if (i2s == NULL) { 381 if (i2s == NULL) {
@@ -431,7 +431,7 @@ static int __devinit rackmeter_probe(struct macio_dev* mdev,
431 of_address_to_resource(i2s, 1, &rdma)) { 431 of_address_to_resource(i2s, 1, &rdma)) {
432 printk(KERN_ERR 432 printk(KERN_ERR
433 "rackmeter: found match but lacks resources: %s", 433 "rackmeter: found match but lacks resources: %s",
434 mdev->ofdev.node->full_name); 434 mdev->ofdev.dev.of_node->full_name);
435 rc = -ENXIO; 435 rc = -ENXIO;
436 goto bail_free; 436 goto bail_free;
437 } 437 }
diff --git a/drivers/macintosh/therm_pm72.c b/drivers/macintosh/therm_pm72.c
index b18fa948f3d1..9314be9a2fc8 100644
--- a/drivers/macintosh/therm_pm72.c
+++ b/drivers/macintosh/therm_pm72.c
@@ -2215,7 +2215,7 @@ static int fcu_of_probe(struct of_device* dev, const struct of_device_id *match)
2215 state = state_detached; 2215 state = state_detached;
2216 2216
2217 /* Lookup the fans in the device tree */ 2217 /* Lookup the fans in the device tree */
2218 fcu_lookup_fans(dev->node); 2218 fcu_lookup_fans(dev->dev.of_node);
2219 2219
2220 /* Add the driver */ 2220 /* Add the driver */
2221 return i2c_add_driver(&therm_pm72_driver); 2221 return i2c_add_driver(&therm_pm72_driver);
diff --git a/drivers/mmc/host/of_mmc_spi.c b/drivers/mmc/host/of_mmc_spi.c
index bb6cc54b558e..1247e5de9faa 100644
--- a/drivers/mmc/host/of_mmc_spi.c
+++ b/drivers/mmc/host/of_mmc_spi.c
@@ -64,7 +64,7 @@ static int of_mmc_spi_get_ro(struct device *dev)
64struct mmc_spi_platform_data *mmc_spi_get_pdata(struct spi_device *spi) 64struct mmc_spi_platform_data *mmc_spi_get_pdata(struct spi_device *spi)
65{ 65{
66 struct device *dev = &spi->dev; 66 struct device *dev = &spi->dev;
67 struct device_node *np = dev_archdata_get_node(&dev->archdata); 67 struct device_node *np = dev->of_node;
68 struct of_mmc_spi *oms; 68 struct of_mmc_spi *oms;
69 const u32 *voltage_ranges; 69 const u32 *voltage_ranges;
70 int num_ranges; 70 int num_ranges;
@@ -135,7 +135,7 @@ EXPORT_SYMBOL(mmc_spi_get_pdata);
135void mmc_spi_put_pdata(struct spi_device *spi) 135void mmc_spi_put_pdata(struct spi_device *spi)
136{ 136{
137 struct device *dev = &spi->dev; 137 struct device *dev = &spi->dev;
138 struct device_node *np = dev_archdata_get_node(&dev->archdata); 138 struct device_node *np = dev->of_node;
139 struct of_mmc_spi *oms = to_of_mmc_spi(dev); 139 struct of_mmc_spi *oms = to_of_mmc_spi(dev);
140 int i; 140 int i;
141 141
diff --git a/drivers/mmc/host/sdhci-of-core.c b/drivers/mmc/host/sdhci-of-core.c
index 55e33135edb4..dfe5ceae6794 100644
--- a/drivers/mmc/host/sdhci-of-core.c
+++ b/drivers/mmc/host/sdhci-of-core.c
@@ -118,7 +118,7 @@ static bool __devinit sdhci_of_wp_inverted(struct device_node *np)
118static int __devinit sdhci_of_probe(struct of_device *ofdev, 118static int __devinit sdhci_of_probe(struct of_device *ofdev,
119 const struct of_device_id *match) 119 const struct of_device_id *match)
120{ 120{
121 struct device_node *np = ofdev->node; 121 struct device_node *np = ofdev->dev.of_node;
122 struct sdhci_of_data *sdhci_of_data = match->data; 122 struct sdhci_of_data *sdhci_of_data = match->data;
123 struct sdhci_host *host; 123 struct sdhci_host *host;
124 struct sdhci_of_host *of_host; 124 struct sdhci_of_host *of_host;
diff --git a/drivers/mtd/maps/physmap_of.c b/drivers/mtd/maps/physmap_of.c
index 101ee6ead05c..3dc7a2fbf025 100644
--- a/drivers/mtd/maps/physmap_of.c
+++ b/drivers/mtd/maps/physmap_of.c
@@ -143,7 +143,7 @@ static int of_flash_remove(struct of_device *dev)
143static struct mtd_info * __devinit obsolete_probe(struct of_device *dev, 143static struct mtd_info * __devinit obsolete_probe(struct of_device *dev,
144 struct map_info *map) 144 struct map_info *map)
145{ 145{
146 struct device_node *dp = dev->node; 146 struct device_node *dp = dev->dev.of_node;
147 const char *of_probe; 147 const char *of_probe;
148 struct mtd_info *mtd; 148 struct mtd_info *mtd;
149 static const char *rom_probe_types[] 149 static const char *rom_probe_types[]
@@ -180,7 +180,7 @@ static int __devinit of_flash_probe(struct of_device *dev,
180 static const char *part_probe_types[] 180 static const char *part_probe_types[]
181 = { "cmdlinepart", "RedBoot", NULL }; 181 = { "cmdlinepart", "RedBoot", NULL };
182#endif 182#endif
183 struct device_node *dp = dev->node; 183 struct device_node *dp = dev->dev.of_node;
184 struct resource res; 184 struct resource res;
185 struct of_flash *info; 185 struct of_flash *info;
186 const char *probe_type = match->data; 186 const char *probe_type = match->data;
@@ -204,7 +204,7 @@ static int __devinit of_flash_probe(struct of_device *dev,
204 p = of_get_property(dp, "reg", &count); 204 p = of_get_property(dp, "reg", &count);
205 if (count % reg_tuple_size != 0) { 205 if (count % reg_tuple_size != 0) {
206 dev_err(&dev->dev, "Malformed reg property on %s\n", 206 dev_err(&dev->dev, "Malformed reg property on %s\n",
207 dev->node->full_name); 207 dev->dev.of_node->full_name);
208 err = -EINVAL; 208 err = -EINVAL;
209 goto err_flash_remove; 209 goto err_flash_remove;
210 } 210 }
diff --git a/drivers/mtd/maps/sun_uflash.c b/drivers/mtd/maps/sun_uflash.c
index fadc4c45b455..5945a23e681f 100644
--- a/drivers/mtd/maps/sun_uflash.c
+++ b/drivers/mtd/maps/sun_uflash.c
@@ -110,7 +110,7 @@ int uflash_devinit(struct of_device *op, struct device_node *dp)
110 110
111static int __devinit uflash_probe(struct of_device *op, const struct of_device_id *match) 111static int __devinit uflash_probe(struct of_device *op, const struct of_device_id *match)
112{ 112{
113 struct device_node *dp = op->node; 113 struct device_node *dp = op->dev.of_node;
114 114
115 /* Flashprom must have the "user" property in order to 115 /* Flashprom must have the "user" property in order to
116 * be used by this driver. 116 * be used by this driver.
diff --git a/drivers/mtd/nand/fsl_elbc_nand.c b/drivers/mtd/nand/fsl_elbc_nand.c
index ae30fb6eed97..4a6079588ab2 100644
--- a/drivers/mtd/nand/fsl_elbc_nand.c
+++ b/drivers/mtd/nand/fsl_elbc_nand.c
@@ -1030,14 +1030,14 @@ static int __devinit fsl_elbc_ctrl_probe(struct of_device *ofdev,
1030 init_waitqueue_head(&ctrl->controller.wq); 1030 init_waitqueue_head(&ctrl->controller.wq);
1031 init_waitqueue_head(&ctrl->irq_wait); 1031 init_waitqueue_head(&ctrl->irq_wait);
1032 1032
1033 ctrl->regs = of_iomap(ofdev->node, 0); 1033 ctrl->regs = of_iomap(ofdev->dev.of_node, 0);
1034 if (!ctrl->regs) { 1034 if (!ctrl->regs) {
1035 dev_err(&ofdev->dev, "failed to get memory region\n"); 1035 dev_err(&ofdev->dev, "failed to get memory region\n");
1036 ret = -ENODEV; 1036 ret = -ENODEV;
1037 goto err; 1037 goto err;
1038 } 1038 }
1039 1039
1040 ctrl->irq = of_irq_to_resource(ofdev->node, 0, NULL); 1040 ctrl->irq = of_irq_to_resource(ofdev->dev.of_node, 0, NULL);
1041 if (ctrl->irq == NO_IRQ) { 1041 if (ctrl->irq == NO_IRQ) {
1042 dev_err(&ofdev->dev, "failed to get irq resource\n"); 1042 dev_err(&ofdev->dev, "failed to get irq resource\n");
1043 ret = -ENODEV; 1043 ret = -ENODEV;
@@ -1058,7 +1058,7 @@ static int __devinit fsl_elbc_ctrl_probe(struct of_device *ofdev,
1058 goto err; 1058 goto err;
1059 } 1059 }
1060 1060
1061 for_each_child_of_node(ofdev->node, child) 1061 for_each_child_of_node(ofdev->dev.of_node, child)
1062 if (of_device_is_compatible(child, "fsl,elbc-fcm-nand")) 1062 if (of_device_is_compatible(child, "fsl,elbc-fcm-nand"))
1063 fsl_elbc_chip_probe(ctrl, child); 1063 fsl_elbc_chip_probe(ctrl, child);
1064 1064
diff --git a/drivers/mtd/nand/ndfc.c b/drivers/mtd/nand/ndfc.c
index b983cae8c298..c0e05f5ff8a4 100644
--- a/drivers/mtd/nand/ndfc.c
+++ b/drivers/mtd/nand/ndfc.c
@@ -239,14 +239,14 @@ static int __devinit ndfc_probe(struct of_device *ofdev,
239 dev_set_drvdata(&ofdev->dev, ndfc); 239 dev_set_drvdata(&ofdev->dev, ndfc);
240 240
241 /* Read the reg property to get the chip select */ 241 /* Read the reg property to get the chip select */
242 reg = of_get_property(ofdev->node, "reg", &len); 242 reg = of_get_property(ofdev->dev.of_node, "reg", &len);
243 if (reg == NULL || len != 12) { 243 if (reg == NULL || len != 12) {
244 dev_err(&ofdev->dev, "unable read reg property (%d)\n", len); 244 dev_err(&ofdev->dev, "unable read reg property (%d)\n", len);
245 return -ENOENT; 245 return -ENOENT;
246 } 246 }
247 ndfc->chip_select = reg[0]; 247 ndfc->chip_select = reg[0];
248 248
249 ndfc->ndfcbase = of_iomap(ofdev->node, 0); 249 ndfc->ndfcbase = of_iomap(ofdev->dev.of_node, 0);
250 if (!ndfc->ndfcbase) { 250 if (!ndfc->ndfcbase) {
251 dev_err(&ofdev->dev, "failed to get memory\n"); 251 dev_err(&ofdev->dev, "failed to get memory\n");
252 return -EIO; 252 return -EIO;
@@ -255,20 +255,20 @@ static int __devinit ndfc_probe(struct of_device *ofdev,
255 ccr = NDFC_CCR_BS(ndfc->chip_select); 255 ccr = NDFC_CCR_BS(ndfc->chip_select);
256 256
257 /* It is ok if ccr does not exist - just default to 0 */ 257 /* It is ok if ccr does not exist - just default to 0 */
258 reg = of_get_property(ofdev->node, "ccr", NULL); 258 reg = of_get_property(ofdev->dev.of_node, "ccr", NULL);
259 if (reg) 259 if (reg)
260 ccr |= *reg; 260 ccr |= *reg;
261 261
262 out_be32(ndfc->ndfcbase + NDFC_CCR, ccr); 262 out_be32(ndfc->ndfcbase + NDFC_CCR, ccr);
263 263
264 /* Set the bank settings if given */ 264 /* Set the bank settings if given */
265 reg = of_get_property(ofdev->node, "bank-settings", NULL); 265 reg = of_get_property(ofdev->dev.of_node, "bank-settings", NULL);
266 if (reg) { 266 if (reg) {
267 int offset = NDFC_BCFG0 + (ndfc->chip_select << 2); 267 int offset = NDFC_BCFG0 + (ndfc->chip_select << 2);
268 out_be32(ndfc->ndfcbase + offset, *reg); 268 out_be32(ndfc->ndfcbase + offset, *reg);
269 } 269 }
270 270
271 err = ndfc_chip_init(ndfc, ofdev->node); 271 err = ndfc_chip_init(ndfc, ofdev->dev.of_node);
272 if (err) { 272 if (err) {
273 iounmap(ndfc->ndfcbase); 273 iounmap(ndfc->ndfcbase);
274 return err; 274 return err;
diff --git a/drivers/mtd/nand/pasemi_nand.c b/drivers/mtd/nand/pasemi_nand.c
index a8b9376cf324..edfc27b78513 100644
--- a/drivers/mtd/nand/pasemi_nand.c
+++ b/drivers/mtd/nand/pasemi_nand.c
@@ -93,7 +93,7 @@ static int __devinit pasemi_nand_probe(struct of_device *ofdev,
93 const struct of_device_id *match) 93 const struct of_device_id *match)
94{ 94{
95 struct pci_dev *pdev; 95 struct pci_dev *pdev;
96 struct device_node *np = ofdev->node; 96 struct device_node *np = ofdev->dev.of_node;
97 struct resource res; 97 struct resource res;
98 struct nand_chip *chip; 98 struct nand_chip *chip;
99 int err = 0; 99 int err = 0;
diff --git a/drivers/net/can/sja1000/sja1000_of_platform.c b/drivers/net/can/sja1000/sja1000_of_platform.c
index 9dd076a626a5..dc5f20cdf93c 100644
--- a/drivers/net/can/sja1000/sja1000_of_platform.c
+++ b/drivers/net/can/sja1000/sja1000_of_platform.c
@@ -72,7 +72,7 @@ static int __devexit sja1000_ofp_remove(struct of_device *ofdev)
72{ 72{
73 struct net_device *dev = dev_get_drvdata(&ofdev->dev); 73 struct net_device *dev = dev_get_drvdata(&ofdev->dev);
74 struct sja1000_priv *priv = netdev_priv(dev); 74 struct sja1000_priv *priv = netdev_priv(dev);
75 struct device_node *np = ofdev->node; 75 struct device_node *np = ofdev->dev.of_node;
76 struct resource res; 76 struct resource res;
77 77
78 dev_set_drvdata(&ofdev->dev, NULL); 78 dev_set_drvdata(&ofdev->dev, NULL);
@@ -91,7 +91,7 @@ static int __devexit sja1000_ofp_remove(struct of_device *ofdev)
91static int __devinit sja1000_ofp_probe(struct of_device *ofdev, 91static int __devinit sja1000_ofp_probe(struct of_device *ofdev,
92 const struct of_device_id *id) 92 const struct of_device_id *id)
93{ 93{
94 struct device_node *np = ofdev->node; 94 struct device_node *np = ofdev->dev.of_node;
95 struct net_device *dev; 95 struct net_device *dev;
96 struct sja1000_priv *priv; 96 struct sja1000_priv *priv;
97 struct resource res; 97 struct resource res;
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index 809ccc9ff09c..59dac232006c 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -3035,7 +3035,7 @@ static DEVICE_ATTR(log_port_id, S_IRUSR | S_IRGRP | S_IROTH, ehea_show_port_id,
3035static void __devinit logical_port_release(struct device *dev) 3035static void __devinit logical_port_release(struct device *dev)
3036{ 3036{
3037 struct ehea_port *port = container_of(dev, struct ehea_port, ofdev.dev); 3037 struct ehea_port *port = container_of(dev, struct ehea_port, ofdev.dev);
3038 of_node_put(port->ofdev.node); 3038 of_node_put(port->ofdev.dev.of_node);
3039} 3039}
3040 3040
3041static struct device *ehea_register_port(struct ehea_port *port, 3041static struct device *ehea_register_port(struct ehea_port *port,
@@ -3043,7 +3043,7 @@ static struct device *ehea_register_port(struct ehea_port *port,
3043{ 3043{
3044 int ret; 3044 int ret;
3045 3045
3046 port->ofdev.node = of_node_get(dn); 3046 port->ofdev.dev.of_node = of_node_get(dn);
3047 port->ofdev.dev.parent = &port->adapter->ofdev->dev; 3047 port->ofdev.dev.parent = &port->adapter->ofdev->dev;
3048 port->ofdev.dev.bus = &ibmebus_bus_type; 3048 port->ofdev.dev.bus = &ibmebus_bus_type;
3049 3049
@@ -3210,7 +3210,7 @@ static int ehea_setup_ports(struct ehea_adapter *adapter)
3210 const u32 *dn_log_port_id; 3210 const u32 *dn_log_port_id;
3211 int i = 0; 3211 int i = 0;
3212 3212
3213 lhea_dn = adapter->ofdev->node; 3213 lhea_dn = adapter->ofdev->dev.of_node;
3214 while ((eth_dn = of_get_next_child(lhea_dn, eth_dn))) { 3214 while ((eth_dn = of_get_next_child(lhea_dn, eth_dn))) {
3215 3215
3216 dn_log_port_id = of_get_property(eth_dn, "ibm,hea-port-no", 3216 dn_log_port_id = of_get_property(eth_dn, "ibm,hea-port-no",
@@ -3249,7 +3249,7 @@ static struct device_node *ehea_get_eth_dn(struct ehea_adapter *adapter,
3249 struct device_node *eth_dn = NULL; 3249 struct device_node *eth_dn = NULL;
3250 const u32 *dn_log_port_id; 3250 const u32 *dn_log_port_id;
3251 3251
3252 lhea_dn = adapter->ofdev->node; 3252 lhea_dn = adapter->ofdev->dev.of_node;
3253 while ((eth_dn = of_get_next_child(lhea_dn, eth_dn))) { 3253 while ((eth_dn = of_get_next_child(lhea_dn, eth_dn))) {
3254 3254
3255 dn_log_port_id = of_get_property(eth_dn, "ibm,hea-port-no", 3255 dn_log_port_id = of_get_property(eth_dn, "ibm,hea-port-no",
@@ -3379,7 +3379,7 @@ static int __devinit ehea_probe_adapter(struct of_device *dev,
3379 const u64 *adapter_handle; 3379 const u64 *adapter_handle;
3380 int ret; 3380 int ret;
3381 3381
3382 if (!dev || !dev->node) { 3382 if (!dev || !dev->dev.of_node) {
3383 ehea_error("Invalid ibmebus device probed"); 3383 ehea_error("Invalid ibmebus device probed");
3384 return -EINVAL; 3384 return -EINVAL;
3385 } 3385 }
@@ -3395,14 +3395,14 @@ static int __devinit ehea_probe_adapter(struct of_device *dev,
3395 3395
3396 adapter->ofdev = dev; 3396 adapter->ofdev = dev;
3397 3397
3398 adapter_handle = of_get_property(dev->node, "ibm,hea-handle", 3398 adapter_handle = of_get_property(dev->dev.of_node, "ibm,hea-handle",
3399 NULL); 3399 NULL);
3400 if (adapter_handle) 3400 if (adapter_handle)
3401 adapter->handle = *adapter_handle; 3401 adapter->handle = *adapter_handle;
3402 3402
3403 if (!adapter->handle) { 3403 if (!adapter->handle) {
3404 dev_err(&dev->dev, "failed getting handle for adapter" 3404 dev_err(&dev->dev, "failed getting handle for adapter"
3405 " '%s'\n", dev->node->full_name); 3405 " '%s'\n", dev->dev.of_node->full_name);
3406 ret = -ENODEV; 3406 ret = -ENODEV;
3407 goto out_free_ad; 3407 goto out_free_ad;
3408 } 3408 }
diff --git a/drivers/net/fec_mpc52xx.c b/drivers/net/fec_mpc52xx.c
index 4a43e56b7394..3342056f8aac 100644
--- a/drivers/net/fec_mpc52xx.c
+++ b/drivers/net/fec_mpc52xx.c
@@ -873,7 +873,7 @@ mpc52xx_fec_probe(struct of_device *op, const struct of_device_id *match)
873 priv->ndev = ndev; 873 priv->ndev = ndev;
874 874
875 /* Reserve FEC control zone */ 875 /* Reserve FEC control zone */
876 rv = of_address_to_resource(op->node, 0, &mem); 876 rv = of_address_to_resource(op->dev.of_node, 0, &mem);
877 if (rv) { 877 if (rv) {
878 printk(KERN_ERR DRIVER_NAME ": " 878 printk(KERN_ERR DRIVER_NAME ": "
879 "Error while parsing device node resource\n" ); 879 "Error while parsing device node resource\n" );
@@ -921,7 +921,7 @@ mpc52xx_fec_probe(struct of_device *op, const struct of_device_id *match)
921 921
922 /* Get the IRQ we need one by one */ 922 /* Get the IRQ we need one by one */
923 /* Control */ 923 /* Control */
924 ndev->irq = irq_of_parse_and_map(op->node, 0); 924 ndev->irq = irq_of_parse_and_map(op->dev.of_node, 0);
925 925
926 /* RX */ 926 /* RX */
927 priv->r_irq = bcom_get_task_irq(priv->rx_dmatsk); 927 priv->r_irq = bcom_get_task_irq(priv->rx_dmatsk);
@@ -944,20 +944,20 @@ mpc52xx_fec_probe(struct of_device *op, const struct of_device_id *match)
944 /* Start with safe defaults for link connection */ 944 /* Start with safe defaults for link connection */
945 priv->speed = 100; 945 priv->speed = 100;
946 priv->duplex = DUPLEX_HALF; 946 priv->duplex = DUPLEX_HALF;
947 priv->mdio_speed = ((mpc5xxx_get_bus_frequency(op->node) >> 20) / 5) << 1; 947 priv->mdio_speed = ((mpc5xxx_get_bus_frequency(op->dev.of_node) >> 20) / 5) << 1;
948 948
949 /* The current speed preconfigures the speed of the MII link */ 949 /* The current speed preconfigures the speed of the MII link */
950 prop = of_get_property(op->node, "current-speed", &prop_size); 950 prop = of_get_property(op->dev.of_node, "current-speed", &prop_size);
951 if (prop && (prop_size >= sizeof(u32) * 2)) { 951 if (prop && (prop_size >= sizeof(u32) * 2)) {
952 priv->speed = prop[0]; 952 priv->speed = prop[0];
953 priv->duplex = prop[1] ? DUPLEX_FULL : DUPLEX_HALF; 953 priv->duplex = prop[1] ? DUPLEX_FULL : DUPLEX_HALF;
954 } 954 }
955 955
956 /* If there is a phy handle, then get the PHY node */ 956 /* If there is a phy handle, then get the PHY node */
957 priv->phy_node = of_parse_phandle(op->node, "phy-handle", 0); 957 priv->phy_node = of_parse_phandle(op->dev.of_node, "phy-handle", 0);
958 958
959 /* the 7-wire property means don't use MII mode */ 959 /* the 7-wire property means don't use MII mode */
960 if (of_find_property(op->node, "fsl,7-wire-mode", NULL)) { 960 if (of_find_property(op->dev.of_node, "fsl,7-wire-mode", NULL)) {
961 priv->seven_wire_mode = 1; 961 priv->seven_wire_mode = 1;
962 dev_info(&ndev->dev, "using 7-wire PHY mode\n"); 962 dev_info(&ndev->dev, "using 7-wire PHY mode\n");
963 } 963 }
diff --git a/drivers/net/fec_mpc52xx_phy.c b/drivers/net/fec_mpc52xx_phy.c
index 7658a082e390..0d099e5a652d 100644
--- a/drivers/net/fec_mpc52xx_phy.c
+++ b/drivers/net/fec_mpc52xx_phy.c
@@ -66,7 +66,7 @@ static int mpc52xx_fec_mdio_probe(struct of_device *of,
66 const struct of_device_id *match) 66 const struct of_device_id *match)
67{ 67{
68 struct device *dev = &of->dev; 68 struct device *dev = &of->dev;
69 struct device_node *np = of->node; 69 struct device_node *np = of->dev.of_node;
70 struct mii_bus *bus; 70 struct mii_bus *bus;
71 struct mpc52xx_fec_mdio_priv *priv; 71 struct mpc52xx_fec_mdio_priv *priv;
72 struct resource res = {}; 72 struct resource res = {};
@@ -107,7 +107,7 @@ static int mpc52xx_fec_mdio_probe(struct of_device *of,
107 107
108 /* set MII speed */ 108 /* set MII speed */
109 out_be32(&priv->regs->mii_speed, 109 out_be32(&priv->regs->mii_speed,
110 ((mpc5xxx_get_bus_frequency(of->node) >> 20) / 5) << 1); 110 ((mpc5xxx_get_bus_frequency(of->dev.of_node) >> 20) / 5) << 1);
111 111
112 err = of_mdiobus_register(bus, np); 112 err = of_mdiobus_register(bus, np);
113 if (err) 113 if (err)
diff --git a/drivers/net/fs_enet/fs_enet-main.c b/drivers/net/fs_enet/fs_enet-main.c
index 0770e2f6da6b..caeb88b67bc6 100644
--- a/drivers/net/fs_enet/fs_enet-main.c
+++ b/drivers/net/fs_enet/fs_enet-main.c
@@ -1015,7 +1015,7 @@ static int __devinit fs_enet_probe(struct of_device *ofdev,
1015 return -ENOMEM; 1015 return -ENOMEM;
1016 1016
1017 if (!IS_FEC(match)) { 1017 if (!IS_FEC(match)) {
1018 data = of_get_property(ofdev->node, "fsl,cpm-command", &len); 1018 data = of_get_property(ofdev->dev.of_node, "fsl,cpm-command", &len);
1019 if (!data || len != 4) 1019 if (!data || len != 4)
1020 goto out_free_fpi; 1020 goto out_free_fpi;
1021 1021
@@ -1027,8 +1027,8 @@ static int __devinit fs_enet_probe(struct of_device *ofdev,
1027 fpi->rx_copybreak = 240; 1027 fpi->rx_copybreak = 240;
1028 fpi->use_napi = 1; 1028 fpi->use_napi = 1;
1029 fpi->napi_weight = 17; 1029 fpi->napi_weight = 17;
1030 fpi->phy_node = of_parse_phandle(ofdev->node, "phy-handle", 0); 1030 fpi->phy_node = of_parse_phandle(ofdev->dev.of_node, "phy-handle", 0);
1031 if ((!fpi->phy_node) && (!of_get_property(ofdev->node, "fixed-link", 1031 if ((!fpi->phy_node) && (!of_get_property(ofdev->dev.of_node, "fixed-link",
1032 NULL))) 1032 NULL)))
1033 goto out_free_fpi; 1033 goto out_free_fpi;
1034 1034
@@ -1061,7 +1061,7 @@ static int __devinit fs_enet_probe(struct of_device *ofdev,
1061 spin_lock_init(&fep->lock); 1061 spin_lock_init(&fep->lock);
1062 spin_lock_init(&fep->tx_lock); 1062 spin_lock_init(&fep->tx_lock);
1063 1063
1064 mac_addr = of_get_mac_address(ofdev->node); 1064 mac_addr = of_get_mac_address(ofdev->dev.of_node);
1065 if (mac_addr) 1065 if (mac_addr)
1066 memcpy(ndev->dev_addr, mac_addr, 6); 1066 memcpy(ndev->dev_addr, mac_addr, 6);
1067 1067
diff --git a/drivers/net/fs_enet/mac-fcc.c b/drivers/net/fs_enet/mac-fcc.c
index 0a973e71876b..9d4f272137d6 100644
--- a/drivers/net/fs_enet/mac-fcc.c
+++ b/drivers/net/fs_enet/mac-fcc.c
@@ -88,19 +88,19 @@ static int do_pd_setup(struct fs_enet_private *fep)
88 struct fs_platform_info *fpi = fep->fpi; 88 struct fs_platform_info *fpi = fep->fpi;
89 int ret = -EINVAL; 89 int ret = -EINVAL;
90 90
91 fep->interrupt = of_irq_to_resource(ofdev->node, 0, NULL); 91 fep->interrupt = of_irq_to_resource(ofdev->dev.of_node, 0, NULL);
92 if (fep->interrupt == NO_IRQ) 92 if (fep->interrupt == NO_IRQ)
93 goto out; 93 goto out;
94 94
95 fep->fcc.fccp = of_iomap(ofdev->node, 0); 95 fep->fcc.fccp = of_iomap(ofdev->dev.of_node, 0);
96 if (!fep->fcc.fccp) 96 if (!fep->fcc.fccp)
97 goto out; 97 goto out;
98 98
99 fep->fcc.ep = of_iomap(ofdev->node, 1); 99 fep->fcc.ep = of_iomap(ofdev->dev.of_node, 1);
100 if (!fep->fcc.ep) 100 if (!fep->fcc.ep)
101 goto out_fccp; 101 goto out_fccp;
102 102
103 fep->fcc.fcccp = of_iomap(ofdev->node, 2); 103 fep->fcc.fcccp = of_iomap(ofdev->dev.of_node, 2);
104 if (!fep->fcc.fcccp) 104 if (!fep->fcc.fcccp)
105 goto out_ep; 105 goto out_ep;
106 106
diff --git a/drivers/net/fs_enet/mac-fec.c b/drivers/net/fs_enet/mac-fec.c
index ec81f50d5919..bd7a6e7064bb 100644
--- a/drivers/net/fs_enet/mac-fec.c
+++ b/drivers/net/fs_enet/mac-fec.c
@@ -98,11 +98,11 @@ static int do_pd_setup(struct fs_enet_private *fep)
98{ 98{
99 struct of_device *ofdev = to_of_device(fep->dev); 99 struct of_device *ofdev = to_of_device(fep->dev);
100 100
101 fep->interrupt = of_irq_to_resource(ofdev->node, 0, NULL); 101 fep->interrupt = of_irq_to_resource(ofdev->dev.of_node, 0, NULL);
102 if (fep->interrupt == NO_IRQ) 102 if (fep->interrupt == NO_IRQ)
103 return -EINVAL; 103 return -EINVAL;
104 104
105 fep->fec.fecp = of_iomap(ofdev->node, 0); 105 fep->fec.fecp = of_iomap(ofdev->dev.of_node, 0);
106 if (!fep->fcc.fccp) 106 if (!fep->fcc.fccp)
107 return -EINVAL; 107 return -EINVAL;
108 108
diff --git a/drivers/net/fs_enet/mac-scc.c b/drivers/net/fs_enet/mac-scc.c
index 34d3da751eb4..49a4d8c60168 100644
--- a/drivers/net/fs_enet/mac-scc.c
+++ b/drivers/net/fs_enet/mac-scc.c
@@ -98,15 +98,15 @@ static int do_pd_setup(struct fs_enet_private *fep)
98{ 98{
99 struct of_device *ofdev = to_of_device(fep->dev); 99 struct of_device *ofdev = to_of_device(fep->dev);
100 100
101 fep->interrupt = of_irq_to_resource(ofdev->node, 0, NULL); 101 fep->interrupt = of_irq_to_resource(ofdev->dev.of_node, 0, NULL);
102 if (fep->interrupt == NO_IRQ) 102 if (fep->interrupt == NO_IRQ)
103 return -EINVAL; 103 return -EINVAL;
104 104
105 fep->scc.sccp = of_iomap(ofdev->node, 0); 105 fep->scc.sccp = of_iomap(ofdev->dev.of_node, 0);
106 if (!fep->scc.sccp) 106 if (!fep->scc.sccp)
107 return -EINVAL; 107 return -EINVAL;
108 108
109 fep->scc.ep = of_iomap(ofdev->node, 1); 109 fep->scc.ep = of_iomap(ofdev->dev.of_node, 1);
110 if (!fep->scc.ep) { 110 if (!fep->scc.ep) {
111 iounmap(fep->scc.sccp); 111 iounmap(fep->scc.sccp);
112 return -EINVAL; 112 return -EINVAL;
diff --git a/drivers/net/fs_enet/mii-fec.c b/drivers/net/fs_enet/mii-fec.c
index 5944b65082cb..dc862e779c1f 100644
--- a/drivers/net/fs_enet/mii-fec.c
+++ b/drivers/net/fs_enet/mii-fec.c
@@ -124,7 +124,7 @@ static int __devinit fs_enet_mdio_probe(struct of_device *ofdev,
124 new_bus->write = &fs_enet_fec_mii_write; 124 new_bus->write = &fs_enet_fec_mii_write;
125 new_bus->reset = &fs_enet_fec_mii_reset; 125 new_bus->reset = &fs_enet_fec_mii_reset;
126 126
127 ret = of_address_to_resource(ofdev->node, 0, &res); 127 ret = of_address_to_resource(ofdev->dev.of_node, 0, &res);
128 if (ret) 128 if (ret)
129 goto out_res; 129 goto out_res;
130 130
@@ -135,7 +135,7 @@ static int __devinit fs_enet_mdio_probe(struct of_device *ofdev,
135 goto out_fec; 135 goto out_fec;
136 136
137 if (get_bus_freq) { 137 if (get_bus_freq) {
138 clock = get_bus_freq(ofdev->node); 138 clock = get_bus_freq(ofdev->dev.of_node);
139 if (!clock) { 139 if (!clock) {
140 /* Use maximum divider if clock is unknown */ 140 /* Use maximum divider if clock is unknown */
141 dev_warn(&ofdev->dev, "could not determine IPS clock\n"); 141 dev_warn(&ofdev->dev, "could not determine IPS clock\n");
@@ -172,7 +172,7 @@ static int __devinit fs_enet_mdio_probe(struct of_device *ofdev,
172 new_bus->parent = &ofdev->dev; 172 new_bus->parent = &ofdev->dev;
173 dev_set_drvdata(&ofdev->dev, new_bus); 173 dev_set_drvdata(&ofdev->dev, new_bus);
174 174
175 ret = of_mdiobus_register(new_bus, ofdev->node); 175 ret = of_mdiobus_register(new_bus, ofdev->dev.of_node);
176 if (ret) 176 if (ret)
177 goto out_free_irqs; 177 goto out_free_irqs;
178 178
diff --git a/drivers/net/fsl_pq_mdio.c b/drivers/net/fsl_pq_mdio.c
index d5160edf2fcf..72489a213bf7 100644
--- a/drivers/net/fsl_pq_mdio.c
+++ b/drivers/net/fsl_pq_mdio.c
@@ -271,7 +271,7 @@ static int get_ucc_id_for_range(u64 start, u64 end, u32 *ucc_id)
271static int fsl_pq_mdio_probe(struct of_device *ofdev, 271static int fsl_pq_mdio_probe(struct of_device *ofdev,
272 const struct of_device_id *match) 272 const struct of_device_id *match)
273{ 273{
274 struct device_node *np = ofdev->node; 274 struct device_node *np = ofdev->dev.of_node;
275 struct device_node *tbi; 275 struct device_node *tbi;
276 struct fsl_pq_mdio_priv *priv; 276 struct fsl_pq_mdio_priv *priv;
277 struct fsl_pq_mdio __iomem *regs = NULL; 277 struct fsl_pq_mdio __iomem *regs = NULL;
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index 080d1cea5b26..b71bba91064c 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -603,7 +603,7 @@ static int gfar_of_init(struct of_device *ofdev, struct net_device **pdev)
603 int err = 0, i; 603 int err = 0, i;
604 struct net_device *dev = NULL; 604 struct net_device *dev = NULL;
605 struct gfar_private *priv = NULL; 605 struct gfar_private *priv = NULL;
606 struct device_node *np = ofdev->node; 606 struct device_node *np = ofdev->dev.of_node;
607 struct device_node *child = NULL; 607 struct device_node *child = NULL;
608 const u32 *stash; 608 const u32 *stash;
609 const u32 *stash_len; 609 const u32 *stash_len;
@@ -641,7 +641,7 @@ static int gfar_of_init(struct of_device *ofdev, struct net_device **pdev)
641 return -ENOMEM; 641 return -ENOMEM;
642 642
643 priv = netdev_priv(dev); 643 priv = netdev_priv(dev);
644 priv->node = ofdev->node; 644 priv->node = ofdev->dev.of_node;
645 priv->ndev = dev; 645 priv->ndev = dev;
646 646
647 dev->num_tx_queues = num_tx_qs; 647 dev->num_tx_queues = num_tx_qs;
@@ -888,7 +888,7 @@ static int gfar_probe(struct of_device *ofdev,
888 priv = netdev_priv(dev); 888 priv = netdev_priv(dev);
889 priv->ndev = dev; 889 priv->ndev = dev;
890 priv->ofdev = ofdev; 890 priv->ofdev = ofdev;
891 priv->node = ofdev->node; 891 priv->node = ofdev->dev.of_node;
892 SET_NETDEV_DEV(dev, &ofdev->dev); 892 SET_NETDEV_DEV(dev, &ofdev->dev);
893 893
894 spin_lock_init(&priv->bflock); 894 spin_lock_init(&priv->bflock);
diff --git a/drivers/net/greth.c b/drivers/net/greth.c
index 3a90430de918..61fd54d35f63 100644
--- a/drivers/net/greth.c
+++ b/drivers/net/greth.c
@@ -1500,7 +1500,8 @@ static int __devinit greth_of_probe(struct of_device *ofdev, const struct of_dev
1500 if (i == 6) { 1500 if (i == 6) {
1501 const unsigned char *addr; 1501 const unsigned char *addr;
1502 int len; 1502 int len;
1503 addr = of_get_property(ofdev->node, "local-mac-address", &len); 1503 addr = of_get_property(ofdev->dev.of_node, "local-mac-address",
1504 &len);
1504 if (addr != NULL && len == 6) { 1505 if (addr != NULL && len == 6) {
1505 for (i = 0; i < 6; i++) 1506 for (i = 0; i < 6; i++)
1506 macaddr[i] = (unsigned int) addr[i]; 1507 macaddr[i] = (unsigned int) addr[i];
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
index dd873cc41c2b..cda2ba891344 100644
--- a/drivers/net/ibm_newemac/core.c
+++ b/drivers/net/ibm_newemac/core.c
@@ -136,7 +136,8 @@ static inline void emac_report_timeout_error(struct emac_instance *dev,
136 EMAC_FTR_440EP_PHY_CLK_FIX)) 136 EMAC_FTR_440EP_PHY_CLK_FIX))
137 DBG(dev, "%s" NL, error); 137 DBG(dev, "%s" NL, error);
138 else if (net_ratelimit()) 138 else if (net_ratelimit())
139 printk(KERN_ERR "%s: %s\n", dev->ofdev->node->full_name, error); 139 printk(KERN_ERR "%s: %s\n", dev->ofdev->dev.of_node->full_name,
140 error);
140} 141}
141 142
142/* EMAC PHY clock workaround: 143/* EMAC PHY clock workaround:
@@ -2185,7 +2186,7 @@ static void emac_ethtool_get_drvinfo(struct net_device *ndev,
2185 strcpy(info->version, DRV_VERSION); 2186 strcpy(info->version, DRV_VERSION);
2186 info->fw_version[0] = '\0'; 2187 info->fw_version[0] = '\0';
2187 sprintf(info->bus_info, "PPC 4xx EMAC-%d %s", 2188 sprintf(info->bus_info, "PPC 4xx EMAC-%d %s",
2188 dev->cell_index, dev->ofdev->node->full_name); 2189 dev->cell_index, dev->ofdev->dev.of_node->full_name);
2189 info->regdump_len = emac_ethtool_get_regs_len(ndev); 2190 info->regdump_len = emac_ethtool_get_regs_len(ndev);
2190} 2191}
2191 2192
@@ -2379,7 +2380,7 @@ static int __devinit emac_read_uint_prop(struct device_node *np, const char *nam
2379 2380
2380static int __devinit emac_init_phy(struct emac_instance *dev) 2381static int __devinit emac_init_phy(struct emac_instance *dev)
2381{ 2382{
2382 struct device_node *np = dev->ofdev->node; 2383 struct device_node *np = dev->ofdev->dev.of_node;
2383 struct net_device *ndev = dev->ndev; 2384 struct net_device *ndev = dev->ndev;
2384 u32 phy_map, adv; 2385 u32 phy_map, adv;
2385 int i; 2386 int i;
@@ -2514,7 +2515,7 @@ static int __devinit emac_init_phy(struct emac_instance *dev)
2514 2515
2515static int __devinit emac_init_config(struct emac_instance *dev) 2516static int __devinit emac_init_config(struct emac_instance *dev)
2516{ 2517{
2517 struct device_node *np = dev->ofdev->node; 2518 struct device_node *np = dev->ofdev->dev.of_node;
2518 const void *p; 2519 const void *p;
2519 unsigned int plen; 2520 unsigned int plen;
2520 const char *pm, *phy_modes[] = { 2521 const char *pm, *phy_modes[] = {
@@ -2723,7 +2724,7 @@ static int __devinit emac_probe(struct of_device *ofdev,
2723{ 2724{
2724 struct net_device *ndev; 2725 struct net_device *ndev;
2725 struct emac_instance *dev; 2726 struct emac_instance *dev;
2726 struct device_node *np = ofdev->node; 2727 struct device_node *np = ofdev->dev.of_node;
2727 struct device_node **blist = NULL; 2728 struct device_node **blist = NULL;
2728 int err, i; 2729 int err, i;
2729 2730
@@ -2810,7 +2811,7 @@ static int __devinit emac_probe(struct of_device *ofdev,
2810 err = mal_register_commac(dev->mal, &dev->commac); 2811 err = mal_register_commac(dev->mal, &dev->commac);
2811 if (err) { 2812 if (err) {
2812 printk(KERN_ERR "%s: failed to register with mal %s!\n", 2813 printk(KERN_ERR "%s: failed to register with mal %s!\n",
2813 np->full_name, dev->mal_dev->node->full_name); 2814 np->full_name, dev->mal_dev->dev.of_node->full_name);
2814 goto err_rel_deps; 2815 goto err_rel_deps;
2815 } 2816 }
2816 dev->rx_skb_size = emac_rx_skb_size(ndev->mtu); 2817 dev->rx_skb_size = emac_rx_skb_size(ndev->mtu);
diff --git a/drivers/net/ibm_newemac/debug.c b/drivers/net/ibm_newemac/debug.c
index 775c850a425a..3995fafc1e08 100644
--- a/drivers/net/ibm_newemac/debug.c
+++ b/drivers/net/ibm_newemac/debug.c
@@ -33,7 +33,7 @@ static void emac_desc_dump(struct emac_instance *p)
33 int i; 33 int i;
34 printk("** EMAC %s TX BDs **\n" 34 printk("** EMAC %s TX BDs **\n"
35 " tx_cnt = %d tx_slot = %d ack_slot = %d\n", 35 " tx_cnt = %d tx_slot = %d ack_slot = %d\n",
36 p->ofdev->node->full_name, 36 p->ofdev->dev.of_node->full_name,
37 p->tx_cnt, p->tx_slot, p->ack_slot); 37 p->tx_cnt, p->tx_slot, p->ack_slot);
38 for (i = 0; i < NUM_TX_BUFF / 2; ++i) 38 for (i = 0; i < NUM_TX_BUFF / 2; ++i)
39 printk 39 printk
@@ -49,7 +49,7 @@ static void emac_desc_dump(struct emac_instance *p)
49 printk("** EMAC %s RX BDs **\n" 49 printk("** EMAC %s RX BDs **\n"
50 " rx_slot = %d flags = 0x%lx rx_skb_size = %d rx_sync_size = %d\n" 50 " rx_slot = %d flags = 0x%lx rx_skb_size = %d rx_sync_size = %d\n"
51 " rx_sg_skb = 0x%p\n", 51 " rx_sg_skb = 0x%p\n",
52 p->ofdev->node->full_name, 52 p->ofdev->dev.of_node->full_name,
53 p->rx_slot, p->commac.flags, p->rx_skb_size, 53 p->rx_slot, p->commac.flags, p->rx_skb_size,
54 p->rx_sync_size, p->rx_sg_skb); 54 p->rx_sync_size, p->rx_sg_skb);
55 for (i = 0; i < NUM_RX_BUFF / 2; ++i) 55 for (i = 0; i < NUM_RX_BUFF / 2; ++i)
@@ -77,7 +77,8 @@ static void emac_mac_dump(struct emac_instance *dev)
77 "MR0 = 0x%08x MR1 = 0x%08x TMR0 = 0x%08x TMR1 = 0x%08x\n" 77 "MR0 = 0x%08x MR1 = 0x%08x TMR0 = 0x%08x TMR1 = 0x%08x\n"
78 "RMR = 0x%08x ISR = 0x%08x ISER = 0x%08x\n" 78 "RMR = 0x%08x ISR = 0x%08x ISER = 0x%08x\n"
79 "IAR = %04x%08x VTPID = 0x%04x VTCI = 0x%04x\n", 79 "IAR = %04x%08x VTPID = 0x%04x VTCI = 0x%04x\n",
80 dev->ofdev->node->full_name, in_be32(&p->mr0), in_be32(&p->mr1), 80 dev->ofdev->dev.of_node->full_name,
81 in_be32(&p->mr0), in_be32(&p->mr1),
81 in_be32(&p->tmr0), in_be32(&p->tmr1), 82 in_be32(&p->tmr0), in_be32(&p->tmr1),
82 in_be32(&p->rmr), in_be32(&p->isr), in_be32(&p->iser), 83 in_be32(&p->rmr), in_be32(&p->isr), in_be32(&p->iser),
83 in_be32(&p->iahr), in_be32(&p->ialr), in_be32(&p->vtpid), 84 in_be32(&p->iahr), in_be32(&p->ialr), in_be32(&p->vtpid),
@@ -128,7 +129,7 @@ static void emac_mal_dump(struct mal_instance *mal)
128 "CFG = 0x%08x ESR = 0x%08x IER = 0x%08x\n" 129 "CFG = 0x%08x ESR = 0x%08x IER = 0x%08x\n"
129 "TX|CASR = 0x%08x CARR = 0x%08x EOBISR = 0x%08x DEIR = 0x%08x\n" 130 "TX|CASR = 0x%08x CARR = 0x%08x EOBISR = 0x%08x DEIR = 0x%08x\n"
130 "RX|CASR = 0x%08x CARR = 0x%08x EOBISR = 0x%08x DEIR = 0x%08x\n", 131 "RX|CASR = 0x%08x CARR = 0x%08x EOBISR = 0x%08x DEIR = 0x%08x\n",
131 mal->ofdev->node->full_name, 132 mal->ofdev->dev.of_node->full_name,
132 get_mal_dcrn(mal, MAL_CFG), get_mal_dcrn(mal, MAL_ESR), 133 get_mal_dcrn(mal, MAL_CFG), get_mal_dcrn(mal, MAL_ESR),
133 get_mal_dcrn(mal, MAL_IER), 134 get_mal_dcrn(mal, MAL_IER),
134 get_mal_dcrn(mal, MAL_TXCASR), get_mal_dcrn(mal, MAL_TXCARR), 135 get_mal_dcrn(mal, MAL_TXCASR), get_mal_dcrn(mal, MAL_TXCARR),
diff --git a/drivers/net/ibm_newemac/debug.h b/drivers/net/ibm_newemac/debug.h
index b631842ec8d0..e596c77ccdf7 100644
--- a/drivers/net/ibm_newemac/debug.h
+++ b/drivers/net/ibm_newemac/debug.h
@@ -53,8 +53,8 @@ extern void emac_dbg_dump_all(void);
53 53
54#endif 54#endif
55 55
56#define EMAC_DBG(dev, name, fmt, arg...) \ 56#define EMAC_DBG(d, name, fmt, arg...) \
57 printk(KERN_DEBUG #name "%s: " fmt, dev->ofdev->node->full_name, ## arg) 57 printk(KERN_DEBUG #name "%s: " fmt, d->ofdev->dev.of_node->full_name, ## arg)
58 58
59#if DBG_LEVEL > 0 59#if DBG_LEVEL > 0
60# define DBG(d,f,x...) EMAC_DBG(d, emac, f, ##x) 60# define DBG(d,f,x...) EMAC_DBG(d, emac, f, ##x)
diff --git a/drivers/net/ibm_newemac/mal.c b/drivers/net/ibm_newemac/mal.c
index 5b3d94419fe6..aba17947e208 100644
--- a/drivers/net/ibm_newemac/mal.c
+++ b/drivers/net/ibm_newemac/mal.c
@@ -538,11 +538,11 @@ static int __devinit mal_probe(struct of_device *ofdev,
538 } 538 }
539 mal->index = index; 539 mal->index = index;
540 mal->ofdev = ofdev; 540 mal->ofdev = ofdev;
541 mal->version = of_device_is_compatible(ofdev->node, "ibm,mcmal2") ? 2 : 1; 541 mal->version = of_device_is_compatible(ofdev->dev.of_node, "ibm,mcmal2") ? 2 : 1;
542 542
543 MAL_DBG(mal, "probe" NL); 543 MAL_DBG(mal, "probe" NL);
544 544
545 prop = of_get_property(ofdev->node, "num-tx-chans", NULL); 545 prop = of_get_property(ofdev->dev.of_node, "num-tx-chans", NULL);
546 if (prop == NULL) { 546 if (prop == NULL) {
547 printk(KERN_ERR 547 printk(KERN_ERR
548 "mal%d: can't find MAL num-tx-chans property!\n", 548 "mal%d: can't find MAL num-tx-chans property!\n",
@@ -552,7 +552,7 @@ static int __devinit mal_probe(struct of_device *ofdev,
552 } 552 }
553 mal->num_tx_chans = prop[0]; 553 mal->num_tx_chans = prop[0];
554 554
555 prop = of_get_property(ofdev->node, "num-rx-chans", NULL); 555 prop = of_get_property(ofdev->dev.of_node, "num-rx-chans", NULL);
556 if (prop == NULL) { 556 if (prop == NULL) {
557 printk(KERN_ERR 557 printk(KERN_ERR
558 "mal%d: can't find MAL num-rx-chans property!\n", 558 "mal%d: can't find MAL num-rx-chans property!\n",
@@ -562,14 +562,14 @@ static int __devinit mal_probe(struct of_device *ofdev,
562 } 562 }
563 mal->num_rx_chans = prop[0]; 563 mal->num_rx_chans = prop[0];
564 564
565 dcr_base = dcr_resource_start(ofdev->node, 0); 565 dcr_base = dcr_resource_start(ofdev->dev.of_node, 0);
566 if (dcr_base == 0) { 566 if (dcr_base == 0) {
567 printk(KERN_ERR 567 printk(KERN_ERR
568 "mal%d: can't find DCR resource!\n", index); 568 "mal%d: can't find DCR resource!\n", index);
569 err = -ENODEV; 569 err = -ENODEV;
570 goto fail; 570 goto fail;
571 } 571 }
572 mal->dcr_host = dcr_map(ofdev->node, dcr_base, 0x100); 572 mal->dcr_host = dcr_map(ofdev->dev.of_node, dcr_base, 0x100);
573 if (!DCR_MAP_OK(mal->dcr_host)) { 573 if (!DCR_MAP_OK(mal->dcr_host)) {
574 printk(KERN_ERR 574 printk(KERN_ERR
575 "mal%d: failed to map DCRs !\n", index); 575 "mal%d: failed to map DCRs !\n", index);
@@ -577,28 +577,28 @@ static int __devinit mal_probe(struct of_device *ofdev,
577 goto fail; 577 goto fail;
578 } 578 }
579 579
580 if (of_device_is_compatible(ofdev->node, "ibm,mcmal-405ez")) { 580 if (of_device_is_compatible(ofdev->dev.of_node, "ibm,mcmal-405ez")) {
581#if defined(CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT) && \ 581#if defined(CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT) && \
582 defined(CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR) 582 defined(CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR)
583 mal->features |= (MAL_FTR_CLEAR_ICINTSTAT | 583 mal->features |= (MAL_FTR_CLEAR_ICINTSTAT |
584 MAL_FTR_COMMON_ERR_INT); 584 MAL_FTR_COMMON_ERR_INT);
585#else 585#else
586 printk(KERN_ERR "%s: Support for 405EZ not enabled!\n", 586 printk(KERN_ERR "%s: Support for 405EZ not enabled!\n",
587 ofdev->node->full_name); 587 ofdev->dev.of_node->full_name);
588 err = -ENODEV; 588 err = -ENODEV;
589 goto fail; 589 goto fail;
590#endif 590#endif
591 } 591 }
592 592
593 mal->txeob_irq = irq_of_parse_and_map(ofdev->node, 0); 593 mal->txeob_irq = irq_of_parse_and_map(ofdev->dev.of_node, 0);
594 mal->rxeob_irq = irq_of_parse_and_map(ofdev->node, 1); 594 mal->rxeob_irq = irq_of_parse_and_map(ofdev->dev.of_node, 1);
595 mal->serr_irq = irq_of_parse_and_map(ofdev->node, 2); 595 mal->serr_irq = irq_of_parse_and_map(ofdev->dev.of_node, 2);
596 596
597 if (mal_has_feature(mal, MAL_FTR_COMMON_ERR_INT)) { 597 if (mal_has_feature(mal, MAL_FTR_COMMON_ERR_INT)) {
598 mal->txde_irq = mal->rxde_irq = mal->serr_irq; 598 mal->txde_irq = mal->rxde_irq = mal->serr_irq;
599 } else { 599 } else {
600 mal->txde_irq = irq_of_parse_and_map(ofdev->node, 3); 600 mal->txde_irq = irq_of_parse_and_map(ofdev->dev.of_node, 3);
601 mal->rxde_irq = irq_of_parse_and_map(ofdev->node, 4); 601 mal->rxde_irq = irq_of_parse_and_map(ofdev->dev.of_node, 4);
602 } 602 }
603 603
604 if (mal->txeob_irq == NO_IRQ || mal->rxeob_irq == NO_IRQ || 604 if (mal->txeob_irq == NO_IRQ || mal->rxeob_irq == NO_IRQ ||
@@ -629,7 +629,7 @@ static int __devinit mal_probe(struct of_device *ofdev,
629 /* Current Axon is not happy with priority being non-0, it can 629 /* Current Axon is not happy with priority being non-0, it can
630 * deadlock, fix it up here 630 * deadlock, fix it up here
631 */ 631 */
632 if (of_device_is_compatible(ofdev->node, "ibm,mcmal-axon")) 632 if (of_device_is_compatible(ofdev->dev.of_node, "ibm,mcmal-axon"))
633 cfg &= ~(MAL2_CFG_RPP_10 | MAL2_CFG_WPP_10); 633 cfg &= ~(MAL2_CFG_RPP_10 | MAL2_CFG_WPP_10);
634 634
635 /* Apply configuration */ 635 /* Apply configuration */
@@ -701,7 +701,7 @@ static int __devinit mal_probe(struct of_device *ofdev,
701 701
702 printk(KERN_INFO 702 printk(KERN_INFO
703 "MAL v%d %s, %d TX channels, %d RX channels\n", 703 "MAL v%d %s, %d TX channels, %d RX channels\n",
704 mal->version, ofdev->node->full_name, 704 mal->version, ofdev->dev.of_node->full_name,
705 mal->num_tx_chans, mal->num_rx_chans); 705 mal->num_tx_chans, mal->num_rx_chans);
706 706
707 /* Advertise this instance to the rest of the world */ 707 /* Advertise this instance to the rest of the world */
diff --git a/drivers/net/ibm_newemac/rgmii.c b/drivers/net/ibm_newemac/rgmii.c
index 5b90d34c8455..6ab630a79e31 100644
--- a/drivers/net/ibm_newemac/rgmii.c
+++ b/drivers/net/ibm_newemac/rgmii.c
@@ -103,7 +103,7 @@ int __devinit rgmii_attach(struct of_device *ofdev, int input, int mode)
103 /* Check if we need to attach to a RGMII */ 103 /* Check if we need to attach to a RGMII */
104 if (input < 0 || !rgmii_valid_mode(mode)) { 104 if (input < 0 || !rgmii_valid_mode(mode)) {
105 printk(KERN_ERR "%s: unsupported settings !\n", 105 printk(KERN_ERR "%s: unsupported settings !\n",
106 ofdev->node->full_name); 106 ofdev->dev.of_node->full_name);
107 return -ENODEV; 107 return -ENODEV;
108 } 108 }
109 109
@@ -113,7 +113,7 @@ int __devinit rgmii_attach(struct of_device *ofdev, int input, int mode)
113 out_be32(&p->fer, in_be32(&p->fer) | rgmii_mode_mask(mode, input)); 113 out_be32(&p->fer, in_be32(&p->fer) | rgmii_mode_mask(mode, input));
114 114
115 printk(KERN_NOTICE "%s: input %d in %s mode\n", 115 printk(KERN_NOTICE "%s: input %d in %s mode\n",
116 ofdev->node->full_name, input, rgmii_mode_name(mode)); 116 ofdev->dev.of_node->full_name, input, rgmii_mode_name(mode));
117 117
118 ++dev->users; 118 ++dev->users;
119 119
@@ -231,7 +231,7 @@ void *rgmii_dump_regs(struct of_device *ofdev, void *buf)
231static int __devinit rgmii_probe(struct of_device *ofdev, 231static int __devinit rgmii_probe(struct of_device *ofdev,
232 const struct of_device_id *match) 232 const struct of_device_id *match)
233{ 233{
234 struct device_node *np = ofdev->node; 234 struct device_node *np = ofdev->dev.of_node;
235 struct rgmii_instance *dev; 235 struct rgmii_instance *dev;
236 struct resource regs; 236 struct resource regs;
237 int rc; 237 int rc;
@@ -264,11 +264,11 @@ static int __devinit rgmii_probe(struct of_device *ofdev,
264 } 264 }
265 265
266 /* Check for RGMII flags */ 266 /* Check for RGMII flags */
267 if (of_get_property(ofdev->node, "has-mdio", NULL)) 267 if (of_get_property(ofdev->dev.of_node, "has-mdio", NULL))
268 dev->flags |= EMAC_RGMII_FLAG_HAS_MDIO; 268 dev->flags |= EMAC_RGMII_FLAG_HAS_MDIO;
269 269
270 /* CAB lacks the right properties, fix this up */ 270 /* CAB lacks the right properties, fix this up */
271 if (of_device_is_compatible(ofdev->node, "ibm,rgmii-axon")) 271 if (of_device_is_compatible(ofdev->dev.of_node, "ibm,rgmii-axon"))
272 dev->flags |= EMAC_RGMII_FLAG_HAS_MDIO; 272 dev->flags |= EMAC_RGMII_FLAG_HAS_MDIO;
273 273
274 DBG2(dev, " Boot FER = 0x%08x, SSR = 0x%08x\n", 274 DBG2(dev, " Boot FER = 0x%08x, SSR = 0x%08x\n",
@@ -279,7 +279,7 @@ static int __devinit rgmii_probe(struct of_device *ofdev,
279 279
280 printk(KERN_INFO 280 printk(KERN_INFO
281 "RGMII %s initialized with%s MDIO support\n", 281 "RGMII %s initialized with%s MDIO support\n",
282 ofdev->node->full_name, 282 ofdev->dev.of_node->full_name,
283 (dev->flags & EMAC_RGMII_FLAG_HAS_MDIO) ? "" : "out"); 283 (dev->flags & EMAC_RGMII_FLAG_HAS_MDIO) ? "" : "out");
284 284
285 wmb(); 285 wmb();
diff --git a/drivers/net/ibm_newemac/tah.c b/drivers/net/ibm_newemac/tah.c
index 30173a9fb557..4f64b00dd5e8 100644
--- a/drivers/net/ibm_newemac/tah.c
+++ b/drivers/net/ibm_newemac/tah.c
@@ -57,7 +57,8 @@ void tah_reset(struct of_device *ofdev)
57 --n; 57 --n;
58 58
59 if (unlikely(!n)) 59 if (unlikely(!n))
60 printk(KERN_ERR "%s: reset timeout\n", ofdev->node->full_name); 60 printk(KERN_ERR "%s: reset timeout\n",
61 ofdev->dev.of_node->full_name);
61 62
62 /* 10KB TAH TX FIFO accomodates the max MTU of 9000 */ 63 /* 10KB TAH TX FIFO accomodates the max MTU of 9000 */
63 out_be32(&p->mr, 64 out_be32(&p->mr,
@@ -89,7 +90,7 @@ void *tah_dump_regs(struct of_device *ofdev, void *buf)
89static int __devinit tah_probe(struct of_device *ofdev, 90static int __devinit tah_probe(struct of_device *ofdev,
90 const struct of_device_id *match) 91 const struct of_device_id *match)
91{ 92{
92 struct device_node *np = ofdev->node; 93 struct device_node *np = ofdev->dev.of_node;
93 struct tah_instance *dev; 94 struct tah_instance *dev;
94 struct resource regs; 95 struct resource regs;
95 int rc; 96 int rc;
@@ -127,7 +128,7 @@ static int __devinit tah_probe(struct of_device *ofdev,
127 tah_reset(ofdev); 128 tah_reset(ofdev);
128 129
129 printk(KERN_INFO 130 printk(KERN_INFO
130 "TAH %s initialized\n", ofdev->node->full_name); 131 "TAH %s initialized\n", ofdev->dev.of_node->full_name);
131 wmb(); 132 wmb();
132 133
133 return 0; 134 return 0;
diff --git a/drivers/net/ibm_newemac/zmii.c b/drivers/net/ibm_newemac/zmii.c
index 1f038f808ab3..b4fa823ed201 100644
--- a/drivers/net/ibm_newemac/zmii.c
+++ b/drivers/net/ibm_newemac/zmii.c
@@ -121,13 +121,14 @@ int __devinit zmii_attach(struct of_device *ofdev, int input, int *mode)
121 dev->mode = *mode; 121 dev->mode = *mode;
122 122
123 printk(KERN_NOTICE "%s: bridge in %s mode\n", 123 printk(KERN_NOTICE "%s: bridge in %s mode\n",
124 ofdev->node->full_name, zmii_mode_name(dev->mode)); 124 ofdev->dev.of_node->full_name,
125 zmii_mode_name(dev->mode));
125 } else { 126 } else {
126 /* All inputs must use the same mode */ 127 /* All inputs must use the same mode */
127 if (*mode != PHY_MODE_NA && *mode != dev->mode) { 128 if (*mode != PHY_MODE_NA && *mode != dev->mode) {
128 printk(KERN_ERR 129 printk(KERN_ERR
129 "%s: invalid mode %d specified for input %d\n", 130 "%s: invalid mode %d specified for input %d\n",
130 ofdev->node->full_name, *mode, input); 131 ofdev->dev.of_node->full_name, *mode, input);
131 mutex_unlock(&dev->lock); 132 mutex_unlock(&dev->lock);
132 return -EINVAL; 133 return -EINVAL;
133 } 134 }
@@ -233,7 +234,7 @@ void *zmii_dump_regs(struct of_device *ofdev, void *buf)
233static int __devinit zmii_probe(struct of_device *ofdev, 234static int __devinit zmii_probe(struct of_device *ofdev,
234 const struct of_device_id *match) 235 const struct of_device_id *match)
235{ 236{
236 struct device_node *np = ofdev->node; 237 struct device_node *np = ofdev->dev.of_node;
237 struct zmii_instance *dev; 238 struct zmii_instance *dev;
238 struct resource regs; 239 struct resource regs;
239 int rc; 240 int rc;
@@ -273,7 +274,7 @@ static int __devinit zmii_probe(struct of_device *ofdev,
273 out_be32(&dev->base->fer, 0); 274 out_be32(&dev->base->fer, 0);
274 275
275 printk(KERN_INFO 276 printk(KERN_INFO
276 "ZMII %s initialized\n", ofdev->node->full_name); 277 "ZMII %s initialized\n", ofdev->dev.of_node->full_name);
277 wmb(); 278 wmb();
278 dev_set_drvdata(&ofdev->dev, dev); 279 dev_set_drvdata(&ofdev->dev, dev);
279 280
diff --git a/drivers/net/ll_temac_main.c b/drivers/net/ll_temac_main.c
index ba617e3cf1bb..9c7395c10e44 100644
--- a/drivers/net/ll_temac_main.c
+++ b/drivers/net/ll_temac_main.c
@@ -858,14 +858,14 @@ temac_of_probe(struct of_device *op, const struct of_device_id *match)
858 mutex_init(&lp->indirect_mutex); 858 mutex_init(&lp->indirect_mutex);
859 859
860 /* map device registers */ 860 /* map device registers */
861 lp->regs = of_iomap(op->node, 0); 861 lp->regs = of_iomap(op->dev.of_node, 0);
862 if (!lp->regs) { 862 if (!lp->regs) {
863 dev_err(&op->dev, "could not map temac regs.\n"); 863 dev_err(&op->dev, "could not map temac regs.\n");
864 goto nodev; 864 goto nodev;
865 } 865 }
866 866
867 /* Find the DMA node, map the DMA registers, and decode the DMA IRQs */ 867 /* Find the DMA node, map the DMA registers, and decode the DMA IRQs */
868 np = of_parse_phandle(op->node, "llink-connected", 0); 868 np = of_parse_phandle(op->dev.of_node, "llink-connected", 0);
869 if (!np) { 869 if (!np) {
870 dev_err(&op->dev, "could not find DMA node\n"); 870 dev_err(&op->dev, "could not find DMA node\n");
871 goto nodev; 871 goto nodev;
@@ -890,7 +890,7 @@ temac_of_probe(struct of_device *op, const struct of_device_id *match)
890 of_node_put(np); /* Finished with the DMA node; drop the reference */ 890 of_node_put(np); /* Finished with the DMA node; drop the reference */
891 891
892 /* Retrieve the MAC address */ 892 /* Retrieve the MAC address */
893 addr = of_get_property(op->node, "local-mac-address", &size); 893 addr = of_get_property(op->dev.of_node, "local-mac-address", &size);
894 if ((!addr) || (size != 6)) { 894 if ((!addr) || (size != 6)) {
895 dev_err(&op->dev, "could not find MAC address\n"); 895 dev_err(&op->dev, "could not find MAC address\n");
896 rc = -ENODEV; 896 rc = -ENODEV;
@@ -898,11 +898,11 @@ temac_of_probe(struct of_device *op, const struct of_device_id *match)
898 } 898 }
899 temac_set_mac_address(ndev, (void *)addr); 899 temac_set_mac_address(ndev, (void *)addr);
900 900
901 rc = temac_mdio_setup(lp, op->node); 901 rc = temac_mdio_setup(lp, op->dev.of_node);
902 if (rc) 902 if (rc)
903 dev_warn(&op->dev, "error registering MDIO bus\n"); 903 dev_warn(&op->dev, "error registering MDIO bus\n");
904 904
905 lp->phy_node = of_parse_phandle(op->node, "phy-handle", 0); 905 lp->phy_node = of_parse_phandle(op->dev.of_node, "phy-handle", 0);
906 if (lp->phy_node) 906 if (lp->phy_node)
907 dev_dbg(lp->dev, "using PHY node %s (%p)\n", np->full_name, np); 907 dev_dbg(lp->dev, "using PHY node %s (%p)\n", np->full_name, np);
908 908
diff --git a/drivers/net/myri_sbus.c b/drivers/net/myri_sbus.c
index b72e749afdf1..e21439f1e775 100644
--- a/drivers/net/myri_sbus.c
+++ b/drivers/net/myri_sbus.c
@@ -928,7 +928,7 @@ static const struct net_device_ops myri_ops = {
928 928
929static int __devinit myri_sbus_probe(struct of_device *op, const struct of_device_id *match) 929static int __devinit myri_sbus_probe(struct of_device *op, const struct of_device_id *match)
930{ 930{
931 struct device_node *dp = op->node; 931 struct device_node *dp = op->dev.of_node;
932 static unsigned version_printed; 932 static unsigned version_printed;
933 struct net_device *dev; 933 struct net_device *dev;
934 struct myri_eth *mp; 934 struct myri_eth *mp;
diff --git a/drivers/net/niu.c b/drivers/net/niu.c
index d5cd16bfc907..9c1604c04450 100644
--- a/drivers/net/niu.c
+++ b/drivers/net/niu.c
@@ -9094,7 +9094,7 @@ static int __devinit niu_n2_irq_init(struct niu *np, u8 *ldg_num_map)
9094 const u32 *int_prop; 9094 const u32 *int_prop;
9095 int i; 9095 int i;
9096 9096
9097 int_prop = of_get_property(op->node, "interrupts", NULL); 9097 int_prop = of_get_property(op->dev.of_node, "interrupts", NULL);
9098 if (!int_prop) 9098 if (!int_prop)
9099 return -ENODEV; 9099 return -ENODEV;
9100 9100
@@ -9245,7 +9245,7 @@ static int __devinit niu_get_of_props(struct niu *np)
9245 int prop_len; 9245 int prop_len;
9246 9246
9247 if (np->parent->plat_type == PLAT_TYPE_NIU) 9247 if (np->parent->plat_type == PLAT_TYPE_NIU)
9248 dp = np->op->node; 9248 dp = np->op->dev.of_node;
9249 else 9249 else
9250 dp = pci_device_to_OF_node(np->pdev); 9250 dp = pci_device_to_OF_node(np->pdev);
9251 9251
@@ -10056,10 +10056,10 @@ static int __devinit niu_of_probe(struct of_device *op,
10056 10056
10057 niu_driver_version(); 10057 niu_driver_version();
10058 10058
10059 reg = of_get_property(op->node, "reg", NULL); 10059 reg = of_get_property(op->dev.of_node, "reg", NULL);
10060 if (!reg) { 10060 if (!reg) {
10061 dev_err(&op->dev, "%s: No 'reg' property, aborting\n", 10061 dev_err(&op->dev, "%s: No 'reg' property, aborting\n",
10062 op->node->full_name); 10062 op->dev.of_node->full_name);
10063 return -ENODEV; 10063 return -ENODEV;
10064 } 10064 }
10065 10065
@@ -10072,7 +10072,7 @@ static int __devinit niu_of_probe(struct of_device *op,
10072 np = netdev_priv(dev); 10072 np = netdev_priv(dev);
10073 10073
10074 memset(&parent_id, 0, sizeof(parent_id)); 10074 memset(&parent_id, 0, sizeof(parent_id));
10075 parent_id.of = of_get_parent(op->node); 10075 parent_id.of = of_get_parent(op->dev.of_node);
10076 10076
10077 np->parent = niu_get_parent(np, &parent_id, 10077 np->parent = niu_get_parent(np, &parent_id,
10078 PLAT_TYPE_NIU); 10078 PLAT_TYPE_NIU);
diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index 35897134a5dd..641973ca2417 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -199,12 +199,12 @@ static int __devinit mdio_ofgpio_probe(struct of_device *ofdev,
199 if (!pdata) 199 if (!pdata)
200 return -ENOMEM; 200 return -ENOMEM;
201 201
202 ret = of_get_gpio(ofdev->node, 0); 202 ret = of_get_gpio(ofdev->dev.of_node, 0);
203 if (ret < 0) 203 if (ret < 0)
204 goto out_free; 204 goto out_free;
205 pdata->mdc = ret; 205 pdata->mdc = ret;
206 206
207 ret = of_get_gpio(ofdev->node, 1); 207 ret = of_get_gpio(ofdev->dev.of_node, 1);
208 if (ret < 0) 208 if (ret < 0)
209 goto out_free; 209 goto out_free;
210 pdata->mdio = ret; 210 pdata->mdio = ret;
@@ -213,7 +213,7 @@ static int __devinit mdio_ofgpio_probe(struct of_device *ofdev,
213 if (!new_bus) 213 if (!new_bus)
214 goto out_free; 214 goto out_free;
215 215
216 ret = of_mdiobus_register(new_bus, ofdev->node); 216 ret = of_mdiobus_register(new_bus, ofdev->dev.of_node);
217 if (ret) 217 if (ret)
218 mdio_gpio_bus_deinit(&ofdev->dev); 218 mdio_gpio_bus_deinit(&ofdev->dev);
219 219
diff --git a/drivers/net/sunbmac.c b/drivers/net/sunbmac.c
index ed7865a0b5b2..bd286ec5abd9 100644
--- a/drivers/net/sunbmac.c
+++ b/drivers/net/sunbmac.c
@@ -1133,8 +1133,8 @@ static int __devinit bigmac_ether_init(struct of_device *op,
1133 goto fail_and_cleanup; 1133 goto fail_and_cleanup;
1134 1134
1135 /* Get supported SBUS burst sizes. */ 1135 /* Get supported SBUS burst sizes. */
1136 bsizes = of_getintprop_default(qec_op->node, "burst-sizes", 0xff); 1136 bsizes = of_getintprop_default(qec_op->dev.of_node, "burst-sizes", 0xff);
1137 bsizes_more = of_getintprop_default(qec_op->node, "burst-sizes", 0xff); 1137 bsizes_more = of_getintprop_default(qec_op->dev.of_node, "burst-sizes", 0xff);
1138 1138
1139 bsizes &= 0xff; 1139 bsizes &= 0xff;
1140 if (bsizes_more != 0xff) 1140 if (bsizes_more != 0xff)
@@ -1186,7 +1186,7 @@ static int __devinit bigmac_ether_init(struct of_device *op,
1186 } 1186 }
1187 1187
1188 /* Get the board revision of this BigMAC. */ 1188 /* Get the board revision of this BigMAC. */
1189 bp->board_rev = of_getintprop_default(bp->bigmac_op->node, 1189 bp->board_rev = of_getintprop_default(bp->bigmac_op->dev.of_node,
1190 "board-version", 1); 1190 "board-version", 1);
1191 1191
1192 /* Init auto-negotiation timer state. */ 1192 /* Init auto-negotiation timer state. */
diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c
index b17dbb11bd67..c6463f71c916 100644
--- a/drivers/net/sunhme.c
+++ b/drivers/net/sunhme.c
@@ -2483,7 +2483,7 @@ static void hme_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info
2483 else { 2483 else {
2484 const struct linux_prom_registers *regs; 2484 const struct linux_prom_registers *regs;
2485 struct of_device *op = hp->happy_dev; 2485 struct of_device *op = hp->happy_dev;
2486 regs = of_get_property(op->node, "regs", NULL); 2486 regs = of_get_property(op->dev.of_node, "regs", NULL);
2487 if (regs) 2487 if (regs)
2488 sprintf(info->bus_info, "SBUS:%d", 2488 sprintf(info->bus_info, "SBUS:%d",
2489 regs->which_io); 2489 regs->which_io);
@@ -2643,14 +2643,14 @@ static const struct net_device_ops hme_netdev_ops = {
2643#ifdef CONFIG_SBUS 2643#ifdef CONFIG_SBUS
2644static int __devinit happy_meal_sbus_probe_one(struct of_device *op, int is_qfe) 2644static int __devinit happy_meal_sbus_probe_one(struct of_device *op, int is_qfe)
2645{ 2645{
2646 struct device_node *dp = op->node, *sbus_dp; 2646 struct device_node *dp = op->dev.of_node, *sbus_dp;
2647 struct quattro *qp = NULL; 2647 struct quattro *qp = NULL;
2648 struct happy_meal *hp; 2648 struct happy_meal *hp;
2649 struct net_device *dev; 2649 struct net_device *dev;
2650 int i, qfe_slot = -1; 2650 int i, qfe_slot = -1;
2651 int err = -ENODEV; 2651 int err = -ENODEV;
2652 2652
2653 sbus_dp = to_of_device(op->dev.parent)->node; 2653 sbus_dp = to_of_device(op->dev.parent)->dev.of_node;
2654 2654
2655 /* We can match PCI devices too, do not accept those here. */ 2655 /* We can match PCI devices too, do not accept those here. */
2656 if (strcmp(sbus_dp->name, "sbus")) 2656 if (strcmp(sbus_dp->name, "sbus"))
@@ -3241,7 +3241,7 @@ static void happy_meal_pci_exit(void)
3241#ifdef CONFIG_SBUS 3241#ifdef CONFIG_SBUS
3242static int __devinit hme_sbus_probe(struct of_device *op, const struct of_device_id *match) 3242static int __devinit hme_sbus_probe(struct of_device *op, const struct of_device_id *match)
3243{ 3243{
3244 struct device_node *dp = op->node; 3244 struct device_node *dp = op->dev.of_node;
3245 const char *model = of_get_property(dp, "model", NULL); 3245 const char *model = of_get_property(dp, "model", NULL);
3246 int is_qfe = (match->data != NULL); 3246 int is_qfe = (match->data != NULL);
3247 3247
diff --git a/drivers/net/sunlance.c b/drivers/net/sunlance.c
index 0c21653ff9f9..28afc86e0694 100644
--- a/drivers/net/sunlance.c
+++ b/drivers/net/sunlance.c
@@ -1324,7 +1324,7 @@ static int __devinit sparc_lance_probe_one(struct of_device *op,
1324 struct of_device *ledma, 1324 struct of_device *ledma,
1325 struct of_device *lebuffer) 1325 struct of_device *lebuffer)
1326{ 1326{
1327 struct device_node *dp = op->node; 1327 struct device_node *dp = op->dev.of_node;
1328 static unsigned version_printed; 1328 static unsigned version_printed;
1329 struct lance_private *lp; 1329 struct lance_private *lp;
1330 struct net_device *dev; 1330 struct net_device *dev;
@@ -1411,7 +1411,7 @@ static int __devinit sparc_lance_probe_one(struct of_device *op,
1411 1411
1412 lp->burst_sizes = 0; 1412 lp->burst_sizes = 0;
1413 if (lp->ledma) { 1413 if (lp->ledma) {
1414 struct device_node *ledma_dp = ledma->node; 1414 struct device_node *ledma_dp = ledma->dev.of_node;
1415 struct device_node *sbus_dp; 1415 struct device_node *sbus_dp;
1416 unsigned int sbmask; 1416 unsigned int sbmask;
1417 const char *prop; 1417 const char *prop;
@@ -1507,7 +1507,7 @@ fail:
1507static int __devinit sunlance_sbus_probe(struct of_device *op, const struct of_device_id *match) 1507static int __devinit sunlance_sbus_probe(struct of_device *op, const struct of_device_id *match)
1508{ 1508{
1509 struct of_device *parent = to_of_device(op->dev.parent); 1509 struct of_device *parent = to_of_device(op->dev.parent);
1510 struct device_node *parent_dp = parent->node; 1510 struct device_node *parent_dp = parent->dev.of_node;
1511 int err; 1511 int err;
1512 1512
1513 if (!strcmp(parent_dp->name, "ledma")) { 1513 if (!strcmp(parent_dp->name, "ledma")) {
diff --git a/drivers/net/sunqe.c b/drivers/net/sunqe.c
index be637dce944c..9864f4fa69d5 100644
--- a/drivers/net/sunqe.c
+++ b/drivers/net/sunqe.c
@@ -696,7 +696,7 @@ static void qe_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
696 strcpy(info->version, "3.0"); 696 strcpy(info->version, "3.0");
697 697
698 op = qep->op; 698 op = qep->op;
699 regs = of_get_property(op->node, "reg", NULL); 699 regs = of_get_property(op->dev.of_node, "reg", NULL);
700 if (regs) 700 if (regs)
701 sprintf(info->bus_info, "SBUS:%d", regs->which_io); 701 sprintf(info->bus_info, "SBUS:%d", regs->which_io);
702 702
@@ -800,7 +800,7 @@ static struct sunqec * __devinit get_qec(struct of_device *child)
800 if (qec_global_reset(qecp->gregs)) 800 if (qec_global_reset(qecp->gregs))
801 goto fail; 801 goto fail;
802 802
803 qecp->qec_bursts = qec_get_burst(op->node); 803 qecp->qec_bursts = qec_get_burst(op->dev.of_node);
804 804
805 qec_init_once(qecp, op); 805 qec_init_once(qecp, op);
806 806
@@ -858,7 +858,7 @@ static int __devinit qec_ether_init(struct of_device *op)
858 858
859 res = -ENODEV; 859 res = -ENODEV;
860 860
861 i = of_getintprop_default(op->node, "channel#", -1); 861 i = of_getintprop_default(op->dev.of_node, "channel#", -1);
862 if (i == -1) 862 if (i == -1)
863 goto fail; 863 goto fail;
864 qe->channel = i; 864 qe->channel = i;
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index 1b0aef37e495..88ebfc976735 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -3721,7 +3721,7 @@ static const struct net_device_ops ucc_geth_netdev_ops = {
3721static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *match) 3721static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *match)
3722{ 3722{
3723 struct device *device = &ofdev->dev; 3723 struct device *device = &ofdev->dev;
3724 struct device_node *np = ofdev->node; 3724 struct device_node *np = ofdev->dev.of_node;
3725 struct net_device *dev = NULL; 3725 struct net_device *dev = NULL;
3726 struct ucc_geth_private *ugeth = NULL; 3726 struct ucc_geth_private *ugeth = NULL;
3727 struct ucc_geth_info *ug_info; 3727 struct ucc_geth_info *ug_info;
diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c
index 1e783ccc306e..3dd2416db540 100644
--- a/drivers/net/xilinx_emaclite.c
+++ b/drivers/net/xilinx_emaclite.c
@@ -1090,7 +1090,7 @@ static void xemaclite_remove_ndev(struct net_device *ndev)
1090 */ 1090 */
1091static bool get_bool(struct of_device *ofdev, const char *s) 1091static bool get_bool(struct of_device *ofdev, const char *s)
1092{ 1092{
1093 u32 *p = (u32 *)of_get_property(ofdev->node, s, NULL); 1093 u32 *p = (u32 *)of_get_property(ofdev->dev.of_node, s, NULL);
1094 1094
1095 if (p) { 1095 if (p) {
1096 return (bool)*p; 1096 return (bool)*p;
@@ -1132,14 +1132,14 @@ static int __devinit xemaclite_of_probe(struct of_device *ofdev,
1132 dev_info(dev, "Device Tree Probing\n"); 1132 dev_info(dev, "Device Tree Probing\n");
1133 1133
1134 /* Get iospace for the device */ 1134 /* Get iospace for the device */
1135 rc = of_address_to_resource(ofdev->node, 0, &r_mem); 1135 rc = of_address_to_resource(ofdev->dev.of_node, 0, &r_mem);
1136 if (rc) { 1136 if (rc) {
1137 dev_err(dev, "invalid address\n"); 1137 dev_err(dev, "invalid address\n");
1138 return rc; 1138 return rc;
1139 } 1139 }
1140 1140
1141 /* Get IRQ for the device */ 1141 /* Get IRQ for the device */
1142 rc = of_irq_to_resource(ofdev->node, 0, &r_irq); 1142 rc = of_irq_to_resource(ofdev->dev.of_node, 0, &r_irq);
1143 if (rc == NO_IRQ) { 1143 if (rc == NO_IRQ) {
1144 dev_err(dev, "no IRQ found\n"); 1144 dev_err(dev, "no IRQ found\n");
1145 return rc; 1145 return rc;
@@ -1184,7 +1184,7 @@ static int __devinit xemaclite_of_probe(struct of_device *ofdev,
1184 lp->next_rx_buf_to_use = 0x0; 1184 lp->next_rx_buf_to_use = 0x0;
1185 lp->tx_ping_pong = get_bool(ofdev, "xlnx,tx-ping-pong"); 1185 lp->tx_ping_pong = get_bool(ofdev, "xlnx,tx-ping-pong");
1186 lp->rx_ping_pong = get_bool(ofdev, "xlnx,rx-ping-pong"); 1186 lp->rx_ping_pong = get_bool(ofdev, "xlnx,rx-ping-pong");
1187 mac_address = of_get_mac_address(ofdev->node); 1187 mac_address = of_get_mac_address(ofdev->dev.of_node);
1188 1188
1189 if (mac_address) 1189 if (mac_address)
1190 /* Set the MAC address. */ 1190 /* Set the MAC address. */
@@ -1199,7 +1199,7 @@ static int __devinit xemaclite_of_probe(struct of_device *ofdev,
1199 /* Set the MAC address in the EmacLite device */ 1199 /* Set the MAC address in the EmacLite device */
1200 xemaclite_update_address(lp, ndev->dev_addr); 1200 xemaclite_update_address(lp, ndev->dev_addr);
1201 1201
1202 lp->phy_node = of_parse_phandle(ofdev->node, "phy-handle", 0); 1202 lp->phy_node = of_parse_phandle(ofdev->dev.of_node, "phy-handle", 0);
1203 rc = xemaclite_mdio_setup(lp, &ofdev->dev); 1203 rc = xemaclite_mdio_setup(lp, &ofdev->dev);
1204 if (rc) 1204 if (rc)
1205 dev_warn(&ofdev->dev, "error registering MDIO bus\n"); 1205 dev_warn(&ofdev->dev, "error registering MDIO bus\n");
diff --git a/drivers/of/device.c b/drivers/of/device.c
index 224ae6bc67b6..24068bbbce1a 100644
--- a/drivers/of/device.c
+++ b/drivers/of/device.c
@@ -21,9 +21,9 @@
21const struct of_device_id *of_match_device(const struct of_device_id *matches, 21const struct of_device_id *of_match_device(const struct of_device_id *matches,
22 const struct of_device *dev) 22 const struct of_device *dev)
23{ 23{
24 if (!dev->node) 24 if (!dev->dev.of_node)
25 return NULL; 25 return NULL;
26 return of_match_node(matches, dev->node); 26 return of_match_node(matches, dev->dev.of_node);
27} 27}
28EXPORT_SYMBOL(of_match_device); 28EXPORT_SYMBOL(of_match_device);
29 29
@@ -54,7 +54,7 @@ static ssize_t devspec_show(struct device *dev,
54 struct of_device *ofdev; 54 struct of_device *ofdev;
55 55
56 ofdev = to_of_device(dev); 56 ofdev = to_of_device(dev);
57 return sprintf(buf, "%s\n", ofdev->node->full_name); 57 return sprintf(buf, "%s\n", ofdev->dev.of_node->full_name);
58} 58}
59 59
60static ssize_t name_show(struct device *dev, 60static ssize_t name_show(struct device *dev,
@@ -63,7 +63,7 @@ static ssize_t name_show(struct device *dev,
63 struct of_device *ofdev; 63 struct of_device *ofdev;
64 64
65 ofdev = to_of_device(dev); 65 ofdev = to_of_device(dev);
66 return sprintf(buf, "%s\n", ofdev->node->name); 66 return sprintf(buf, "%s\n", ofdev->dev.of_node->name);
67} 67}
68 68
69static ssize_t modalias_show(struct device *dev, 69static ssize_t modalias_show(struct device *dev,
@@ -97,14 +97,14 @@ void of_release_dev(struct device *dev)
97 struct of_device *ofdev; 97 struct of_device *ofdev;
98 98
99 ofdev = to_of_device(dev); 99 ofdev = to_of_device(dev);
100 of_node_put(ofdev->node); 100 of_node_put(ofdev->dev.of_node);
101 kfree(ofdev); 101 kfree(ofdev);
102} 102}
103EXPORT_SYMBOL(of_release_dev); 103EXPORT_SYMBOL(of_release_dev);
104 104
105int of_device_register(struct of_device *ofdev) 105int of_device_register(struct of_device *ofdev)
106{ 106{
107 BUG_ON(ofdev->node == NULL); 107 BUG_ON(ofdev->dev.of_node == NULL);
108 108
109 device_initialize(&ofdev->dev); 109 device_initialize(&ofdev->dev);
110 110
@@ -112,7 +112,7 @@ int of_device_register(struct of_device *ofdev)
112 * the parent. If there is no parent defined, set the node 112 * the parent. If there is no parent defined, set the node
113 * explicitly */ 113 * explicitly */
114 if (!ofdev->dev.parent) 114 if (!ofdev->dev.parent)
115 set_dev_node(&ofdev->dev, of_node_to_nid(ofdev->node)); 115 set_dev_node(&ofdev->dev, of_node_to_nid(ofdev->dev.of_node));
116 116
117 return device_add(&ofdev->dev); 117 return device_add(&ofdev->dev);
118} 118}
@@ -132,11 +132,11 @@ ssize_t of_device_get_modalias(struct of_device *ofdev,
132 ssize_t tsize, csize, repend; 132 ssize_t tsize, csize, repend;
133 133
134 /* Name & Type */ 134 /* Name & Type */
135 csize = snprintf(str, len, "of:N%sT%s", 135 csize = snprintf(str, len, "of:N%sT%s", ofdev->dev.of_node->name,
136 ofdev->node->name, ofdev->node->type); 136 ofdev->dev.of_node->type);
137 137
138 /* Get compatible property if any */ 138 /* Get compatible property if any */
139 compat = of_get_property(ofdev->node, "compatible", &cplen); 139 compat = of_get_property(ofdev->dev.of_node, "compatible", &cplen);
140 if (!compat) 140 if (!compat)
141 return csize; 141 return csize;
142 142
diff --git a/drivers/of/of_i2c.c b/drivers/of/of_i2c.c
index e690a2aa6fef..604ba966e1c9 100644
--- a/drivers/of/of_i2c.c
+++ b/drivers/of/of_i2c.c
@@ -69,7 +69,7 @@ EXPORT_SYMBOL(of_register_i2c_devices);
69 69
70static int of_dev_node_match(struct device *dev, void *data) 70static int of_dev_node_match(struct device *dev, void *data)
71{ 71{
72 return dev_archdata_get_node(&dev->archdata) == data; 72 return dev->of_node == data;
73} 73}
74 74
75/* must call put_device() when done with returned i2c_client device */ 75/* must call put_device() when done with returned i2c_client device */
diff --git a/drivers/of/of_mdio.c b/drivers/of/of_mdio.c
index 12090f57dc87..01d794abe105 100644
--- a/drivers/of/of_mdio.c
+++ b/drivers/of/of_mdio.c
@@ -101,7 +101,7 @@ EXPORT_SYMBOL(of_mdiobus_register);
101/* Helper function for of_phy_find_device */ 101/* Helper function for of_phy_find_device */
102static int of_phy_match(struct device *dev, void *phy_np) 102static int of_phy_match(struct device *dev, void *phy_np)
103{ 103{
104 return dev_archdata_get_node(&dev->archdata) == phy_np; 104 return dev->of_node == phy_np;
105} 105}
106 106
107/** 107/**
@@ -167,7 +167,7 @@ struct phy_device *of_phy_connect_fixed_link(struct net_device *dev,
167 if (!dev->dev.parent) 167 if (!dev->dev.parent)
168 return NULL; 168 return NULL;
169 169
170 net_np = dev_archdata_get_node(&dev->dev.parent->archdata); 170 net_np = dev->dev.parent->of_node;
171 if (!net_np) 171 if (!net_np)
172 return NULL; 172 return NULL;
173 173
diff --git a/drivers/pcmcia/electra_cf.c b/drivers/pcmcia/electra_cf.c
index 2e59fe947d28..a22d32d71bf2 100644
--- a/drivers/pcmcia/electra_cf.c
+++ b/drivers/pcmcia/electra_cf.c
@@ -185,7 +185,7 @@ static int __devinit electra_cf_probe(struct of_device *ofdev,
185 const struct of_device_id *match) 185 const struct of_device_id *match)
186{ 186{
187 struct device *device = &ofdev->dev; 187 struct device *device = &ofdev->dev;
188 struct device_node *np = ofdev->node; 188 struct device_node *np = ofdev->dev.of_node;
189 struct electra_cf_socket *cf; 189 struct electra_cf_socket *cf;
190 struct resource mem, io; 190 struct resource mem, io;
191 int status; 191 int status;
diff --git a/drivers/sbus/char/bbc_envctrl.c b/drivers/sbus/char/bbc_envctrl.c
index b4951eb0358e..103fdf6b0b89 100644
--- a/drivers/sbus/char/bbc_envctrl.c
+++ b/drivers/sbus/char/bbc_envctrl.c
@@ -565,9 +565,9 @@ int bbc_envctrl_init(struct bbc_i2c_bus *bp)
565 int devidx = 0; 565 int devidx = 0;
566 566
567 while ((op = bbc_i2c_getdev(bp, devidx++)) != NULL) { 567 while ((op = bbc_i2c_getdev(bp, devidx++)) != NULL) {
568 if (!strcmp(op->node->name, "temperature")) 568 if (!strcmp(op->dev.of_node->name, "temperature"))
569 attach_one_temp(bp, op, temp_index++); 569 attach_one_temp(bp, op, temp_index++);
570 if (!strcmp(op->node->name, "fan-control")) 570 if (!strcmp(op->dev.of_node->name, "fan-control"))
571 attach_one_fan(bp, op, fan_index++); 571 attach_one_fan(bp, op, fan_index++);
572 } 572 }
573 if (temp_index != 0 && fan_index != 0) { 573 if (temp_index != 0 && fan_index != 0) {
diff --git a/drivers/sbus/char/bbc_i2c.c b/drivers/sbus/char/bbc_i2c.c
index 7e30e5f6e032..1543ac32b79b 100644
--- a/drivers/sbus/char/bbc_i2c.c
+++ b/drivers/sbus/char/bbc_i2c.c
@@ -97,7 +97,7 @@ struct bbc_i2c_client *bbc_i2c_attach(struct bbc_i2c_bus *bp, struct of_device *
97 client->bp = bp; 97 client->bp = bp;
98 client->op = op; 98 client->op = op;
99 99
100 reg = of_get_property(op->node, "reg", NULL); 100 reg = of_get_property(op->dev.of_node, "reg", NULL);
101 if (!reg) { 101 if (!reg) {
102 kfree(client); 102 kfree(client);
103 return NULL; 103 return NULL;
@@ -327,7 +327,7 @@ static struct bbc_i2c_bus * __init attach_one_i2c(struct of_device *op, int inde
327 spin_lock_init(&bp->lock); 327 spin_lock_init(&bp->lock);
328 328
329 entry = 0; 329 entry = 0;
330 for (dp = op->node->child; 330 for (dp = op->dev.of_node->child;
331 dp && entry < 8; 331 dp && entry < 8;
332 dp = dp->sibling, entry++) { 332 dp = dp->sibling, entry++) {
333 struct of_device *child_op; 333 struct of_device *child_op;
diff --git a/drivers/sbus/char/display7seg.c b/drivers/sbus/char/display7seg.c
index 3e59189f4137..7fc7f34f3466 100644
--- a/drivers/sbus/char/display7seg.c
+++ b/drivers/sbus/char/display7seg.c
@@ -216,7 +216,7 @@ static int __devinit d7s_probe(struct of_device *op,
216 writeb(regs, p->regs); 216 writeb(regs, p->regs);
217 217
218 printk(KERN_INFO PFX "7-Segment Display%s at [%s:0x%llx] %s\n", 218 printk(KERN_INFO PFX "7-Segment Display%s at [%s:0x%llx] %s\n",
219 op->node->full_name, 219 op->dev.of_node->full_name,
220 (regs & D7S_FLIP) ? " (FLIPPED)" : "", 220 (regs & D7S_FLIP) ? " (FLIPPED)" : "",
221 op->resource[0].start, 221 op->resource[0].start,
222 sol_compat ? "in sol_compat mode" : ""); 222 sol_compat ? "in sol_compat mode" : "");
diff --git a/drivers/sbus/char/envctrl.c b/drivers/sbus/char/envctrl.c
index c6e2eff19409..a5fe20faf4f7 100644
--- a/drivers/sbus/char/envctrl.c
+++ b/drivers/sbus/char/envctrl.c
@@ -1043,7 +1043,7 @@ static int __devinit envctrl_probe(struct of_device *op,
1043 return -ENOMEM; 1043 return -ENOMEM;
1044 1044
1045 index = 0; 1045 index = 0;
1046 dp = op->node->child; 1046 dp = op->dev.of_node->child;
1047 while (dp) { 1047 while (dp) {
1048 if (!strcmp(dp->name, "gpio")) { 1048 if (!strcmp(dp->name, "gpio")) {
1049 i2c_childlist[index].i2ctype = I2C_GPIO; 1049 i2c_childlist[index].i2ctype = I2C_GPIO;
diff --git a/drivers/sbus/char/flash.c b/drivers/sbus/char/flash.c
index 19f255b97c86..202ff8f75afb 100644
--- a/drivers/sbus/char/flash.c
+++ b/drivers/sbus/char/flash.c
@@ -162,7 +162,7 @@ static struct miscdevice flash_dev = { FLASH_MINOR, "flash", &flash_fops };
162static int __devinit flash_probe(struct of_device *op, 162static int __devinit flash_probe(struct of_device *op,
163 const struct of_device_id *match) 163 const struct of_device_id *match)
164{ 164{
165 struct device_node *dp = op->node; 165 struct device_node *dp = op->dev.of_node;
166 struct device_node *parent; 166 struct device_node *parent;
167 167
168 parent = dp->parent; 168 parent = dp->parent;
@@ -184,7 +184,7 @@ static int __devinit flash_probe(struct of_device *op,
184 flash.busy = 0; 184 flash.busy = 0;
185 185
186 printk(KERN_INFO "%s: OBP Flash, RD %lx[%lx] WR %lx[%lx]\n", 186 printk(KERN_INFO "%s: OBP Flash, RD %lx[%lx] WR %lx[%lx]\n",
187 op->node->full_name, 187 op->dev.of_node->full_name,
188 flash.read_base, flash.read_size, 188 flash.read_base, flash.read_size,
189 flash.write_base, flash.write_size); 189 flash.write_base, flash.write_size);
190 190
diff --git a/drivers/sbus/char/uctrl.c b/drivers/sbus/char/uctrl.c
index 2c56fd56ec63..acc6738aa61f 100644
--- a/drivers/sbus/char/uctrl.c
+++ b/drivers/sbus/char/uctrl.c
@@ -382,7 +382,7 @@ static int __devinit uctrl_probe(struct of_device *op,
382 382
383 sbus_writel(UCTRL_INTR_RXNE_REQ|UCTRL_INTR_RXNE_MSK, &p->regs->uctrl_intr); 383 sbus_writel(UCTRL_INTR_RXNE_REQ|UCTRL_INTR_RXNE_MSK, &p->regs->uctrl_intr);
384 printk(KERN_INFO "%s: uctrl regs[0x%p] (irq %d)\n", 384 printk(KERN_INFO "%s: uctrl regs[0x%p] (irq %d)\n",
385 op->node->full_name, p->regs, p->irq); 385 op->dev.of_node->full_name, p->regs, p->irq);
386 uctrl_get_event_status(p); 386 uctrl_get_event_status(p);
387 uctrl_get_external_status(p); 387 uctrl_get_external_status(p);
388 388
diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c
index c2eea711a5ce..60cd4ec51eae 100644
--- a/drivers/scsi/ibmvscsi/ibmvfc.c
+++ b/drivers/scsi/ibmvscsi/ibmvfc.c
@@ -1157,7 +1157,7 @@ static void ibmvfc_gather_partition_info(struct ibmvfc_host *vhost)
1157static void ibmvfc_set_login_info(struct ibmvfc_host *vhost) 1157static void ibmvfc_set_login_info(struct ibmvfc_host *vhost)
1158{ 1158{
1159 struct ibmvfc_npiv_login *login_info = &vhost->login_info; 1159 struct ibmvfc_npiv_login *login_info = &vhost->login_info;
1160 struct device_node *of_node = vhost->dev->archdata.of_node; 1160 struct device_node *of_node = vhost->dev->of_node;
1161 const char *location; 1161 const char *location;
1162 1162
1163 memset(login_info, 0, sizeof(*login_info)); 1163 memset(login_info, 0, sizeof(*login_info));
diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c
index ff5ec5ac1fb5..cc38fefc2612 100644
--- a/drivers/scsi/ibmvscsi/ibmvscsi.c
+++ b/drivers/scsi/ibmvscsi/ibmvscsi.c
@@ -957,7 +957,7 @@ static void send_mad_capabilities(struct ibmvscsi_host_data *hostdata)
957 struct viosrp_capabilities *req; 957 struct viosrp_capabilities *req;
958 struct srp_event_struct *evt_struct; 958 struct srp_event_struct *evt_struct;
959 unsigned long flags; 959 unsigned long flags;
960 struct device_node *of_node = hostdata->dev->archdata.of_node; 960 struct device_node *of_node = hostdata->dev->of_node;
961 const char *location; 961 const char *location;
962 962
963 evt_struct = get_event_struct(&hostdata->pool); 963 evt_struct = get_event_struct(&hostdata->pool);
diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c
index aa406497eebc..35433d23b7ce 100644
--- a/drivers/scsi/qlogicpti.c
+++ b/drivers/scsi/qlogicpti.c
@@ -755,7 +755,7 @@ static void __devinit qpti_get_scsi_id(struct qlogicpti *qpti)
755 struct of_device *op = qpti->op; 755 struct of_device *op = qpti->op;
756 struct device_node *dp; 756 struct device_node *dp;
757 757
758 dp = op->node; 758 dp = op->dev.of_node;
759 759
760 qpti->scsi_id = of_getintprop_default(dp, "initiator-id", -1); 760 qpti->scsi_id = of_getintprop_default(dp, "initiator-id", -1);
761 if (qpti->scsi_id == -1) 761 if (qpti->scsi_id == -1)
@@ -776,8 +776,8 @@ static void qpti_get_bursts(struct qlogicpti *qpti)
776 struct of_device *op = qpti->op; 776 struct of_device *op = qpti->op;
777 u8 bursts, bmask; 777 u8 bursts, bmask;
778 778
779 bursts = of_getintprop_default(op->node, "burst-sizes", 0xff); 779 bursts = of_getintprop_default(op->dev.of_node, "burst-sizes", 0xff);
780 bmask = of_getintprop_default(op->node->parent, "burst-sizes", 0xff); 780 bmask = of_getintprop_default(op->dev.of_node->parent, "burst-sizes", 0xff);
781 if (bmask != 0xff) 781 if (bmask != 0xff)
782 bursts &= bmask; 782 bursts &= bmask;
783 if (bursts == 0xff || 783 if (bursts == 0xff ||
@@ -1293,7 +1293,7 @@ static struct scsi_host_template qpti_template = {
1293static int __devinit qpti_sbus_probe(struct of_device *op, const struct of_device_id *match) 1293static int __devinit qpti_sbus_probe(struct of_device *op, const struct of_device_id *match)
1294{ 1294{
1295 struct scsi_host_template *tpnt = match->data; 1295 struct scsi_host_template *tpnt = match->data;
1296 struct device_node *dp = op->node; 1296 struct device_node *dp = op->dev.of_node;
1297 struct Scsi_Host *host; 1297 struct Scsi_Host *host;
1298 struct qlogicpti *qpti; 1298 struct qlogicpti *qpti;
1299 static int nqptis; 1299 static int nqptis;
@@ -1315,7 +1315,7 @@ static int __devinit qpti_sbus_probe(struct of_device *op, const struct of_devic
1315 qpti->qhost = host; 1315 qpti->qhost = host;
1316 qpti->op = op; 1316 qpti->op = op;
1317 qpti->qpti_id = nqptis; 1317 qpti->qpti_id = nqptis;
1318 strcpy(qpti->prom_name, op->node->name); 1318 strcpy(qpti->prom_name, op->dev.of_node->name);
1319 qpti->is_pti = strcmp(qpti->prom_name, "QLGC,isp"); 1319 qpti->is_pti = strcmp(qpti->prom_name, "QLGC,isp");
1320 1320
1321 if (qpti_map_regs(qpti) < 0) 1321 if (qpti_map_regs(qpti) < 0)
diff --git a/drivers/scsi/sun_esp.c b/drivers/scsi/sun_esp.c
index fc23d273fb1a..151df73df475 100644
--- a/drivers/scsi/sun_esp.c
+++ b/drivers/scsi/sun_esp.c
@@ -125,7 +125,7 @@ static void __devinit esp_get_scsi_id(struct esp *esp, struct of_device *espdma)
125 struct of_device *op = esp->dev; 125 struct of_device *op = esp->dev;
126 struct device_node *dp; 126 struct device_node *dp;
127 127
128 dp = op->node; 128 dp = op->dev.of_node;
129 esp->scsi_id = of_getintprop_default(dp, "initiator-id", 0xff); 129 esp->scsi_id = of_getintprop_default(dp, "initiator-id", 0xff);
130 if (esp->scsi_id != 0xff) 130 if (esp->scsi_id != 0xff)
131 goto done; 131 goto done;
@@ -134,7 +134,7 @@ static void __devinit esp_get_scsi_id(struct esp *esp, struct of_device *espdma)
134 if (esp->scsi_id != 0xff) 134 if (esp->scsi_id != 0xff)
135 goto done; 135 goto done;
136 136
137 esp->scsi_id = of_getintprop_default(espdma->node, 137 esp->scsi_id = of_getintprop_default(espdma->dev.of_node,
138 "scsi-initiator-id", 7); 138 "scsi-initiator-id", 7);
139 139
140done: 140done:
@@ -147,7 +147,7 @@ static void __devinit esp_get_differential(struct esp *esp)
147 struct of_device *op = esp->dev; 147 struct of_device *op = esp->dev;
148 struct device_node *dp; 148 struct device_node *dp;
149 149
150 dp = op->node; 150 dp = op->dev.of_node;
151 if (of_find_property(dp, "differential", NULL)) 151 if (of_find_property(dp, "differential", NULL))
152 esp->flags |= ESP_FLAG_DIFFERENTIAL; 152 esp->flags |= ESP_FLAG_DIFFERENTIAL;
153 else 153 else
@@ -160,7 +160,7 @@ static void __devinit esp_get_clock_params(struct esp *esp)
160 struct device_node *bus_dp, *dp; 160 struct device_node *bus_dp, *dp;
161 int fmhz; 161 int fmhz;
162 162
163 dp = op->node; 163 dp = op->dev.of_node;
164 bus_dp = dp->parent; 164 bus_dp = dp->parent;
165 165
166 fmhz = of_getintprop_default(dp, "clock-frequency", 0); 166 fmhz = of_getintprop_default(dp, "clock-frequency", 0);
@@ -172,12 +172,12 @@ static void __devinit esp_get_clock_params(struct esp *esp)
172 172
173static void __devinit esp_get_bursts(struct esp *esp, struct of_device *dma_of) 173static void __devinit esp_get_bursts(struct esp *esp, struct of_device *dma_of)
174{ 174{
175 struct device_node *dma_dp = dma_of->node; 175 struct device_node *dma_dp = dma_of->dev.of_node;
176 struct of_device *op = esp->dev; 176 struct of_device *op = esp->dev;
177 struct device_node *dp; 177 struct device_node *dp;
178 u8 bursts, val; 178 u8 bursts, val;
179 179
180 dp = op->node; 180 dp = op->dev.of_node;
181 bursts = of_getintprop_default(dp, "burst-sizes", 0xff); 181 bursts = of_getintprop_default(dp, "burst-sizes", 0xff);
182 val = of_getintprop_default(dma_dp, "burst-sizes", 0xff); 182 val = of_getintprop_default(dma_dp, "burst-sizes", 0xff);
183 if (val != 0xff) 183 if (val != 0xff)
@@ -565,7 +565,7 @@ fail:
565static int __devinit esp_sbus_probe(struct of_device *op, const struct of_device_id *match) 565static int __devinit esp_sbus_probe(struct of_device *op, const struct of_device_id *match)
566{ 566{
567 struct device_node *dma_node = NULL; 567 struct device_node *dma_node = NULL;
568 struct device_node *dp = op->node; 568 struct device_node *dp = op->dev.of_node;
569 struct of_device *dma_of = NULL; 569 struct of_device *dma_of = NULL;
570 int hme = 0; 570 int hme = 0;
571 571
@@ -574,7 +574,7 @@ static int __devinit esp_sbus_probe(struct of_device *op, const struct of_device
574 !strcmp(dp->parent->name, "dma"))) 574 !strcmp(dp->parent->name, "dma")))
575 dma_node = dp->parent; 575 dma_node = dp->parent;
576 else if (!strcmp(dp->name, "SUNW,fas")) { 576 else if (!strcmp(dp->name, "SUNW,fas")) {
577 dma_node = op->node; 577 dma_node = op->dev.of_node;
578 hme = 1; 578 hme = 1;
579 } 579 }
580 if (dma_node) 580 if (dma_node)
diff --git a/drivers/serial/apbuart.c b/drivers/serial/apbuart.c
index fe91319b5f65..52015d7031bb 100644
--- a/drivers/serial/apbuart.c
+++ b/drivers/serial/apbuart.c
@@ -559,7 +559,7 @@ static int __devinit apbuart_probe(struct of_device *op,
559 559
560 i = 0; 560 i = 0;
561 for (i = 0; i < grlib_apbuart_port_nr; i++) { 561 for (i = 0; i < grlib_apbuart_port_nr; i++) {
562 if (op->node == grlib_apbuart_nodes[i]) 562 if (op->dev.of_node == grlib_apbuart_nodes[i])
563 break; 563 break;
564 } 564 }
565 565
diff --git a/drivers/serial/cpm_uart/cpm_uart_core.c b/drivers/serial/cpm_uart/cpm_uart_core.c
index 300cea768d74..7866cdf8a754 100644
--- a/drivers/serial/cpm_uart/cpm_uart_core.c
+++ b/drivers/serial/cpm_uart/cpm_uart_core.c
@@ -1342,7 +1342,7 @@ static int __devinit cpm_uart_probe(struct of_device *ofdev,
1342 /* initialize the device pointer for the port */ 1342 /* initialize the device pointer for the port */
1343 pinfo->port.dev = &ofdev->dev; 1343 pinfo->port.dev = &ofdev->dev;
1344 1344
1345 ret = cpm_uart_init_port(ofdev->node, pinfo); 1345 ret = cpm_uart_init_port(ofdev->dev.of_node, pinfo);
1346 if (ret) 1346 if (ret)
1347 return ret; 1347 return ret;
1348 1348
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c
index 3119fddaedb5..cb079387c5ae 100644
--- a/drivers/serial/mpc52xx_uart.c
+++ b/drivers/serial/mpc52xx_uart.c
@@ -1328,14 +1328,14 @@ mpc52xx_uart_of_probe(struct of_device *op, const struct of_device_id *match)
1328 1328
1329 /* Check validity & presence */ 1329 /* Check validity & presence */
1330 for (idx = 0; idx < MPC52xx_PSC_MAXNUM; idx++) 1330 for (idx = 0; idx < MPC52xx_PSC_MAXNUM; idx++)
1331 if (mpc52xx_uart_nodes[idx] == op->node) 1331 if (mpc52xx_uart_nodes[idx] == op->dev.of_node)
1332 break; 1332 break;
1333 if (idx >= MPC52xx_PSC_MAXNUM) 1333 if (idx >= MPC52xx_PSC_MAXNUM)
1334 return -EINVAL; 1334 return -EINVAL;
1335 pr_debug("Found %s assigned to ttyPSC%x\n", 1335 pr_debug("Found %s assigned to ttyPSC%x\n",
1336 mpc52xx_uart_nodes[idx]->full_name, idx); 1336 mpc52xx_uart_nodes[idx]->full_name, idx);
1337 1337
1338 uartclk = psc_ops->getuartclk(op->node); 1338 uartclk = psc_ops->getuartclk(op->dev.of_node);
1339 if (uartclk == 0) { 1339 if (uartclk == 0) {
1340 dev_dbg(&op->dev, "Could not find uart clock frequency!\n"); 1340 dev_dbg(&op->dev, "Could not find uart clock frequency!\n");
1341 return -EINVAL; 1341 return -EINVAL;
@@ -1355,7 +1355,7 @@ mpc52xx_uart_of_probe(struct of_device *op, const struct of_device_id *match)
1355 port->dev = &op->dev; 1355 port->dev = &op->dev;
1356 1356
1357 /* Search for IRQ and mapbase */ 1357 /* Search for IRQ and mapbase */
1358 ret = of_address_to_resource(op->node, 0, &res); 1358 ret = of_address_to_resource(op->dev.of_node, 0, &res);
1359 if (ret) 1359 if (ret)
1360 return ret; 1360 return ret;
1361 1361
@@ -1365,7 +1365,7 @@ mpc52xx_uart_of_probe(struct of_device *op, const struct of_device_id *match)
1365 return -EINVAL; 1365 return -EINVAL;
1366 } 1366 }
1367 1367
1368 psc_ops->get_irq(port, op->node); 1368 psc_ops->get_irq(port, op->dev.of_node);
1369 if (port->irq == NO_IRQ) { 1369 if (port->irq == NO_IRQ) {
1370 dev_dbg(&op->dev, "Could not get irq\n"); 1370 dev_dbg(&op->dev, "Could not get irq\n");
1371 return -EINVAL; 1371 return -EINVAL;
diff --git a/drivers/serial/nwpserial.c b/drivers/serial/nwpserial.c
index e1ab8ec0a4a6..3c02fa96f282 100644
--- a/drivers/serial/nwpserial.c
+++ b/drivers/serial/nwpserial.c
@@ -344,7 +344,7 @@ int nwpserial_register_port(struct uart_port *port)
344 344
345 mutex_lock(&nwpserial_mutex); 345 mutex_lock(&nwpserial_mutex);
346 346
347 dn = to_of_device(port->dev)->node; 347 dn = to_of_device(port->dev)->dev.of_node;
348 if (dn == NULL) 348 if (dn == NULL)
349 goto out; 349 goto out;
350 350
diff --git a/drivers/serial/of_serial.c b/drivers/serial/of_serial.c
index 4abfebdb0fcc..29539805e593 100644
--- a/drivers/serial/of_serial.c
+++ b/drivers/serial/of_serial.c
@@ -31,7 +31,7 @@ static int __devinit of_platform_serial_setup(struct of_device *ofdev,
31 int type, struct uart_port *port) 31 int type, struct uart_port *port)
32{ 32{
33 struct resource resource; 33 struct resource resource;
34 struct device_node *np = ofdev->node; 34 struct device_node *np = ofdev->dev.of_node;
35 const unsigned int *clk, *spd; 35 const unsigned int *clk, *spd;
36 const u32 *prop; 36 const u32 *prop;
37 int ret, prop_size; 37 int ret, prop_size;
@@ -88,7 +88,7 @@ static int __devinit of_platform_serial_probe(struct of_device *ofdev,
88 int port_type; 88 int port_type;
89 int ret; 89 int ret;
90 90
91 if (of_find_property(ofdev->node, "used-by-rtas", NULL)) 91 if (of_find_property(ofdev->dev.of_node, "used-by-rtas", NULL))
92 return -EBUSY; 92 return -EBUSY;
93 93
94 info = kmalloc(sizeof(*info), GFP_KERNEL); 94 info = kmalloc(sizeof(*info), GFP_KERNEL);
diff --git a/drivers/serial/pmac_zilog.c b/drivers/serial/pmac_zilog.c
index 4eaa043ca2a8..1e43bf59c44d 100644
--- a/drivers/serial/pmac_zilog.c
+++ b/drivers/serial/pmac_zilog.c
@@ -1609,7 +1609,7 @@ static int pmz_attach(struct macio_dev *mdev, const struct of_device_id *match)
1609 /* Iterate the pmz_ports array to find a matching entry 1609 /* Iterate the pmz_ports array to find a matching entry
1610 */ 1610 */
1611 for (i = 0; i < MAX_ZS_PORTS; i++) 1611 for (i = 0; i < MAX_ZS_PORTS; i++)
1612 if (pmz_ports[i].node == mdev->ofdev.node) { 1612 if (pmz_ports[i].node == mdev->ofdev.dev.of_node) {
1613 struct uart_pmac_port *uap = &pmz_ports[i]; 1613 struct uart_pmac_port *uap = &pmz_ports[i];
1614 1614
1615 uap->dev = mdev; 1615 uap->dev = mdev;
diff --git a/drivers/serial/sunhv.c b/drivers/serial/sunhv.c
index d14cca7fb88d..d1eedf13d85c 100644
--- a/drivers/serial/sunhv.c
+++ b/drivers/serial/sunhv.c
@@ -565,7 +565,7 @@ static int __devinit hv_probe(struct of_device *op, const struct of_device_id *m
565 if (err) 565 if (err)
566 goto out_free_con_read_page; 566 goto out_free_con_read_page;
567 567
568 sunserial_console_match(&sunhv_console, op->node, 568 sunserial_console_match(&sunhv_console, op->dev.of_node,
569 &sunhv_reg, port->line, false); 569 &sunhv_reg, port->line, false);
570 570
571 err = uart_add_one_port(&sunhv_reg, port); 571 err = uart_add_one_port(&sunhv_reg, port);
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c
index d2e0321049e2..9176c41b74ad 100644
--- a/drivers/serial/sunsab.c
+++ b/drivers/serial/sunsab.c
@@ -883,7 +883,7 @@ static int sunsab_console_setup(struct console *con, char *options)
883 printk("Console: ttyS%d (SAB82532)\n", 883 printk("Console: ttyS%d (SAB82532)\n",
884 (sunsab_reg.minor - 64) + con->index); 884 (sunsab_reg.minor - 64) + con->index);
885 885
886 sunserial_console_termios(con, to_of_device(up->port.dev)->node); 886 sunserial_console_termios(con, to_of_device(up->port.dev)->dev.of_node);
887 887
888 switch (con->cflag & CBAUD) { 888 switch (con->cflag & CBAUD) {
889 case B150: baud = 150; break; 889 case B150: baud = 150; break;
@@ -1026,11 +1026,11 @@ static int __devinit sab_probe(struct of_device *op, const struct of_device_id *
1026 if (err) 1026 if (err)
1027 goto out1; 1027 goto out1;
1028 1028
1029 sunserial_console_match(SUNSAB_CONSOLE(), op->node, 1029 sunserial_console_match(SUNSAB_CONSOLE(), op->dev.of_node,
1030 &sunsab_reg, up[0].port.line, 1030 &sunsab_reg, up[0].port.line,
1031 false); 1031 false);
1032 1032
1033 sunserial_console_match(SUNSAB_CONSOLE(), op->node, 1033 sunserial_console_match(SUNSAB_CONSOLE(), op->dev.of_node,
1034 &sunsab_reg, up[1].port.line, 1034 &sunsab_reg, up[1].port.line,
1035 false); 1035 false);
1036 1036
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c
index 01f7731e59b8..a647b2448071 100644
--- a/drivers/serial/sunsu.c
+++ b/drivers/serial/sunsu.c
@@ -1200,7 +1200,7 @@ static int __devinit sunsu_kbd_ms_init(struct uart_sunsu_port *up)
1200 return -ENODEV; 1200 return -ENODEV;
1201 1201
1202 printk("%s: %s port at %llx, irq %u\n", 1202 printk("%s: %s port at %llx, irq %u\n",
1203 to_of_device(up->port.dev)->node->full_name, 1203 to_of_device(up->port.dev)->dev.of_node->full_name,
1204 (up->su_type == SU_PORT_KBD) ? "Keyboard" : "Mouse", 1204 (up->su_type == SU_PORT_KBD) ? "Keyboard" : "Mouse",
1205 (unsigned long long) up->port.mapbase, 1205 (unsigned long long) up->port.mapbase,
1206 up->port.irq); 1206 up->port.irq);
@@ -1352,7 +1352,7 @@ static int __init sunsu_console_setup(struct console *co, char *options)
1352 spin_lock_init(&port->lock); 1352 spin_lock_init(&port->lock);
1353 1353
1354 /* Get firmware console settings. */ 1354 /* Get firmware console settings. */
1355 sunserial_console_termios(co, to_of_device(port->dev)->node); 1355 sunserial_console_termios(co, to_of_device(port->dev)->dev.of_node);
1356 1356
1357 memset(&termios, 0, sizeof(struct ktermios)); 1357 memset(&termios, 0, sizeof(struct ktermios));
1358 termios.c_cflag = co->cflag; 1358 termios.c_cflag = co->cflag;
@@ -1409,7 +1409,7 @@ static enum su_type __devinit su_get_type(struct device_node *dp)
1409static int __devinit su_probe(struct of_device *op, const struct of_device_id *match) 1409static int __devinit su_probe(struct of_device *op, const struct of_device_id *match)
1410{ 1410{
1411 static int inst; 1411 static int inst;
1412 struct device_node *dp = op->node; 1412 struct device_node *dp = op->dev.of_node;
1413 struct uart_sunsu_port *up; 1413 struct uart_sunsu_port *up;
1414 struct resource *rp; 1414 struct resource *rp;
1415 enum su_type type; 1415 enum su_type type;
diff --git a/drivers/serial/sunzilog.c b/drivers/serial/sunzilog.c
index 2c7a66af4f52..20f9be8cd949 100644
--- a/drivers/serial/sunzilog.c
+++ b/drivers/serial/sunzilog.c
@@ -1180,7 +1180,7 @@ static int __init sunzilog_console_setup(struct console *con, char *options)
1180 (sunzilog_reg.minor - 64) + con->index, con->index); 1180 (sunzilog_reg.minor - 64) + con->index, con->index);
1181 1181
1182 /* Get firmware console settings. */ 1182 /* Get firmware console settings. */
1183 sunserial_console_termios(con, to_of_device(up->port.dev)->node); 1183 sunserial_console_termios(con, to_of_device(up->port.dev)->dev.of_node);
1184 1184
1185 /* Firmware console speed is limited to 150-->38400 baud so 1185 /* Firmware console speed is limited to 150-->38400 baud so
1186 * this hackish cflag thing is OK. 1186 * this hackish cflag thing is OK.
@@ -1358,7 +1358,7 @@ static int __devinit zs_probe(struct of_device *op, const struct of_device_id *m
1358 int keyboard_mouse = 0; 1358 int keyboard_mouse = 0;
1359 int err; 1359 int err;
1360 1360
1361 if (of_find_property(op->node, "keyboard", NULL)) 1361 if (of_find_property(op->dev.of_node, "keyboard", NULL))
1362 keyboard_mouse = 1; 1362 keyboard_mouse = 1;
1363 1363
1364 /* uarts must come before keyboards/mice */ 1364 /* uarts must come before keyboards/mice */
@@ -1415,7 +1415,7 @@ static int __devinit zs_probe(struct of_device *op, const struct of_device_id *m
1415 sunzilog_init_hw(&up[1]); 1415 sunzilog_init_hw(&up[1]);
1416 1416
1417 if (!keyboard_mouse) { 1417 if (!keyboard_mouse) {
1418 if (sunserial_console_match(SUNZILOG_CONSOLE(), op->node, 1418 if (sunserial_console_match(SUNZILOG_CONSOLE(), op->dev.of_node,
1419 &sunzilog_reg, up[0].port.line, 1419 &sunzilog_reg, up[0].port.line,
1420 false)) 1420 false))
1421 up->flags |= SUNZILOG_FLAG_IS_CONS; 1421 up->flags |= SUNZILOG_FLAG_IS_CONS;
@@ -1425,7 +1425,7 @@ static int __devinit zs_probe(struct of_device *op, const struct of_device_id *m
1425 rp, sizeof(struct zilog_layout)); 1425 rp, sizeof(struct zilog_layout));
1426 return err; 1426 return err;
1427 } 1427 }
1428 if (sunserial_console_match(SUNZILOG_CONSOLE(), op->node, 1428 if (sunserial_console_match(SUNZILOG_CONSOLE(), op->dev.of_node,
1429 &sunzilog_reg, up[1].port.line, 1429 &sunzilog_reg, up[1].port.line,
1430 false)) 1430 false))
1431 up->flags |= SUNZILOG_FLAG_IS_CONS; 1431 up->flags |= SUNZILOG_FLAG_IS_CONS;
diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c
index f0a6c61b17f7..8fc2583d06ff 100644
--- a/drivers/serial/uartlite.c
+++ b/drivers/serial/uartlite.c
@@ -591,15 +591,15 @@ ulite_of_probe(struct of_device *op, const struct of_device_id *match)
591 591
592 dev_dbg(&op->dev, "%s(%p, %p)\n", __func__, op, match); 592 dev_dbg(&op->dev, "%s(%p, %p)\n", __func__, op, match);
593 593
594 rc = of_address_to_resource(op->node, 0, &res); 594 rc = of_address_to_resource(op->dev.of_node, 0, &res);
595 if (rc) { 595 if (rc) {
596 dev_err(&op->dev, "invalid address\n"); 596 dev_err(&op->dev, "invalid address\n");
597 return rc; 597 return rc;
598 } 598 }
599 599
600 irq = irq_of_parse_and_map(op->node, 0); 600 irq = irq_of_parse_and_map(op->dev.of_node, 0);
601 601
602 id = of_get_property(op->node, "port-number", NULL); 602 id = of_get_property(op->dev.of_node, "port-number", NULL);
603 603
604 return ulite_assign(&op->dev, id ? *id : -1, res.start+3, irq); 604 return ulite_assign(&op->dev, id ? *id : -1, res.start+3, irq);
605} 605}
diff --git a/drivers/serial/ucc_uart.c b/drivers/serial/ucc_uart.c
index 074904912f64..529890f044e2 100644
--- a/drivers/serial/ucc_uart.c
+++ b/drivers/serial/ucc_uart.c
@@ -1197,7 +1197,7 @@ static void uart_firmware_cont(const struct firmware *fw, void *context)
1197static int ucc_uart_probe(struct of_device *ofdev, 1197static int ucc_uart_probe(struct of_device *ofdev,
1198 const struct of_device_id *match) 1198 const struct of_device_id *match)
1199{ 1199{
1200 struct device_node *np = ofdev->node; 1200 struct device_node *np = ofdev->dev.of_node;
1201 const unsigned int *iprop; /* Integer OF properties */ 1201 const unsigned int *iprop; /* Integer OF properties */
1202 const char *sprop; /* String OF properties */ 1202 const char *sprop; /* String OF properties */
1203 struct uart_qe_port *qe_port = NULL; 1203 struct uart_qe_port *qe_port = NULL;
diff --git a/drivers/spi/mpc52xx_psc_spi.c b/drivers/spi/mpc52xx_psc_spi.c
index 77d4cc88edea..7fcf28405860 100644
--- a/drivers/spi/mpc52xx_psc_spi.c
+++ b/drivers/spi/mpc52xx_psc_spi.c
@@ -472,18 +472,18 @@ static int __init mpc52xx_psc_spi_of_probe(struct of_device *op,
472 s16 id = -1; 472 s16 id = -1;
473 int rc; 473 int rc;
474 474
475 regaddr_p = of_get_address(op->node, 0, &size64, NULL); 475 regaddr_p = of_get_address(op->dev.of_node, 0, &size64, NULL);
476 if (!regaddr_p) { 476 if (!regaddr_p) {
477 dev_err(&op->dev, "Invalid PSC address\n"); 477 dev_err(&op->dev, "Invalid PSC address\n");
478 return -EINVAL; 478 return -EINVAL;
479 } 479 }
480 regaddr64 = of_translate_address(op->node, regaddr_p); 480 regaddr64 = of_translate_address(op->dev.of_node, regaddr_p);
481 481
482 /* get PSC id (1..6, used by port_config) */ 482 /* get PSC id (1..6, used by port_config) */
483 if (op->dev.platform_data == NULL) { 483 if (op->dev.platform_data == NULL) {
484 const u32 *psc_nump; 484 const u32 *psc_nump;
485 485
486 psc_nump = of_get_property(op->node, "cell-index", NULL); 486 psc_nump = of_get_property(op->dev.of_node, "cell-index", NULL);
487 if (!psc_nump || *psc_nump > 5) { 487 if (!psc_nump || *psc_nump > 5) {
488 dev_err(&op->dev, "Invalid cell-index property\n"); 488 dev_err(&op->dev, "Invalid cell-index property\n");
489 return -EINVAL; 489 return -EINVAL;
@@ -492,9 +492,10 @@ static int __init mpc52xx_psc_spi_of_probe(struct of_device *op,
492 } 492 }
493 493
494 rc = mpc52xx_psc_spi_do_probe(&op->dev, (u32)regaddr64, (u32)size64, 494 rc = mpc52xx_psc_spi_do_probe(&op->dev, (u32)regaddr64, (u32)size64,
495 irq_of_parse_and_map(op->node, 0), id); 495 irq_of_parse_and_map(op->dev.of_node, 0), id);
496 if (rc == 0) 496 if (rc == 0)
497 of_register_spi_devices(dev_get_drvdata(&op->dev), op->node); 497 of_register_spi_devices(dev_get_drvdata(&op->dev),
498 op->dev.of_node);
498 499
499 return rc; 500 return rc;
500} 501}
diff --git a/drivers/spi/mpc52xx_spi.c b/drivers/spi/mpc52xx_spi.c
index cd68f1ce5cc3..6573233bf7c9 100644
--- a/drivers/spi/mpc52xx_spi.c
+++ b/drivers/spi/mpc52xx_spi.c
@@ -403,7 +403,7 @@ static int __devinit mpc52xx_spi_probe(struct of_device *op,
403 403
404 /* MMIO registers */ 404 /* MMIO registers */
405 dev_dbg(&op->dev, "probing mpc5200 SPI device\n"); 405 dev_dbg(&op->dev, "probing mpc5200 SPI device\n");
406 regs = of_iomap(op->node, 0); 406 regs = of_iomap(op->dev.of_node, 0);
407 if (!regs) 407 if (!regs)
408 return -ENODEV; 408 return -ENODEV;
409 409
@@ -445,11 +445,11 @@ static int __devinit mpc52xx_spi_probe(struct of_device *op,
445 ms = spi_master_get_devdata(master); 445 ms = spi_master_get_devdata(master);
446 ms->master = master; 446 ms->master = master;
447 ms->regs = regs; 447 ms->regs = regs;
448 ms->irq0 = irq_of_parse_and_map(op->node, 0); 448 ms->irq0 = irq_of_parse_and_map(op->dev.of_node, 0);
449 ms->irq1 = irq_of_parse_and_map(op->node, 1); 449 ms->irq1 = irq_of_parse_and_map(op->dev.of_node, 1);
450 ms->state = mpc52xx_spi_fsmstate_idle; 450 ms->state = mpc52xx_spi_fsmstate_idle;
451 ms->ipb_freq = mpc5xxx_get_bus_frequency(op->node); 451 ms->ipb_freq = mpc5xxx_get_bus_frequency(op->dev.of_node);
452 ms->gpio_cs_count = of_gpio_count(op->node); 452 ms->gpio_cs_count = of_gpio_count(op->dev.of_node);
453 if (ms->gpio_cs_count > 0) { 453 if (ms->gpio_cs_count > 0) {
454 master->num_chipselect = ms->gpio_cs_count; 454 master->num_chipselect = ms->gpio_cs_count;
455 ms->gpio_cs = kmalloc(ms->gpio_cs_count * sizeof(unsigned int), 455 ms->gpio_cs = kmalloc(ms->gpio_cs_count * sizeof(unsigned int),
@@ -460,7 +460,7 @@ static int __devinit mpc52xx_spi_probe(struct of_device *op,
460 } 460 }
461 461
462 for (i = 0; i < ms->gpio_cs_count; i++) { 462 for (i = 0; i < ms->gpio_cs_count; i++) {
463 gpio_cs = of_get_gpio(op->node, i); 463 gpio_cs = of_get_gpio(op->dev.of_node, i);
464 if (gpio_cs < 0) { 464 if (gpio_cs < 0) {
465 dev_err(&op->dev, 465 dev_err(&op->dev,
466 "could not parse the gpio field " 466 "could not parse the gpio field "
@@ -512,7 +512,7 @@ static int __devinit mpc52xx_spi_probe(struct of_device *op,
512 if (rc) 512 if (rc)
513 goto err_register; 513 goto err_register;
514 514
515 of_register_spi_devices(master, op->node); 515 of_register_spi_devices(master, op->dev.of_node);
516 dev_info(&ms->master->dev, "registered MPC5200 SPI bus\n"); 516 dev_info(&ms->master->dev, "registered MPC5200 SPI bus\n");
517 517
518 return rc; 518 return rc;
diff --git a/drivers/spi/spi_mpc8xxx.c b/drivers/spi/spi_mpc8xxx.c
index 14d052316502..7572f98a419e 100644
--- a/drivers/spi/spi_mpc8xxx.c
+++ b/drivers/spi/spi_mpc8xxx.c
@@ -797,7 +797,7 @@ static void mpc8xxx_spi_free_dummy_rx(void)
797static unsigned long mpc8xxx_spi_cpm_get_pram(struct mpc8xxx_spi *mspi) 797static unsigned long mpc8xxx_spi_cpm_get_pram(struct mpc8xxx_spi *mspi)
798{ 798{
799 struct device *dev = mspi->dev; 799 struct device *dev = mspi->dev;
800 struct device_node *np = dev_archdata_get_node(&dev->archdata); 800 struct device_node *np = dev->of_node;
801 const u32 *iprop; 801 const u32 *iprop;
802 int size; 802 int size;
803 unsigned long spi_base_ofs; 803 unsigned long spi_base_ofs;
@@ -851,7 +851,7 @@ static unsigned long mpc8xxx_spi_cpm_get_pram(struct mpc8xxx_spi *mspi)
851static int mpc8xxx_spi_cpm_init(struct mpc8xxx_spi *mspi) 851static int mpc8xxx_spi_cpm_init(struct mpc8xxx_spi *mspi)
852{ 852{
853 struct device *dev = mspi->dev; 853 struct device *dev = mspi->dev;
854 struct device_node *np = dev_archdata_get_node(&dev->archdata); 854 struct device_node *np = dev->of_node;
855 const u32 *iprop; 855 const u32 *iprop;
856 int size; 856 int size;
857 unsigned long pram_ofs; 857 unsigned long pram_ofs;
@@ -1123,7 +1123,7 @@ static void mpc8xxx_spi_cs_control(struct spi_device *spi, bool on)
1123 1123
1124static int of_mpc8xxx_spi_get_chipselects(struct device *dev) 1124static int of_mpc8xxx_spi_get_chipselects(struct device *dev)
1125{ 1125{
1126 struct device_node *np = dev_archdata_get_node(&dev->archdata); 1126 struct device_node *np = dev->of_node;
1127 struct fsl_spi_platform_data *pdata = dev->platform_data; 1127 struct fsl_spi_platform_data *pdata = dev->platform_data;
1128 struct mpc8xxx_spi_probe_info *pinfo = to_of_pinfo(pdata); 1128 struct mpc8xxx_spi_probe_info *pinfo = to_of_pinfo(pdata);
1129 unsigned int ngpios; 1129 unsigned int ngpios;
@@ -1224,7 +1224,7 @@ static int __devinit of_mpc8xxx_spi_probe(struct of_device *ofdev,
1224 const struct of_device_id *ofid) 1224 const struct of_device_id *ofid)
1225{ 1225{
1226 struct device *dev = &ofdev->dev; 1226 struct device *dev = &ofdev->dev;
1227 struct device_node *np = ofdev->node; 1227 struct device_node *np = ofdev->dev.of_node;
1228 struct mpc8xxx_spi_probe_info *pinfo; 1228 struct mpc8xxx_spi_probe_info *pinfo;
1229 struct fsl_spi_platform_data *pdata; 1229 struct fsl_spi_platform_data *pdata;
1230 struct spi_master *master; 1230 struct spi_master *master;
diff --git a/drivers/usb/host/ehci-ppc-of.c b/drivers/usb/host/ehci-ppc-of.c
index 8df33b8a634c..ad0662354a5e 100644
--- a/drivers/usb/host/ehci-ppc-of.c
+++ b/drivers/usb/host/ehci-ppc-of.c
@@ -108,7 +108,7 @@ ppc44x_enable_bmt(struct device_node *dn)
108static int __devinit 108static int __devinit
109ehci_hcd_ppc_of_probe(struct of_device *op, const struct of_device_id *match) 109ehci_hcd_ppc_of_probe(struct of_device *op, const struct of_device_id *match)
110{ 110{
111 struct device_node *dn = op->node; 111 struct device_node *dn = op->dev.of_node;
112 struct usb_hcd *hcd; 112 struct usb_hcd *hcd;
113 struct ehci_hcd *ehci = NULL; 113 struct ehci_hcd *ehci = NULL;
114 struct resource res; 114 struct resource res;
diff --git a/drivers/usb/host/fhci-hcd.c b/drivers/usb/host/fhci-hcd.c
index 15379c636143..6135732d8057 100644
--- a/drivers/usb/host/fhci-hcd.c
+++ b/drivers/usb/host/fhci-hcd.c
@@ -565,7 +565,7 @@ static int __devinit of_fhci_probe(struct of_device *ofdev,
565 const struct of_device_id *ofid) 565 const struct of_device_id *ofid)
566{ 566{
567 struct device *dev = &ofdev->dev; 567 struct device *dev = &ofdev->dev;
568 struct device_node *node = ofdev->node; 568 struct device_node *node = dev->of_node;
569 struct usb_hcd *hcd; 569 struct usb_hcd *hcd;
570 struct fhci_hcd *fhci; 570 struct fhci_hcd *fhci;
571 struct resource usb_regs; 571 struct resource usb_regs;
@@ -670,7 +670,7 @@ static int __devinit of_fhci_probe(struct of_device *ofdev,
670 } 670 }
671 671
672 for (j = 0; j < NUM_PINS; j++) { 672 for (j = 0; j < NUM_PINS; j++) {
673 fhci->pins[j] = qe_pin_request(ofdev->node, j); 673 fhci->pins[j] = qe_pin_request(node, j);
674 if (IS_ERR(fhci->pins[j])) { 674 if (IS_ERR(fhci->pins[j])) {
675 ret = PTR_ERR(fhci->pins[j]); 675 ret = PTR_ERR(fhci->pins[j]);
676 dev_err(dev, "can't get pin %d: %d\n", j, ret); 676 dev_err(dev, "can't get pin %d: %d\n", j, ret);
diff --git a/drivers/usb/host/isp1760-if.c b/drivers/usb/host/isp1760-if.c
index 4293cfd28d61..36360e24a9b9 100644
--- a/drivers/usb/host/isp1760-if.c
+++ b/drivers/usb/host/isp1760-if.c
@@ -31,7 +31,7 @@ static int of_isp1760_probe(struct of_device *dev,
31 const struct of_device_id *match) 31 const struct of_device_id *match)
32{ 32{
33 struct usb_hcd *hcd; 33 struct usb_hcd *hcd;
34 struct device_node *dp = dev->node; 34 struct device_node *dp = dev->dev.of_node;
35 struct resource *res; 35 struct resource *res;
36 struct resource memory; 36 struct resource memory;
37 struct of_irq oirq; 37 struct of_irq oirq;
diff --git a/drivers/usb/host/ohci-ppc-of.c b/drivers/usb/host/ohci-ppc-of.c
index 103263c230cf..003aea21c35e 100644
--- a/drivers/usb/host/ohci-ppc-of.c
+++ b/drivers/usb/host/ohci-ppc-of.c
@@ -83,7 +83,7 @@ static const struct hc_driver ohci_ppc_of_hc_driver = {
83static int __devinit 83static int __devinit
84ohci_hcd_ppc_of_probe(struct of_device *op, const struct of_device_id *match) 84ohci_hcd_ppc_of_probe(struct of_device *op, const struct of_device_id *match)
85{ 85{
86 struct device_node *dn = op->node; 86 struct device_node *dn = op->dev.of_node;
87 struct usb_hcd *hcd; 87 struct usb_hcd *hcd;
88 struct ohci_hcd *ohci; 88 struct ohci_hcd *ohci;
89 struct resource res; 89 struct resource res;
diff --git a/drivers/video/cg6.c b/drivers/video/cg6.c
index 6d0fcb43696e..7f59b0fe5dc2 100644
--- a/drivers/video/cg6.c
+++ b/drivers/video/cg6.c
@@ -740,7 +740,7 @@ static void cg6_unmap_regs(struct of_device *op, struct fb_info *info,
740static int __devinit cg6_probe(struct of_device *op, 740static int __devinit cg6_probe(struct of_device *op,
741 const struct of_device_id *match) 741 const struct of_device_id *match)
742{ 742{
743 struct device_node *dp = op->node; 743 struct device_node *dp = op->dev.of_node;
744 struct fb_info *info; 744 struct fb_info *info;
745 struct cg6_par *par; 745 struct cg6_par *par;
746 int linebytes, err; 746 int linebytes, err;
diff --git a/drivers/video/ffb.c b/drivers/video/ffb.c
index a42fabab69df..ddd46f71e250 100644
--- a/drivers/video/ffb.c
+++ b/drivers/video/ffb.c
@@ -896,7 +896,7 @@ static void ffb_init_fix(struct fb_info *info)
896static int __devinit ffb_probe(struct of_device *op, 896static int __devinit ffb_probe(struct of_device *op,
897 const struct of_device_id *match) 897 const struct of_device_id *match)
898{ 898{
899 struct device_node *dp = op->node; 899 struct device_node *dp = op->dev.of_node;
900 struct ffb_fbc __iomem *fbc; 900 struct ffb_fbc __iomem *fbc;
901 struct ffb_dac __iomem *dac; 901 struct ffb_dac __iomem *dac;
902 struct fb_info *info; 902 struct fb_info *info;
diff --git a/drivers/video/fsl-diu-fb.c b/drivers/video/fsl-diu-fb.c
index 994358a4f302..930a2522a631 100644
--- a/drivers/video/fsl-diu-fb.c
+++ b/drivers/video/fsl-diu-fb.c
@@ -1421,7 +1421,7 @@ static ssize_t show_monitor(struct device *device,
1421static int __devinit fsl_diu_probe(struct of_device *ofdev, 1421static int __devinit fsl_diu_probe(struct of_device *ofdev,
1422 const struct of_device_id *match) 1422 const struct of_device_id *match)
1423{ 1423{
1424 struct device_node *np = ofdev->node; 1424 struct device_node *np = ofdev->dev.of_node;
1425 struct mfb_info *mfbi; 1425 struct mfb_info *mfbi;
1426 phys_addr_t dummy_ad_addr; 1426 phys_addr_t dummy_ad_addr;
1427 int ret, i, error = 0; 1427 int ret, i, error = 0;
diff --git a/drivers/video/platinumfb.c b/drivers/video/platinumfb.c
index 8a204e7a5b5b..69d78d50f0f6 100644
--- a/drivers/video/platinumfb.c
+++ b/drivers/video/platinumfb.c
@@ -536,7 +536,7 @@ static int __init platinumfb_setup(char *options)
536static int __devinit platinumfb_probe(struct of_device* odev, 536static int __devinit platinumfb_probe(struct of_device* odev,
537 const struct of_device_id *match) 537 const struct of_device_id *match)
538{ 538{
539 struct device_node *dp = odev->node; 539 struct device_node *dp = odev->dev.of_node;
540 struct fb_info *info; 540 struct fb_info *info;
541 struct fb_info_platinum *pinfo; 541 struct fb_info_platinum *pinfo;
542 volatile __u8 *fbuffer; 542 volatile __u8 *fbuffer;
diff --git a/drivers/video/sunxvr1000.c b/drivers/video/sunxvr1000.c
index 23e69e834a18..ad92a200fafa 100644
--- a/drivers/video/sunxvr1000.c
+++ b/drivers/video/sunxvr1000.c
@@ -114,7 +114,7 @@ static int __devinit gfb_set_fbinfo(struct gfb_info *gp)
114static int __devinit gfb_probe(struct of_device *op, 114static int __devinit gfb_probe(struct of_device *op,
115 const struct of_device_id *match) 115 const struct of_device_id *match)
116{ 116{
117 struct device_node *dp = op->node; 117 struct device_node *dp = op->dev.of_node;
118 struct fb_info *info; 118 struct fb_info *info;
119 struct gfb_info *gp; 119 struct gfb_info *gp;
120 int err; 120 int err;
diff --git a/drivers/video/xilinxfb.c b/drivers/video/xilinxfb.c
index 3fcb83f03881..6fcec553662c 100644
--- a/drivers/video/xilinxfb.c
+++ b/drivers/video/xilinxfb.c
@@ -423,7 +423,7 @@ xilinxfb_of_probe(struct of_device *op, const struct of_device_id *match)
423 * To check whether the core is connected directly to DCR or PLB 423 * To check whether the core is connected directly to DCR or PLB
424 * interface and initialize the tft_access accordingly. 424 * interface and initialize the tft_access accordingly.
425 */ 425 */
426 p = (u32 *)of_get_property(op->node, "xlnx,dcr-splb-slave-if", NULL); 426 p = (u32 *)of_get_property(op->dev.of_node, "xlnx,dcr-splb-slave-if", NULL);
427 tft_access = p ? *p : 0; 427 tft_access = p ? *p : 0;
428 428
429 /* 429 /*
@@ -432,41 +432,41 @@ xilinxfb_of_probe(struct of_device *op, const struct of_device_id *match)
432 */ 432 */
433 if (tft_access) { 433 if (tft_access) {
434 drvdata->flags |= PLB_ACCESS_FLAG; 434 drvdata->flags |= PLB_ACCESS_FLAG;
435 rc = of_address_to_resource(op->node, 0, &res); 435 rc = of_address_to_resource(op->dev.of_node, 0, &res);
436 if (rc) { 436 if (rc) {
437 dev_err(&op->dev, "invalid address\n"); 437 dev_err(&op->dev, "invalid address\n");
438 goto err; 438 goto err;
439 } 439 }
440 } else { 440 } else {
441 res.start = 0; 441 res.start = 0;
442 start = dcr_resource_start(op->node, 0); 442 start = dcr_resource_start(op->dev.of_node, 0);
443 drvdata->dcr_len = dcr_resource_len(op->node, 0); 443 drvdata->dcr_len = dcr_resource_len(op->dev.of_node, 0);
444 drvdata->dcr_host = dcr_map(op->node, start, drvdata->dcr_len); 444 drvdata->dcr_host = dcr_map(op->dev.of_node, start, drvdata->dcr_len);
445 if (!DCR_MAP_OK(drvdata->dcr_host)) { 445 if (!DCR_MAP_OK(drvdata->dcr_host)) {
446 dev_err(&op->dev, "invalid DCR address\n"); 446 dev_err(&op->dev, "invalid DCR address\n");
447 goto err; 447 goto err;
448 } 448 }
449 } 449 }
450 450
451 prop = of_get_property(op->node, "phys-size", &size); 451 prop = of_get_property(op->dev.of_node, "phys-size", &size);
452 if ((prop) && (size >= sizeof(u32)*2)) { 452 if ((prop) && (size >= sizeof(u32)*2)) {
453 pdata.screen_width_mm = prop[0]; 453 pdata.screen_width_mm = prop[0];
454 pdata.screen_height_mm = prop[1]; 454 pdata.screen_height_mm = prop[1];
455 } 455 }
456 456
457 prop = of_get_property(op->node, "resolution", &size); 457 prop = of_get_property(op->dev.of_node, "resolution", &size);
458 if ((prop) && (size >= sizeof(u32)*2)) { 458 if ((prop) && (size >= sizeof(u32)*2)) {
459 pdata.xres = prop[0]; 459 pdata.xres = prop[0];
460 pdata.yres = prop[1]; 460 pdata.yres = prop[1];
461 } 461 }
462 462
463 prop = of_get_property(op->node, "virtual-resolution", &size); 463 prop = of_get_property(op->dev.of_node, "virtual-resolution", &size);
464 if ((prop) && (size >= sizeof(u32)*2)) { 464 if ((prop) && (size >= sizeof(u32)*2)) {
465 pdata.xvirt = prop[0]; 465 pdata.xvirt = prop[0];
466 pdata.yvirt = prop[1]; 466 pdata.yvirt = prop[1];
467 } 467 }
468 468
469 if (of_find_property(op->node, "rotate-display", NULL)) 469 if (of_find_property(op->dev.of_node, "rotate-display", NULL))
470 pdata.rotate_screen = 1; 470 pdata.rotate_screen = 1;
471 471
472 dev_set_drvdata(&op->dev, drvdata); 472 dev_set_drvdata(&op->dev, drvdata);
diff --git a/drivers/watchdog/cpwd.c b/drivers/watchdog/cpwd.c
index ba2efce4b40e..2fcc3cf7ef62 100644
--- a/drivers/watchdog/cpwd.c
+++ b/drivers/watchdog/cpwd.c
@@ -577,7 +577,7 @@ static int __devinit cpwd_probe(struct of_device *op,
577 * interrupt_mask register cannot be written, so no timer 577 * interrupt_mask register cannot be written, so no timer
578 * interrupts can be masked within the PLD. 578 * interrupts can be masked within the PLD.
579 */ 579 */
580 str_prop = of_get_property(op->node, "model", NULL); 580 str_prop = of_get_property(op->dev.of_node, "model", NULL);
581 p->broken = (str_prop && !strcmp(str_prop, WD_BADMODEL)); 581 p->broken = (str_prop && !strcmp(str_prop, WD_BADMODEL));
582 582
583 if (!p->enabled) 583 if (!p->enabled)