0001
0002
0003
0004
0005
0006
0007
0008 #ifndef __NET_AX88796_PLAT_H
0009 #define __NET_AX88796_PLAT_H
0010
0011 #include <linux/types.h>
0012
0013 struct sk_buff;
0014 struct net_device;
0015 struct platform_device;
0016
0017 #define AXFLG_HAS_EEPROM (1<<0)
0018 #define AXFLG_MAC_FROMDEV (1<<1)
0019 #define AXFLG_HAS_93CX6 (1<<2)
0020 #define AXFLG_MAC_FROMPLATFORM (1<<3)
0021
0022 struct ax_plat_data {
0023 unsigned int flags;
0024 unsigned char wordlength;
0025 unsigned char dcr_val;
0026 unsigned char rcr_val;
0027 unsigned char gpoc_val;
0028 u32 *reg_offsets;
0029 u8 *mac_addr;
0030
0031
0032
0033 void (*block_output)(struct net_device *dev, int count,
0034 const unsigned char *buf, int star_page);
0035 void (*block_input)(struct net_device *dev, int count,
0036 struct sk_buff *skb, int ring_offset);
0037
0038
0039
0040 int (*check_irq)(struct platform_device *pdev);
0041 };
0042
0043
0044 extern void ax_NS8390_reinit(struct net_device *dev);
0045
0046 #endif