X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/5608c597c3b0b5652356c3a9cddda53b315070cb..0c1d7bcfa59e45f331cf24079418d5ded805de61:/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h diff --git a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h index ac52896ab..90475b6cb 100644 --- a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h +++ b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h @@ -1,7 +1,7 @@ /* * Atheros AR71xx built-in ethernet mac driver * - * Copyright (C) 2008-2009 Gabor Juhos + * Copyright (C) 2008-2010 Gabor Juhos * Copyright (C) 2008 Imre Kaloz * * Based on Atheros' AG7100 driver @@ -109,6 +109,22 @@ struct ag71xx_mdio { struct ag71xx_mdio_platform_data *pdata; }; +struct ag71xx_int_stats { + unsigned long rx_pr; + unsigned long rx_be; + unsigned long rx_of; + unsigned long tx_ps; + unsigned long tx_be; + unsigned long tx_ur; + unsigned long total; +}; + +struct ag71xx_debug { + struct dentry *debugfs_dir; + struct dentry *debugfs_int_stats; + struct ag71xx_int_stats int_stats; +}; + struct ag71xx { void __iomem *mac_base; void __iomem *mii_ctrl; @@ -131,6 +147,10 @@ struct ag71xx { struct work_struct restart_work; struct timer_list oom_timer; + +#ifdef CONFIG_AG71XX_DEBUG_FS + struct ag71xx_debug debug; +#endif }; extern struct ethtool_ops ag71xx_ethtool_ops; @@ -450,4 +470,19 @@ static inline int ag71xx_remove_ar8216_header(struct ag71xx *ag, } #endif +#ifdef CONFIG_AG71XX_DEBUG_FS +int ag71xx_debugfs_root_init(void); +void ag71xx_debugfs_root_exit(void); +int ag71xx_debugfs_init(struct ag71xx *ag); +void ag71xx_debugfs_exit(struct ag71xx *ag); +void ag71xx_debugfs_update_int_stats(struct ag71xx *ag, u32 status); +#else +static inline int ag71xx_debugfs_root_init(void) { return 0; } +static inline void ag71xx_debugfs_root_exit(void) {} +static inline int ag71xx_debugfs_init(struct ag71xx *ag) { return 0; } +static inline void ag71xx_debugfs_exit(struct ag71xx *ag) {} +static inline void ag71xx_debug_update_int_stats(struct ag71xx *ag, + u32 status) {} +#endif /* CONFIG_AG71XX_DEBUG_FS */ + #endif /* _AG71XX_H */