} ETHERNET_STRUCT;
/********************************************************************
- * Interrupt controller
+ * Interrupt controller
********************************************************************/
typedef struct {
spinlock_t lock; /* Serialise access to device */
- /*
+ /*
* RX and TX descriptors, must be adjacent
*/
ar2313_descr_t *rx_ring;
struct sk_buff **rx_skb;
struct sk_buff **tx_skb;
- /*
+ /*
* RX elements
*/
u32 rx_skbprd;
u32 cur_rx;
- /*
+ /*
* TX elements
*/
u32 tx_prd;
u32 tx_csm;
- /*
+ /*
* Misc elements
*/
int board_idx;
char name[48];
- struct net_device_stats stats;
struct {
u32 address;
u32 length;
struct tasklet_struct rx_tasklet;
int unloading;
+
+ struct phy_device *phy_dev;
+ struct mii_bus mii_bus;
+ int oldduplex;
};
static int ar2313_setup_timer(struct net_device *dev);
static void ar2313_link_timer_fn(unsigned long data);
static void ar2313_check_link(struct net_device *dev);
-static struct net_device_stats *ar2313_get_stats(struct net_device *dev);
#endif /* _AR2313_H_ */