[PATCH] RapidIO support: ppc32
[linux-2.6.git] / arch / ppc / kernel / rio.c
1 /*
2  * RapidIO PPC32 support
3  *
4  * Copyright 2005 MontaVista Software, Inc.
5  * Matt Porter <mporter@kernel.crashing.org>
6  *
7  * This program is free software; you can redistribute  it and/or modify it
8  * under  the terms of  the GNU General  Public License as published by the
9  * Free Software Foundation;  either version 2 of the  License, or (at your
10  * option) any later version.
11  */
12
13 #include <linux/init.h>
14 #include <linux/kernel.h>
15 #include <linux/rio.h>
16
17 #include <asm/rio.h>
18
19 /**
20  * platform_rio_init - Do platform specific RIO init
21  *
22  * Any platform specific initialization of RapdIO
23  * hardware is done here as well as registration
24  * of any active master ports in the system.
25  */
26 void __attribute__ ((weak))
27     platform_rio_init(void)
28 {
29         printk(KERN_WARNING "RIO: No platform_rio_init() present\n");
30 }
31
32 /**
33  * ppc_rio_init - Do PPC32 RIO init
34  *
35  * Calls platform-specific RIO init code and then calls
36  * rio_init_mports() to initialize any master ports that
37  * have been registered with the RIO subsystem.
38  */
39 static int __init ppc_rio_init(void)
40 {
41         printk(KERN_INFO "RIO: RapidIO init\n");
42
43         /* Platform specific initialization */
44         platform_rio_init();
45
46         /* Enumerate all registered ports */
47         rio_init_mports();
48
49         return 0;
50 }
51
52 subsys_initcall(ppc_rio_init);