aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/sysdev/fsl_rio.c10
-rw-r--r--drivers/net/rionet.c2
-rw-r--r--drivers/rapidio/rio.c6
-rw-r--r--include/linux/rio.h1
4 files changed, 6 insertions, 13 deletions
diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c
index f95cb5636d19..576b8066089e 100644
--- a/arch/powerpc/sysdev/fsl_rio.c
+++ b/arch/powerpc/sysdev/fsl_rio.c
@@ -1574,18 +1574,10 @@ err_ops:
1574 */ 1574 */
1575static int __devinit fsl_of_rio_rpn_probe(struct platform_device *dev) 1575static int __devinit fsl_of_rio_rpn_probe(struct platform_device *dev)
1576{ 1576{
1577 int rc;
1578 printk(KERN_INFO "Setting up RapidIO peer-to-peer network %s\n", 1577 printk(KERN_INFO "Setting up RapidIO peer-to-peer network %s\n",
1579 dev->dev.of_node->full_name); 1578 dev->dev.of_node->full_name);
1580 1579
1581 rc = fsl_rio_setup(dev); 1580 return fsl_rio_setup(dev);
1582 if (rc)
1583 goto out;
1584
1585 /* Enumerate all registered ports */
1586 rc = rio_init_mports();
1587out:
1588 return rc;
1589}; 1581};
1590 1582
1591static const struct of_device_id fsl_of_rio_rpn_ids[] = { 1583static const struct of_device_id fsl_of_rio_rpn_ids[] = {
diff --git a/drivers/net/rionet.c b/drivers/net/rionet.c
index 678e5777da81..26afbaae23f0 100644
--- a/drivers/net/rionet.c
+++ b/drivers/net/rionet.c
@@ -571,5 +571,5 @@ static void __exit rionet_exit(void)
571 rio_unregister_driver(&rionet_driver); 571 rio_unregister_driver(&rionet_driver);
572} 572}
573 573
574module_init(rionet_init); 574late_initcall(rionet_init);
575module_exit(rionet_exit); 575module_exit(rionet_exit);
diff --git a/drivers/rapidio/rio.c b/drivers/rapidio/rio.c
index d520dbaede80..f861b728f80e 100644
--- a/drivers/rapidio/rio.c
+++ b/drivers/rapidio/rio.c
@@ -1134,8 +1134,6 @@ static int __devinit rio_init(void)
1134 return 0; 1134 return 0;
1135} 1135}
1136 1136
1137device_initcall(rio_init);
1138
1139int __devinit rio_init_mports(void) 1137int __devinit rio_init_mports(void)
1140{ 1138{
1141 int rc = 0; 1139 int rc = 0;
@@ -1158,10 +1156,14 @@ int __devinit rio_init_mports(void)
1158 rio_disc_mport(port); 1156 rio_disc_mport(port);
1159 } 1157 }
1160 1158
1159 rio_init();
1160
1161 out: 1161 out:
1162 return rc; 1162 return rc;
1163} 1163}
1164 1164
1165device_initcall_sync(rio_init_mports);
1166
1165void rio_register_mport(struct rio_mport *port) 1167void rio_register_mport(struct rio_mport *port)
1166{ 1168{
1167 list_add_tail(&port->node, &rio_mports); 1169 list_add_tail(&port->node, &rio_mports);
diff --git a/include/linux/rio.h b/include/linux/rio.h
index efed116efe9c..b6bcb1632749 100644
--- a/include/linux/rio.h
+++ b/include/linux/rio.h
@@ -395,7 +395,6 @@ union rio_pw_msg {
395}; 395};
396 396
397/* Architecture and hardware-specific functions */ 397/* Architecture and hardware-specific functions */
398extern int rio_init_mports(void);
399extern void rio_register_mport(struct rio_mport *); 398extern void rio_register_mport(struct rio_mport *);
400extern int rio_open_inb_mbox(struct rio_mport *, void *, int, int); 399extern int rio_open_inb_mbox(struct rio_mport *, void *, int, int);
401extern void rio_close_inb_mbox(struct rio_mport *, int); 400extern void rio_close_inb_mbox(struct rio_mport *, int);