OpenWrt – Blame information for rev 4

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 --- a/drivers/bcma/main.c
2 +++ b/drivers/bcma/main.c
3 @@ -637,11 +637,36 @@ static int bcma_device_uevent(struct dev
4 core->id.rev, core->id.class);
5 }
6  
7 -static int __init bcma_modinit(void)
8 +static unsigned int bcma_bus_registered;
9 +
10 +/*
11 + * If built-in, bus has to be registered early, before any driver calls
12 + * bcma_driver_register.
13 + * Otherwise registering driver would trigger BUG in driver_register.
14 + */
15 +static int __init bcma_init_bus_register(void)
16 {
17 int err;
18  
19 + if (bcma_bus_registered)
20 + return 0;
21 +
22 err = bus_register(&bcma_bus_type);
23 + if (!err)
24 + bcma_bus_registered = 1;
25 +
26 + return err;
27 +}
28 +#ifndef MODULE
29 +fs_initcall(bcma_init_bus_register);
30 +#endif
31 +
32 +/* Main initialization has to be done with SPI/mtd/NAND/SPROM available */
33 +static int __init bcma_modinit(void)
34 +{
35 + int err;
36 +
37 + err = bcma_init_bus_register();
38 if (err)
39 return err;
40  
41 @@ -660,7 +685,7 @@ static int __init bcma_modinit(void)
42  
43 return err;
44 }
45 -fs_initcall(bcma_modinit);
46 +module_init(bcma_modinit);
47  
48 static void __exit bcma_modexit(void)
49 {