aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2011-02-17 04:43:24 -0500
committerGrant Likely <grant.likely@secretlab.ca>2011-02-28 15:22:46 -0500
commit1c48a5c93da63132b92c4bbcd18e690c51539df6 (patch)
tree746e990ce0f49e48e2cc9d55766485f468ca35f6
parent793218dfea146946a076f4fe51e574db61034a3e (diff)
dt: Eliminate of_platform_{,un}register_driver
Final step to eliminate of_platform_bus_type. They're all just platform drivers now. v2: fix type in pasemi_nand.c (thanks to Stephen Rothwell) Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
-rw-r--r--drivers/ata/pata_mpc52xx.c8
-rw-r--r--drivers/ata/pata_of_platform.c9
-rw-r--r--drivers/ata/sata_dwc_460ex.c9
-rw-r--r--drivers/ata/sata_fsl.c9
-rw-r--r--drivers/atm/fore200e.c17
-rw-r--r--drivers/block/xsysace.c11
-rw-r--r--drivers/crypto/talitos.c9
-rw-r--r--drivers/i2c/busses/i2c-cpm.c9
-rw-r--r--drivers/i2c/busses/i2c-ibm_iic.c9
-rw-r--r--drivers/i2c/busses/i2c-mpc.c22
-rw-r--r--drivers/input/serio/xilinx_ps2.c9
-rw-r--r--drivers/media/video/fsl-viu.c9
-rw-r--r--drivers/mmc/host/sdhci-of-core.c15
-rw-r--r--drivers/mtd/maps/physmap_of.c15
-rw-r--r--drivers/mtd/maps/sun_uflash.c8
-rw-r--r--drivers/mtd/nand/fsl_upm.c9
-rw-r--r--drivers/mtd/nand/mpc5121_nfc.c9
-rw-r--r--drivers/mtd/nand/ndfc.c9
-rw-r--r--drivers/mtd/nand/pasemi_nand.c9
-rw-r--r--drivers/mtd/nand/socrates_nand.c9
-rw-r--r--drivers/pcmcia/electra_cf.c9
-rw-r--r--drivers/pcmcia/m8xx_pcmcia.c9
-rw-r--r--drivers/rtc/rtc-mpc5121.c9
-rw-r--r--drivers/watchdog/cpwd.c9
-rw-r--r--drivers/watchdog/gef_wdt.c9
-rw-r--r--drivers/watchdog/mpc8xxx_wdt.c15
-rw-r--r--drivers/watchdog/riowd.c9
27 files changed, 134 insertions, 148 deletions
diff --git a/drivers/ata/pata_mpc52xx.c b/drivers/ata/pata_mpc52xx.c
index d7d8026cde99..2fcac511d39c 100644
--- a/drivers/ata/pata_mpc52xx.c
+++ b/drivers/ata/pata_mpc52xx.c
@@ -680,7 +680,7 @@ mpc52xx_ata_remove_one(struct device *dev)
680/* ======================================================================== */ 680/* ======================================================================== */
681 681
682static int __devinit 682static int __devinit
683mpc52xx_ata_probe(struct platform_device *op, const struct of_device_id *match) 683mpc52xx_ata_probe(struct platform_device *op)
684{ 684{
685 unsigned int ipb_freq; 685 unsigned int ipb_freq;
686 struct resource res_mem; 686 struct resource res_mem;
@@ -883,7 +883,7 @@ static struct of_device_id mpc52xx_ata_of_match[] = {
883}; 883};
884 884
885 885
886static struct of_platform_driver mpc52xx_ata_of_platform_driver = { 886static struct platform_driver mpc52xx_ata_of_platform_driver = {
887 .probe = mpc52xx_ata_probe, 887 .probe = mpc52xx_ata_probe,
888 .remove = mpc52xx_ata_remove, 888 .remove = mpc52xx_ata_remove,
889#ifdef CONFIG_PM 889#ifdef CONFIG_PM
@@ -906,13 +906,13 @@ static int __init
906mpc52xx_ata_init(void) 906mpc52xx_ata_init(void)
907{ 907{
908 printk(KERN_INFO "ata: MPC52xx IDE/ATA libata driver\n"); 908 printk(KERN_INFO "ata: MPC52xx IDE/ATA libata driver\n");
909 return of_register_platform_driver(&mpc52xx_ata_of_platform_driver); 909 return platform_driver_register(&mpc52xx_ata_of_platform_driver);
910} 910}
911 911
912static void __exit 912static void __exit
913mpc52xx_ata_exit(void) 913mpc52xx_ata_exit(void)
914{ 914{
915 of_unregister_platform_driver(&mpc52xx_ata_of_platform_driver); 915 platform_driver_unregister(&mpc52xx_ata_of_platform_driver);
916} 916}
917 917
918module_init(mpc52xx_ata_init); 918module_init(mpc52xx_ata_init);
diff --git a/drivers/ata/pata_of_platform.c b/drivers/ata/pata_of_platform.c
index 480e043ce6b8..f3054009bd25 100644
--- a/drivers/ata/pata_of_platform.c
+++ b/drivers/ata/pata_of_platform.c
@@ -14,8 +14,7 @@
14#include <linux/of_platform.h> 14#include <linux/of_platform.h>
15#include <linux/ata_platform.h> 15#include <linux/ata_platform.h>
16 16
17static int __devinit pata_of_platform_probe(struct platform_device *ofdev, 17static int __devinit pata_of_platform_probe(struct platform_device *ofdev)
18 const struct of_device_id *match)
19{ 18{
20 int ret; 19 int ret;
21 struct device_node *dn = ofdev->dev.of_node; 20 struct device_node *dn = ofdev->dev.of_node;
@@ -90,7 +89,7 @@ static struct of_device_id pata_of_platform_match[] = {
90}; 89};
91MODULE_DEVICE_TABLE(of, pata_of_platform_match); 90MODULE_DEVICE_TABLE(of, pata_of_platform_match);
92 91
93static struct of_platform_driver pata_of_platform_driver = { 92static struct platform_driver pata_of_platform_driver = {
94 .driver = { 93 .driver = {
95 .name = "pata_of_platform", 94 .name = "pata_of_platform",
96 .owner = THIS_MODULE, 95 .owner = THIS_MODULE,
@@ -102,13 +101,13 @@ static struct of_platform_driver pata_of_platform_driver = {
102 101
103static int __init pata_of_platform_init(void) 102static int __init pata_of_platform_init(void)
104{ 103{
105 return of_register_platform_driver(&pata_of_platform_driver); 104 return platform_driver_register(&pata_of_platform_driver);
106} 105}
107module_init(pata_of_platform_init); 106module_init(pata_of_platform_init);
108 107
109static void __exit pata_of_platform_exit(void) 108static void __exit pata_of_platform_exit(void)
110{ 109{
111 of_unregister_platform_driver(&pata_of_platform_driver); 110 platform_driver_unregister(&pata_of_platform_driver);
112} 111}
113module_exit(pata_of_platform_exit); 112module_exit(pata_of_platform_exit);
114 113
diff --git a/drivers/ata/sata_dwc_460ex.c b/drivers/ata/sata_dwc_460ex.c
index 6cf57c5c2b5f..685a3a4b4d82 100644
--- a/drivers/ata/sata_dwc_460ex.c
+++ b/drivers/ata/sata_dwc_460ex.c
@@ -1588,8 +1588,7 @@ static const struct ata_port_info sata_dwc_port_info[] = {
1588 }, 1588 },
1589}; 1589};
1590 1590
1591static int sata_dwc_probe(struct platform_device *ofdev, 1591static int sata_dwc_probe(struct platform_device *ofdev)
1592 const struct of_device_id *match)
1593{ 1592{
1594 struct sata_dwc_device *hsdev; 1593 struct sata_dwc_device *hsdev;
1595 u32 idr, versionr; 1594 u32 idr, versionr;
@@ -1727,7 +1726,7 @@ static const struct of_device_id sata_dwc_match[] = {
1727}; 1726};
1728MODULE_DEVICE_TABLE(of, sata_dwc_match); 1727MODULE_DEVICE_TABLE(of, sata_dwc_match);
1729 1728
1730static struct of_platform_driver sata_dwc_driver = { 1729static struct platform_driver sata_dwc_driver = {
1731 .driver = { 1730 .driver = {
1732 .name = DRV_NAME, 1731 .name = DRV_NAME,
1733 .owner = THIS_MODULE, 1732 .owner = THIS_MODULE,
@@ -1739,12 +1738,12 @@ static struct of_platform_driver sata_dwc_driver = {
1739 1738
1740static int __init sata_dwc_init(void) 1739static int __init sata_dwc_init(void)
1741{ 1740{
1742 return of_register_platform_driver(&sata_dwc_driver); 1741 return platform_driver_register(&sata_dwc_driver);
1743} 1742}
1744 1743
1745static void __exit sata_dwc_exit(void) 1744static void __exit sata_dwc_exit(void)
1746{ 1745{
1747 of_unregister_platform_driver(&sata_dwc_driver); 1746 platform_driver_unregister(&sata_dwc_driver);
1748} 1747}
1749 1748
1750module_init(sata_dwc_init); 1749module_init(sata_dwc_init);
diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
index b0214d00d50b..b843e8e9605e 100644
--- a/drivers/ata/sata_fsl.c
+++ b/drivers/ata/sata_fsl.c
@@ -1293,8 +1293,7 @@ static const struct ata_port_info sata_fsl_port_info[] = {
1293 }, 1293 },
1294}; 1294};
1295 1295
1296static int sata_fsl_probe(struct platform_device *ofdev, 1296static int sata_fsl_probe(struct platform_device *ofdev)
1297 const struct of_device_id *match)
1298{ 1297{
1299 int retval = -ENXIO; 1298 int retval = -ENXIO;
1300 void __iomem *hcr_base = NULL; 1299 void __iomem *hcr_base = NULL;
@@ -1423,7 +1422,7 @@ static struct of_device_id fsl_sata_match[] = {
1423 1422
1424MODULE_DEVICE_TABLE(of, fsl_sata_match); 1423MODULE_DEVICE_TABLE(of, fsl_sata_match);
1425 1424
1426static struct of_platform_driver fsl_sata_driver = { 1425static struct platform_driver fsl_sata_driver = {
1427 .driver = { 1426 .driver = {
1428 .name = "fsl-sata", 1427 .name = "fsl-sata",
1429 .owner = THIS_MODULE, 1428 .owner = THIS_MODULE,
@@ -1439,13 +1438,13 @@ static struct of_platform_driver fsl_sata_driver = {
1439 1438
1440static int __init sata_fsl_init(void) 1439static int __init sata_fsl_init(void)
1441{ 1440{
1442 of_register_platform_driver(&fsl_sata_driver); 1441 platform_driver_register(&fsl_sata_driver);
1443 return 0; 1442 return 0;
1444} 1443}
1445 1444
1446static void __exit sata_fsl_exit(void) 1445static void __exit sata_fsl_exit(void)
1447{ 1446{
1448 of_unregister_platform_driver(&fsl_sata_driver); 1447 platform_driver_unregister(&fsl_sata_driver);
1449} 1448}
1450 1449
1451MODULE_LICENSE("GPL"); 1450MODULE_LICENSE("GPL");
diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c
index 44f778507770..bdd2719f3f68 100644
--- a/drivers/atm/fore200e.c
+++ b/drivers/atm/fore200e.c
@@ -2643,14 +2643,17 @@ fore200e_init(struct fore200e* fore200e, struct device *parent)
2643} 2643}
2644 2644
2645#ifdef CONFIG_SBUS 2645#ifdef CONFIG_SBUS
2646static int __devinit fore200e_sba_probe(struct platform_device *op, 2646static int __devinit fore200e_sba_probe(struct platform_device *op)
2647 const struct of_device_id *match)
2648{ 2647{
2649 const struct fore200e_bus *bus = match->data; 2648 const struct fore200e_bus *bus;
2650 struct fore200e *fore200e; 2649 struct fore200e *fore200e;
2651 static int index = 0; 2650 static int index = 0;
2652 int err; 2651 int err;
2653 2652
2653 if (!op->dev.of_match)
2654 return -EINVAL;
2655 bus = op->dev.of_match->data;
2656
2654 fore200e = kzalloc(sizeof(struct fore200e), GFP_KERNEL); 2657 fore200e = kzalloc(sizeof(struct fore200e), GFP_KERNEL);
2655 if (!fore200e) 2658 if (!fore200e)
2656 return -ENOMEM; 2659 return -ENOMEM;
@@ -2694,7 +2697,7 @@ static const struct of_device_id fore200e_sba_match[] = {
2694}; 2697};
2695MODULE_DEVICE_TABLE(of, fore200e_sba_match); 2698MODULE_DEVICE_TABLE(of, fore200e_sba_match);
2696 2699
2697static struct of_platform_driver fore200e_sba_driver = { 2700static struct platform_driver fore200e_sba_driver = {
2698 .driver = { 2701 .driver = {
2699 .name = "fore_200e", 2702 .name = "fore_200e",
2700 .owner = THIS_MODULE, 2703 .owner = THIS_MODULE,
@@ -2795,7 +2798,7 @@ static int __init fore200e_module_init(void)
2795 printk(FORE200E "FORE Systems 200E-series ATM driver - version " FORE200E_VERSION "\n"); 2798 printk(FORE200E "FORE Systems 200E-series ATM driver - version " FORE200E_VERSION "\n");
2796 2799
2797#ifdef CONFIG_SBUS 2800#ifdef CONFIG_SBUS
2798 err = of_register_platform_driver(&fore200e_sba_driver); 2801 err = platform_driver_register(&fore200e_sba_driver);
2799 if (err) 2802 if (err)
2800 return err; 2803 return err;
2801#endif 2804#endif
@@ -2806,7 +2809,7 @@ static int __init fore200e_module_init(void)
2806 2809
2807#ifdef CONFIG_SBUS 2810#ifdef CONFIG_SBUS
2808 if (err) 2811 if (err)
2809 of_unregister_platform_driver(&fore200e_sba_driver); 2812 platform_driver_unregister(&fore200e_sba_driver);
2810#endif 2813#endif
2811 2814
2812 return err; 2815 return err;
@@ -2818,7 +2821,7 @@ static void __exit fore200e_module_cleanup(void)
2818 pci_unregister_driver(&fore200e_pca_driver); 2821 pci_unregister_driver(&fore200e_pca_driver);
2819#endif 2822#endif
2820#ifdef CONFIG_SBUS 2823#ifdef CONFIG_SBUS
2821 of_unregister_platform_driver(&fore200e_sba_driver); 2824 platform_driver_unregister(&fore200e_sba_driver);
2822#endif 2825#endif
2823} 2826}
2824 2827
diff --git a/drivers/block/xsysace.c b/drivers/block/xsysace.c
index 829161edae53..2c590a796aa1 100644
--- a/drivers/block/xsysace.c
+++ b/drivers/block/xsysace.c
@@ -1195,16 +1195,13 @@ static struct platform_driver ace_platform_driver = {
1195 */ 1195 */
1196 1196
1197#if defined(CONFIG_OF) 1197#if defined(CONFIG_OF)
1198static int __devinit 1198static int __devinit ace_of_probe(struct platform_device *op)
1199ace_of_probe(struct platform_device *op, const struct of_device_id *match)
1200{ 1199{
1201 struct resource res; 1200 struct resource res;
1202 resource_size_t physaddr; 1201 resource_size_t physaddr;
1203 const u32 *id; 1202 const u32 *id;
1204 int irq, bus_width, rc; 1203 int irq, bus_width, rc;
1205 1204
1206 dev_dbg(&op->dev, "ace_of_probe(%p, %p)\n", op, match);
1207
1208 /* device id */ 1205 /* device id */
1209 id = of_get_property(op->dev.of_node, "port-number", NULL); 1206 id = of_get_property(op->dev.of_node, "port-number", NULL);
1210 1207
@@ -1245,7 +1242,7 @@ static const struct of_device_id ace_of_match[] __devinitconst = {
1245}; 1242};
1246MODULE_DEVICE_TABLE(of, ace_of_match); 1243MODULE_DEVICE_TABLE(of, ace_of_match);
1247 1244
1248static struct of_platform_driver ace_of_driver = { 1245static struct platform_driver ace_of_driver = {
1249 .probe = ace_of_probe, 1246 .probe = ace_of_probe,
1250 .remove = __devexit_p(ace_of_remove), 1247 .remove = __devexit_p(ace_of_remove),
1251 .driver = { 1248 .driver = {
@@ -1259,12 +1256,12 @@ static struct of_platform_driver ace_of_driver = {
1259static inline int __init ace_of_register(void) 1256static inline int __init ace_of_register(void)
1260{ 1257{
1261 pr_debug("xsysace: registering OF binding\n"); 1258 pr_debug("xsysace: registering OF binding\n");
1262 return of_register_platform_driver(&ace_of_driver); 1259 return platform_driver_register(&ace_of_driver);
1263} 1260}
1264 1261
1265static inline void __exit ace_of_unregister(void) 1262static inline void __exit ace_of_unregister(void)
1266{ 1263{
1267 of_unregister_platform_driver(&ace_of_driver); 1264 platform_driver_unregister(&ace_of_driver);
1268} 1265}
1269#else /* CONFIG_OF */ 1266#else /* CONFIG_OF */
1270/* CONFIG_OF not enabled; do nothing helpers */ 1267/* CONFIG_OF not enabled; do nothing helpers */
diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c
index b879c3f5d7c0..854e2632f9a6 100644
--- a/drivers/crypto/talitos.c
+++ b/drivers/crypto/talitos.c
@@ -2402,8 +2402,7 @@ static struct talitos_crypto_alg *talitos_alg_alloc(struct device *dev,
2402 return t_alg; 2402 return t_alg;
2403} 2403}
2404 2404
2405static int talitos_probe(struct platform_device *ofdev, 2405static int talitos_probe(struct platform_device *ofdev)
2406 const struct of_device_id *match)
2407{ 2406{
2408 struct device *dev = &ofdev->dev; 2407 struct device *dev = &ofdev->dev;
2409 struct device_node *np = ofdev->dev.of_node; 2408 struct device_node *np = ofdev->dev.of_node;
@@ -2580,7 +2579,7 @@ static const struct of_device_id talitos_match[] = {
2580}; 2579};
2581MODULE_DEVICE_TABLE(of, talitos_match); 2580MODULE_DEVICE_TABLE(of, talitos_match);
2582 2581
2583static struct of_platform_driver talitos_driver = { 2582static struct platform_driver talitos_driver = {
2584 .driver = { 2583 .driver = {
2585 .name = "talitos", 2584 .name = "talitos",
2586 .owner = THIS_MODULE, 2585 .owner = THIS_MODULE,
@@ -2592,13 +2591,13 @@ static struct of_platform_driver talitos_driver = {
2592 2591
2593static int __init talitos_init(void) 2592static int __init talitos_init(void)
2594{ 2593{
2595 return of_register_platform_driver(&talitos_driver); 2594 return platform_driver_register(&talitos_driver);
2596} 2595}
2597module_init(talitos_init); 2596module_init(talitos_init);
2598 2597
2599static void __exit talitos_exit(void) 2598static void __exit talitos_exit(void)
2600{ 2599{
2601 of_unregister_platform_driver(&talitos_driver); 2600 platform_driver_unregister(&talitos_driver);
2602} 2601}
2603module_exit(talitos_exit); 2602module_exit(talitos_exit);
2604 2603
diff --git a/drivers/i2c/busses/i2c-cpm.c b/drivers/i2c/busses/i2c-cpm.c
index f2de3be35df3..3a20961bef1e 100644
--- a/drivers/i2c/busses/i2c-cpm.c
+++ b/drivers/i2c/busses/i2c-cpm.c
@@ -634,8 +634,7 @@ static void cpm_i2c_shutdown(struct cpm_i2c *cpm)
634 cpm_muram_free(cpm->i2c_addr); 634 cpm_muram_free(cpm->i2c_addr);
635} 635}
636 636
637static int __devinit cpm_i2c_probe(struct platform_device *ofdev, 637static int __devinit cpm_i2c_probe(struct platform_device *ofdev)
638 const struct of_device_id *match)
639{ 638{
640 int result, len; 639 int result, len;
641 struct cpm_i2c *cpm; 640 struct cpm_i2c *cpm;
@@ -718,7 +717,7 @@ static const struct of_device_id cpm_i2c_match[] = {
718 717
719MODULE_DEVICE_TABLE(of, cpm_i2c_match); 718MODULE_DEVICE_TABLE(of, cpm_i2c_match);
720 719
721static struct of_platform_driver cpm_i2c_driver = { 720static struct platform_driver cpm_i2c_driver = {
722 .probe = cpm_i2c_probe, 721 .probe = cpm_i2c_probe,
723 .remove = __devexit_p(cpm_i2c_remove), 722 .remove = __devexit_p(cpm_i2c_remove),
724 .driver = { 723 .driver = {
@@ -730,12 +729,12 @@ static struct of_platform_driver cpm_i2c_driver = {
730 729
731static int __init cpm_i2c_init(void) 730static int __init cpm_i2c_init(void)
732{ 731{
733 return of_register_platform_driver(&cpm_i2c_driver); 732 return platform_driver_register(&cpm_i2c_driver);
734} 733}
735 734
736static void __exit cpm_i2c_exit(void) 735static void __exit cpm_i2c_exit(void)
737{ 736{
738 of_unregister_platform_driver(&cpm_i2c_driver); 737 platform_driver_unregister(&cpm_i2c_driver);
739} 738}
740 739
741module_init(cpm_i2c_init); 740module_init(cpm_i2c_init);
diff --git a/drivers/i2c/busses/i2c-ibm_iic.c b/drivers/i2c/busses/i2c-ibm_iic.c
index 6e3c38240336..e4f88dca99b5 100644
--- a/drivers/i2c/busses/i2c-ibm_iic.c
+++ b/drivers/i2c/busses/i2c-ibm_iic.c
@@ -691,8 +691,7 @@ static int __devinit iic_request_irq(struct platform_device *ofdev,
691/* 691/*
692 * Register single IIC interface 692 * Register single IIC interface
693 */ 693 */
694static int __devinit iic_probe(struct platform_device *ofdev, 694static int __devinit iic_probe(struct platform_device *ofdev)
695 const struct of_device_id *match)
696{ 695{
697 struct device_node *np = ofdev->dev.of_node; 696 struct device_node *np = ofdev->dev.of_node;
698 struct ibm_iic_private *dev; 697 struct ibm_iic_private *dev;
@@ -806,7 +805,7 @@ static const struct of_device_id ibm_iic_match[] = {
806 {} 805 {}
807}; 806};
808 807
809static struct of_platform_driver ibm_iic_driver = { 808static struct platform_driver ibm_iic_driver = {
810 .driver = { 809 .driver = {
811 .name = "ibm-iic", 810 .name = "ibm-iic",
812 .owner = THIS_MODULE, 811 .owner = THIS_MODULE,
@@ -818,12 +817,12 @@ static struct of_platform_driver ibm_iic_driver = {
818 817
819static int __init iic_init(void) 818static int __init iic_init(void)
820{ 819{
821 return of_register_platform_driver(&ibm_iic_driver); 820 return platform_driver_register(&ibm_iic_driver);
822} 821}
823 822
824static void __exit iic_exit(void) 823static void __exit iic_exit(void)
825{ 824{
826 of_unregister_platform_driver(&ibm_iic_driver); 825 platform_driver_unregister(&ibm_iic_driver);
827} 826}
828 827
829module_init(iic_init); 828module_init(iic_init);
diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
index b74e6dc6886c..75b984c519ac 100644
--- a/drivers/i2c/busses/i2c-mpc.c
+++ b/drivers/i2c/busses/i2c-mpc.c
@@ -560,8 +560,7 @@ static struct i2c_adapter mpc_ops = {
560 .timeout = HZ, 560 .timeout = HZ,
561}; 561};
562 562
563static int __devinit fsl_i2c_probe(struct platform_device *op, 563static int __devinit fsl_i2c_probe(struct platform_device *op)
564 const struct of_device_id *match)
565{ 564{
566 struct mpc_i2c *i2c; 565 struct mpc_i2c *i2c;
567 const u32 *prop; 566 const u32 *prop;
@@ -569,6 +568,9 @@ static int __devinit fsl_i2c_probe(struct platform_device *op,
569 int result = 0; 568 int result = 0;
570 int plen; 569 int plen;
571 570
571 if (!op->dev.of_match)
572 return -EINVAL;
573
572 i2c = kzalloc(sizeof(*i2c), GFP_KERNEL); 574 i2c = kzalloc(sizeof(*i2c), GFP_KERNEL);
573 if (!i2c) 575 if (!i2c)
574 return -ENOMEM; 576 return -ENOMEM;
@@ -603,8 +605,8 @@ static int __devinit fsl_i2c_probe(struct platform_device *op,
603 clock = *prop; 605 clock = *prop;
604 } 606 }
605 607
606 if (match->data) { 608 if (op->dev.of_match->data) {
607 struct mpc_i2c_data *data = match->data; 609 struct mpc_i2c_data *data = op->dev.of_match->data;
608 data->setup(op->dev.of_node, i2c, clock, data->prescaler); 610 data->setup(op->dev.of_node, i2c, clock, data->prescaler);
609 } else { 611 } else {
610 /* Backwards compatibility */ 612 /* Backwards compatibility */
@@ -700,7 +702,7 @@ static const struct of_device_id mpc_i2c_of_match[] = {
700MODULE_DEVICE_TABLE(of, mpc_i2c_of_match); 702MODULE_DEVICE_TABLE(of, mpc_i2c_of_match);
701 703
702/* Structure for a device driver */ 704/* Structure for a device driver */
703static struct of_platform_driver mpc_i2c_driver = { 705static struct platform_driver mpc_i2c_driver = {
704 .probe = fsl_i2c_probe, 706 .probe = fsl_i2c_probe,
705 .remove = __devexit_p(fsl_i2c_remove), 707 .remove = __devexit_p(fsl_i2c_remove),
706 .driver = { 708 .driver = {
@@ -712,18 +714,12 @@ static struct of_platform_driver mpc_i2c_driver = {
712 714
713static int __init fsl_i2c_init(void) 715static int __init fsl_i2c_init(void)
714{ 716{
715 int rv; 717 return platform_driver_register(&mpc_i2c_driver);
716
717 rv = of_register_platform_driver(&mpc_i2c_driver);
718 if (rv)
719 printk(KERN_ERR DRV_NAME
720 " of_register_platform_driver failed (%i)\n", rv);
721 return rv;
722} 718}
723 719
724static void __exit fsl_i2c_exit(void) 720static void __exit fsl_i2c_exit(void)
725{ 721{
726 of_unregister_platform_driver(&mpc_i2c_driver); 722 platform_driver_unregister(&mpc_i2c_driver);
727} 723}
728 724
729module_init(fsl_i2c_init); 725module_init(fsl_i2c_init);
diff --git a/drivers/input/serio/xilinx_ps2.c b/drivers/input/serio/xilinx_ps2.c
index bb14449fb022..7540bafc95cf 100644
--- a/drivers/input/serio/xilinx_ps2.c
+++ b/drivers/input/serio/xilinx_ps2.c
@@ -232,8 +232,7 @@ static void sxps2_close(struct serio *pserio)
232 * It returns 0, if the driver is bound to the PS/2 device, or a negative 232 * It returns 0, if the driver is bound to the PS/2 device, or a negative
233 * value if there is an error. 233 * value if there is an error.
234 */ 234 */
235static int __devinit xps2_of_probe(struct platform_device *ofdev, 235static int __devinit xps2_of_probe(struct platform_device *ofdev)
236 const struct of_device_id *match)
237{ 236{
238 struct resource r_irq; /* Interrupt resources */ 237 struct resource r_irq; /* Interrupt resources */
239 struct resource r_mem; /* IO mem resources */ 238 struct resource r_mem; /* IO mem resources */
@@ -361,7 +360,7 @@ static const struct of_device_id xps2_of_match[] __devinitconst = {
361}; 360};
362MODULE_DEVICE_TABLE(of, xps2_of_match); 361MODULE_DEVICE_TABLE(of, xps2_of_match);
363 362
364static struct of_platform_driver xps2_of_driver = { 363static struct platform_driver xps2_of_driver = {
365 .driver = { 364 .driver = {
366 .name = DRIVER_NAME, 365 .name = DRIVER_NAME,
367 .owner = THIS_MODULE, 366 .owner = THIS_MODULE,
@@ -373,12 +372,12 @@ static struct of_platform_driver xps2_of_driver = {
373 372
374static int __init xps2_init(void) 373static int __init xps2_init(void)
375{ 374{
376 return of_register_platform_driver(&xps2_of_driver); 375 return platform_driver_register(&xps2_of_driver);
377} 376}
378 377
379static void __exit xps2_cleanup(void) 378static void __exit xps2_cleanup(void)
380{ 379{
381 of_unregister_platform_driver(&xps2_of_driver); 380 platform_driver_unregister(&xps2_of_driver);
382} 381}
383 382
384module_init(xps2_init); 383module_init(xps2_init);
diff --git a/drivers/media/video/fsl-viu.c b/drivers/media/video/fsl-viu.c
index e4bba88254c7..031af1610154 100644
--- a/drivers/media/video/fsl-viu.c
+++ b/drivers/media/video/fsl-viu.c
@@ -1445,8 +1445,7 @@ static struct video_device viu_template = {
1445 .current_norm = V4L2_STD_NTSC_M, 1445 .current_norm = V4L2_STD_NTSC_M,
1446}; 1446};
1447 1447
1448static int __devinit viu_of_probe(struct platform_device *op, 1448static int __devinit viu_of_probe(struct platform_device *op)
1449 const struct of_device_id *match)
1450{ 1449{
1451 struct viu_dev *viu_dev; 1450 struct viu_dev *viu_dev;
1452 struct video_device *vdev; 1451 struct video_device *vdev;
@@ -1627,7 +1626,7 @@ static struct of_device_id mpc512x_viu_of_match[] = {
1627}; 1626};
1628MODULE_DEVICE_TABLE(of, mpc512x_viu_of_match); 1627MODULE_DEVICE_TABLE(of, mpc512x_viu_of_match);
1629 1628
1630static struct of_platform_driver viu_of_platform_driver = { 1629static struct platform_driver viu_of_platform_driver = {
1631 .probe = viu_of_probe, 1630 .probe = viu_of_probe,
1632 .remove = __devexit_p(viu_of_remove), 1631 .remove = __devexit_p(viu_of_remove),
1633#ifdef CONFIG_PM 1632#ifdef CONFIG_PM
@@ -1643,12 +1642,12 @@ static struct of_platform_driver viu_of_platform_driver = {
1643 1642
1644static int __init viu_init(void) 1643static int __init viu_init(void)
1645{ 1644{
1646 return of_register_platform_driver(&viu_of_platform_driver); 1645 return platform_driver_register(&viu_of_platform_driver);
1647} 1646}
1648 1647
1649static void __exit viu_exit(void) 1648static void __exit viu_exit(void)
1650{ 1649{
1651 of_unregister_platform_driver(&viu_of_platform_driver); 1650 platform_driver_unregister(&viu_of_platform_driver);
1652} 1651}
1653 1652
1654module_init(viu_init); 1653module_init(viu_init);
diff --git a/drivers/mmc/host/sdhci-of-core.c b/drivers/mmc/host/sdhci-of-core.c
index dd84124f4209..f9b611fc773e 100644
--- a/drivers/mmc/host/sdhci-of-core.c
+++ b/drivers/mmc/host/sdhci-of-core.c
@@ -124,17 +124,20 @@ static bool __devinit sdhci_of_wp_inverted(struct device_node *np)
124#endif 124#endif
125} 125}
126 126
127static int __devinit sdhci_of_probe(struct platform_device *ofdev, 127static int __devinit sdhci_of_probe(struct platform_device *ofdev)
128 const struct of_device_id *match)
129{ 128{
130 struct device_node *np = ofdev->dev.of_node; 129 struct device_node *np = ofdev->dev.of_node;
131 struct sdhci_of_data *sdhci_of_data = match->data; 130 struct sdhci_of_data *sdhci_of_data;
132 struct sdhci_host *host; 131 struct sdhci_host *host;
133 struct sdhci_of_host *of_host; 132 struct sdhci_of_host *of_host;
134 const __be32 *clk; 133 const __be32 *clk;
135 int size; 134 int size;
136 int ret; 135 int ret;
137 136
137 if (!ofdev->dev.of_match)
138 return -EINVAL;
139 sdhci_of_data = ofdev->dev.of_match->data;
140
138 if (!of_device_is_available(np)) 141 if (!of_device_is_available(np))
139 return -ENODEV; 142 return -ENODEV;
140 143
@@ -217,7 +220,7 @@ static const struct of_device_id sdhci_of_match[] = {
217}; 220};
218MODULE_DEVICE_TABLE(of, sdhci_of_match); 221MODULE_DEVICE_TABLE(of, sdhci_of_match);
219 222
220static struct of_platform_driver sdhci_of_driver = { 223static struct platform_driver sdhci_of_driver = {
221 .driver = { 224 .driver = {
222 .name = "sdhci-of", 225 .name = "sdhci-of",
223 .owner = THIS_MODULE, 226 .owner = THIS_MODULE,
@@ -231,13 +234,13 @@ static struct of_platform_driver sdhci_of_driver = {
231 234
232static int __init sdhci_of_init(void) 235static int __init sdhci_of_init(void)
233{ 236{
234 return of_register_platform_driver(&sdhci_of_driver); 237 return platform_driver_register(&sdhci_of_driver);
235} 238}
236module_init(sdhci_of_init); 239module_init(sdhci_of_init);
237 240
238static void __exit sdhci_of_exit(void) 241static void __exit sdhci_of_exit(void)
239{ 242{
240 of_unregister_platform_driver(&sdhci_of_driver); 243 platform_driver_unregister(&sdhci_of_driver);
241} 244}
242module_exit(sdhci_of_exit); 245module_exit(sdhci_of_exit);
243 246
diff --git a/drivers/mtd/maps/physmap_of.c b/drivers/mtd/maps/physmap_of.c
index 8506578e6a35..3db0cb083d31 100644
--- a/drivers/mtd/maps/physmap_of.c
+++ b/drivers/mtd/maps/physmap_of.c
@@ -216,8 +216,7 @@ static void __devinit of_free_probes(const char **probes)
216} 216}
217#endif 217#endif
218 218
219static int __devinit of_flash_probe(struct platform_device *dev, 219static int __devinit of_flash_probe(struct platform_device *dev)
220 const struct of_device_id *match)
221{ 220{
222#ifdef CONFIG_MTD_PARTITIONS 221#ifdef CONFIG_MTD_PARTITIONS
223 const char **part_probe_types; 222 const char **part_probe_types;
@@ -225,7 +224,7 @@ static int __devinit of_flash_probe(struct platform_device *dev,
225 struct device_node *dp = dev->dev.of_node; 224 struct device_node *dp = dev->dev.of_node;
226 struct resource res; 225 struct resource res;
227 struct of_flash *info; 226 struct of_flash *info;
228 const char *probe_type = match->data; 227 const char *probe_type;
229 const __be32 *width; 228 const __be32 *width;
230 int err; 229 int err;
231 int i; 230 int i;
@@ -235,6 +234,10 @@ static int __devinit of_flash_probe(struct platform_device *dev,
235 struct mtd_info **mtd_list = NULL; 234 struct mtd_info **mtd_list = NULL;
236 resource_size_t res_size; 235 resource_size_t res_size;
237 236
237 if (!dev->dev.of_match)
238 return -EINVAL;
239 probe_type = dev->dev.of_match->data;
240
238 reg_tuple_size = (of_n_addr_cells(dp) + of_n_size_cells(dp)) * sizeof(u32); 241 reg_tuple_size = (of_n_addr_cells(dp) + of_n_size_cells(dp)) * sizeof(u32);
239 242
240 /* 243 /*
@@ -418,7 +421,7 @@ static struct of_device_id of_flash_match[] = {
418}; 421};
419MODULE_DEVICE_TABLE(of, of_flash_match); 422MODULE_DEVICE_TABLE(of, of_flash_match);
420 423
421static struct of_platform_driver of_flash_driver = { 424static struct platform_driver of_flash_driver = {
422 .driver = { 425 .driver = {
423 .name = "of-flash", 426 .name = "of-flash",
424 .owner = THIS_MODULE, 427 .owner = THIS_MODULE,
@@ -430,12 +433,12 @@ static struct of_platform_driver of_flash_driver = {
430 433
431static int __init of_flash_init(void) 434static int __init of_flash_init(void)
432{ 435{
433 return of_register_platform_driver(&of_flash_driver); 436 return platform_driver_register(&of_flash_driver);
434} 437}
435 438
436static void __exit of_flash_exit(void) 439static void __exit of_flash_exit(void)
437{ 440{
438 of_unregister_platform_driver(&of_flash_driver); 441 platform_driver_unregister(&of_flash_driver);
439} 442}
440 443
441module_init(of_flash_init); 444module_init(of_flash_init);
diff --git a/drivers/mtd/maps/sun_uflash.c b/drivers/mtd/maps/sun_uflash.c
index 3582ba1f9b09..3f1cb328a574 100644
--- a/drivers/mtd/maps/sun_uflash.c
+++ b/drivers/mtd/maps/sun_uflash.c
@@ -108,7 +108,7 @@ int uflash_devinit(struct platform_device *op, struct device_node *dp)
108 return 0; 108 return 0;
109} 109}
110 110
111static int __devinit uflash_probe(struct platform_device *op, const struct of_device_id *match) 111static int __devinit uflash_probe(struct platform_device *op)
112{ 112{
113 struct device_node *dp = op->dev.of_node; 113 struct device_node *dp = op->dev.of_node;
114 114
@@ -148,7 +148,7 @@ static const struct of_device_id uflash_match[] = {
148 148
149MODULE_DEVICE_TABLE(of, uflash_match); 149MODULE_DEVICE_TABLE(of, uflash_match);
150 150
151static struct of_platform_driver uflash_driver = { 151static struct platform_driver uflash_driver = {
152 .driver = { 152 .driver = {
153 .name = DRIVER_NAME, 153 .name = DRIVER_NAME,
154 .owner = THIS_MODULE, 154 .owner = THIS_MODULE,
@@ -160,12 +160,12 @@ static struct of_platform_driver uflash_driver = {
160 160
161static int __init uflash_init(void) 161static int __init uflash_init(void)
162{ 162{
163 return of_register_platform_driver(&uflash_driver); 163 return platform_driver_register(&uflash_driver);
164} 164}
165 165
166static void __exit uflash_exit(void) 166static void __exit uflash_exit(void)
167{ 167{
168 of_unregister_platform_driver(&uflash_driver); 168 platform_driver_unregister(&uflash_driver);
169} 169}
170 170
171module_init(uflash_init); 171module_init(uflash_init);
diff --git a/drivers/mtd/nand/fsl_upm.c b/drivers/mtd/nand/fsl_upm.c
index efdcca94ce55..073ee026a17c 100644
--- a/drivers/mtd/nand/fsl_upm.c
+++ b/drivers/mtd/nand/fsl_upm.c
@@ -217,8 +217,7 @@ err:
217 return ret; 217 return ret;
218} 218}
219 219
220static int __devinit fun_probe(struct platform_device *ofdev, 220static int __devinit fun_probe(struct platform_device *ofdev)
221 const struct of_device_id *ofid)
222{ 221{
223 struct fsl_upm_nand *fun; 222 struct fsl_upm_nand *fun;
224 struct resource io_res; 223 struct resource io_res;
@@ -360,7 +359,7 @@ static const struct of_device_id of_fun_match[] = {
360}; 359};
361MODULE_DEVICE_TABLE(of, of_fun_match); 360MODULE_DEVICE_TABLE(of, of_fun_match);
362 361
363static struct of_platform_driver of_fun_driver = { 362static struct platform_driver of_fun_driver = {
364 .driver = { 363 .driver = {
365 .name = "fsl,upm-nand", 364 .name = "fsl,upm-nand",
366 .owner = THIS_MODULE, 365 .owner = THIS_MODULE,
@@ -372,13 +371,13 @@ static struct of_platform_driver of_fun_driver = {
372 371
373static int __init fun_module_init(void) 372static int __init fun_module_init(void)
374{ 373{
375 return of_register_platform_driver(&of_fun_driver); 374 return platform_driver_register(&of_fun_driver);
376} 375}
377module_init(fun_module_init); 376module_init(fun_module_init);
378 377
379static void __exit fun_module_exit(void) 378static void __exit fun_module_exit(void)
380{ 379{
381 of_unregister_platform_driver(&of_fun_driver); 380 platform_driver_unregister(&of_fun_driver);
382} 381}
383module_exit(fun_module_exit); 382module_exit(fun_module_exit);
384 383
diff --git a/drivers/mtd/nand/mpc5121_nfc.c b/drivers/mtd/nand/mpc5121_nfc.c
index 469e649c911c..c2f95437e5e9 100644
--- a/drivers/mtd/nand/mpc5121_nfc.c
+++ b/drivers/mtd/nand/mpc5121_nfc.c
@@ -650,8 +650,7 @@ static void mpc5121_nfc_free(struct device *dev, struct mtd_info *mtd)
650 iounmap(prv->csreg); 650 iounmap(prv->csreg);
651} 651}
652 652
653static int __devinit mpc5121_nfc_probe(struct platform_device *op, 653static int __devinit mpc5121_nfc_probe(struct platform_device *op)
654 const struct of_device_id *match)
655{ 654{
656 struct device_node *rootnode, *dn = op->dev.of_node; 655 struct device_node *rootnode, *dn = op->dev.of_node;
657 struct device *dev = &op->dev; 656 struct device *dev = &op->dev;
@@ -891,7 +890,7 @@ static struct of_device_id mpc5121_nfc_match[] __devinitdata = {
891 {}, 890 {},
892}; 891};
893 892
894static struct of_platform_driver mpc5121_nfc_driver = { 893static struct platform_driver mpc5121_nfc_driver = {
895 .probe = mpc5121_nfc_probe, 894 .probe = mpc5121_nfc_probe,
896 .remove = __devexit_p(mpc5121_nfc_remove), 895 .remove = __devexit_p(mpc5121_nfc_remove),
897 .driver = { 896 .driver = {
@@ -903,14 +902,14 @@ static struct of_platform_driver mpc5121_nfc_driver = {
903 902
904static int __init mpc5121_nfc_init(void) 903static int __init mpc5121_nfc_init(void)
905{ 904{
906 return of_register_platform_driver(&mpc5121_nfc_driver); 905 return platform_driver_register(&mpc5121_nfc_driver);
907} 906}
908 907
909module_init(mpc5121_nfc_init); 908module_init(mpc5121_nfc_init);
910 909
911static void __exit mpc5121_nfc_cleanup(void) 910static void __exit mpc5121_nfc_cleanup(void)
912{ 911{
913 of_unregister_platform_driver(&mpc5121_nfc_driver); 912 platform_driver_unregister(&mpc5121_nfc_driver);
914} 913}
915 914
916module_exit(mpc5121_nfc_cleanup); 915module_exit(mpc5121_nfc_cleanup);
diff --git a/drivers/mtd/nand/ndfc.c b/drivers/mtd/nand/ndfc.c
index c9ae0a5023b6..bbe6d451290d 100644
--- a/drivers/mtd/nand/ndfc.c
+++ b/drivers/mtd/nand/ndfc.c
@@ -225,8 +225,7 @@ err:
225 return ret; 225 return ret;
226} 226}
227 227
228static int __devinit ndfc_probe(struct platform_device *ofdev, 228static int __devinit ndfc_probe(struct platform_device *ofdev)
229 const struct of_device_id *match)
230{ 229{
231 struct ndfc_controller *ndfc = &ndfc_ctrl; 230 struct ndfc_controller *ndfc = &ndfc_ctrl;
232 const __be32 *reg; 231 const __be32 *reg;
@@ -292,7 +291,7 @@ static const struct of_device_id ndfc_match[] = {
292}; 291};
293MODULE_DEVICE_TABLE(of, ndfc_match); 292MODULE_DEVICE_TABLE(of, ndfc_match);
294 293
295static struct of_platform_driver ndfc_driver = { 294static struct platform_driver ndfc_driver = {
296 .driver = { 295 .driver = {
297 .name = "ndfc", 296 .name = "ndfc",
298 .owner = THIS_MODULE, 297 .owner = THIS_MODULE,
@@ -304,12 +303,12 @@ static struct of_platform_driver ndfc_driver = {
304 303
305static int __init ndfc_nand_init(void) 304static int __init ndfc_nand_init(void)
306{ 305{
307 return of_register_platform_driver(&ndfc_driver); 306 return platform_driver_register(&ndfc_driver);
308} 307}
309 308
310static void __exit ndfc_nand_exit(void) 309static void __exit ndfc_nand_exit(void)
311{ 310{
312 of_unregister_platform_driver(&ndfc_driver); 311 platform_driver_unregister(&ndfc_driver);
313} 312}
314 313
315module_init(ndfc_nand_init); 314module_init(ndfc_nand_init);
diff --git a/drivers/mtd/nand/pasemi_nand.c b/drivers/mtd/nand/pasemi_nand.c
index bb277a54986f..59efa829ef24 100644
--- a/drivers/mtd/nand/pasemi_nand.c
+++ b/drivers/mtd/nand/pasemi_nand.c
@@ -89,8 +89,7 @@ int pasemi_device_ready(struct mtd_info *mtd)
89 return !!(inl(lpcctl) & LBICTRL_LPCCTL_NR); 89 return !!(inl(lpcctl) & LBICTRL_LPCCTL_NR);
90} 90}
91 91
92static int __devinit pasemi_nand_probe(struct platform_device *ofdev, 92static int __devinit pasemi_nand_probe(struct platform_device *ofdev)
93 const struct of_device_id *match)
94{ 93{
95 struct pci_dev *pdev; 94 struct pci_dev *pdev;
96 struct device_node *np = ofdev->dev.of_node; 95 struct device_node *np = ofdev->dev.of_node;
@@ -219,7 +218,7 @@ static const struct of_device_id pasemi_nand_match[] =
219 218
220MODULE_DEVICE_TABLE(of, pasemi_nand_match); 219MODULE_DEVICE_TABLE(of, pasemi_nand_match);
221 220
222static struct of_platform_driver pasemi_nand_driver = 221static struct platform_driver pasemi_nand_driver =
223{ 222{
224 .driver = { 223 .driver = {
225 .name = (char*)driver_name, 224 .name = (char*)driver_name,
@@ -232,13 +231,13 @@ static struct of_platform_driver pasemi_nand_driver =
232 231
233static int __init pasemi_nand_init(void) 232static int __init pasemi_nand_init(void)
234{ 233{
235 return of_register_platform_driver(&pasemi_nand_driver); 234 return platform_driver_register(&pasemi_nand_driver);
236} 235}
237module_init(pasemi_nand_init); 236module_init(pasemi_nand_init);
238 237
239static void __exit pasemi_nand_exit(void) 238static void __exit pasemi_nand_exit(void)
240{ 239{
241 of_unregister_platform_driver(&pasemi_nand_driver); 240 platform_driver_unregister(&pasemi_nand_driver);
242} 241}
243module_exit(pasemi_nand_exit); 242module_exit(pasemi_nand_exit);
244 243
diff --git a/drivers/mtd/nand/socrates_nand.c b/drivers/mtd/nand/socrates_nand.c
index a8e403eebedb..a853548986f0 100644
--- a/drivers/mtd/nand/socrates_nand.c
+++ b/drivers/mtd/nand/socrates_nand.c
@@ -162,8 +162,7 @@ static const char *part_probes[] = { "cmdlinepart", NULL };
162/* 162/*
163 * Probe for the NAND device. 163 * Probe for the NAND device.
164 */ 164 */
165static int __devinit socrates_nand_probe(struct platform_device *ofdev, 165static int __devinit socrates_nand_probe(struct platform_device *ofdev)
166 const struct of_device_id *ofid)
167{ 166{
168 struct socrates_nand_host *host; 167 struct socrates_nand_host *host;
169 struct mtd_info *mtd; 168 struct mtd_info *mtd;
@@ -300,7 +299,7 @@ static const struct of_device_id socrates_nand_match[] =
300 299
301MODULE_DEVICE_TABLE(of, socrates_nand_match); 300MODULE_DEVICE_TABLE(of, socrates_nand_match);
302 301
303static struct of_platform_driver socrates_nand_driver = { 302static struct platform_driver socrates_nand_driver = {
304 .driver = { 303 .driver = {
305 .name = "socrates_nand", 304 .name = "socrates_nand",
306 .owner = THIS_MODULE, 305 .owner = THIS_MODULE,
@@ -312,12 +311,12 @@ static struct of_platform_driver socrates_nand_driver = {
312 311
313static int __init socrates_nand_init(void) 312static int __init socrates_nand_init(void)
314{ 313{
315 return of_register_platform_driver(&socrates_nand_driver); 314 return platform_driver_register(&socrates_nand_driver);
316} 315}
317 316
318static void __exit socrates_nand_exit(void) 317static void __exit socrates_nand_exit(void)
319{ 318{
320 of_unregister_platform_driver(&socrates_nand_driver); 319 platform_driver_unregister(&socrates_nand_driver);
321} 320}
322 321
323module_init(socrates_nand_init); 322module_init(socrates_nand_init);
diff --git a/drivers/pcmcia/electra_cf.c b/drivers/pcmcia/electra_cf.c
index 546d3024b6f0..6defd4a8168e 100644
--- a/drivers/pcmcia/electra_cf.c
+++ b/drivers/pcmcia/electra_cf.c
@@ -181,8 +181,7 @@ static struct pccard_operations electra_cf_ops = {
181 .set_mem_map = electra_cf_set_mem_map, 181 .set_mem_map = electra_cf_set_mem_map,
182}; 182};
183 183
184static int __devinit electra_cf_probe(struct platform_device *ofdev, 184static int __devinit electra_cf_probe(struct platform_device *ofdev)
185 const struct of_device_id *match)
186{ 185{
187 struct device *device = &ofdev->dev; 186 struct device *device = &ofdev->dev;
188 struct device_node *np = ofdev->dev.of_node; 187 struct device_node *np = ofdev->dev.of_node;
@@ -356,7 +355,7 @@ static const struct of_device_id electra_cf_match[] = {
356}; 355};
357MODULE_DEVICE_TABLE(of, electra_cf_match); 356MODULE_DEVICE_TABLE(of, electra_cf_match);
358 357
359static struct of_platform_driver electra_cf_driver = { 358static struct platform_driver electra_cf_driver = {
360 .driver = { 359 .driver = {
361 .name = (char *)driver_name, 360 .name = (char *)driver_name,
362 .owner = THIS_MODULE, 361 .owner = THIS_MODULE,
@@ -368,13 +367,13 @@ static struct of_platform_driver electra_cf_driver = {
368 367
369static int __init electra_cf_init(void) 368static int __init electra_cf_init(void)
370{ 369{
371 return of_register_platform_driver(&electra_cf_driver); 370 return platform_driver_register(&electra_cf_driver);
372} 371}
373module_init(electra_cf_init); 372module_init(electra_cf_init);
374 373
375static void __exit electra_cf_exit(void) 374static void __exit electra_cf_exit(void)
376{ 375{
377 of_unregister_platform_driver(&electra_cf_driver); 376 platform_driver_unregister(&electra_cf_driver);
378} 377}
379module_exit(electra_cf_exit); 378module_exit(electra_cf_exit);
380 379
diff --git a/drivers/pcmcia/m8xx_pcmcia.c b/drivers/pcmcia/m8xx_pcmcia.c
index 0db482771fb5..271a590a5f3c 100644
--- a/drivers/pcmcia/m8xx_pcmcia.c
+++ b/drivers/pcmcia/m8xx_pcmcia.c
@@ -1148,8 +1148,7 @@ static struct pccard_operations m8xx_services = {
1148 .set_mem_map = m8xx_set_mem_map, 1148 .set_mem_map = m8xx_set_mem_map,
1149}; 1149};
1150 1150
1151static int __init m8xx_probe(struct platform_device *ofdev, 1151static int __init m8xx_probe(struct platform_device *ofdev)
1152 const struct of_device_id *match)
1153{ 1152{
1154 struct pcmcia_win *w; 1153 struct pcmcia_win *w;
1155 unsigned int i, m, hwirq; 1154 unsigned int i, m, hwirq;
@@ -1295,7 +1294,7 @@ static const struct of_device_id m8xx_pcmcia_match[] = {
1295 1294
1296MODULE_DEVICE_TABLE(of, m8xx_pcmcia_match); 1295MODULE_DEVICE_TABLE(of, m8xx_pcmcia_match);
1297 1296
1298static struct of_platform_driver m8xx_pcmcia_driver = { 1297static struct platform_driver m8xx_pcmcia_driver = {
1299 .driver = { 1298 .driver = {
1300 .name = driver_name, 1299 .name = driver_name,
1301 .owner = THIS_MODULE, 1300 .owner = THIS_MODULE,
@@ -1307,12 +1306,12 @@ static struct of_platform_driver m8xx_pcmcia_driver = {
1307 1306
1308static int __init m8xx_init(void) 1307static int __init m8xx_init(void)
1309{ 1308{
1310 return of_register_platform_driver(&m8xx_pcmcia_driver); 1309 return platform_driver_register(&m8xx_pcmcia_driver);
1311} 1310}
1312 1311
1313static void __exit m8xx_exit(void) 1312static void __exit m8xx_exit(void)
1314{ 1313{
1315 of_unregister_platform_driver(&m8xx_pcmcia_driver); 1314 platform_driver_unregister(&m8xx_pcmcia_driver);
1316} 1315}
1317 1316
1318module_init(m8xx_init); 1317module_init(m8xx_init);
diff --git a/drivers/rtc/rtc-mpc5121.c b/drivers/rtc/rtc-mpc5121.c
index dfcdf0901d21..2b952c654b14 100644
--- a/drivers/rtc/rtc-mpc5121.c
+++ b/drivers/rtc/rtc-mpc5121.c
@@ -268,8 +268,7 @@ static const struct rtc_class_ops mpc5121_rtc_ops = {
268 .update_irq_enable = mpc5121_rtc_update_irq_enable, 268 .update_irq_enable = mpc5121_rtc_update_irq_enable,
269}; 269};
270 270
271static int __devinit mpc5121_rtc_probe(struct platform_device *op, 271static int __devinit mpc5121_rtc_probe(struct platform_device *op)
272 const struct of_device_id *match)
273{ 272{
274 struct mpc5121_rtc_data *rtc; 273 struct mpc5121_rtc_data *rtc;
275 int err = 0; 274 int err = 0;
@@ -364,7 +363,7 @@ static struct of_device_id mpc5121_rtc_match[] __devinitdata = {
364 {}, 363 {},
365}; 364};
366 365
367static struct of_platform_driver mpc5121_rtc_driver = { 366static struct platform_driver mpc5121_rtc_driver = {
368 .driver = { 367 .driver = {
369 .name = "mpc5121-rtc", 368 .name = "mpc5121-rtc",
370 .owner = THIS_MODULE, 369 .owner = THIS_MODULE,
@@ -376,13 +375,13 @@ static struct of_platform_driver mpc5121_rtc_driver = {
376 375
377static int __init mpc5121_rtc_init(void) 376static int __init mpc5121_rtc_init(void)
378{ 377{
379 return of_register_platform_driver(&mpc5121_rtc_driver); 378 return platform_driver_register(&mpc5121_rtc_driver);
380} 379}
381module_init(mpc5121_rtc_init); 380module_init(mpc5121_rtc_init);
382 381
383static void __exit mpc5121_rtc_exit(void) 382static void __exit mpc5121_rtc_exit(void)
384{ 383{
385 of_unregister_platform_driver(&mpc5121_rtc_driver); 384 platform_driver_unregister(&mpc5121_rtc_driver);
386} 385}
387module_exit(mpc5121_rtc_exit); 386module_exit(mpc5121_rtc_exit);
388 387
diff --git a/drivers/watchdog/cpwd.c b/drivers/watchdog/cpwd.c
index eca855a55c0d..45db1d570df1 100644
--- a/drivers/watchdog/cpwd.c
+++ b/drivers/watchdog/cpwd.c
@@ -528,8 +528,7 @@ static const struct file_operations cpwd_fops = {
528 .llseek = no_llseek, 528 .llseek = no_llseek,
529}; 529};
530 530
531static int __devinit cpwd_probe(struct platform_device *op, 531static int __devinit cpwd_probe(struct platform_device *op)
532 const struct of_device_id *match)
533{ 532{
534 struct device_node *options; 533 struct device_node *options;
535 const char *str_prop; 534 const char *str_prop;
@@ -678,7 +677,7 @@ static const struct of_device_id cpwd_match[] = {
678}; 677};
679MODULE_DEVICE_TABLE(of, cpwd_match); 678MODULE_DEVICE_TABLE(of, cpwd_match);
680 679
681static struct of_platform_driver cpwd_driver = { 680static struct platform_driver cpwd_driver = {
682 .driver = { 681 .driver = {
683 .name = DRIVER_NAME, 682 .name = DRIVER_NAME,
684 .owner = THIS_MODULE, 683 .owner = THIS_MODULE,
@@ -690,12 +689,12 @@ static struct of_platform_driver cpwd_driver = {
690 689
691static int __init cpwd_init(void) 690static int __init cpwd_init(void)
692{ 691{
693 return of_register_platform_driver(&cpwd_driver); 692 return platform_driver_register(&cpwd_driver);
694} 693}
695 694
696static void __exit cpwd_exit(void) 695static void __exit cpwd_exit(void)
697{ 696{
698 of_unregister_platform_driver(&cpwd_driver); 697 platform_driver_unregister(&cpwd_driver);
699} 698}
700 699
701module_init(cpwd_init); 700module_init(cpwd_init);
diff --git a/drivers/watchdog/gef_wdt.c b/drivers/watchdog/gef_wdt.c
index f6bd6f10fcec..29a7cd4b90c8 100644
--- a/drivers/watchdog/gef_wdt.c
+++ b/drivers/watchdog/gef_wdt.c
@@ -261,8 +261,7 @@ static struct miscdevice gef_wdt_miscdev = {
261}; 261};
262 262
263 263
264static int __devinit gef_wdt_probe(struct platform_device *dev, 264static int __devinit gef_wdt_probe(struct platform_device *dev)
265 const struct of_device_id *match)
266{ 265{
267 int timeout = 10; 266 int timeout = 10;
268 u32 freq; 267 u32 freq;
@@ -303,7 +302,7 @@ static const struct of_device_id gef_wdt_ids[] = {
303 {}, 302 {},
304}; 303};
305 304
306static struct of_platform_driver gef_wdt_driver = { 305static struct platform_driver gef_wdt_driver = {
307 .driver = { 306 .driver = {
308 .name = "gef_wdt", 307 .name = "gef_wdt",
309 .owner = THIS_MODULE, 308 .owner = THIS_MODULE,
@@ -315,12 +314,12 @@ static struct of_platform_driver gef_wdt_driver = {
315static int __init gef_wdt_init(void) 314static int __init gef_wdt_init(void)
316{ 315{
317 printk(KERN_INFO "GE watchdog driver\n"); 316 printk(KERN_INFO "GE watchdog driver\n");
318 return of_register_platform_driver(&gef_wdt_driver); 317 return platform_driver_register(&gef_wdt_driver);
319} 318}
320 319
321static void __exit gef_wdt_exit(void) 320static void __exit gef_wdt_exit(void)
322{ 321{
323 of_unregister_platform_driver(&gef_wdt_driver); 322 platform_driver_unregister(&gef_wdt_driver);
324} 323}
325 324
326module_init(gef_wdt_init); 325module_init(gef_wdt_init);
diff --git a/drivers/watchdog/mpc8xxx_wdt.c b/drivers/watchdog/mpc8xxx_wdt.c
index 8fa213cdb499..ea438ad53055 100644
--- a/drivers/watchdog/mpc8xxx_wdt.c
+++ b/drivers/watchdog/mpc8xxx_wdt.c
@@ -185,15 +185,18 @@ static struct miscdevice mpc8xxx_wdt_miscdev = {
185 .fops = &mpc8xxx_wdt_fops, 185 .fops = &mpc8xxx_wdt_fops,
186}; 186};
187 187
188static int __devinit mpc8xxx_wdt_probe(struct platform_device *ofdev, 188static int __devinit mpc8xxx_wdt_probe(struct platform_device *ofdev)
189 const struct of_device_id *match)
190{ 189{
191 int ret; 190 int ret;
192 struct device_node *np = ofdev->dev.of_node; 191 struct device_node *np = ofdev->dev.of_node;
193 struct mpc8xxx_wdt_type *wdt_type = match->data; 192 struct mpc8xxx_wdt_type *wdt_type;
194 u32 freq = fsl_get_sys_freq(); 193 u32 freq = fsl_get_sys_freq();
195 bool enabled; 194 bool enabled;
196 195
196 if (!ofdev->dev.of_match)
197 return -EINVAL;
198 wdt_type = match->data;
199
197 if (!freq || freq == -1) 200 if (!freq || freq == -1)
198 return -EINVAL; 201 return -EINVAL;
199 202
@@ -272,7 +275,7 @@ static const struct of_device_id mpc8xxx_wdt_match[] = {
272}; 275};
273MODULE_DEVICE_TABLE(of, mpc8xxx_wdt_match); 276MODULE_DEVICE_TABLE(of, mpc8xxx_wdt_match);
274 277
275static struct of_platform_driver mpc8xxx_wdt_driver = { 278static struct platform_driver mpc8xxx_wdt_driver = {
276 .probe = mpc8xxx_wdt_probe, 279 .probe = mpc8xxx_wdt_probe,
277 .remove = __devexit_p(mpc8xxx_wdt_remove), 280 .remove = __devexit_p(mpc8xxx_wdt_remove),
278 .driver = { 281 .driver = {
@@ -308,13 +311,13 @@ module_init(mpc8xxx_wdt_init_late);
308 311
309static int __init mpc8xxx_wdt_init(void) 312static int __init mpc8xxx_wdt_init(void)
310{ 313{
311 return of_register_platform_driver(&mpc8xxx_wdt_driver); 314 return platform_driver_register(&mpc8xxx_wdt_driver);
312} 315}
313arch_initcall(mpc8xxx_wdt_init); 316arch_initcall(mpc8xxx_wdt_init);
314 317
315static void __exit mpc8xxx_wdt_exit(void) 318static void __exit mpc8xxx_wdt_exit(void)
316{ 319{
317 of_unregister_platform_driver(&mpc8xxx_wdt_driver); 320 platform_driver_unregister(&mpc8xxx_wdt_driver);
318} 321}
319module_exit(mpc8xxx_wdt_exit); 322module_exit(mpc8xxx_wdt_exit);
320 323
diff --git a/drivers/watchdog/riowd.c b/drivers/watchdog/riowd.c
index 3faee1ae64bd..109b533896b7 100644
--- a/drivers/watchdog/riowd.c
+++ b/drivers/watchdog/riowd.c
@@ -172,8 +172,7 @@ static struct miscdevice riowd_miscdev = {
172 .fops = &riowd_fops 172 .fops = &riowd_fops
173}; 173};
174 174
175static int __devinit riowd_probe(struct platform_device *op, 175static int __devinit riowd_probe(struct platform_device *op)
176 const struct of_device_id *match)
177{ 176{
178 struct riowd *p; 177 struct riowd *p;
179 int err = -EINVAL; 178 int err = -EINVAL;
@@ -238,7 +237,7 @@ static const struct of_device_id riowd_match[] = {
238}; 237};
239MODULE_DEVICE_TABLE(of, riowd_match); 238MODULE_DEVICE_TABLE(of, riowd_match);
240 239
241static struct of_platform_driver riowd_driver = { 240static struct platform_driver riowd_driver = {
242 .driver = { 241 .driver = {
243 .name = DRIVER_NAME, 242 .name = DRIVER_NAME,
244 .owner = THIS_MODULE, 243 .owner = THIS_MODULE,
@@ -250,12 +249,12 @@ static struct of_platform_driver riowd_driver = {
250 249
251static int __init riowd_init(void) 250static int __init riowd_init(void)
252{ 251{
253 return of_register_platform_driver(&riowd_driver); 252 return platform_driver_register(&riowd_driver);
254} 253}
255 254
256static void __exit riowd_exit(void) 255static void __exit riowd_exit(void)
257{ 256{
258 of_unregister_platform_driver(&riowd_driver); 257 platform_driver_unregister(&riowd_driver);
259} 258}
260 259
261module_init(riowd_init); 260module_init(riowd_init);