equal
deleted
inserted
replaced
55 /*****************************************************************************/ |
55 /*****************************************************************************/ |
56 |
56 |
57 /** Debug interface constructor. |
57 /** Debug interface constructor. |
58 * |
58 * |
59 * Initializes the debug object, creates a net_device and registeres it. |
59 * Initializes the debug object, creates a net_device and registeres it. |
|
60 * |
|
61 * \retval 0 Success. |
|
62 * \retval <0 Error code. |
60 */ |
63 */ |
61 int ec_debug_init( |
64 int ec_debug_init( |
62 ec_debug_t *dbg, /**< debug object */ |
65 ec_debug_t *dbg, /**< debug object */ |
63 const char *name /**< interface name */ |
66 const char *name /**< interface name */ |
64 ) |
67 ) |
69 memset(&dbg->stats, 0, sizeof(struct net_device_stats)); |
72 memset(&dbg->stats, 0, sizeof(struct net_device_stats)); |
70 |
73 |
71 if (!(dbg->dev = |
74 if (!(dbg->dev = |
72 alloc_netdev(sizeof(ec_debug_t *), name, ether_setup))) { |
75 alloc_netdev(sizeof(ec_debug_t *), name, ether_setup))) { |
73 EC_ERR("Unable to allocate net_device for debug object!\n"); |
76 EC_ERR("Unable to allocate net_device for debug object!\n"); |
74 goto out_return; |
77 return -ENODEV; |
75 } |
78 } |
76 |
79 |
77 // initialize net_device |
80 // initialize net_device |
78 dbg->dev->open = ec_dbgdev_open; |
81 dbg->dev->open = ec_dbgdev_open; |
79 dbg->dev->stop = ec_dbgdev_stop; |
82 dbg->dev->stop = ec_dbgdev_stop; |
82 |
85 |
83 // initialize private data |
86 // initialize private data |
84 *((ec_debug_t **) netdev_priv(dbg->dev)) = dbg; |
87 *((ec_debug_t **) netdev_priv(dbg->dev)) = dbg; |
85 |
88 |
86 return 0; |
89 return 0; |
87 |
|
88 out_return: |
|
89 return -1; |
|
90 } |
90 } |
91 |
91 |
92 /*****************************************************************************/ |
92 /*****************************************************************************/ |
93 |
93 |
94 /** Debug interface destructor. |
94 /** Debug interface destructor. |