/** * rtnet_init() */ int __init rtnet_init(void) { int err = 0; printk("\n*** RTnet " RTNET_PACKAGE_VERSION " - built on " __DATE__ " " __TIME__ " ***\n\n"); printk("RTnet: initialising real-time networking\n"); if ((err = rtskb_pools_init()) != 0) goto err_out1; #ifdef CONFIG_PROC_FS if ((err = rtnet_proc_register()) != 0) goto err_out2; #endif /* initialize the Stack-Manager */ if ((err = rt_stack_mgr_init(&STACK_manager)) != 0) goto err_out3; /* initialize the RTDEV-Manager */ if ((err = rt_rtdev_mgr_init(&RTDEV_manager)) != 0) goto err_out4; rtnet_chrdev_init(); if ((err = rtwlan_init()) != 0) goto err_out5; if ((err = rtpc_init()) != 0) goto err_out6; return 0; err_out6: rtwlan_exit(); err_out5: rtnet_chrdev_release(); rt_rtdev_mgr_delete(&RTDEV_manager); err_out4: rt_stack_mgr_delete(&STACK_manager); err_out3: #ifdef CONFIG_PROC_FS rtnet_proc_unregister(); err_out2: #endif rtskb_pools_release(); err_out1: return err; }
/** * rtnet_init() */ int __init rtnet_init(void) { int err = 0; printk("\n*** RTnet for Xenomai v" XENO_VERSION_STRING " ***\n\n"); printk("RTnet: initialising real-time networking\n"); if ((err = rtskb_pools_init()) != 0) goto err_out1; #ifdef CONFIG_XENO_OPT_VFILE if ((err = rtnet_proc_register()) != 0) goto err_out2; #endif /* initialize the Stack-Manager */ if ((err = rt_stack_mgr_init(&STACK_manager)) != 0) goto err_out3; /* initialize the RTDEV-Manager */ if ((err = rt_rtdev_mgr_init(&RTDEV_manager)) != 0) goto err_out4; rtnet_chrdev_init(); if ((err = rtwlan_init()) != 0) goto err_out5; if ((err = rtpc_init()) != 0) goto err_out6; return 0; err_out6: rtwlan_exit(); err_out5: rtnet_chrdev_release(); rt_rtdev_mgr_delete(&RTDEV_manager); err_out4: rt_stack_mgr_delete(&STACK_manager); err_out3: #ifdef CONFIG_XENO_OPT_VFILE rtnet_proc_unregister(); err_out2: #endif rtskb_pools_release(); err_out1: return err; }
/** * rtnet_release() */ void __exit rtnet_release(void) { rtpc_cleanup(); rtwlan_exit(); rtnet_chrdev_release(); rt_stack_mgr_delete(&STACK_manager); rt_rtdev_mgr_delete(&RTDEV_manager); rtskb_pools_release(); #ifdef CONFIG_PROC_FS rtnet_proc_unregister(); #endif printk("RTnet: unloaded\n"); }