devices/8139too-2.6.13-ethercat.c
changeset 497 04552130dd54
parent 495 88c597598bbc
child 533 acdd1f9ef7ab
equal deleted inserted replaced
496:b2aee2241952 497:04552130dd54
  2905 		if (!(rtl_ec_dev = ecdev_register(ec_device_master_index,
  2905 		if (!(rtl_ec_dev = ecdev_register(ec_device_master_index,
  2906 			rtl_ec_net_dev, rtl8139_interrupt, THIS_MODULE))) {
  2906 			rtl_ec_net_dev, rtl8139_interrupt, THIS_MODULE))) {
  2907 			printk(KERN_ERR "Failed to register EtherCAT device!\n");
  2907 			printk(KERN_ERR "Failed to register EtherCAT device!\n");
  2908 			goto out_pci;
  2908 			goto out_pci;
  2909 		}
  2909 		}
       
  2910 
       
  2911 		printk(KERN_INFO "Opening EtherCAT device...\n");
       
  2912 		if (ecdev_open(rtl_ec_dev)) {
       
  2913 			printk(KERN_ERR "Failed to open EtherCAT device!\n");
       
  2914 			goto out_unregister;
       
  2915 		}
       
  2916 
       
  2917 		printk(KERN_INFO "EtherCAT device ready.\n");
  2910 	} else {
  2918 	} else {
  2911 		printk(KERN_WARNING "No EtherCAT device registered!\n");
  2919 		printk(KERN_WARNING "No EtherCAT device registered!\n");
  2912 	}
  2920 	}
  2913 
  2921 
  2914 	return 0;
  2922 	return 0;
  2915 
  2923 
       
  2924     out_unregister:
       
  2925 	printk(KERN_INFO "Unregistering EtherCAT device...\n");
       
  2926 	ecdev_unregister(ec_device_master_index, rtl_ec_dev);
       
  2927 	rtl_ec_dev = NULL;
  2916     out_pci:
  2928     out_pci:
  2917 	pci_unregister_driver(&rtl8139_pci_driver);
  2929 	pci_unregister_driver(&rtl8139_pci_driver);
  2918     out_return:
  2930     out_return:
  2919 	return -1;
  2931 	return -1;
  2920 
  2932 
  2927 	/* EtherCAT >>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
  2939 	/* EtherCAT >>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
  2928 
  2940 
  2929 	printk(KERN_INFO "Cleaning up RTL8139-EtherCAT module...\n");
  2941 	printk(KERN_INFO "Cleaning up RTL8139-EtherCAT module...\n");
  2930 
  2942 
  2931 	if (rtl_ec_net_dev) {
  2943 	if (rtl_ec_net_dev) {
  2932 		printk(KERN_INFO "Unregistering device...\n");
  2944 		printk(KERN_INFO "Closing EtherCAT device...\n");
       
  2945 		ecdev_close(rtl_ec_dev);
       
  2946 		printk(KERN_INFO "Unregistering EtherCAT device...\n");
  2933 		ecdev_unregister(ec_device_master_index, rtl_ec_dev);
  2947 		ecdev_unregister(ec_device_master_index, rtl_ec_dev);
  2934 		rtl_ec_dev = NULL;
  2948 		rtl_ec_dev = NULL;
  2935 	}
  2949 	}
  2936 
  2950 
  2937 	pci_unregister_driver(&rtl8139_pci_driver);
  2951 	pci_unregister_driver(&rtl8139_pci_driver);