Subject: [PATCH 00/27] Clean up of_platform drivers

From: Grant Likely <[email-masked]>
Date: Thu, 11 Mar 2010 11:21:48 -0700

struct of_platform_driver unnecessarily duplicates the .owner and
.name fields from the encapsulated struct device_driver.  This patch
series goes through all of_platform drivers and makes it use the
device_driver instance so that the duplicate field can be removed.

Since every of_platform_driver is getting touched anyway, this series
takes the opportunity to also move the of_device_id match table out
of struct of_platform_driver and into struct device_driver proper.
This makes it possible for all bus types to make use of OF-style
binding when CONFIG_OF is set.

I've compile tested this on sparc, powerpc and microblaze.  It should
all be fully bisectable, and only the last patch removes the old
fields (ie. nothing should break without the last patch).

g.

---

Grant Likely (27):
      of: remove obsolete members from of_platform_driver
      arch/sparc/of: don't use deprecated field in of_platform_driver
      arch/powerpc/of: don't use deprecated field in of_platform_driver
      sound/of: don't use deprecated fields in of_platform_driver
      drivers/infiniband/of: don't use deprecated fields in of_platform_driver
      drivers/i2c/of: don't use deprecated field in of_platform_driver
      drivers/hwmon/of: don't use deprecated field in of_platform_driver
      drivers/mmc/of: don't use deprecated field in of_platform_driver
      drivers/pcmcia/of: don't use deprecated field in of_platform_driver
      drivers/parport/of: don't use deprecated field in of_platform_driver
      drivers/sbus/of: don't use deprecated field in of_platform_driver
      drivers/scsi/of: don't use deprecated field in of_platform_driver
      drivers/spi/of: don't use deprecated field in of_platform_driver
      drivers/serial/of: don't use deprecated field in of_platform_driver
      drivers/net/of: don't use deprecated field in of_platform_driver
      drivers/mtd/of: don't use deprecated field in of_platform_driver
      drivers/macintosh/of: don't use deprecated field in of_platform_driver
      drivers/input/of: don't use deprecated field in of_platform_driver
      drivers/atm/of: don't use deprecated field in of_platform_driver
      drivers/crypto/of: don't use deprecated field in of_platform_driver
      drivers/char/of: don't use deprecated field in of_platform_driver
      drivers/block/of: don't use deprecated field in of_platform_driver
      drivers/usb/of: don't use deprecated field in of_platform_driver
      drivers/video/of: don't use deprecated field in of_platform_driver
      drivers/watchdog/of: don't use deprecated .name and .owner in of_platform_driver
      drivers/gpio/of: don't use deprecated fields in of_platform_driver
      drivercore: Add of_match_table to the common device drivers

 arch/powerpc/kernel/ibmebus.c                 |    2 +-
 arch/powerpc/kernel/of_platform.c             |    3 ++-
 arch/powerpc/platforms/52xx/mpc52xx_gpio.c    |   14 ++++++++----
 arch/powerpc/platforms/52xx/mpc52xx_gpt.c     |    7 ++++--
 arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c |    8 ++++---
 arch/powerpc/platforms/82xx/ep8248e.c         |    3 ++-
 arch/powerpc/platforms/83xx/suspend.c         |    7 ++++--
 arch/powerpc/platforms/cell/axon_msi.c        |    7 +++---
 arch/powerpc/platforms/pasemi/gpio_mdio.c     |    7 +++---
 arch/powerpc/sysdev/axonram.c                 |    8 +++----
 arch/powerpc/sysdev/bestcomm/bestcomm.c       |   10 +++-----
 arch/powerpc/sysdev/fsl_msi.c                 |    7 ++++--
 arch/powerpc/sysdev/fsl_pmc.c                 |    7 ++++--
 arch/powerpc/sysdev/fsl_rio.c                 |    7 ++++--
 arch/powerpc/sysdev/pmi.c                     |    7 +++---
 arch/powerpc/sysdev/qe_lib/qe.c               |    7 ++++--
 arch/sparc/include/asm/parport.h              |    7 ++++--
 arch/sparc/kernel/apc.c                       |    7 ++++--
 arch/sparc/kernel/auxio_64.c                  |    7 +++---
 arch/sparc/kernel/central.c                   |   14 +++++++-----
 arch/sparc/kernel/chmc.c                      |    7 ++++--
 arch/sparc/kernel/pci_fire.c                  |    7 ++++--
 arch/sparc/kernel/pci_psycho.c                |    7 ++++--
 arch/sparc/kernel/pci_sabre.c                 |    7 ++++--
 arch/sparc/kernel/pci_schizo.c                |    7 ++++--
 arch/sparc/kernel/pci_sun4v.c                 |    7 ++++--
 arch/sparc/kernel/pmc.c                       |    7 ++++--
 arch/sparc/kernel/power.c                     |    7 +++---
 arch/sparc/kernel/time_32.c                   |    7 +++---
 arch/sparc/kernel/time_64.c                   |   21 ++++++++++--------
 drivers/ata/pata_of_platform.c                |    7 ++++--
 drivers/ata/sata_fsl.c                        |    7 ++++--
 drivers/atm/fore200e.c                        |    7 ++++--
 drivers/block/xsysace.c                       |    5 ++--
 drivers/char/hw_random/n2-drv.c               |    7 ++++--
 drivers/char/hw_random/pasemi-rng.c           |    7 ++++--
 drivers/char/ipmi/ipmi_si_intf.c              |    7 ++++--
 drivers/char/xilinx_hwicap/xilinx_hwicap.c    |    5 ++--
 drivers/crypto/amcc/crypto4xx_core.c          |    7 ++++--
 drivers/crypto/talitos.c                      |    7 ++++--
 drivers/dma/fsldma.c                          |   13 +++++++----
 drivers/dma/ppc4xx/adma.c                     |    2 +-
 drivers/edac/mpc85xx_edac.c                   |   30 ++++++++++---------------
 drivers/edac/ppc4xx_edac.c                    |   10 ++++----
 drivers/hwmon/ultra45_env.c                   |    7 ++++--
 drivers/i2c/busses/i2c-cpm.c                  |   10 ++++----
 drivers/i2c/busses/i2c-ibm_iic.c              |    7 ++++--
 drivers/i2c/busses/i2c-mpc.c                  |    8 +++----
 drivers/infiniband/hw/ehca/ehca_main.c        |    7 +++---
 drivers/input/misc/sparcspkr.c                |   14 ++++++++----
 drivers/input/serio/i8042-sparcio.h           |    7 ++++--
 drivers/input/serio/xilinx_ps2.c              |    7 ++++--
 drivers/leds/leds-gpio.c                      |    2 +-
 drivers/macintosh/macio_asic.c                |    5 ++--
 drivers/macintosh/smu.c                       |    7 ++++--
 drivers/macintosh/therm_pm72.c                |    7 ++++--
 drivers/macintosh/therm_windtunnel.c          |    7 ++++--
 drivers/mmc/host/sdhci-of-core.c              |    7 ++++--
 drivers/mtd/maps/physmap_of.c                 |    7 ++++--
 drivers/mtd/maps/sun_uflash.c                 |    7 ++++--
 drivers/mtd/nand/fsl_elbc_nand.c              |    5 +++-
 drivers/mtd/nand/fsl_upm.c                    |    7 ++++--
 drivers/mtd/nand/ndfc.c                       |    5 +++-
 drivers/mtd/nand/pasemi_nand.c                |    7 ++++--
 drivers/mtd/nand/socrates_nand.c              |    7 ++++--
 drivers/net/can/mscan/mpc5xxx_can.c           |    8 ++++---
 drivers/net/can/sja1000/sja1000_of_platform.c |    8 ++++---
 drivers/net/ehea/ehea_main.c                  |    7 ++++--
 drivers/net/fs_enet/fs_enet-main.c            |    7 ++++--
 drivers/net/fs_enet/mii-bitbang.c             |    7 ++++--
 drivers/net/fs_enet/mii-fec.c                 |    7 ++++--
 drivers/net/fsl_pq_mdio.c                     |    7 ++++--
 drivers/net/gianfar.c                         |   10 +++++---
 drivers/net/ibm_newemac/core.c                |    8 ++++---
 drivers/net/ibm_newemac/mal.c                 |    8 ++++---
 drivers/net/ibm_newemac/rgmii.c               |    8 ++++---
 drivers/net/ibm_newemac/tah.c                 |    8 ++++---
 drivers/net/ibm_newemac/zmii.c                |    8 ++++---
 drivers/net/ll_temac_main.c                   |    2 +-
 drivers/net/myri_sbus.c                       |    7 ++++--
 drivers/net/niu.c                             |    7 ++++--
 drivers/net/phy/mdio-gpio.c                   |    7 ++++--
 drivers/net/sunbmac.c                         |    7 ++++--
 drivers/net/sunhme.c                          |    7 ++++--
 drivers/net/sunlance.c                        |    7 ++++--
 drivers/net/sunqe.c                           |    7 ++++--
 drivers/net/ucc_geth.c                        |    7 ++++--
 drivers/net/xilinx_emaclite.c                 |    7 ++++--
 drivers/of/platform.c                         |   10 ++------
 drivers/parport/parport_sunbpp.c              |    7 ++++--
 drivers/pcmcia/electra_cf.c                   |    7 ++++--
 drivers/pcmcia/m8xx_pcmcia.c                  |    7 ++++--
 drivers/sbus/char/bbc_i2c.c                   |    7 ++++--
 drivers/sbus/char/display7seg.c               |    7 ++++--
 drivers/sbus/char/envctrl.c                   |    7 ++++--
 drivers/sbus/char/flash.c                     |    7 ++++--
 drivers/sbus/char/uctrl.c                     |    7 ++++--
 drivers/scsi/qlogicpti.c                      |    7 ++++--
 drivers/scsi/sun_esp.c                        |    7 ++++--
 drivers/serial/apbuart.c                      |    8 +++----
 drivers/serial/cpm_uart/cpm_uart_core.c       |    7 ++++--
 drivers/serial/mpc52xx_uart.c                 |    7 +++---
 drivers/serial/of_serial.c                    |    8 ++++---
 drivers/serial/sunhv.c                        |    7 ++++--
 drivers/serial/sunsab.c                       |    7 ++++--
 drivers/serial/sunsu.c                        |    7 ++++--
 drivers/serial/sunzilog.c                     |    7 ++++--
 drivers/serial/uartlite.c                     |    5 ++--
 drivers/serial/ucc_uart.c                     |    8 ++++---
 drivers/spi/mpc52xx_psc_spi.c                 |    4 +--
 drivers/spi/mpc52xx_spi.c                     |    8 ++++---
 drivers/spi/spi_mpc8xxx.c                     |    7 ++++--
 drivers/spi/spi_ppc4xx.c                      |    2 +-
 drivers/spi/xilinx_spi_of.c                   |    2 +-
 drivers/usb/gadget/fsl_qe_udc.c               |    7 ++++--
 drivers/usb/host/ehci-ppc-of.c                |    9 +++-----
 drivers/usb/host/ehci-xilinx-of.c             |    9 +++-----
 drivers/usb/host/fhci-hcd.c                   |    7 ++++--
 drivers/usb/host/isp1760-if.c                 |    7 ++++--
 drivers/usb/host/ohci-ppc-of.c                |   13 +++--------
 drivers/video/bw2.c                           |    7 ++++--
 drivers/video/cg14.c                          |    7 ++++--
 drivers/video/cg3.c                           |    7 ++++--
 drivers/video/cg6.c                           |    7 ++++--
 drivers/video/ffb.c                           |    7 ++++--
 drivers/video/fsl-diu-fb.c                    |    8 ++++---
 drivers/video/leo.c                           |    7 ++++--
 drivers/video/mb862xx/mb862xxfb.c             |    8 ++++---
 drivers/video/p9100.c                         |    7 ++++--
 drivers/video/platinumfb.c                    |    7 ++++--
 drivers/video/tcx.c                           |    7 ++++--
 drivers/video/xilinxfb.c                      |    5 ++--
 drivers/watchdog/cpwd.c                       |    7 ++++--
 drivers/watchdog/gef_wdt.c                    |    8 ++++---
 drivers/watchdog/mpc8xxx_wdt.c                |    8 +++----
 drivers/watchdog/riowd.c                      |    7 ++++--
 include/linux/device.h                        |    4 +++
 include/linux/of_platform.h                   |    4 ---
 sound/soc/fsl/mpc5200_psc_ac97.c              |    2 +-
 sound/soc/fsl/mpc5200_psc_i2s.c               |    2 +-
 sound/soc/fsl/mpc8610_hpcd.c                  |    8 ++++---
 sound/sparc/amd7930.c                         |    7 ++++--
 sound/sparc/cs4231.c                          |    7 ++++--
 sound/sparc/dbri.c                            |    7 ++++--
 144 files changed, 665 insertions(+), 380 deletions(-)

-- 
Signature