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