summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-03-04 09:21:37 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-03-04 09:21:37 +0100
commit13408877f4c0d4b2784d3388dd4481369205e46a (patch)
tree81bd24a8bac468785989c5b8b82a489befcddc5a /drivers
parent908bc8ce45f428658dab5826eb6fa2e5d9151aa1 (diff)
parent14743045fb31bd1d2d4b7eb2ccd2e956b44b01bd (diff)
downloadbarebox-13408877f4c0d4b2784d3388dd4481369205e46a.tar.gz
barebox-13408877f4c0d4b2784d3388dd4481369205e46a.tar.xz
Merge branch 'for-next/misc'
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ata/Kconfig1
-rw-r--r--drivers/ata/ahci.c8
-rw-r--r--drivers/ata/intf_platform_ide.c8
-rw-r--r--drivers/ata/pata-imx.c8
-rw-r--r--drivers/ata/sata-imx.c8
-rw-r--r--drivers/base/driver.c2
-rw-r--r--drivers/gpio/Kconfig2
-rw-r--r--drivers/i2c/busses/i2c-gpio.c7
-rw-r--r--drivers/i2c/busses/i2c-imx.c7
-rw-r--r--drivers/i2c/busses/i2c-omap.c8
-rw-r--r--drivers/i2c/busses/i2c-versatile.c8
-rw-r--r--drivers/input/gpio_keys.c8
-rw-r--r--drivers/input/imx_keypad.c8
-rw-r--r--drivers/mci/Makefile2
-rw-r--r--drivers/mci/atmel_mci.c8
-rw-r--r--drivers/mci/imx-esdhc.c9
-rw-r--r--drivers/mci/imx.c10
-rw-r--r--drivers/mci/mxs.c9
-rw-r--r--drivers/mci/omap_hsmmc.c13
-rw-r--r--drivers/mci/pxamci.c9
-rw-r--r--drivers/mci/s3c.c9
-rw-r--r--drivers/mfd/Kconfig26
-rw-r--r--drivers/mfd/Makefile18
-rw-r--r--drivers/misc/jtag.c8
-rw-r--r--drivers/mtd/devices/docg3.c8
-rw-r--r--drivers/mtd/nand/atmel_nand.c8
-rw-r--r--drivers/mtd/nand/nand_imx.c12
-rw-r--r--drivers/mtd/nand/nand_mxs.c8
-rw-r--r--drivers/mtd/nand/nand_omap_gpmc.c8
-rw-r--r--drivers/mtd/nand/nand_s3c24xx.c12
-rw-r--r--drivers/mtd/nand/nomadik_nand.c9
-rw-r--r--drivers/net/Kconfig1
-rw-r--r--drivers/net/altera_tse.c10
-rw-r--r--drivers/net/at91_ether.c8
-rw-r--r--drivers/net/cpsw.c8
-rw-r--r--drivers/net/cs8900.c9
-rw-r--r--drivers/net/davinci_emac.c9
-rw-r--r--drivers/net/designware.c8
-rw-r--r--drivers/net/dm9k.c9
-rw-r--r--drivers/net/ep93xx.c9
-rw-r--r--drivers/net/fec_imx.c9
-rw-r--r--drivers/net/fec_mpc5200.c10
-rw-r--r--drivers/net/gianfar.c9
-rw-r--r--drivers/net/ks8851_mll.c9
-rw-r--r--drivers/net/macb.c9
-rw-r--r--drivers/net/netx_eth.c10
-rw-r--r--drivers/net/smc91111.c21
-rw-r--r--drivers/net/smc911x.c10
-rw-r--r--drivers/net/tap.c9
-rw-r--r--drivers/nor/cfi_flash.c8
-rw-r--r--drivers/serial/Makefile6
-rw-r--r--drivers/spi/altera_spi.c8
-rw-r--r--drivers/spi/atmel_spi.c9
-rw-r--r--drivers/spi/imx_spi.c10
-rw-r--r--drivers/spi/omap3_spi.c8
-rw-r--r--drivers/usb/gadget/at91_udc.c8
-rw-r--r--drivers/usb/gadget/fsl_udc.c9
-rw-r--r--drivers/usb/gadget/pxa27x_udc.c9
-rw-r--r--drivers/usb/host/ehci-atmel.c8
-rw-r--r--drivers/usb/host/ehci-hcd.c10
-rw-r--r--drivers/usb/host/ohci-at91.c8
-rw-r--r--drivers/usb/host/ohci-hcd.c10
-rw-r--r--drivers/usb/imx/chipidea-imx.c7
-rw-r--r--drivers/usb/otg/Kconfig2
-rw-r--r--drivers/video/atmel_hlcdfb.c7
-rw-r--r--drivers/video/atmel_lcdfb.c7
-rw-r--r--drivers/video/imx-ipu-fb.c8
-rw-r--r--drivers/video/imx.c9
-rw-r--r--drivers/video/pxa.c8
-rw-r--r--drivers/video/s3c24xx.c8
-rw-r--r--drivers/video/sdl.c7
-rw-r--r--drivers/video/stm.c8
-rw-r--r--drivers/w1/masters/w1-gpio.c7
-rw-r--r--drivers/watchdog/im28wd.c9
-rw-r--r--drivers/watchdog/imxwd.c8
75 files changed, 102 insertions, 540 deletions
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index ff6528acf4..42f2065a61 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -38,6 +38,7 @@ config DISK_AHCI
select DISK_DRIVE
config DISK_AHCI_IMX
+ depends on ARCH_IMX
depends on DISK_AHCI
bool "i.MX AHCI support"
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 2d6e42232f..4d5b52afe5 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -685,10 +685,4 @@ static struct driver_d ahci_driver = {
.info = ahci_info,
.of_compatible = DRV_OF_COMPAT(ahci_dt_ids),
};
-
-static int ahci_init(void)
-{
- return platform_driver_register(&ahci_driver);
-}
-
-device_initcall(ahci_init);
+device_platform_driver(ahci_driver);
diff --git a/drivers/ata/intf_platform_ide.c b/drivers/ata/intf_platform_ide.c
index 6473b38ba3..0b56eb4aa8 100644
--- a/drivers/ata/intf_platform_ide.c
+++ b/drivers/ata/intf_platform_ide.c
@@ -108,13 +108,7 @@ static struct driver_d platform_ide_driver = {
.name = "ide_intf",
.probe = platform_ide_probe,
};
-
-static int platform_ide_init(void)
-{
- return platform_driver_register(&platform_ide_driver);
-}
-
-device_initcall(platform_ide_init);
+device_platform_driver(platform_ide_driver);
/**
* @file
diff --git a/drivers/ata/pata-imx.c b/drivers/ata/pata-imx.c
index 202f537569..5d44883453 100644
--- a/drivers/ata/pata-imx.c
+++ b/drivers/ata/pata-imx.c
@@ -194,10 +194,4 @@ static struct driver_d imx_pata_driver = {
.name = "imx-pata",
.probe = imx_pata_probe,
};
-
-static int imx_pata_init(void)
-{
- return platform_driver_register(&imx_pata_driver);
-}
-
-device_initcall(imx_pata_init);
+device_platform_driver(imx_pata_driver);
diff --git a/drivers/ata/sata-imx.c b/drivers/ata/sata-imx.c
index fc57f5f104..bd48fae1f4 100644
--- a/drivers/ata/sata-imx.c
+++ b/drivers/ata/sata-imx.c
@@ -146,10 +146,4 @@ static struct driver_d imx_sata_driver = {
.info = ahci_info,
.id_table = imx_sata_ids,
};
-
-static int ahci_init(void)
-{
- return platform_driver_register(&imx_sata_driver);
-}
-
-device_initcall(ahci_init);
+device_platform_driver(imx_sata_driver);
diff --git a/drivers/base/driver.c b/drivers/base/driver.c
index d4066fc178..fa30c68059 100644
--- a/drivers/base/driver.c
+++ b/drivers/base/driver.c
@@ -230,7 +230,7 @@ int register_driver(struct driver_d *drv)
}
EXPORT_SYMBOL(register_driver);
-static struct resource *dev_get_resource(struct device_d *dev, int num)
+struct resource *dev_get_resource(struct device_d *dev, int num)
{
int i, n = 0;
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 89be6843ae..5500ad1121 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -17,7 +17,7 @@ config GPIO_PL061
Say yes here to support the PrimeCell PL061 GPIO device
config GPIO_STMPE
- depends on I2C_STMPE
+ depends on MFD_STMPE
bool "STMPE GPIO Expander"
endmenu
diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c
index 98ce2d59ab..8b49c2c1bf 100644
--- a/drivers/i2c/busses/i2c-gpio.c
+++ b/drivers/i2c/busses/i2c-gpio.c
@@ -169,9 +169,4 @@ static struct driver_d i2c_gpio_driver = {
.name = "i2c-gpio",
.probe = i2c_gpio_probe,
};
-
-static int __init i2c_gpio_init(void)
-{
- return platform_driver_register(&i2c_gpio_driver);
-}
-device_initcall(i2c_gpio_init);
+device_platform_driver(i2c_gpio_driver);
diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
index 68348eb159..9fcfd5c6f7 100644
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -576,9 +576,4 @@ static struct driver_d i2c_fsl_driver = {
.probe = i2c_fsl_probe,
.name = DRIVER_NAME,
};
-
-static int __init i2c_adap_fsl_init(void)
-{
- return platform_driver_register(&i2c_fsl_driver);
-}
-device_initcall(i2c_adap_fsl_init);
+device_platform_driver(i2c_fsl_driver);
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index f371875aad..503443f9bf 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -860,13 +860,7 @@ static struct driver_d omap_i2c_driver = {
.probe = i2c_omap_probe,
.name = DRIVER_NAME,
};
-
-/* I2C may be needed to bring up other drivers */
-static int __init omap_i2c_init_driver(void)
-{
- return platform_driver_register(&omap_i2c_driver);
-}
-device_initcall(omap_i2c_init_driver);
+device_platform_driver(omap_i2c_driver);
MODULE_AUTHOR("MontaVista Software, Inc. (and others)");
MODULE_DESCRIPTION("TI OMAP I2C bus adapter");
diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
index 7c993226f8..d395e1d2fd 100644
--- a/drivers/i2c/busses/i2c-versatile.c
+++ b/drivers/i2c/busses/i2c-versatile.c
@@ -103,10 +103,4 @@ static struct driver_d i2c_versatile_driver = {
.name = "versatile-i2c",
.probe = i2c_versatile_probe,
};
-
-static int __init i2c_versatile_init(void)
-{
- return platform_driver_register(&i2c_versatile_driver);
-}
-
-device_initcall(i2c_versatile_init);
+device_platform_driver(i2c_versatile_driver);
diff --git a/drivers/input/gpio_keys.c b/drivers/input/gpio_keys.c
index 543ad1a470..b02e0ede34 100644
--- a/drivers/input/gpio_keys.c
+++ b/drivers/input/gpio_keys.c
@@ -106,10 +106,4 @@ static struct driver_d gpio_keys_driver = {
.name = "gpio_keys",
.probe = gpio_keys_probe,
};
-
-static int gpio_keys_init(void)
-{
- platform_driver_register(&gpio_keys_driver);
- return 0;
-}
-device_initcall(gpio_keys_init);
+device_platform_driver(gpio_keys_driver);
diff --git a/drivers/input/imx_keypad.c b/drivers/input/imx_keypad.c
index f6c3b1b8bb..2ee3d0fa00 100644
--- a/drivers/input/imx_keypad.c
+++ b/drivers/input/imx_keypad.c
@@ -454,10 +454,4 @@ static struct driver_d imx_keypad_driver = {
.name = "imx-kpp",
.probe = imx_keypad_probe,
};
-
-static int imx_keypad_init(void)
-{
- platform_driver_register(&imx_keypad_driver);
- return 0;
-}
-device_initcall(imx_keypad_init);
+device_platform_driver(imx_keypad_driver);
diff --git a/drivers/mci/Makefile b/drivers/mci/Makefile
index b7bb846291..d46d5f50e8 100644
--- a/drivers/mci/Makefile
+++ b/drivers/mci/Makefile
@@ -4,7 +4,7 @@ obj-$(CONFIG_MCI_S3C) += s3c.o
obj-$(CONFIG_MCI_IMX) += imx.o
obj-$(CONFIG_MCI_IMX_ESDHC) += imx-esdhc.o
obj-$(CONFIG_MCI_OMAP_HSMMC) += omap_hsmmc.o
-obj-$(CONFIG_I2C_TWL6030) += twl6030.o
+obj-$(CONFIG_MFD_TWL6030) += twl6030.o
obj-$(CONFIG_MCI_PXA) += pxamci.o
obj-$(CONFIG_MCI_ATMEL) += atmel_mci.o
obj-$(CONFIG_MCI_SPI) += mci_spi.o
diff --git a/drivers/mci/atmel_mci.c b/drivers/mci/atmel_mci.c
index dbfb53cb42..f032403109 100644
--- a/drivers/mci/atmel_mci.c
+++ b/drivers/mci/atmel_mci.c
@@ -619,10 +619,4 @@ static struct driver_d atmci_driver = {
.info = atmci_info,
#endif
};
-
-static int atmci_init_driver(void)
-{
- platform_driver_register(&atmci_driver);
- return 0;
-}
-device_initcall(atmci_init_driver);
+device_platform_driver(atmci_driver);
diff --git a/drivers/mci/imx-esdhc.c b/drivers/mci/imx-esdhc.c
index aad1b86962..8c2695cded 100644
--- a/drivers/mci/imx-esdhc.c
+++ b/drivers/mci/imx-esdhc.c
@@ -583,11 +583,4 @@ static struct driver_d fsl_esdhc_driver = {
.probe = fsl_esdhc_probe,
.of_compatible = DRV_OF_COMPAT(fsl_esdhc_compatible),
};
-
-static int fsl_esdhc_init_driver(void)
-{
- platform_driver_register(&fsl_esdhc_driver);
- return 0;
-}
-
-device_initcall(fsl_esdhc_init_driver);
+device_platform_driver(fsl_esdhc_driver);
diff --git a/drivers/mci/imx.c b/drivers/mci/imx.c
index 072ca93794..1210a1d2b1 100644
--- a/drivers/mci/imx.c
+++ b/drivers/mci/imx.c
@@ -524,12 +524,4 @@ static struct driver_d mxcmci_driver = {
.name = DRIVER_NAME,
.probe = mxcmci_probe,
};
-
-static int mxcmci_init_driver(void)
-{
- platform_driver_register(&mxcmci_driver);
- return 0;
-}
-
-device_initcall(mxcmci_init_driver);
-
+device_platform_driver(mxcmci_driver);
diff --git a/drivers/mci/mxs.c b/drivers/mci/mxs.c
index b5b36650bf..c65796bb93 100644
--- a/drivers/mci/mxs.c
+++ b/drivers/mci/mxs.c
@@ -760,11 +760,4 @@ static struct driver_d mxs_mci_driver = {
.info = mxs_mci_info,
#endif
};
-
-static int mxs_mci_init_driver(void)
-{
- platform_driver_register(&mxs_mci_driver);
- return 0;
-}
-
-device_initcall(mxs_mci_init_driver);
+device_platform_driver(mxs_mci_driver);
diff --git a/drivers/mci/omap_hsmmc.c b/drivers/mci/omap_hsmmc.c
index ffcb4ae75c..b379c31fae 100644
--- a/drivers/mci/omap_hsmmc.c
+++ b/drivers/mci/omap_hsmmc.c
@@ -29,7 +29,7 @@
#include <mach/omap_hsmmc.h>
-#if defined(CONFIG_I2C_TWL6030) && \
+#if defined(CONFIG_MFD_TWL6030) && \
defined(CONFIG_MCI_OMAP_HSMMC) && \
defined(CONFIG_ARCH_OMAP4)
#include <mach/omap4_twl6030_mmc.h>
@@ -235,7 +235,7 @@ static int mmc_init_setup(struct mci_host *mci, struct device_d *dev)
* It's necessary to do this here, because
* you need to set up this at probetime.
*/
-#if defined(CONFIG_I2C_TWL6030) && \
+#if defined(CONFIG_MFD_TWL6030) && \
defined(CONFIG_MCI_OMAP_HSMMC) && \
defined(CONFIG_ARCH_OMAP4)
set_up_mmc_voltage_omap4();
@@ -630,11 +630,4 @@ static struct driver_d omap_mmc_driver = {
.probe = omap_mmc_probe,
.id_table = omap_mmc_ids,
};
-
-static int omap_mmc_init_driver(void)
-{
- platform_driver_register(&omap_mmc_driver);
- return 0;
-}
-
-device_initcall(omap_mmc_init_driver);
+device_platform_driver(omap_mmc_driver);
diff --git a/drivers/mci/pxamci.c b/drivers/mci/pxamci.c
index c18e63a00b..c1380d1fd8 100644
--- a/drivers/mci/pxamci.c
+++ b/drivers/mci/pxamci.c
@@ -378,11 +378,4 @@ static struct driver_d pxamci_driver = {
.name = DRIVER_NAME,
.probe = pxamci_probe,
};
-
-static int __init pxamci_init_driver(void)
-{
- platform_driver_register(&pxamci_driver);
- return 0;
-}
-
-device_initcall(pxamci_init_driver);
+device_platform_driver(pxamci_driver);
diff --git a/drivers/mci/s3c.c b/drivers/mci/s3c.c
index 3e5d6d986c..4e7345c8d5 100644
--- a/drivers/mci/s3c.c
+++ b/drivers/mci/s3c.c
@@ -767,11 +767,4 @@ static struct driver_d s3c_mci_driver = {
.info = s3c_info,
#endif
};
-
-static int s3c_mci_init_driver(void)
-{
- platform_driver_register(&s3c_mci_driver);
- return 0;
-}
-
-device_initcall(s3c_mci_init_driver);
+device_platform_driver(s3c_mci_driver);
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index a253de3806..c506d6782b 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -1,10 +1,14 @@
menu MFD
+config MFD_LP3972
+ depends on I2C
+ bool "LP3972 driver"
+
config MFD_MC13XXX
depends on I2C || SPI
bool "MC13XXX a.k.a. PMIC driver (MC13783, MC13892)"
-config I2C_MC34704
+config MFD_MC34704
depends on I2C
bool "MC34704 PMIC driver"
@@ -12,29 +16,25 @@ config MFD_MC34708
depends on I2C || SPI
bool "MC34708 PMIC driver"
-config I2C_MC9SDZ60
+config MFD_MC9SDZ60
depends on I2C
bool "MC9SDZ60 driver"
-config I2C_LP3972
+config MFD_STMPE
depends on I2C
- bool "LP3972 driver"
+ bool "STMPE-i2c driver"
-config I2C_TWLCORE
+config MFD_TWLCORE
bool
-config I2C_TWL4030
+config MFD_TWL4030
depends on I2C
- select I2C_TWLCORE
+ select MFD_TWLCORE
bool "TWL4030 driver"
-config I2C_TWL6030
+config MFD_TWL6030
depends on I2C
- select I2C_TWLCORE
+ select MFD_TWLCORE
bool "TWL6030 driver"
-config I2C_STMPE
- depends on I2C
- bool "STMPE-i2c driver"
-
endmenu
diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
index a242eaf677..542fb0fb3a 100644
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
@@ -1,9 +1,9 @@
-obj-$(CONFIG_MFD_MC13XXX) += mc13xxx.o
-obj-$(CONFIG_I2C_MC34704) += mc34704.o
-obj-$(CONFIG_MFD_MC34708) += mc34708.o
-obj-$(CONFIG_I2C_MC9SDZ60) += mc9sdz60.o
-obj-$(CONFIG_I2C_LP3972) += lp3972.o
-obj-$(CONFIG_I2C_TWLCORE) += twl-core.o
-obj-$(CONFIG_I2C_TWL4030) += twl4030.o
-obj-$(CONFIG_I2C_TWL6030) += twl6030.o
-obj-$(CONFIG_I2C_STMPE) += stmpe-i2c.o
+obj-$(CONFIG_MFD_LP3972) += lp3972.o
+obj-$(CONFIG_MFD_MC13XXX) += mc13xxx.o
+obj-$(CONFIG_MFD_MC34704) += mc34704.o
+obj-$(CONFIG_MFD_MC34708) += mc34708.o
+obj-$(CONFIG_MFD_MC9SDZ60) += mc9sdz60.o
+obj-$(CONFIG_MFD_STMPE) += stmpe-i2c.o
+obj-$(CONFIG_MFD_TWLCORE) += twl-core.o
+obj-$(CONFIG_MFD_TWL4030) += twl4030.o
+obj-$(CONFIG_MFD_TWL6030) += twl6030.o
diff --git a/drivers/misc/jtag.c b/drivers/misc/jtag.c
index 6c5dea4f2b..d302237e37 100644
--- a/drivers/misc/jtag.c
+++ b/drivers/misc/jtag.c
@@ -376,13 +376,7 @@ static struct driver_d jtag_driver = {
.remove = jtag_remove,
.info = jtag_info,
};
-
-static int jtag_module_init(void)
-{
- return platform_driver_register(&jtag_driver);
-}
-
-device_initcall(jtag_module_init);
+device_platform_driver(jtag_driver);
MODULE_AUTHOR("Davide Rizzo <elpa.rizzo@gmail.com>");
MODULE_AUTHOR("Wjatscheslaw Stoljarski <wjatscheslaw.stoljarski@kiwigrid.com>");
diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c
index 2f89900e43..af3d174cd6 100644
--- a/drivers/mtd/devices/docg3.c
+++ b/drivers/mtd/devices/docg3.c
@@ -1199,10 +1199,4 @@ static struct driver_d g3_driver = {
.name = "docg3",
.probe = docg3_probe,
};
-
-static int __init docg3_init(void)
-{
- return platform_driver_register(&g3_driver);
-}
-
-device_initcall(docg3_init);
+device_platform_driver(g3_driver);
diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
index 2a57dbbd71..63484f8196 100644
--- a/drivers/mtd/nand/atmel_nand.c
+++ b/drivers/mtd/nand/atmel_nand.c
@@ -1242,13 +1242,7 @@ static struct driver_d atmel_nand_driver = {
.name = "atmel_nand",
.probe = atmel_nand_probe,
};
-
-static int __init atmel_nand_init(void)
-{
- return platform_driver_register(&atmel_nand_driver);
-}
-
-device_initcall(atmel_nand_init);
+device_platform_driver(atmel_nand_driver);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Rick Bronson");
diff --git a/drivers/mtd/nand/nand_imx.c b/drivers/mtd/nand/nand_imx.c
index a56c65ff8c..dd668619d5 100644
--- a/drivers/mtd/nand/nand_imx.c
+++ b/drivers/mtd/nand/nand_imx.c
@@ -1277,17 +1277,7 @@ static struct driver_d imx_nand_driver = {
.name = "imx_nand",
.probe = imxnd_probe,
};
-
-/*
- * Main initialization routine
- * @return 0 if successful; non-zero otherwise
- */
-static int __init imx_nand_init(void)
-{
- return platform_driver_register(&imx_nand_driver);
-}
-
-device_initcall(imx_nand_init);
+device_platform_driver(imx_nand_driver);
MODULE_AUTHOR("Freescale Semiconductor, Inc.");
MODULE_DESCRIPTION("MXC NAND MTD driver");
diff --git a/drivers/mtd/nand/nand_mxs.c b/drivers/mtd/nand/nand_mxs.c
index bc345262ad..3812ac9ddb 100644
--- a/drivers/mtd/nand/nand_mxs.c
+++ b/drivers/mtd/nand/nand_mxs.c
@@ -1265,13 +1265,7 @@ static struct driver_d mxs_nand_driver = {
.name = "mxs_nand",
.probe = mxs_nand_probe,
};
-
-static int __init mxs_nand_init(void)
-{
- return platform_driver_register(&mxs_nand_driver);
-}
-
-device_initcall(mxs_nand_init);
+device_platform_driver(mxs_nand_driver);
MODULE_AUTHOR("Denx Software Engeneering and Wolfram Sang");
MODULE_DESCRIPTION("MXS NAND MTD driver");
diff --git a/drivers/mtd/nand/nand_omap_gpmc.c b/drivers/mtd/nand/nand_omap_gpmc.c
index 9050a8d0bc..7849db5b11 100644
--- a/drivers/mtd/nand/nand_omap_gpmc.c
+++ b/drivers/mtd/nand/nand_omap_gpmc.c
@@ -1081,10 +1081,4 @@ static struct driver_d gpmc_nand_driver = {
.name = "gpmc_nand",
.probe = gpmc_nand_probe,
};
-
-static int gpmc_nand_init(void)
-{
- return platform_driver_register(&gpmc_nand_driver);
-}
-
-device_initcall(gpmc_nand_init);
+device_platform_driver(gpmc_nand_driver);
diff --git a/drivers/mtd/nand/nand_s3c24xx.c b/drivers/mtd/nand/nand_s3c24xx.c
index aef7fa9ba1..fef94328b1 100644
--- a/drivers/mtd/nand/nand_s3c24xx.c
+++ b/drivers/mtd/nand/nand_s3c24xx.c
@@ -494,6 +494,7 @@ static struct driver_d s3c24x0_nand_driver = {
.name = "s3c24x0_nand",
.probe = s3c24x0_nand_probe,
};
+device_platform_driver(s3c24x0_nand_driver);
#ifdef CONFIG_S3C_NAND_BOOT
@@ -646,17 +647,6 @@ BAREBOX_CMD_END
#endif /* CONFIG_S3C_NAND_BOOT */
-/*
- * Main initialization routine
- * @return 0 if successful; non-zero otherwise
- */
-static int __init s3c24x0_nand_init(void)
-{
- return platform_driver_register(&s3c24x0_nand_driver);
-}
-
-device_initcall(s3c24x0_nand_init);
-
/**
* @file
* @brief Support for various kinds of NAND devices
diff --git a/drivers/mtd/nand/nomadik_nand.c b/drivers/mtd/nand/nomadik_nand.c
index 768b19c7be..834b6ac32a 100644
--- a/drivers/mtd/nand/nomadik_nand.c
+++ b/drivers/mtd/nand/nomadik_nand.c
@@ -234,14 +234,7 @@ static struct driver_d nomadik_nand_driver = {
.probe = nomadik_nand_probe,
.name = "nomadik_nand",
};
-
-static int __init nand_nomadik_init(void)
-{
- pr_info("Nomadik NAND driver\n");
- return platform_driver_register(&nomadik_nand_driver);
-}
-
-device_initcall(nand_nomadik_init);
+device_platform_driver(nomadik_nand_driver);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("ST Microelectronics (sachin.verma@st.com)");
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index bcf245dcdc..2736094b8b 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -36,6 +36,7 @@ config DRIVER_NET_CS8900
config DRIVER_NET_CPSW
bool "CPSW ethernet driver"
+ depends on ARCH_OMAP
select PHYLIB
config DRIVER_NET_SMC911X
diff --git a/drivers/net/altera_tse.c b/drivers/net/altera_tse.c
index f0e907e78e..1a442781a9 100644
--- a/drivers/net/altera_tse.c
+++ b/drivers/net/altera_tse.c
@@ -557,12 +557,4 @@ static struct driver_d altera_tse_driver = {
.name = "altera_tse",
.probe = tse_probe,
};
-
-static int tse_init(void)
-{
- platform_driver_register(&altera_tse_driver);
- return 0;
-}
-
-device_initcall(tse_init);
-
+device_platform_driver(altera_tse_driver);
diff --git a/drivers/net/at91_ether.c b/drivers/net/at91_ether.c
index a0854dff52..dad78155fa 100644
--- a/drivers/net/at91_ether.c
+++ b/drivers/net/at91_ether.c
@@ -366,10 +366,4 @@ static struct driver_d at91_ether_driver = {
.probe = at91_ether_probe,
.remove = at91_ether_remove,
};
-
-static int at91_ether_driver_init(void)
-{
- platform_driver_register(&at91_ether_driver);
- return 0;
-}
-device_initcall(at91_ether_driver_init);
+device_platform_driver(at91_ether_driver);
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c
index 58c097afe4..e51a8b1b6e 100644
--- a/drivers/net/cpsw.c
+++ b/drivers/net/cpsw.c
@@ -1061,10 +1061,4 @@ static struct driver_d cpsw_driver = {
.name = "cpsw",
.probe = cpsw_probe,
};
-
-static int cpsw_register(void)
-{
- return platform_driver_register(&cpsw_driver);
-}
-
-device_initcall(cpsw_register);
+device_platform_driver(cpsw_driver);
diff --git a/drivers/net/cs8900.c b/drivers/net/cs8900.c
index b1ef3902c4..b0d045a4e9 100644
--- a/drivers/net/cs8900.c
+++ b/drivers/net/cs8900.c
@@ -468,11 +468,4 @@ static struct driver_d cs8900_driver = {
.probe = cs8900_probe,
.info = cs8900_info,
};
-
-static int cs8900_init(void)
-{
- platform_driver_register(&cs8900_driver);
- return 0;
-}
-
-device_initcall(cs8900_init);
+device_platform_driver(cs8900_driver);
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c
index 989e119c38..7848f50b9b 100644
--- a/drivers/net/davinci_emac.c
+++ b/drivers/net/davinci_emac.c
@@ -608,11 +608,4 @@ static struct driver_d davinci_emac_driver = {
.probe = davinci_emac_probe,
.remove = davinci_emac_remove,
};
-
-static int davinci_emac_register(void)
-{
- platform_driver_register(&davinci_emac_driver);
- return 0;
-}
-
-device_initcall(davinci_emac_register);
+device_platform_driver(davinci_emac_driver);
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index f803e6693a..a6b32b9b2e 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -455,10 +455,4 @@ static struct driver_d dwc_ether_driver = {
.probe = dwc_ether_probe,
.remove = dwc_ether_remove,
};
-
-static int dwc_ether_driver_init(void)
-{
- platform_driver_register(&dwc_ether_driver);
- return 0;
-}
-device_initcall(dwc_ether_driver_init);
+device_platform_driver(dwc_ether_driver);
diff --git a/drivers/net/dm9k.c b/drivers/net/dm9k.c
index 8be0f16646..090482c0ad 100644
--- a/drivers/net/dm9k.c
+++ b/drivers/net/dm9k.c
@@ -780,11 +780,4 @@ static struct driver_d dm9k_driver = {
.name = "dm9000",
.probe = dm9k_probe,
};
-
-static int dm9k_init(void)
-{
- platform_driver_register(&dm9k_driver);
- return 0;
-}
-
-device_initcall(dm9k_init);
+device_platform_driver(dm9k_driver);
diff --git a/drivers/net/ep93xx.c b/drivers/net/ep93xx.c
index 37c9f0a81e..1ecef13394 100644
--- a/drivers/net/ep93xx.c
+++ b/drivers/net/ep93xx.c
@@ -663,11 +663,4 @@ static struct driver_d ep93xx_eth_driver = {
.name = "ep93xx_eth",
.probe = ep93xx_eth_probe,
};
-
-static int ep93xx_eth_init(void)
-{
- platform_driver_register(&ep93xx_eth_driver);
- return 0;
-}
-
-device_initcall(ep93xx_eth_init);
+device_platform_driver(ep93xx_eth_driver);
diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c
index 1767ef8bc0..578000ac1b 100644
--- a/drivers/net/fec_imx.c
+++ b/drivers/net/fec_imx.c
@@ -779,14 +779,7 @@ static struct driver_d fec_driver = {
.of_compatible = DRV_OF_COMPAT(imx_fec_dt_ids),
.id_table = imx_fec_ids,
};
-
-static int fec_register(void)
-{
- platform_driver_register(&fec_driver);
- return 0;
-}
-
-device_initcall(fec_register);
+device_platform_driver(fec_driver);
/**
* @file
diff --git a/drivers/net/fec_mpc5200.c b/drivers/net/fec_mpc5200.c
index a14c8d1c4f..9ef5350aaf 100644
--- a/drivers/net/fec_mpc5200.c
+++ b/drivers/net/fec_mpc5200.c
@@ -717,12 +717,4 @@ static struct driver_d mpc5xxx_driver = {
.probe = mpc5xxx_fec_probe,
.remove = mpc5xxx_fec_remove,
};
-
-static int mpc5xxx_fec_register(void)
-{
- platform_driver_register(&mpc5xxx_driver);
- return 0;
-}
-
-device_initcall(mpc5xxx_fec_register);
-
+device_platform_driver(mpc5xxx_driver);
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index 55675baea6..96055bd39c 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -528,11 +528,4 @@ static struct driver_d gfar_eth_driver = {
.name = "gfar",
.probe = gfar_probe,
};
-
-static int gfar_eth_init(void)
-{
- platform_driver_register(&gfar_eth_driver);
- return 0;
-}
-
-device_initcall(gfar_eth_init);
+device_platform_driver(gfar_eth_driver);
diff --git a/drivers/net/ks8851_mll.c b/drivers/net/ks8851_mll.c
index 79b88f216a..9c0e5a7a10 100644
--- a/drivers/net/ks8851_mll.c
+++ b/drivers/net/ks8851_mll.c
@@ -873,11 +873,4 @@ static struct driver_d ks8851_driver = {
.name = "ks8851_mll",
.probe = ks8851_probe,
};
-
-static int ks8851_init(void)
-{
- platform_driver_register(&ks8851_driver);
- return 0;
-}
-
-device_initcall(ks8851_init);
+device_platform_driver(ks8851_driver);
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 0cfad05406..8602437a09 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -666,11 +666,4 @@ static struct driver_d macb_driver = {
.name = "macb",
.probe = macb_probe,
};
-
-static int macb_driver_init(void)
-{
- debug("%s\n", __func__);
- platform_driver_register(&macb_driver);
- return 0;
-}
-device_initcall(macb_driver_init);
+device_platform_driver(macb_driver);
diff --git a/drivers/net/netx_eth.c b/drivers/net/netx_eth.c
index e2b5591d25..9ca9bce1f8 100644
--- a/drivers/net/netx_eth.c
+++ b/drivers/net/netx_eth.c
@@ -276,12 +276,4 @@ static struct driver_d netx_eth_driver = {
.name = "netx-eth",
.probe = netx_eth_probe,
};
-
-static int netx_eth_init(void)
-{
- platform_driver_register(&netx_eth_driver);
- return 0;
-}
-
-device_initcall(netx_eth_init);
-
+device_platform_driver(netx_eth_driver);
diff --git a/drivers/net/smc91111.c b/drivers/net/smc91111.c
index ac978d91dc..48183dd4fa 100644
--- a/drivers/net/smc91111.c
+++ b/drivers/net/smc91111.c
@@ -935,7 +935,7 @@ static int smc91c111_eth_send(struct eth_device *edev, void *packet,
if (numPages > 7) {
printf ("%s: Far too big packet error. \n", SMC_DEV_NAME);
- return 0;
+ return -EOVERFLOW;
}
/* now, try to allocate the memory */
@@ -965,7 +965,7 @@ again:
if (try < SMC_ALLOC_MAX_TRY)
goto again;
else
- return 0;
+ return -ETIMEDOUT;
}
PRINTK2 ("%s: memory allocation, try %d succeeded ...\n",
@@ -980,7 +980,7 @@ again:
if (packet_no & AR_FAILED) {
/* or isn't there? BAD CHIP! */
printf ("%s: Memory allocation failed. \n", SMC_DEV_NAME);
- return 0;
+ return -ENOMEM;
}
/* we have a packet address, so tell the card to use it */
@@ -1046,7 +1046,7 @@ again:
SMC_outb(priv, saved_pnr, PN_REG );
SMC_outw(priv, saved_ptr, PTR_REG );
- return length;
+ return 0;
}
static void smc91c111_eth_halt(struct eth_device *edev)
@@ -1152,10 +1152,10 @@ static int smc91c111_eth_rx(struct eth_device *edev)
if (!is_error) {
/* Pass the packet up to the protocol layers. */
net_receive(NetRxPackets[0], packet_length);
- return packet_length;
+ return 0;
}
- return 0;
+ return -EINVAL;
}
static int smc91c111_get_ethaddr(struct eth_device *edev, unsigned char *m)
@@ -1319,11 +1319,4 @@ static struct driver_d smc91c111_driver = {
.name = "smc91c111",
.probe = smc91c111_probe,
};
-
-static int smc91c111_init(void)
-{
- platform_driver_register(&smc91c111_driver);
- return 0;
-}
-
-device_initcall(smc91c111_init);
+device_platform_driver(smc91c111_driver);
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index 28c69ba872..3b94779cd9 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -638,12 +638,4 @@ static struct driver_d smc911x_driver = {
.name = "smc911x",
.probe = smc911x_probe,
};
-
-static int smc911x_init(void)
-{
- platform_driver_register(&smc911x_driver);
- return 0;
-}
-
-device_initcall(smc911x_init);
-
+device_platform_driver(smc911x_driver);
diff --git a/drivers/net/tap.c b/drivers/net/tap.c
index 1cf4e1861b..436b0e085a 100644
--- a/drivers/net/tap.c
+++ b/drivers/net/tap.c
@@ -109,11 +109,4 @@ static struct driver_d tap_driver = {
.name = "tap",
.probe = tap_probe,
};
-
-static int tap_init(void)
-{
- platform_driver_register(&tap_driver);
- return 0;
-}
-
-device_initcall(tap_init);
+device_platform_driver(tap_driver);
diff --git a/drivers/nor/cfi_flash.c b/drivers/nor/cfi_flash.c
index 637f98b10a..acdc38654f 100644
--- a/drivers/nor/cfi_flash.c
+++ b/drivers/nor/cfi_flash.c
@@ -1035,10 +1035,4 @@ static struct driver_d cfi_driver = {
.info = cfi_info,
.of_compatible = DRV_OF_COMPAT(cfi_dt_ids),
};
-
-static int cfi_init(void)
-{
- return platform_driver_register(&cfi_driver);
-}
-
-device_initcall(cfi_init);
+device_platform_driver(cfi_driver);
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 893e282c63..16a54c268a 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -1,9 +1,3 @@
-# atmel_usart.o
-# ns9750_serial.o
-# s3c4510b_uart.o
-# serial_max3100.o
-# serial_pl010.o
-# serial_xuartlite.o
obj-$(CONFIG_DRIVER_SERIAL_ARM_DCC) += arm_dcc.o
obj-$(CONFIG_SERIAL_AMBA_PL011) += amba-pl011.o
obj-$(CONFIG_DRIVER_SERIAL_IMX) += serial_imx.o
diff --git a/drivers/spi/altera_spi.c b/drivers/spi/altera_spi.c
index a089761278..60e124ff77 100644
--- a/drivers/spi/altera_spi.c
+++ b/drivers/spi/altera_spi.c
@@ -239,10 +239,4 @@ static struct driver_d altera_spi_driver = {
.name = "altera_spi",
.probe = altera_spi_probe,
};
-
-static int altera_spi_driver_init(void)
-{
- return platform_driver_register(&altera_spi_driver);
-}
-
-device_initcall(altera_spi_driver_init);
+device_platform_driver(altera_spi_driver);
diff --git a/drivers/spi/atmel_spi.c b/drivers/spi/atmel_spi.c
index 478f5d3b61..a0f63d84f5 100644
--- a/drivers/spi/atmel_spi.c
+++ b/drivers/spi/atmel_spi.c
@@ -437,11 +437,4 @@ static struct driver_d atmel_spi_driver = {
.name = "atmel_spi",
.probe = atmel_spi_probe,
};
-
-static int atmel_spi_init(void)
-{
- platform_driver_register(&atmel_spi_driver);
- return 0;
-}
-
-device_initcall(atmel_spi_init);
+device_platform_driver(atmel_spi_driver);
diff --git a/drivers/spi/imx_spi.c b/drivers/spi/imx_spi.c
index 950180fec6..b749337daf 100644
--- a/drivers/spi/imx_spi.c
+++ b/drivers/spi/imx_spi.c
@@ -598,12 +598,4 @@ static struct driver_d imx_spi_driver = {
.probe = imx_spi_probe,
.of_compatible = DRV_OF_COMPAT(imx_spi_dt_ids),
};
-
-static int imx_spi_init(void)
-{
- platform_driver_register(&imx_spi_driver);
- return 0;
-}
-
-device_initcall(imx_spi_init);
-
+device_platform_driver(imx_spi_driver);
diff --git a/drivers/spi/omap3_spi.c b/drivers/spi/omap3_spi.c
index f81b4aa9d1..e6581dfd32 100644
--- a/drivers/spi/omap3_spi.c
+++ b/drivers/spi/omap3_spi.c
@@ -390,10 +390,4 @@ static struct driver_d omap3_spi_driver = {
.name = "omap3_spi",
.probe = omap3_spi_probe,
};
-
-static int omap3_spi_init(void)
-{
- return platform_driver_register(&omap3_spi_driver);
-}
-
-device_initcall(omap3_spi_init);
+device_platform_driver(omap3_spi_driver);
diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index 3899db29f2..917ec4d006 100644
--- a/drivers/usb/gadget/at91_udc.c
+++ b/drivers/usb/gadget/at91_udc.c
@@ -1537,10 +1537,4 @@ static struct driver_d at91_udc_driver = {
.name = driver_name,
.probe = at91udc_probe,
};
-
-static int at91_udc_init(void)
-{
- platform_driver_register(&at91_udc_driver);
- return 0;
-}
-device_initcall(at91_udc_init);
+device_platform_driver(at91_udc_driver);
diff --git a/drivers/usb/gadget/fsl_udc.c b/drivers/usb/gadget/fsl_udc.c
index 0a7c3ae269..855dd931c2 100644
--- a/drivers/usb/gadget/fsl_udc.c
+++ b/drivers/usb/gadget/fsl_udc.c
@@ -2330,11 +2330,4 @@ static struct driver_d fsl_udc_driver = {
.name = "fsl-udc",
.probe = fsl_udc_probe,
};
-
-static int fsl_udc_init(void)
-{
- platform_driver_register(&fsl_udc_driver);
- return 0;
-}
-
-device_initcall(fsl_udc_init);
+device_platform_driver(fsl_udc_driver);
diff --git a/drivers/usb/gadget/pxa27x_udc.c b/drivers/usb/gadget/pxa27x_udc.c
index 1ccc232484..b18d7c5dbd 100644
--- a/drivers/usb/gadget/pxa27x_udc.c
+++ b/drivers/usb/gadget/pxa27x_udc.c
@@ -1512,11 +1512,4 @@ static struct driver_d udc_driver = {
.name = "pxa27x-udc",
.probe = pxa_udc_probe,
};
-
-static int __init pxa27x_udc_init(void)
-{
- platform_driver_register(&udc_driver);
- return 0;
-}
-
-device_initcall(pxa27x_udc_init);
+device_platform_driver(udc_driver);
diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
index 5957b8e1d0..11b1a894e1 100644
--- a/drivers/usb/host/ehci-atmel.c
+++ b/drivers/usb/host/ehci-atmel.c
@@ -87,10 +87,4 @@ static struct driver_d atmel_ehci_driver = {
.probe = atmel_ehci_probe,
.remove = atmel_ehci_remove,
};
-
-static int atmel_ehci_init(void)
-{
- platform_driver_register(&atmel_ehci_driver);
- return 0;
-}
-device_initcall(atmel_ehci_init);
+device_platform_driver(atmel_ehci_driver);
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index d0d6ae4cc3..d83e01cc83 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -909,12 +909,4 @@ static struct driver_d ehci_driver = {
.probe = ehci_probe,
.remove = ehci_remove,
};
-
-static int ehcil_init(void)
-{
- platform_driver_register(&ehci_driver);
- return 0;
-}
-
-device_initcall(ehcil_init);
-
+device_platform_driver(ehci_driver);
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index b2598f2a5d..0f5c8f1307 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -85,10 +85,4 @@ static struct driver_d at91_ohci_driver = {
.probe = at91_ohci_probe,
.remove = at91_ohci_remove,
};
-
-static int at91_ohci_init(void)
-{
- platform_driver_register(&at91_ohci_driver);
- return 0;
-}
-device_initcall(at91_ohci_init);
+device_platform_driver(at91_ohci_driver);
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index d9b5f608a8..ad39bcf6ad 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -1819,12 +1819,4 @@ static struct driver_d ohci_driver = {
.name = "ohci",
.probe = ohci_probe,
};
-
-static int ohcil_init(void)
-{
- platform_driver_register(&ohci_driver);
- return 0;
-}
-
-device_initcall(ohcil_init);
-
+device_platform_driver(ohci_driver);
diff --git a/drivers/usb/imx/chipidea-imx.c b/drivers/usb/imx/chipidea-imx.c
index 5b4c0812cf..495ad6246e 100644
--- a/drivers/usb/imx/chipidea-imx.c
+++ b/drivers/usb/imx/chipidea-imx.c
@@ -83,9 +83,4 @@ static struct driver_d imx_chipidea_driver = {
.name = "imx-usb",
.probe = imx_chipidea_probe,
};
-
-static int imx_chipidea_init(void)
-{
- return platform_driver_register(&imx_chipidea_driver);
-}
-device_initcall(imx_chipidea_init);
+device_platform_driver(imx_chipidea_driver);
diff --git a/drivers/usb/otg/Kconfig b/drivers/usb/otg/Kconfig
index 892c21ebee..2c9fb46e4d 100644
--- a/drivers/usb/otg/Kconfig
+++ b/drivers/usb/otg/Kconfig
@@ -4,5 +4,5 @@ config USB_ULPI
Support for transceivers that conforms ULPI specification.
config USB_TWL4030
- depends on I2C_TWL4030
+ depends on MFD_TWL4030
bool "TWL4030 Transceiver support"
diff --git a/drivers/video/atmel_hlcdfb.c b/drivers/video/atmel_hlcdfb.c
index 78a737d0b9..29565981c9 100644
--- a/drivers/video/atmel_hlcdfb.c
+++ b/drivers/video/atmel_hlcdfb.c
@@ -289,9 +289,4 @@ static struct driver_d atmel_hlcdc_driver = {
.name = "atmel_hlcdfb",
.probe = atmel_hlcdc_probe,
};
-
-static int atmel_hlcdc_init(void)
-{
- return platform_driver_register(&atmel_hlcdc_driver);
-}
-device_initcall(atmel_hlcdc_init);
+device_platform_driver(atmel_hlcdc_driver);
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
index 08888cc9ba..e9164e32db 100644
--- a/drivers/video/atmel_lcdfb.c
+++ b/drivers/video/atmel_lcdfb.c
@@ -255,9 +255,4 @@ static struct driver_d atmel_lcdc_driver = {
.name = "atmel_lcdfb",
.probe = atmel_lcdc_probe,
};
-
-static int atmel_lcdc_init(void)
-{
- return platform_driver_register(&atmel_lcdc_driver);
-}
-device_initcall(atmel_lcdc_init);
+device_platform_driver(atmel_lcdc_driver);
diff --git a/drivers/video/imx-ipu-fb.c b/drivers/video/imx-ipu-fb.c
index a29920d7dd..db8b8323b0 100644
--- a/drivers/video/imx-ipu-fb.c
+++ b/drivers/video/imx-ipu-fb.c
@@ -1039,13 +1039,7 @@ static struct driver_d imx3fb_driver = {
.probe = imxfb_probe,
.remove = imxfb_remove,
};
-
-static int imx3fb_init(void)
-{
- return platform_driver_register(&imx3fb_driver);
-}
-
-device_initcall(imx3fb_init);
+device_platform_driver(imx3fb_driver);
/**
* @file
diff --git a/drivers/video/imx.c b/drivers/video/imx.c
index a1ccf0aec8..736e8d08e2 100644
--- a/drivers/video/imx.c
+++ b/drivers/video/imx.c
@@ -597,11 +597,4 @@ static struct driver_d imxfb_driver = {
.probe = imxfb_probe,
.remove = imxfb_remove,
};
-
-static int imxfb_init(void)
-{
- return platform_driver_register(&imxfb_driver);
-}
-
-device_initcall(imxfb_init);
-
+device_platform_driver(imxfb_driver);
diff --git a/drivers/video/pxa.c b/drivers/video/pxa.c
index cec9d147d2..529190baec 100644
--- a/drivers/video/pxa.c
+++ b/drivers/video/pxa.c
@@ -545,10 +545,4 @@ static struct driver_d pxafb_driver = {
.probe = pxafb_probe,
.remove = pxafb_remove,
};
-
-static int pxafb_init(void)
-{
- return platform_driver_register(&pxafb_driver);
-}
-
-device_initcall(pxafb_init);
+device_platform_driver(pxafb_driver);
diff --git a/drivers/video/s3c24xx.c b/drivers/video/s3c24xx.c
index 6dd49e249b..d641cfaa27 100644
--- a/drivers/video/s3c24xx.c
+++ b/drivers/video/s3c24xx.c
@@ -406,13 +406,7 @@ static struct driver_d s3cfb_driver = {
.info = s3cfb_info,
#endif
};
-
-static int s3cfb_init(void)
-{
- return platform_driver_register(&s3cfb_driver);
-}
-
-device_initcall(s3cfb_init);
+device_platform_driver(s3cfb_driver);
/**
* The S3C244x LCD controller supports passive (CSTN/STN) and active (TFT) LC displays
diff --git a/drivers/video/sdl.c b/drivers/video/sdl.c
index 0021a06866..8dec5e5778 100644
--- a/drivers/video/sdl.c
+++ b/drivers/video/sdl.c
@@ -93,9 +93,4 @@ static struct driver_d sdlfb_driver = {
.probe = sdlfb_probe,
.remove = sdlfb_remove,
};
-
-static int sdlfb_init(void)
-{
- return platform_driver_register(&sdlfb_driver);
-}
-device_initcall(sdlfb_init);
+device_platform_driver(sdlfb_driver);
diff --git a/drivers/video/stm.c b/drivers/video/stm.c
index 28c7b6eb55..cefdef2ab5 100644
--- a/drivers/video/stm.c
+++ b/drivers/video/stm.c
@@ -516,13 +516,7 @@ static struct driver_d stmfb_driver = {
.probe = stmfb_probe,
.info = stmfb_info,
};
-
-static int stmfb_init(void)
-{
- return platform_driver_register(&stmfb_driver);
-}
-
-device_initcall(stmfb_init);
+device_platform_driver(stmfb_driver);
/**
* @file
diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c
index 0a3794d144..946e9d3340 100644
--- a/drivers/w1/masters/w1-gpio.c
+++ b/drivers/w1/masters/w1-gpio.c
@@ -108,9 +108,4 @@ static struct driver_d w1_gpio_driver = {
.name = "w1-gpio",
.probe = w1_gpio_probe,
};
-
-static int __init w1_gpio_init(void)
-{
- return platform_driver_register(&w1_gpio_driver);
-}
-device_initcall(w1_gpio_init);
+device_platform_driver(w1_gpio_driver);
diff --git a/drivers/watchdog/im28wd.c b/drivers/watchdog/im28wd.c
index bc19369782..96cfe9a4f4 100644
--- a/drivers/watchdog/im28wd.c
+++ b/drivers/watchdog/im28wd.c
@@ -150,11 +150,4 @@ static struct driver_d imx28_wd_driver = {
.probe = imx28_wd_probe,
.remove = imx28_wd_remove,
};
-
-static int imx28_wd_init(void)
-{
- platform_driver_register(&imx28_wd_driver);
- return 0;
-}
-
-device_initcall(imx28_wd_init);
+device_platform_driver(imx28_wd_driver);
diff --git a/drivers/watchdog/imxwd.c b/drivers/watchdog/imxwd.c
index c422f9819c..78f0f38290 100644
--- a/drivers/watchdog/imxwd.c
+++ b/drivers/watchdog/imxwd.c
@@ -226,10 +226,4 @@ static struct driver_d imx_wd_driver = {
.of_compatible = DRV_OF_COMPAT(imx_wdt_dt_ids),
.id_table = imx_wdt_ids,
};
-
-static int imx_wd_init(void)
-{
- return platform_driver_register(&imx_wd_driver);
-}
-
-device_initcall(imx_wd_init);
+device_platform_driver(imx_wd_driver);