diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 18:06:16 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 18:06:16 -0800 |
| commit | 8b11a705bdc5fd9f39b113f7d1dc9c8eeabe301b (patch) | |
| tree | f00c6c3accce342c055af338eaa88583e5fe3552 /include/linux | |
| parent | 90a880a460aeb2374d6c766c08fa7786fb982aae (diff) | |
v2.4.2.7 -> v2.4.2.8
- Paul Mackerras: PPC update for thread-safe page table handling
- Ingo Molnar: x86 PAE update for thread-safe page table handling
- Jeff Garzik: network driver updates, i810 rng driver, and
"alloc_etherdev()" network driver insert race condition fix.
- David Miller: UltraSparcIII update, network locking fixes
- Al Viro: fix fs counts on mount failure
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/elf.h | 2 | ||||
| -rw-r--r-- | include/linux/etherdevice.h | 21 | ||||
| -rw-r--r-- | include/linux/ethtool.h | 14 | ||||
| -rw-r--r-- | include/linux/fcdevice.h | 5 | ||||
| -rw-r--r-- | include/linux/fddidevice.h | 3 | ||||
| -rw-r--r-- | include/linux/hippidevice.h | 4 | ||||
| -rw-r--r-- | include/linux/if_arp.h | 4 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 7 | ||||
| -rw-r--r-- | include/linux/pci_ids.h | 7 | ||||
| -rw-r--r-- | include/linux/sysctl.h | 4 | ||||
| -rw-r--r-- | include/linux/trdevice.h | 5 |
11 files changed, 59 insertions, 17 deletions
diff --git a/include/linux/elf.h b/include/linux/elf.h index 34d8e93ae485..b27c2d43c45e 100644 --- a/include/linux/elf.h +++ b/include/linux/elf.h @@ -299,7 +299,7 @@ typedef struct { #define HWCAP_SPARC_SWAP 4 #define HWCAP_SPARC_MULDIV 8 #define HWCAP_SPARC_V9 16 - +#define HWCAP_SPARC_ULTRA3 32 /* * 68k ELF relocation types diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index f4a0a27bbabb..6c72b8d596b6 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h @@ -38,19 +38,28 @@ extern int eth_header_cache(struct neighbour *neigh, struct hh_cache *hh); extern int eth_header_parse(struct sk_buff *skb, unsigned char *haddr); -extern struct net_device * init_etherdev(struct net_device *, int); +extern struct net_device *init_etherdev(struct net_device *dev, int sizeof_priv); +extern struct net_device *alloc_etherdev(int sizeof_priv); -static __inline__ void eth_copy_and_sum (struct sk_buff *dest, unsigned char *src, int len, int base) +static inline void eth_copy_and_sum (struct sk_buff *dest, unsigned char *src, int len, int base) { memcpy (dest->data, src, len); } -/* Check that the ethernet address (MAC) is not 00:00:00:00:00:00 and is not - * a multicast address. Return true if the address is valid. +/** + * is_valid_ether_addr - Determine if the given Ethernet address is valid + * @addr: Pointer to a six-byte array containing the Ethernet address + * + * Check that the Ethernet address (MAC) is not 00:00:00:00:00:00, is not + * a multicast address, and is not FF:FF:FF:FF:FF:FF. + * + * Return true if the address is valid. */ -static __inline__ int is_valid_ether_addr( u8 *addr ) +static inline int is_valid_ether_addr( u8 *addr ) { - return !(addr[0]&1) && memcmp( addr, "\0\0\0\0\0\0", 6); + const char zaddr[6] = {0,}; + + return !(addr[0]&1) && memcmp( addr, zaddr, 6); } #endif diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index 384171b3f6eb..c1106729db92 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h @@ -24,10 +24,22 @@ struct ethtool_cmd { u32 reserved[4]; }; +/* these strings are set to whatever the driver author decides... */ +struct ethtool_drvinfo { + u32 cmd; + char driver[32]; /* driver short name, "tulip", "eepro100" */ + char version[32]; /* driver version string */ + char fw_version[32]; /* firmware version string, if applicable */ + char bus_info[32]; /* Bus info for this interface. For PCI + * devices, use pci_dev->slot_name. */ + char reserved1[32]; + char reserved2[32]; +}; /* CMDs currently supported */ -#define ETHTOOL_GSET 0x00000001 /* Get settings, non-privileged. */ +#define ETHTOOL_GSET 0x00000001 /* Get settings. */ #define ETHTOOL_SSET 0x00000002 /* Set settings, privileged. */ +#define ETHTOOL_GDRVINFO 0x00000003 /* Get driver info. */ /* compatibility with older code */ #define SPARC_ETH_GSET ETHTOOL_GSET diff --git a/include/linux/fcdevice.h b/include/linux/fcdevice.h index c63d03bc11d0..25687bb17c70 100644 --- a/include/linux/fcdevice.h +++ b/include/linux/fcdevice.h @@ -33,7 +33,10 @@ extern int fc_header(struct sk_buff *skb, struct net_device *dev, extern int fc_rebuild_header(struct sk_buff *skb); //extern unsigned short fc_type_trans(struct sk_buff *skb, struct net_device *dev); -extern struct net_device * init_fcdev(struct net_device *, int); +extern struct net_device *init_fcdev(struct net_device *dev, int sizeof_priv); +extern struct net_device *alloc_fcdev(int sizeof_priv); +extern int register_fcdev(struct net_device *dev); +extern void unregister_fcdev(struct net_device *dev); #endif diff --git a/include/linux/fddidevice.h b/include/linux/fddidevice.h index 79f92ff1792a..83815ec9faa0 100644 --- a/include/linux/fddidevice.h +++ b/include/linux/fddidevice.h @@ -34,7 +34,8 @@ extern int fddi_header(struct sk_buff *skb, extern int fddi_rebuild_header(struct sk_buff *skb); extern unsigned short fddi_type_trans(struct sk_buff *skb, struct net_device *dev); -extern struct net_device * init_fddidev(struct net_device *, int); +extern struct net_device *init_fddidev(struct net_device *dev, int sizeof_priv); +extern struct net_device *alloc_fddidev(int sizeof_priv); #endif #endif /* _LINUX_FDDIDEVICE_H */ diff --git a/include/linux/hippidevice.h b/include/linux/hippidevice.h index 7e57075f8872..70524a3a9014 100644 --- a/include/linux/hippidevice.h +++ b/include/linux/hippidevice.h @@ -51,7 +51,9 @@ extern int hippi_header_parse(struct sk_buff *skb, unsigned char *haddr); extern void hippi_net_init(void); void hippi_setup(struct net_device *dev); -extern struct net_device *init_hippi_dev(struct net_device *, int); +extern struct net_device *init_hippi_dev(struct net_device *dev, int sizeof_priv); +extern struct net_device *alloc_hippi_dev(int sizeof_priv); +extern int register_hipdev(struct net_device *dev); extern void unregister_hipdev(struct net_device *dev); #endif diff --git a/include/linux/if_arp.h b/include/linux/if_arp.h index a1f424cff3db..396dbb550441 100644 --- a/include/linux/if_arp.h +++ b/include/linux/if_arp.h @@ -50,9 +50,11 @@ #define ARPHRD_X25 271 /* CCITT X.25 */ #define ARPHRD_HWX25 272 /* Boards with X.25 in firmware */ #define ARPHRD_PPP 512 -#define ARPHRD_HDLC 513 /* (Cisco) HDLC */ +#define ARPHRD_CISCO 513 /* Cisco HDLC */ +#define ARPHRD_HDLC ARPHRD_CISCO #define ARPHRD_LAPB 516 /* LAPB */ #define ARPHRD_DDCMP 517 /* Digital's DDCMP protocol */ +#define ARPHRD_RAWHDLC 518 /* Raw HDLC */ #define ARPHRD_TUNNEL 768 /* IPIP tunnel */ #define ARPHRD_TUNNEL6 769 /* IPIP6 tunnel */ diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 420ea0cc51f3..011caf23d152 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -41,6 +41,9 @@ struct divert_blk; +#define HAVE_ALLOC_NETDEV /* feature macro: alloc_xxxdev + functions are available. */ + #define NET_XMIT_SUCCESS 0 #define NET_XMIT_DROP 1 /* skb dropped */ #define NET_XMIT_CN 2 /* congestion notification */ @@ -633,10 +636,6 @@ extern void fc_freedev(struct net_device *dev); /* Support for loadable net-drivers */ extern int register_netdev(struct net_device *dev); extern void unregister_netdev(struct net_device *dev); -extern int register_trdev(struct net_device *dev); -extern void unregister_trdev(struct net_device *dev); -extern int register_fcdev(struct net_device *dev); -extern void unregister_fcdev(struct net_device *dev); /* Functions used for multicast support */ extern void dev_mc_upload(struct net_device *dev); extern int dev_mc_delete(struct net_device *dev, void *addr, int alen, int all); diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 25e75cf65724..6cb093241600 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -562,9 +562,16 @@ #define PCI_VENDOR_ID_SUN 0x108e #define PCI_DEVICE_ID_SUN_EBUS 0x1000 #define PCI_DEVICE_ID_SUN_HAPPYMEAL 0x1001 +#define PCI_DEVICE_ID_SUN_RIO_EBUS 0x1100 +#define PCI_DEVICE_ID_SUN_RIO_GEM 0x1101 +#define PCI_DEVICE_ID_SUN_RIO_1394 0x1102 +#define PCI_DEVICE_ID_SUN_RIO_USB 0x1103 +#define PCI_DEVICE_ID_SUN_GEM 0x2bad #define PCI_DEVICE_ID_SUN_SIMBA 0x5000 #define PCI_DEVICE_ID_SUN_PBM 0x8000 +#define PCI_DEVICE_ID_SUN_SCHIZO 0x8001 #define PCI_DEVICE_ID_SUN_SABRE 0xa000 +#define PCI_DEVICE_ID_SUN_HUMMINGBIRD 0xa001 #define PCI_VENDOR_ID_CMD 0x1095 #define PCI_DEVICE_ID_CMD_640 0x0640 diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 07f2c83e99f0..cbfaafbfe5a1 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h @@ -378,6 +378,10 @@ enum { }; /* /proc/sys/net/ipx */ +enum { + NET_IPX_PPROP_BROADCASTING=1, + NET_IPX_FORWARDING=2 +}; /* /proc/sys/net/appletalk */ diff --git a/include/linux/trdevice.h b/include/linux/trdevice.h index a70f27946add..f91119ab066d 100644 --- a/include/linux/trdevice.h +++ b/include/linux/trdevice.h @@ -33,7 +33,10 @@ extern int tr_header(struct sk_buff *skb, struct net_device *dev, void *saddr, unsigned len); extern int tr_rebuild_header(struct sk_buff *skb); extern unsigned short tr_type_trans(struct sk_buff *skb, struct net_device *dev); -extern struct net_device * init_trdev(struct net_device *, int); +extern struct net_device *init_trdev(struct net_device *dev, int sizeof_priv); +extern struct net_device *alloc_trdev(int sizeof_priv); +extern int register_trdev(struct net_device *dev); +extern void unregister_trdev(struct net_device *dev); #endif |
