aboutsummaryrefslogtreecommitdiffstats
path: root/net/phonet
diff options
context:
space:
mode:
authorremi.denis-courmont@nokia <remi.denis-courmont@nokia>2009-01-22 22:00:27 -0500
committerDavid S. Miller <davem@davemloft.net>2009-01-27 00:03:34 -0500
commit76e02cf6945e6faa9f6b546dc0513512197c5966 (patch)
treee296f93f6ba6571443704871bf2d399a3bc5b98e /net/phonet
parent4b8f704bea70a2c8719e47f53197678a87a0c62f (diff)
Phonet: allow phonet_device_init() to fail, put it to __init section
Signed-off-by: RĂ©mi Denis-Courmont <remi.denis-courmont@nokia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/phonet')
-rw-r--r--net/phonet/af_phonet.c9
-rw-r--r--net/phonet/pn_dev.c4
2 files changed, 9 insertions, 4 deletions
diff --git a/net/phonet/af_phonet.c b/net/phonet/af_phonet.c
index c7c39d92ee5e..95bc49ddb8bf 100644
--- a/net/phonet/af_phonet.c
+++ b/net/phonet/af_phonet.c
@@ -426,16 +426,18 @@ static int __init phonet_init(void)
426{ 426{
427 int err; 427 int err;
428 428
429 err = phonet_device_init();
430 if (err)
431 return err;
432
429 err = sock_register(&phonet_proto_family); 433 err = sock_register(&phonet_proto_family);
430 if (err) { 434 if (err) {
431 printk(KERN_ALERT 435 printk(KERN_ALERT
432 "phonet protocol family initialization failed\n"); 436 "phonet protocol family initialization failed\n");
433 return err; 437 goto err_sock;
434 } 438 }
435 439
436 phonet_device_init();
437 dev_add_pack(&phonet_packet_type); 440 dev_add_pack(&phonet_packet_type);
438 phonet_netlink_register();
439 phonet_sysctl_init(); 441 phonet_sysctl_init();
440 442
441 err = isi_register(); 443 err = isi_register();
@@ -447,6 +449,7 @@ err:
447 phonet_sysctl_exit(); 449 phonet_sysctl_exit();
448 sock_unregister(PF_PHONET); 450 sock_unregister(PF_PHONET);
449 dev_remove_pack(&phonet_packet_type); 451 dev_remove_pack(&phonet_packet_type);
452err_sock:
450 phonet_device_exit(); 453 phonet_device_exit();
451 return err; 454 return err;
452} 455}
diff --git a/net/phonet/pn_dev.c b/net/phonet/pn_dev.c
index 5491bf5e354b..af49db01d634 100644
--- a/net/phonet/pn_dev.c
+++ b/net/phonet/pn_dev.c
@@ -188,9 +188,11 @@ static struct notifier_block phonet_device_notifier = {
188}; 188};
189 189
190/* Initialize Phonet devices list */ 190/* Initialize Phonet devices list */
191void phonet_device_init(void) 191int __init phonet_device_init(void)
192{ 192{
193 register_netdevice_notifier(&phonet_device_notifier); 193 register_netdevice_notifier(&phonet_device_notifier);
194 phonet_netlink_register();
195 return 0;
194} 196}
195 197
196void phonet_device_exit(void) 198void phonet_device_exit(void)