Currently on OF enabled platforms, the device node pointer is stored in both device.archdata.of_node (.prom_node on sparc), and in of_device.node OF device tree support is being generalized to work on any platform, so instead of adding the of_node pointer to each platform's archdata individually, this patch series moves the of_node pointer into struct device proper and fixes up all users to reference the new location. The last 3 patches in this series remove the old .archdata.of_node, .archdata.prom_node and of_device.node instances. This series has been compile tested on powerpc, sparc and microblaze, (allmodconfig used on sparc and powerpc) and boot tested on an mpc5200 powerpc. All known (or at least all I could find) in-tree users of the old names have been removed. This series should also be fully bisectable. After I collect acks, I would like to get this whole series into linux-next to see if I've missed any references, but I can probably hold off merging the last three patches when the 2.6.35 merge window opens to give out of tree users a bit more time to adapt. In fact, I'd probably wait a few extra days after pushing out the bulk of this series before I push the last 3 patches into my linux-next branch to isolate the drivers that I missed while fixing. Cheers, g. --- Grant Likely (37): arch/sparc: Remove .archdata.of_node and use .of_node in struct device arch/microblaze: Remove .archdata.of_node and use .of_node in struct device arch/powerpc: Remove .archdata.of_node and use .of_node in struct device sound/sparc: use .dev.of_node instead of .node in struct of_device sound/soc: use .dev.of_node instead of .node in struct of_device sound/aoa: use .dev.of_node instead of .node in struct of_device drivers/of: use .of_node instead of .archdata.of_node in struct device drivers/cdrom: use .of_node instead of .archdata.of_node in struct device drivers/char: use .of_node instead of .archdata.of_node in struct device drivers/scsi: use .of_node instead of .archdata.of_node in struct device drivers/of: use .dev.of_node instead of .node in struct of_device drivers/mtd: use .dev.of_node instead of .node in struct of_device drivers/infiniband: use .dev.of_node instead of .node in struct of_device drivers/char: use .dev.of_node instead of .node in struct of_device drivers/i2c: use .dev.of_node instead of .node in struct of_device drivers/leds: use .dev.of_node instead of .node in struct of_device drivers/ata: use .dev.of_node instead of .node in struct of_device drivers/input: use .dev.of_node instead of .node in struct of_device drivers/serial: use .dev.of_node instead of .node in struct of_device drivers/pcmcia: use .dev.of_node instead of .node in struct of_device drivers/net: use .dev.of_node instead of .node in struct of_device drivers/sbus: use .dev.of_node instead of .node in struct of_device drivers/mmc: use .dev.of_node instead of .node in struct of_device drivers/spi: use .dev.of_node instead of .node in struct of_device drivers/macintosh: use .dev.of_node instead of .node in struct of_device drivers/usb: use .dev.of_node instead of .node in struct of_device drivers/scsi: use .dev.of_node instead of .node in struct of_device drivers/video: use .dev.of_node instead of .node in struct of_device drivers/atm: use .dev.of_node instead of .node in struct of_device drivers/watchdog: use .dev.of_node instead of .node in struct of_device drivers/serial: use .dev.of_node instead of .node in struct of_device arch/microblaze: use .dev.of_node instead of .node in struct of_device arch/powerpc: use .dev.of_node instead of .node in struct of_device arch/sparc: use .dev.of_node instead of .node in struct of_device of/sparc: use dev->of_node instead of dev->archdata.prom_node of: Eliminate dev_archdata_get_node() i2c/of: Allow device node to be passed via i2c_board_info arch/microblaze/include/asm/device.h | 14 ------------ arch/microblaze/include/asm/of_device.h | 1 - arch/microblaze/kernel/of_device.c | 12 ++++------ arch/microblaze/kernel/of_platform.c | 4 ++- arch/powerpc/include/asm/device.h | 22 +++++++------------ arch/powerpc/include/asm/macio.h | 2 +- arch/powerpc/include/asm/of_device.h | 1 - arch/powerpc/kernel/ibmebus.c | 4 ++- arch/powerpc/kernel/of_device.c | 12 ++++------ arch/powerpc/kernel/of_platform.c | 16 +++++++------- arch/powerpc/kernel/pci-common.c | 1 - arch/powerpc/kernel/vio.c | 17 +++++++-------- arch/powerpc/platforms/52xx/mpc52xx_gpio.c | 4 ++- arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 16 +++++++------- arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c | 6 +++-- arch/powerpc/platforms/82xx/ep8248e.c | 6 +++-- arch/powerpc/platforms/83xx/suspend.c | 2 +- arch/powerpc/platforms/cell/axon_msi.c | 2 +- arch/powerpc/platforms/cell/iommu.c | 5 ++-- arch/powerpc/platforms/pasemi/gpio_mdio.c | 2 +- arch/powerpc/platforms/pasemi/setup.c | 4 ++- arch/powerpc/platforms/ps3/system-bus.c | 1 - arch/powerpc/platforms/pseries/iommu.c | 2 +- arch/powerpc/sysdev/axonram.c | 6 +++-- arch/powerpc/sysdev/bestcomm/bestcomm.c | 8 +++---- arch/powerpc/sysdev/fsl_msi.c | 14 ++++++------ arch/powerpc/sysdev/fsl_pmc.c | 2 +- arch/powerpc/sysdev/pmi.c | 2 +- arch/sparc/include/asm/device.h | 15 ------------- arch/sparc/include/asm/fb.h | 2 +- arch/sparc/include/asm/floppy_64.h | 4 ++- arch/sparc/include/asm/of_device.h | 1 - arch/sparc/include/asm/parport.h | 2 +- arch/sparc/kernel/auxio_64.c | 2 +- arch/sparc/kernel/central.c | 4 ++- arch/sparc/kernel/chmc.c | 10 ++++----- arch/sparc/kernel/ioport.c | 2 +- arch/sparc/kernel/of_device_32.c | 18 +++++++--------- arch/sparc/kernel/of_device_64.c | 29 ++++++++++++------------- arch/sparc/kernel/of_device_common.c | 4 ++- arch/sparc/kernel/pci.c | 13 ++++------- arch/sparc/kernel/pci_common.c | 9 ++++---- arch/sparc/kernel/pci_fire.c | 4 ++- arch/sparc/kernel/pci_msi.c | 18 ++++++++-------- arch/sparc/kernel/pci_psycho.c | 4 ++- arch/sparc/kernel/pci_sabre.c | 4 ++- arch/sparc/kernel/pci_schizo.c | 14 ++++++------ arch/sparc/kernel/pci_sun4v.c | 8 +++---- arch/sparc/kernel/power.c | 4 ++- arch/sparc/kernel/psycho_common.c | 2 +- arch/sparc/kernel/sbus.c | 16 +++++++------- arch/sparc/kernel/time_32.c | 2 +- arch/sparc/kernel/time_64.c | 6 +++-- drivers/ata/pata_macio.c | 2 +- drivers/ata/pata_of_platform.c | 2 +- drivers/atm/fore200e.c | 16 ++++++++------ drivers/cdrom/viocd.c | 2 +- drivers/char/hw_random/n2-drv.c | 2 +- drivers/char/hw_random/pasemi-rng.c | 2 +- drivers/char/ipmi/ipmi_si_intf.c | 4 ++- drivers/char/viotape.c | 2 +- drivers/gpio/pca953x.c | 2 +- drivers/i2c/busses/i2c-mpc.c | 17 ++++++++------- drivers/i2c/i2c-core.c | 3 +++ drivers/ide/pmac.c | 10 ++++----- drivers/infiniband/hw/ehca/ehca_main.c | 11 +++++---- drivers/input/serio/i8042-sparcio.h | 2 +- drivers/input/serio/xilinx_ps2.c | 8 +++---- drivers/leds/leds-gpio.c | 2 +- drivers/macintosh/macio_asic.c | 16 +++++++------- drivers/macintosh/macio_sysfs.c | 6 +++-- drivers/macintosh/rack-meter.c | 4 ++- drivers/macintosh/therm_pm72.c | 2 +- drivers/mmc/host/of_mmc_spi.c | 4 ++- drivers/mmc/host/sdhci-of-core.c | 2 +- drivers/mtd/maps/physmap_of.c | 6 +++-- drivers/mtd/maps/sun_uflash.c | 2 +- drivers/mtd/nand/fsl_elbc_nand.c | 6 +++-- drivers/mtd/nand/pasemi_nand.c | 2 +- drivers/net/can/sja1000/sja1000_of_platform.c | 4 ++- drivers/net/ehea/ehea_main.c | 14 ++++++------ drivers/net/greth.c | 3 ++- drivers/net/ibm_newemac/core.c | 13 ++++++----- drivers/net/ibm_newemac/debug.c | 9 ++++---- drivers/net/ibm_newemac/debug.h | 4 ++- drivers/net/ibm_newemac/mal.c | 28 ++++++++++++------------ drivers/net/ibm_newemac/rgmii.c | 12 +++++----- drivers/net/ibm_newemac/tah.c | 7 +++--- drivers/net/ibm_newemac/zmii.c | 9 ++++---- drivers/net/myri_sbus.c | 2 +- drivers/net/niu.c | 10 ++++----- drivers/net/phy/mdio-gpio.c | 6 +++-- drivers/net/sunbmac.c | 6 +++-- drivers/net/sunhme.c | 8 +++---- drivers/net/sunlance.c | 6 +++-- drivers/net/sunqe.c | 6 +++-- drivers/net/xilinx_emaclite.c | 8 +++---- drivers/of/device.c | 20 +++++++++-------- drivers/of/of_i2c.c | 4 ++- drivers/of/of_mdio.c | 5 ++-- drivers/of/of_spi.c | 1 - drivers/pcmcia/electra_cf.c | 2 +- drivers/sbus/char/bbc_envctrl.c | 4 ++- drivers/sbus/char/bbc_i2c.c | 4 ++- drivers/sbus/char/display7seg.c | 2 +- drivers/sbus/char/envctrl.c | 2 +- drivers/sbus/char/flash.c | 4 ++- drivers/sbus/char/uctrl.c | 2 +- drivers/scsi/ibmvscsi/ibmvfc.c | 2 +- drivers/scsi/ibmvscsi/ibmvscsi.c | 2 +- drivers/scsi/qlogicpti.c | 10 ++++----- drivers/scsi/sun_esp.c | 16 +++++++------- drivers/serial/apbuart.c | 2 +- drivers/serial/mpc52xx_uart.c | 8 +++---- drivers/serial/nwpserial.c | 2 +- drivers/serial/of_serial.c | 4 ++- drivers/serial/pmac_zilog.c | 2 +- drivers/serial/sunhv.c | 2 +- drivers/serial/sunsab.c | 6 +++-- drivers/serial/sunsu.c | 6 +++-- drivers/serial/sunzilog.c | 8 +++---- drivers/serial/uartlite.c | 6 +++-- drivers/spi/mpc52xx_psc_spi.c | 11 +++++---- drivers/spi/mpc52xx_spi.c | 14 ++++++------ drivers/spi/spi_mpc8xxx.c | 6 +++-- drivers/usb/host/ehci-ppc-of.c | 2 +- drivers/usb/host/isp1760-if.c | 2 +- drivers/usb/host/ohci-ppc-of.c | 2 +- drivers/video/cg6.c | 2 +- drivers/video/ffb.c | 2 +- drivers/watchdog/cpwd.c | 2 +- include/linux/i2c.h | 4 +++ sound/aoa/fabrics/layout.c | 2 +- sound/aoa/soundbus/core.c | 8 +++---- sound/aoa/soundbus/i2sbus/control.c | 2 +- sound/aoa/soundbus/i2sbus/core.c | 4 ++- sound/aoa/soundbus/sysfs.c | 4 ++- sound/soc/fsl/mpc8610_hpcd.c | 2 +- sound/sparc/cs4231.c | 6 +++-- sound/sparc/dbri.c | 2 +- 140 files changed, 422 insertions(+), 458 deletions(-) -- Signature -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html