networking: Use ETH_ALEN where appropriate
Subsystems (18)
v2 cover networking: Use ETH_ALEN where appropriate
Convert the uses mac addresses to ETH_ALEN so it's easier to find and verify where mac addresses need to be __aligned(2)
Change from initial submission:
- Remove include/acpi/actbl2.h conversion
It's a file copied from outside ACPI sources
Joe Perches (3):
uapi: Convert some uses of 6 to ETH_ALEN
include: Convert ethernet mac address declarations to use ETH_ALEN
ethernet: Convert mac address uses of 6 to ETH_ALEN
drivers/net/ethernet/8390/ax88796.c | 4 +- drivers/net/ethernet/amd/pcnet32.c | 6 +-- drivers/net/ethernet/broadcom/cnic_if.h | 6 +-- drivers/net/ethernet/dec/tulip/tulip_core.c | 8 +-- drivers/net/ethernet/i825xx/sun3_82586.h | 4 +- drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 2 +- drivers/net/ethernet/nuvoton/w90p910_ether.c | 4 +- drivers/net/ethernet/pasemi/pasemi_mac.c | 13 ++--- drivers/net/ethernet/pasemi/pasemi_mac.h | 4 +- drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c | 4 +- drivers/net/ethernet/qlogic/qlge/qlge.h | 2 +- include/linux/dm9000.h | 4 +- include/linux/fs_enet_pd.h | 3 +- include/linux/ieee80211.h | 59 +++++++++++----------- include/linux/mlx4/device.h | 11 ++-- include/linux/mlx4/qp.h | 5 +- include/linux/mv643xx_eth.h | 3 +- include/linux/sh_eth.h | 3 +- include/linux/smsc911x.h | 3 +- include/linux/uwb/spec.h | 5 +- include/media/tveeprom.h | 4 +- include/net/irda/irlan_common.h | 3 +- include/uapi/linux/dn.h | 3 +- include/uapi/linux/if_bridge.h | 3 +- include/uapi/linux/netfilter_bridge/ebt_802_3.h | 5 +- include/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h | 3 +- include/uapi/linux/virtio_net.h | 2 +- include/uapi/linux/wimax/i2400m.h | 4 +- 28 files changed, 100 insertions(+), 80 deletions(-)
Signature · 1 line
1.8.1.2.459.gbcd45b4.dirty
PATCH v2 1/3 uapi: Convert some uses of 6 to ETH_ALEN
Use the #define where appropriate.
Add #include <linux/if_ether.h>
where appropriate too.
--- include/uapi/linux/dn.h | 3 ++- include/uapi/linux/if_bridge.h | 3 ++- include/uapi/linux/netfilter_bridge/ebt_802_3.h | 5 +++-- include/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h | 3 ++- include/uapi/linux/virtio_net.h | 2 +- include/uapi/linux/wimax/i2400m.h | 4 ++-- 6 files changed, 12 insertions(+), 8 deletions(-)
include/uapi/linux/dn.h +2 -1
@@ -2,6 +2,7 @@#define _LINUX_DN_H#include <linux/types.h> +#include <linux/if_ether.h> /*
@@ -120,7 +121,7 @@ struct linkinfo_dn {* Ethernet address format (for DECnet) */ union etheraddress { -__u8 dne_addr[6 ];/* Full ethernet address */ +__u8 dne_addr[ETH_ALEN ];/* Full ethernet address */ struct {__u8 dne_hiord[4 ];/* DECnet HIORD prefix */ __u8 dne_nodeaddr[2 ];/* DECnet node address */
include/uapi/linux/if_bridge.h +2 -1
@@ -14,6 +14,7 @@#define _UAPI_LINUX_IF_BRIDGE_H#include <linux/types.h> +#include <linux/if_ether.h> #define SYSFS_BRIDGE_ATTR "bridge"#define SYSFS_BRIDGE_FDB "brforward"
@@ -88,7 +89,7 @@ struct __port_info { };struct __fdb_entry { -__u8 mac_addr[6 ]; +__u8 mac_addr[ETH_ALEN ];__u8 port_no;__u8 is_local;__u32 ageing_timer_value;
include/uapi/linux/netfilter_bridge/ebt_802_3.h +3 -2
@@ -2,6 +2,7 @@#define _UAPI__LINUX_BRIDGE_EBT_802_3_H#include <linux/types.h> +#include <linux/if_ether.h> #define EBT_802_3_SAP 0x01#define EBT_802_3_TYPE 0x02
@@ -42,8 +43,8 @@ struct hdr_ni { };struct ebt_802_3_hdr { -__u8 daddr[6 ]; -__u8 saddr[6 ]; +__u8 daddr[ETH_ALEN ]; +__u8 saddr[ETH_ALEN ];__be16 len;union {struct hdr_ui ui;
include/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h +2 -1
@@ -2,6 +2,7 @@#define _IPT_CLUSTERIP_H_target#include <linux/types.h> +#include <linux/if_ether.h> enum clusterip_hashmode {CLUSTERIP_HASHMODE_SIP =0 ,
@@ -22,7 +23,7 @@ struct ipt_clusterip_tgt_info {__u32 flags;/* only relevant for new ones */ -__u8 clustermac[6 ]; +__u8 clustermac[ETH_ALEN ];__u16 num_total_nodes;__u16 num_local_nodes;__u16 local_nodes[CLUSTERIP_MAX_NODES ];
include/uapi/linux/virtio_net.h +1 -1
@@ -60,7 +60,7 @@struct virtio_net_config {/* The config defining mac address (if VIRTIO_NET_F_MAC) */ -__u8 mac[6 ]; +__u8 mac[ETH_ALEN ];/* See VIRTIO_NET_F_STATUS and VIRTIO_NET_S_* above */ __u16 status;/* Maximum number of each of transmit and receive queues;
include/uapi/linux/wimax/i2400m.h +2 -2
@@ -122,7 +122,7 @@#define __LINUX__WIMAX__I2400M_H__#include <linux/types.h> - +#include <linux/if_ether.h> /* * Host Device Interface (HDI) common to all busses
@@ -487,7 +487,7 @@ struct i2400m_tlv_l4_message_versions {struct i2400m_tlv_detailed_device_info {struct i2400m_tlv_hdr hdr;__u8 reserved1[400 ]; -__u8 mac_address[6 ]; +__u8 mac_address[ETH_ALEN ];__u8 reserved2[2 ]; } __attribute__((packed));
Signature · 1 line
1.8.1.2.459.gbcd45b4.dirty
PATCH v2 2/3 include: Convert ethernet mac address declarations to use ETH_ALEN
In reply to Joe PerchesIt's convenient to have ethernet mac addresses use ETH_ALEN to be able to grep for them a bit easier and also to ensure that the addresses are __aligned(2).
Add #include <linux/if_ether.h> as necessary.
--- include/linux/dm9000.h | 4 ++- include/linux/fs_enet_pd.h | 3 ++- include/linux/ieee80211.h | 59 +++++++++++++++++++++-------------------- include/linux/mlx4/device.h | 11 ++++---- include/linux/mlx4/qp.h | 5 ++-- include/linux/mv643xx_eth.h | 3 ++- include/linux/sh_eth.h | 3 ++- include/linux/smsc911x.h | 3 ++- include/linux/uwb/spec.h | 5 ++-- include/media/tveeprom.h | 4 ++- include/net/irda/irlan_common.h | 3 ++- 11 files changed, 58 insertions(+), 45 deletions(-)
include/linux/dm9000.h +3 -1
@@ -14,6 +14,8 @@#ifndef __DM9000_PLATFORM_DATA#define __DM9000_PLATFORM_DATA __FILE__ +#include <linux/if_ether.h> +/* IO control flags */ #define DM9000_PLATF_8BITONLY (0x0001)
@@ -27,7 +29,7 @@struct dm9000_plat_data {unsigned int flags; -unsigned char dev_addr[6 ]; +unsigned char dev_addr[ETH_ALEN ];/* allow replacement IO routines */
include/linux/fs_enet_pd.h +2 -1
@@ -18,6 +18,7 @@#include <linux/string.h> #include <linux/of_mdio.h> +#include <linux/if_ether.h> #include <asm/types.h> #define FS_ENET_NAME "fs_enet"
@@ -135,7 +136,7 @@ struct fs_platform_info {const struct fs_mii_bus_info *bus_info;int rx_ring, tx_ring;/* number of buffers on rx */ -__u8 macaddr[6 ];/* mac address */ +__u8 macaddr[ETH_ALEN ];/* mac address */ int rx_copybreak;/* limit we copy small frames */ int use_napi;/* use NAPI */ int napi_weight;/* NAPI weight */
include/linux/ieee80211.h +30 -29
138 lines not on this page · raw message
include/linux/mlx4/device.h +6 -5
@@ -33,6 +33,7 @@#ifndef MLX4_DEVICE_H #define MLX4_DEVICE_H +#include <linux/if_ether.h> #include <linux/pci.h> #include <linux/completion.h> #include <linux/radix-tree.h>
@@ -620,7 +621,7 @@ struct mlx4_eth_av {u8 dgid[16 ];u32 reserved4[2 ];__be16 vlan; -u8 mac[6 ]; +u8 mac[ETH_ALEN ]; };union mlx4_ext_av {
@@ -914,10 +915,10 @@ enum mlx4_net_trans_promisc_mode { };struct mlx4_spec_eth { -u8 dst_mac[6 ]; -u8 dst_mac_msk[6 ]; -u8 src_mac[6 ]; -u8 src_mac_msk[6 ]; +u8 dst_mac[ETH_ALEN ]; +u8 dst_mac_msk[ETH_ALEN ]; +u8 src_mac[ETH_ALEN ]; +u8 src_mac_msk[ETH_ALEN ];u8 ether_type_enable;__be16 ether_type;__be16 vlan_id_msk;
include/linux/mlx4/qp.h +3 -2
@@ -34,6 +34,7 @@#define MLX4_QP_H #include <linux/types.h> +#include <linux/if_ether.h> #include <linux/mlx4/device.h>
@@ -143,7 +144,7 @@ struct mlx4_qp_path {u8 feup;u8 fvl_rx;u8 reserved4[2 ]; -u8 dmac[6 ]; +u8 dmac[ETH_ALEN ]; };enum {/* fl */
@@ -318,7 +319,7 @@ struct mlx4_wqe_datagram_seg {__be32 dqpn;__be32 qkey;__be16 vlan; -u8 mac[6 ]; +u8 mac[ETH_ALEN ]; };struct mlx4_wqe_lso_seg {
include/linux/mv643xx_eth.h +2 -1
@@ -6,6 +6,7 @@#define __LINUX_MV643XX_ETH_H#include <linux/mbus.h> +#include <linux/if_ether.h> #define MV643XX_ETH_SHARED_NAME "mv643xx_eth"#define MV643XX_ETH_NAME "mv643xx_eth_port"
@@ -48,7 +49,7 @@ struct mv643xx_eth_platform_data {* Use this MAC address if it is valid, overriding the * address that is already in the hardware. */ -u8 mac_addr[6 ]; +u8 mac_addr[ETH_ALEN ];/* * If speed is 0, autonegotiation is enabled.
include/linux/sh_eth.h +2 -1
@@ -2,6 +2,7 @@#define __ASM_SH_ETH_H__#include <linux/phy.h> +#include <linux/if_ether.h> enum {EDMAC_LITTLE_ENDIAN ,EDMAC_BIG_ENDIAN };enum {
@@ -18,7 +19,7 @@ struct sh_eth_plat_data {phy_interface_t phy_interface;void (*set_mdio_gate)(void *addr); -unsigned char mac_addr[6 ]; +unsigned char mac_addr[ETH_ALEN ]; unsigned no_ether_link:1; unsigned ether_link_active_low:1; unsigned needs_init:1;
include/linux/smsc911x.h +2 -1
@@ -22,6 +22,7 @@#define __LINUX_SMSC911X_H__#include <linux/phy.h> +#include <linux/if_ether.h> /* platform_device configuration data, should be assigned to * the platform_device's dev.platform_data */
@@ -31,7 +32,7 @@ struct smsc911x_platform_config {unsigned int flags;unsigned int shift;phy_interface_t phy_interface; -unsigned char mac[6 ]; +unsigned char mac[ETH_ALEN ]; };/* Constants for platform_device irq polarity configuration */
include/linux/uwb/spec.h +3 -2
@@ -32,6 +32,7 @@#include <linux/types.h> #include <linux/bitmap.h> +#include <linux/if_ether.h> #define i1480_FW 0x00000303/* #define i1480_FW 0x00000302 */
@@ -130,7 +131,7 @@ enum { UWB_DRP_BACKOFF_WIN_MAX = 16 };* it is also used to define headers sent down and up the wire/radio). */ struct uwb_mac_addr { -u8 data[6 ]; +u8 data[ETH_ALEN ]; } __attribute__((packed));
@@ -568,7 +569,7 @@ struct uwb_rc_evt_confirm {/* Device Address Management event. [WHCI] section 3.1.3.2. */ struct uwb_rc_evt_dev_addr_mgmt {struct uwb_rceb rceb; -u8 baAddr[6 ]; +u8 baAddr[ETH_ALEN ];u8 bResultCode; } __attribute__((packed));
include/media/tveeprom.h +3 -1
@@ -12,6 +12,8 @@ enum tveeprom_audio_processor { TVEEPROM_AUDPROC_OTHER, }; +#include <linux/if_ether.h> +struct tveeprom {u32 has_radio;/* If has_ir == 0, then it is unknown what the IR capabilities are,
@@ -40,7 +42,7 @@ struct tveeprom {u32 revision;u32 serial_number;char rev_str[5 ]; -u8 MAC_address[6 ]; +u8 MAC_address[ETH_ALEN ]; }; void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,
include/net/irda/irlan_common.h +2 -1
@@ -32,6 +32,7 @@#include <linux/types.h> #include <linux/skbuff.h> #include <linux/netdevice.h> +#include <linux/if_ether.h> #include <net/irda/irttp.h>
@@ -161,7 +162,7 @@ struct irlan_provider_cb {int access_type;/* Access type */ __u16 send_arb_val; -__u8 mac_address[6 ];/* Generated MAC address for peer device */ +__u8 mac_address[ETH_ALEN ];/* Generated MAC address for peer device */ };/*
Signature · 1 line
1.8.1.2.459.gbcd45b4.dirty
PATCH v2 3/3 ethernet: Convert mac address uses of 6 to ETH_ALEN
In reply to Joe PerchesUse the normal #define to help grep find mac addresses and ensure that addresses are aligned.
Move one address in pasemi_mac.h for alignment.
--- drivers/net/ethernet/8390/ax88796.c | 4 ++-- drivers/net/ethernet/amd/pcnet32.c | 6 +++--- drivers/net/ethernet/broadcom/cnic_if.h | 6 +++--- drivers/net/ethernet/dec/tulip/tulip_core.c | 8 +++++--- drivers/net/ethernet/i825xx/sun3_82586.h | 4 ++-- drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 2 +- drivers/net/ethernet/nuvoton/w90p910_ether.c | 4 ++-- drivers/net/ethernet/pasemi/pasemi_mac.c | 13 +++++++------ drivers/net/ethernet/pasemi/pasemi_mac.h | 4 ++-- drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c | 4 ++-- drivers/net/ethernet/qlogic/qlge/qlge.h | 2 +- 11 files changed, 30 insertions(+), 27 deletions(-)
drivers/net/ethernet/8390/ax88796.c +2 -2
@@ -707,7 +707,7 @@ static int ax_init_dev(struct net_device *dev)#ifdef CONFIG_AX88796_93CX6 if (ax->plat->flags &AXFLG_HAS_93CX6 ) { -unsigned char mac_addr[6 ]; +unsigned char mac_addr[ETH_ALEN ];struct eeprom_93cx6 eeprom; eeprom.data = ei_local;
@@ -719,7 +719,7 @@ static int ax_init_dev(struct net_device *dev) (__le16 __force *)mac_addr, sizeof(mac_addr) >> 1); - memcpy(dev->dev_addr, mac_addr, 6); + memcpy(dev->dev_addr, mac_addr, ETH_ALEN); }#endif if (ax->plat->wordlength ==2 ) {
drivers/net/ethernet/amd/pcnet32.c +3 -3
@@ -1521,7 +1521,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)char *chipname;struct net_device *dev;const struct pcnet32_access *a =NULL ; -u8 promaddr[6 ]; +u8 promaddr[ETH_ALEN ];int ret = -ENODEV ;/* reset the chip */
@@ -1665,10 +1665,10 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev) }/* read PROM address and compare with CSR address */ -for (i =0 ; i <6 ; i++) +for (i =0 ; i <ETH_ALEN ; i++) promaddr[i] =inb (ioaddr + i); -if (memcmp (promaddr, dev->dev_addr,6 ) || +if (memcmp (promaddr, dev->dev_addr,ETH_ALEN ) || !is_valid_ether_addr (dev->dev_addr)) {if (is_valid_ether_addr (promaddr)) {if (pcnet32_debug &NETIF_MSG_PROBE ) {
drivers/net/ethernet/broadcom/cnic_if.h +3 -3
@@ -238,8 +238,8 @@ struct cnic_sock {u16 src_port;u16 dst_port;u16 vlan_id; -unsigned char old_ha[6 ]; -unsigned char ha[6 ]; +unsigned char old_ha[ETH_ALEN ]; +unsigned char ha[ETH_ALEN ];u32 mtu;u32 cid;u32 l5_cid;
@@ -308,7 +308,7 @@ struct cnic_dev {#define CNIC_F_BNX2_CLASS 3#define CNIC_F_BNX2X_CLASS 4atomic_t ref_count; -u8 mac_addr[6 ]; +u8 mac_addr[ETH_ALEN ];int max_iscsi_conn;int max_fcoe_conn;
drivers/net/ethernet/dec/tulip/tulip_core.c +5 -3
@@ -1304,7 +1304,9 @@ static int tulip_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) {struct tulip_private *tp;/* See note below on the multiport cards. */ -static unsigned char last_phys_addr[6 ] = {0x00 ,'L' ,'i' ,'n' ,'u' ,'x' }; +static unsigned char last_phys_addr[ETH_ALEN ] = { +0x00 ,'L' ,'i' ,'n' ,'u' ,'x' + };static int last_irq;static int multiport_cnt;/* For four-port boards w/one EEPROM */ int i, irq;
@@ -1627,8 +1629,8 @@ static int tulip_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) dev->dev_addr[i] = last_phys_addr[i] +1 ;#if defined(CONFIG_SPARC ) addr =of_get_property (dp,"local-mac-address" , &len); -if (addr && len ==6 ) -memcpy (dev->dev_addr, addr,6 ); +if (addr && len ==ETH_ALEN ) +memcpy (dev->dev_addr, addr,ETH_ALEN );#endif #if defined(__i386__) || defined(__x86_64__)/* Patch up x86 BIOS bug. */ if (last_irq)
drivers/net/ethernet/i825xx/sun3_82586.h +2 -2
@@ -133,8 +133,8 @@ struct rfd_structunsigned char last;/* Bit15,Last Frame on List / Bit14,suspend */ unsigned short next;/* linkoffset to next RFD */ unsigned short rbd_offset;/* pointeroffset to RBD-buffer */ -unsigned char dest[6 ];/* ethernet-address, destination */ -unsigned char source[6 ];/* ethernet-address, source */ +unsigned char dest[ETH_ALEN ];/* ethernet-address, destination */ +unsigned char source[ETH_ALEN ];/* ethernet-address, source */ unsigned short length;/* 802.3 frame-length */ unsigned short zero_dummy;/* dummy */ };
drivers/net/ethernet/myricom/myri10ge/myri10ge.c +1 -1
@@ -244,7 +244,7 @@ struct myri10ge_priv {int fw_ver_minor;int fw_ver_tiny;int adopted_rx_filter_bug; -u8 mac_addr[6 ];/* eeprom mac address */ +u8 mac_addr[ETH_ALEN ];/* eeprom mac address */ unsigned long serial_number;int vendor_specific_offset;int fw_multicast_support;
drivers/net/ethernet/nuvoton/w90p910_ether.c +2 -2
@@ -922,7 +922,7 @@ static void __init get_mac_address(struct net_device *dev) {struct w90p910_ether *ether =netdev_priv (dev);struct platform_device *pdev; -char addr[6 ]; +char addr[ETH_ALEN ]; pdev = ether->pdev;
@@ -934,7 +934,7 @@ static void __init get_mac_address(struct net_device *dev) addr[5 ] =0xa8 ;if (is_valid_ether_addr (addr)) -memcpy (dev->dev_addr, &addr,0x06 ); +memcpy (dev->dev_addr, &addr,ETH_ALEN );else dev_err (&pdev->dev,"invalid mac address\n" ); }
drivers/net/ethernet/pasemi/pasemi_mac.c +7 -6
@@ -191,7 +191,7 @@ static int pasemi_get_mac_addr(struct pasemi_mac *mac)struct device_node *dn =pci_device_to_OF_node (pdev);int len;const u8 *maddr; -u8 addr[6 ]; +u8 addr[ETH_ALEN ];if (!dn) { dev_dbg(&pdev->dev,
@@ -201,8 +201,8 @@ static int pasemi_get_mac_addr(struct pasemi_mac *mac) maddr =of_get_property (dn,"local-mac-address" , &len); -if (maddr && len ==6 ) { -memcpy (mac->mac_addr, maddr,6 ); +if (maddr && len ==ETH_ALEN ) { +memcpy (mac->mac_addr, maddr,ETH_ALEN );return 0 ; }
@@ -219,14 +219,15 @@ static int pasemi_get_mac_addr(struct pasemi_mac *mac)return -ENOENT ; } -if (sscanf (maddr,"%hhx:%hhx:%hhx:%hhx:%hhx:%hhx" , &addr[0 ], - &addr[1 ], &addr[2 ], &addr[3 ], &addr[4 ], &addr[5 ]) !=6 ) { +if (sscanf (maddr,"%hhx:%hhx:%hhx:%hhx:%hhx:%hhx" , + &addr[0 ], &addr[1 ], &addr[2 ], &addr[3 ], &addr[4 ], &addr[5 ]) + !=ETH_ALEN ) {dev_warn (&pdev->dev,"can't parse mac address, not configuring\n" );return -EINVAL ; } -memcpy (mac->mac_addr, addr,6 ); +memcpy (mac->mac_addr, addr,ETH_ALEN );return 0 ; }
drivers/net/ethernet/pasemi/pasemi_mac.h +2 -2
@@ -79,11 +79,11 @@ struct pasemi_mac {int last_cs;int num_cs;u32 dma_if; -u8 type;#define MAC_TYPE_GMAC 1#define MAC_TYPE_XAUI 2 -u8 mac_addr[6 ]; +u8 mac_addr[ETH_ALEN ]; +u8 type;struct net_lro_mgr lro_mgr;struct net_lro_desc lro_desc[MAX_LRO_DESCRIPTORS ];
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c +2 -2
@@ -536,10 +536,10 @@ static void netxen_p2_nic_set_multi(struct net_device *netdev) {struct netxen_adapter *adapter =netdev_priv (netdev);struct netdev_hw_addr *ha; -u8 null_addr[6 ]; +u8 null_addr[ETH_ALEN ];int i; -memset (null_addr,0 ,6 ); +memset (null_addr,0 ,ETH_ALEN );if (netdev->flags &IFF_PROMISC ) {
drivers/net/ethernet/qlogic/qlge/qlge.h +1 -1
@@ -2149,7 +2149,7 @@ struct ql_adapter {struct timer_list timer;atomic_t lb_count;/* Keep local copy of current mac address. */ -char current_mac_addr[6 ]; +char current_mac_addr[ETH_ALEN ]; };/*
Signature · 1 line
1.8.1.2.459.gbcd45b4.dirty
Re: [PATCH V2 3/3] ethernet: Convert mac address uses of 6 to ETH_ALEN
Hi,
Quoted 5 lines · Joe Perches
drivers/net/ethernet/pasemi/pasemi_mac.h +0
-0
drivers/net/ethernet/pasemi/pasemi_mac.h struct pasemi_mac { · line 86
Quoted 10 lines
drivers/net/ethernet/pasemi/pasemi_mac.h +2
-2@@ -79,11 +79,11 @@ struct pasemi_mac {int last_cs;int num_cs;u32 dma_if; -u8 type;#define MAC_TYPE_GMAC 1#define MAC_TYPE_XAUI 2 -u8 mac_addr[6 ]; +u8 mac_addr[ETH_ALEN ]; +u8 type;
Just promote 'type' to u32 instead, saves you from moving the #defines down, etc, etc.
-Olof
Re: [PATCH V2 3/3] ethernet: Convert mac address uses of 6 to ETH_ALEN
Quoted 16 lines · Olof Johansson
Hi,
Quoted 12 lines · Joe Perches
drivers/net/ethernet/pasemi/pasemi_mac.h +0
-1@@ -79,11 +79,11 @@ struct pasemi_mac {int last_cs;int num_cs;u32 dma_if; -u8 type;#define MAC_TYPE_GMAC 1#define MAC_TYPE_XAUI 2
Quoted 6 lines
drivers/net/ethernet/pasemi/pasemi_mac.h struct pasemi_mac { · line 86
Quoted 3 lines
drivers/net/ethernet/pasemi/pasemi_mac.h +2
-1-u8 mac_addr[6 ]; +u8 mac_addr[ETH_ALEN ]; +u8 type;Just promote 'type' to u32 instead, saves you from moving the #defines down, etc, etc.
There's a more fundamental question which has to be asked: what is the point of moving that in the first place?
Re: [PATCH V2 3/3] ethernet: Convert mac address uses of 6 to ETH_ALEN
Quoted 2 lines · Russell King - ARM Linux
Quoted 1 line · Olof Johansson
Hi,
Hi all.
Quoted 2 lines
Quoted 2 lines · Joe Perches
drivers/net/ethernet/pasemi/pasemi_mac.h
Quoted 1 line
drivers/net/ethernet/pasemi/pasemi_mac.h +0
-0
[]
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
drivers/net/ethernet/pasemi/pasemi_mac.h +0
-1@@ -79,11 +79,11 @@ struct pasemi_mac {int last_cs;int num_cs;u32 dma_if; -u8 type;#define MAC_TYPE_GMAC 1#define MAC_TYPE_XAUI 2
Quoted 6 lines
Quoted 6 lines
drivers/net/ethernet/pasemi/pasemi_mac.h struct pasemi_mac { · line 86
Quoted 3 lines
drivers/net/ethernet/pasemi/pasemi_mac.h +2
-1-u8 mac_addr[6 ]; +u8 mac_addr[ETH_ALEN ]; +u8 type;Just promote 'type' to u32 instead, saves you from moving the #defines down, etc, etc.
type is already u8, why change it?
That would also change struct size.
Quoted 2 lines
There's a more fundamental question which has to be asked: what is the point of moving that in the first place?
Some is_<foo>_ether_addr tests assume __aligned(2) by a casting char * to u16/be16 * and dereferencing.
see patch 0/3 and include/linux/etherdevice.h
Re: [PATCH V2 3/3] ethernet: Convert mac address uses of 6 to ETH_ALEN
Quoted 27 lines · Joe Perches
Quoted 2 lines · Russell King - ARM Linux
Quoted 1 line · Olof Johansson
Hi,
Hi all.
Quoted 2 lines
Quoted 2 lines · Joe Perches
drivers/net/ethernet/pasemi/pasemi_mac.h
Quoted 1 line
drivers/net/ethernet/pasemi/pasemi_mac.h +0
-0[]
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
drivers/net/ethernet/pasemi/pasemi_mac.h +0
-1@@ -79,11 +79,11 @@ struct pasemi_mac {int last_cs;int num_cs;u32 dma_if; -u8 type;#define MAC_TYPE_GMAC 1#define MAC_TYPE_XAUI 2Quoted 6 lines
Quoted 6 lines
drivers/net/ethernet/pasemi/pasemi_mac.h struct pasemi_mac { · line 86
Quoted 3 lines
drivers/net/ethernet/pasemi/pasemi_mac.h +2
-1-u8 mac_addr[6 ]; +u8 mac_addr[ETH_ALEN ]; +u8 type;Just promote 'type' to u32 instead, saves you from moving the #defines down, etc, etc.
type is already u8, why change it?
That would also change struct size.
Quoted 7 lines
Quoted 2 lines
There's a more fundamental question which has to be asked: what is the point of moving that in the first place?
Some is_<foo>_ether_addr tests assume
__aligned(2)by a casting char * to u16/be16 * and dereferencing.see patch 0/3 and
include/linux/etherdevice.h
This seems rather obscure - I mean, it's not obvious to driver authors that should be the case. Would it not be better to make this a little more obvious somehow? Maybe __aligned(2) against mac_addr? Or maybe have a debugging check for it?
Re: [PATCH V2 3/3] ethernet: Convert mac address uses of 6 to ETH_ALEN
Quoted 30 lines · Russell King - ARM Linux
Quoted 29 lines · Joe Perches
Quoted 3 lines · Russell King - ARM Linux
Quoted 2 lines · Olof Johansson
drivers/net/ethernet/pasemi/pasemi_mac.h
Quoted 1 line · Joe Perches
drivers/net/ethernet/pasemi/pasemi_mac.h +0
-0[]
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
drivers/net/ethernet/pasemi/pasemi_mac.h +0
-1@@ -79,11 +79,11 @@ struct pasemi_mac {int last_cs;int num_cs;u32 dma_if; -u8 type;#define MAC_TYPE_GMAC 1#define MAC_TYPE_XAUI 2Quoted 6 lines
Quoted 6 lines
drivers/net/ethernet/pasemi/pasemi_mac.h struct pasemi_mac { · line 86
Quoted 3 lines
drivers/net/ethernet/pasemi/pasemi_mac.h +2
-1-u8 mac_addr[6 ]; +u8 mac_addr[ETH_ALEN ]; +u8 type;Just promote 'type' to u32 instead, saves you from moving the #defines down, etc, etc.
type is already u8, why change it?
That would also change struct size.Quoted 2 lines
There's a more fundamental question which has to be asked: what is the point of moving that in the first place?
Some is_<foo>_ether_addr tests assume
__aligned(2)by a casting char * to u16/be16 * and dereferencing.
Quoted 6 lines
Quoted 1 line
see patch 0/3 and
include/linux/etherdevice.hThis seems rather obscure - I mean, it's not obvious to driver authors that should be the case. Would it not be better to make this a little more obvious somehow? Maybe
__aligned(2)againstmac_addr? Or maybe have a debugging check for it?
That'd be for David Miller (cc'd).
I believe he's argued in the past that any alignment check for mac addresses was unnecessary.
For all I know it really might not matter because pasemi can successfully dereference a ushort against an odd char pointer.
I just noticed it and thought it'd be better moved.
Re: [PATCH V2 3/3] ethernet: Convert mac address uses of 6 to ETH_ALEN
Quoted 8 lines · Joe Perches
Quoted 4 lines · Russell King - ARM Linux
This seems rather obscure - I mean, it's not obvious to driver authors that should be the case. Would it not be better to make this a little more obvious somehow? Maybe
__aligned(2)againstmac_addr? Or maybe have a debugging check for it?That'd be for David Miller (cc'd).
Quoted 8 lines
I believe he's argued in the past that any alignment check for mac addresses was unnecessary.
For all I know it really might not matter because pasemi can successfully dereference a ushort against an odd char pointer.
I just noticed it and thought it'd be better moved.
As can ARM too for years now - either in hardware or via fixup for kernel code.
David Miller
maintainerRe: [PATCH V2 3/3] ethernet: Convert mac address uses of 6 to ETH_ALEN
From: Russell King - ARM Linux <[email protected]>
Date: Thu, 1 Aug 2013 22:06:18 +0100
Quoted 12 lines · Joe Perches
Quoted 11 lines · Russell King - ARM Linux
Quoted 4 lines
This seems rather obscure - I mean, it's not obvious to driver authors that should be the case. Would it not be better to make this a little more obvious somehow? Maybe
__aligned(2)againstmac_addr? Or maybe have a debugging check for it?That'd be for David Miller (cc'd).
I believe he's argued in the past that any alignment check for mac addresses was unnecessary.
Quoted 8 lines
Quoted 5 lines
For all I know it really might not matter because pasemi can successfully dereference a ushort against an odd char pointer.
I just noticed it and thought it'd be better moved.
As can ARM too for years now - either in hardware or via fixup for kernel code.
But probably not a good idea if it's done in a fast path.
Re: [PATCH V2 3/3] ethernet: Convert mac address uses of 6 to ETH_ALEN
Quoted 19 lines · David Miller
From: Russell King - ARM Linux <[email protected]>
Date: Thu, 1 Aug 2013 22:06:18 +0100Quoted 16 lines · Joe Perches
Quoted 15 lines · Russell King - ARM Linux
Quoted 4 lines
This seems rather obscure - I mean, it's not obvious to driver authors that should be the case. Would it not be better to make this a little more obvious somehow? Maybe
__aligned(2)againstmac_addr? Or maybe have a debugging check for it?That'd be for David Miller (cc'd).
I believe he's argued in the past that any alignment check for mac addresses was unnecessary.
For all I know it really might not matter because pasemi can successfully dereference a ushort against an odd char pointer.
Quoted 6 lines
Quoted 4 lines
Quoted 1 line
I just noticed it and thought it'd be better moved.
As can ARM too for years now - either in hardware or via fixup for kernel code.
But probably not a good idea if it's done in a fast path.
This particular driver is for the PA Semi chips, and I very much doubt that compatible hardware will ever show up anywhere else; they're fairly dependent on the I/O architecture of the chip and Apple has not brought those aspects forward in their ARM chips, as far as I know.
So, you might as well leave the code alone for now. It's not used on fast path, and the system definitely handles unaligned accesses for this -- it has for years already.
-Olof
David Miller
maintainerRe: [PATCH V2 3/3] ethernet: Convert mac address uses of 6 to ETH_ALEN
From: Olof Johansson <[email protected]>
Date: Thu, 1 Aug 2013 14:24:32 -0700
Quoted 3 lines
So, you might as well leave the code alone for now. It's not used on fast path, and the system definitely handles unaligned accesses for this -- it has for years already.
Fair enough, Joe please respin.
v3 cover networking: Use ETH_ALEN where appropriate
Convert the uses mac addresses to ETH_ALEN so it's easier to find and verify where mac addresses need to be __aligned(2)
Change in V2:
- Remove include/acpi/actbl2.h conversion
It's a file copied from outside ACPI sources
Changes in V3:
- Don't move the pasemi_mac.h mac address to be aligned(2) Just note that it's unaligned.
Joe Perches (3):
uapi: Convert some uses of 6 to ETH_ALEN
include: Convert ethernet mac address declarations to use ETH_ALEN
ethernet: Convert mac address uses of 6 to ETH_ALEN
drivers/net/ethernet/8390/ax88796.c | 4 +- drivers/net/ethernet/amd/pcnet32.c | 6 +-- drivers/net/ethernet/broadcom/cnic_if.h | 6 +-- drivers/net/ethernet/dec/tulip/tulip_core.c | 8 +-- drivers/net/ethernet/i825xx/sun3_82586.h | 4 +- drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 2 +- drivers/net/ethernet/nuvoton/w90p910_ether.c | 4 +- drivers/net/ethernet/pasemi/pasemi_mac.c | 13 ++--- drivers/net/ethernet/pasemi/pasemi_mac.h | 2 +- drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c | 4 +- drivers/net/ethernet/qlogic/qlge/qlge.h | 2 +- include/linux/dm9000.h | 4 +- include/linux/fs_enet_pd.h | 3 +- include/linux/ieee80211.h | 59 +++++++++++----------- include/linux/mlx4/device.h | 11 ++-- include/linux/mlx4/qp.h | 5 +- include/linux/mv643xx_eth.h | 3 +- include/linux/sh_eth.h | 3 +- include/linux/smsc911x.h | 3 +- include/linux/uwb/spec.h | 5 +- include/media/tveeprom.h | 4 +- include/net/irda/irlan_common.h | 3 +- include/uapi/linux/dn.h | 3 +- include/uapi/linux/if_bridge.h | 3 +- include/uapi/linux/netfilter_bridge/ebt_802_3.h | 5 +- include/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h | 3 +- include/uapi/linux/virtio_net.h | 2 +- include/uapi/linux/wimax/i2400m.h | 4 +- 28 files changed, 99 insertions(+), 79 deletions(-)
Signature · 1 line
1.8.1.2.459.gbcd45b4.dirty
PATCH v3 1/3 uapi: Convert some uses of 6 to ETH_ALEN
In reply to David MillerUse the #define where appropriate.
Add #include <linux/if_ether.h>
where appropriate too.
--- include/uapi/linux/dn.h | 3 ++- include/uapi/linux/if_bridge.h | 3 ++- include/uapi/linux/netfilter_bridge/ebt_802_3.h | 5 +++-- include/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h | 3 ++- include/uapi/linux/virtio_net.h | 2 +- include/uapi/linux/wimax/i2400m.h | 4 ++-- 6 files changed, 12 insertions(+), 8 deletions(-)
include/uapi/linux/dn.h +2 -1
@@ -2,6 +2,7 @@#define _LINUX_DN_H#include <linux/types.h> +#include <linux/if_ether.h> /*
@@ -120,7 +121,7 @@ struct linkinfo_dn {* Ethernet address format (for DECnet) */ union etheraddress { -__u8 dne_addr[6 ];/* Full ethernet address */ +__u8 dne_addr[ETH_ALEN ];/* Full ethernet address */ struct {__u8 dne_hiord[4 ];/* DECnet HIORD prefix */ __u8 dne_nodeaddr[2 ];/* DECnet node address */
include/uapi/linux/if_bridge.h +2 -1
@@ -14,6 +14,7 @@#define _UAPI_LINUX_IF_BRIDGE_H#include <linux/types.h> +#include <linux/if_ether.h> #define SYSFS_BRIDGE_ATTR "bridge"#define SYSFS_BRIDGE_FDB "brforward"
@@ -88,7 +89,7 @@ struct __port_info { };struct __fdb_entry { -__u8 mac_addr[6 ]; +__u8 mac_addr[ETH_ALEN ];__u8 port_no;__u8 is_local;__u32 ageing_timer_value;
include/uapi/linux/netfilter_bridge/ebt_802_3.h +3 -2
@@ -2,6 +2,7 @@#define _UAPI__LINUX_BRIDGE_EBT_802_3_H#include <linux/types.h> +#include <linux/if_ether.h> #define EBT_802_3_SAP 0x01#define EBT_802_3_TYPE 0x02
@@ -42,8 +43,8 @@ struct hdr_ni { };struct ebt_802_3_hdr { -__u8 daddr[6 ]; -__u8 saddr[6 ]; +__u8 daddr[ETH_ALEN ]; +__u8 saddr[ETH_ALEN ];__be16 len;union {struct hdr_ui ui;
include/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h +2 -1
@@ -2,6 +2,7 @@#define _IPT_CLUSTERIP_H_target#include <linux/types.h> +#include <linux/if_ether.h> enum clusterip_hashmode {CLUSTERIP_HASHMODE_SIP =0 ,
@@ -22,7 +23,7 @@ struct ipt_clusterip_tgt_info {__u32 flags;/* only relevant for new ones */ -__u8 clustermac[6 ]; +__u8 clustermac[ETH_ALEN ];__u16 num_total_nodes;__u16 num_local_nodes;__u16 local_nodes[CLUSTERIP_MAX_NODES ];
include/uapi/linux/virtio_net.h +1 -1
@@ -60,7 +60,7 @@struct virtio_net_config {/* The config defining mac address (if VIRTIO_NET_F_MAC) */ -__u8 mac[6 ]; +__u8 mac[ETH_ALEN ];/* See VIRTIO_NET_F_STATUS and VIRTIO_NET_S_* above */ __u16 status;/* Maximum number of each of transmit and receive queues;
include/uapi/linux/wimax/i2400m.h +2 -2
@@ -122,7 +122,7 @@#define __LINUX__WIMAX__I2400M_H__#include <linux/types.h> - +#include <linux/if_ether.h> /* * Host Device Interface (HDI) common to all busses
@@ -487,7 +487,7 @@ struct i2400m_tlv_l4_message_versions {struct i2400m_tlv_detailed_device_info {struct i2400m_tlv_hdr hdr;__u8 reserved1[400 ]; -__u8 mac_address[6 ]; +__u8 mac_address[ETH_ALEN ];__u8 reserved2[2 ]; } __attribute__((packed));
Signature · 1 line
1.8.1.2.459.gbcd45b4.dirty
PATCH v3 2/3 include: Convert ethernet mac address declarations to use ETH_ALEN
In reply to David MillerIt's convenient to have ethernet mac addresses use ETH_ALEN to be able to grep for them a bit easier and also to ensure that the addresses are __aligned(2).
Add #include <linux/if_ether.h> as necessary.
--- include/linux/dm9000.h | 4 ++- include/linux/fs_enet_pd.h | 3 ++- include/linux/ieee80211.h | 59 +++++++++++++++++++++-------------------- include/linux/mlx4/device.h | 11 ++++---- include/linux/mlx4/qp.h | 5 ++-- include/linux/mv643xx_eth.h | 3 ++- include/linux/sh_eth.h | 3 ++- include/linux/smsc911x.h | 3 ++- include/linux/uwb/spec.h | 5 ++-- include/media/tveeprom.h | 4 ++- include/net/irda/irlan_common.h | 3 ++- 11 files changed, 58 insertions(+), 45 deletions(-)
include/linux/dm9000.h +3 -1
@@ -14,6 +14,8 @@#ifndef __DM9000_PLATFORM_DATA#define __DM9000_PLATFORM_DATA __FILE__ +#include <linux/if_ether.h> +/* IO control flags */ #define DM9000_PLATF_8BITONLY (0x0001)
@@ -27,7 +29,7 @@struct dm9000_plat_data {unsigned int flags; -unsigned char dev_addr[6 ]; +unsigned char dev_addr[ETH_ALEN ];/* allow replacement IO routines */
include/linux/fs_enet_pd.h +2 -1
@@ -18,6 +18,7 @@#include <linux/string.h> #include <linux/of_mdio.h> +#include <linux/if_ether.h> #include <asm/types.h> #define FS_ENET_NAME "fs_enet"
@@ -135,7 +136,7 @@ struct fs_platform_info {const struct fs_mii_bus_info *bus_info;int rx_ring, tx_ring;/* number of buffers on rx */ -__u8 macaddr[6 ];/* mac address */ +__u8 macaddr[ETH_ALEN ];/* mac address */ int rx_copybreak;/* limit we copy small frames */ int use_napi;/* use NAPI */ int napi_weight;/* NAPI weight */
include/linux/ieee80211.h +30 -29
138 lines not on this page · raw message
include/linux/mlx4/device.h +6 -5
@@ -33,6 +33,7 @@#ifndef MLX4_DEVICE_H #define MLX4_DEVICE_H +#include <linux/if_ether.h> #include <linux/pci.h> #include <linux/completion.h> #include <linux/radix-tree.h>
@@ -620,7 +621,7 @@ struct mlx4_eth_av {u8 dgid[16 ];u32 reserved4[2 ];__be16 vlan; -u8 mac[6 ]; +u8 mac[ETH_ALEN ]; };union mlx4_ext_av {
@@ -914,10 +915,10 @@ enum mlx4_net_trans_promisc_mode { };struct mlx4_spec_eth { -u8 dst_mac[6 ]; -u8 dst_mac_msk[6 ]; -u8 src_mac[6 ]; -u8 src_mac_msk[6 ]; +u8 dst_mac[ETH_ALEN ]; +u8 dst_mac_msk[ETH_ALEN ]; +u8 src_mac[ETH_ALEN ]; +u8 src_mac_msk[ETH_ALEN ];u8 ether_type_enable;__be16 ether_type;__be16 vlan_id_msk;
include/linux/mlx4/qp.h +3 -2
@@ -34,6 +34,7 @@#define MLX4_QP_H #include <linux/types.h> +#include <linux/if_ether.h> #include <linux/mlx4/device.h>
@@ -143,7 +144,7 @@ struct mlx4_qp_path {u8 feup;u8 fvl_rx;u8 reserved4[2 ]; -u8 dmac[6 ]; +u8 dmac[ETH_ALEN ]; };enum {/* fl */
@@ -318,7 +319,7 @@ struct mlx4_wqe_datagram_seg {__be32 dqpn;__be32 qkey;__be16 vlan; -u8 mac[6 ]; +u8 mac[ETH_ALEN ]; };struct mlx4_wqe_lso_seg {
include/linux/mv643xx_eth.h +2 -1
@@ -6,6 +6,7 @@#define __LINUX_MV643XX_ETH_H#include <linux/mbus.h> +#include <linux/if_ether.h> #define MV643XX_ETH_SHARED_NAME "mv643xx_eth"#define MV643XX_ETH_NAME "mv643xx_eth_port"
@@ -48,7 +49,7 @@ struct mv643xx_eth_platform_data {* Use this MAC address if it is valid, overriding the * address that is already in the hardware. */ -u8 mac_addr[6 ]; +u8 mac_addr[ETH_ALEN ];/* * If speed is 0, autonegotiation is enabled.
include/linux/sh_eth.h +2 -1
@@ -2,6 +2,7 @@#define __ASM_SH_ETH_H__#include <linux/phy.h> +#include <linux/if_ether.h> enum {EDMAC_LITTLE_ENDIAN ,EDMAC_BIG_ENDIAN };enum {
@@ -18,7 +19,7 @@ struct sh_eth_plat_data {phy_interface_t phy_interface;void (*set_mdio_gate)(void *addr); -unsigned char mac_addr[6 ]; +unsigned char mac_addr[ETH_ALEN ]; unsigned no_ether_link:1; unsigned ether_link_active_low:1; unsigned needs_init:1;
include/linux/smsc911x.h +2 -1
@@ -22,6 +22,7 @@#define __LINUX_SMSC911X_H__#include <linux/phy.h> +#include <linux/if_ether.h> /* platform_device configuration data, should be assigned to * the platform_device's dev.platform_data */
@@ -31,7 +32,7 @@ struct smsc911x_platform_config {unsigned int flags;unsigned int shift;phy_interface_t phy_interface; -unsigned char mac[6 ]; +unsigned char mac[ETH_ALEN ]; };/* Constants for platform_device irq polarity configuration */
include/linux/uwb/spec.h +3 -2
@@ -32,6 +32,7 @@#include <linux/types.h> #include <linux/bitmap.h> +#include <linux/if_ether.h> #define i1480_FW 0x00000303/* #define i1480_FW 0x00000302 */
@@ -130,7 +131,7 @@ enum { UWB_DRP_BACKOFF_WIN_MAX = 16 };* it is also used to define headers sent down and up the wire/radio). */ struct uwb_mac_addr { -u8 data[6 ]; +u8 data[ETH_ALEN ]; } __attribute__((packed));
@@ -568,7 +569,7 @@ struct uwb_rc_evt_confirm {/* Device Address Management event. [WHCI] section 3.1.3.2. */ struct uwb_rc_evt_dev_addr_mgmt {struct uwb_rceb rceb; -u8 baAddr[6 ]; +u8 baAddr[ETH_ALEN ];u8 bResultCode; } __attribute__((packed));
include/media/tveeprom.h +3 -1
@@ -12,6 +12,8 @@ enum tveeprom_audio_processor { TVEEPROM_AUDPROC_OTHER, }; +#include <linux/if_ether.h> +struct tveeprom {u32 has_radio;/* If has_ir == 0, then it is unknown what the IR capabilities are,
@@ -40,7 +42,7 @@ struct tveeprom {u32 revision;u32 serial_number;char rev_str[5 ]; -u8 MAC_address[6 ]; +u8 MAC_address[ETH_ALEN ]; }; void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,
include/net/irda/irlan_common.h +2 -1
@@ -32,6 +32,7 @@#include <linux/types.h> #include <linux/skbuff.h> #include <linux/netdevice.h> +#include <linux/if_ether.h> #include <net/irda/irttp.h>
@@ -161,7 +162,7 @@ struct irlan_provider_cb {int access_type;/* Access type */ __u16 send_arb_val; -__u8 mac_address[6 ];/* Generated MAC address for peer device */ +__u8 mac_address[ETH_ALEN ];/* Generated MAC address for peer device */ };/*
Signature · 1 line
1.8.1.2.459.gbcd45b4.dirty
PATCH v3 3/3 ethernet: Convert mac address uses of 6 to ETH_ALEN
In reply to David MillerUse the normal #define to help grep find mac addresses and ensure that addresses are aligned.
pasemi.h has an unaligned access to mac_addr, unchanged for now.
--- drivers/net/ethernet/8390/ax88796.c | 4 ++-- drivers/net/ethernet/amd/pcnet32.c | 6 +++--- drivers/net/ethernet/broadcom/cnic_if.h | 6 +++--- drivers/net/ethernet/dec/tulip/tulip_core.c | 8 +++++--- drivers/net/ethernet/i825xx/sun3_82586.h | 4 ++-- drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 2 +- drivers/net/ethernet/nuvoton/w90p910_ether.c | 4 ++-- drivers/net/ethernet/pasemi/pasemi_mac.c | 13 +++++++------ drivers/net/ethernet/pasemi/pasemi_mac.h | 2 +- drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c | 4 ++-- drivers/net/ethernet/qlogic/qlge/qlge.h | 2 +- 11 files changed, 29 insertions(+), 26 deletions(-)
drivers/net/ethernet/8390/ax88796.c +2 -2
@@ -707,7 +707,7 @@ static int ax_init_dev(struct net_device *dev)#ifdef CONFIG_AX88796_93CX6 if (ax->plat->flags &AXFLG_HAS_93CX6 ) { -unsigned char mac_addr[6 ]; +unsigned char mac_addr[ETH_ALEN ];struct eeprom_93cx6 eeprom; eeprom.data = ei_local;
@@ -719,7 +719,7 @@ static int ax_init_dev(struct net_device *dev) (__le16 __force *)mac_addr, sizeof(mac_addr) >> 1); - memcpy(dev->dev_addr, mac_addr, 6); + memcpy(dev->dev_addr, mac_addr, ETH_ALEN); }#endif if (ax->plat->wordlength ==2 ) {
drivers/net/ethernet/amd/pcnet32.c +3 -3
@@ -1521,7 +1521,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)char *chipname;struct net_device *dev;const struct pcnet32_access *a =NULL ; -u8 promaddr[6 ]; +u8 promaddr[ETH_ALEN ];int ret = -ENODEV ;/* reset the chip */
@@ -1665,10 +1665,10 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev) }/* read PROM address and compare with CSR address */ -for (i =0 ; i <6 ; i++) +for (i =0 ; i <ETH_ALEN ; i++) promaddr[i] =inb (ioaddr + i); -if (memcmp (promaddr, dev->dev_addr,6 ) || +if (memcmp (promaddr, dev->dev_addr,ETH_ALEN ) || !is_valid_ether_addr (dev->dev_addr)) {if (is_valid_ether_addr (promaddr)) {if (pcnet32_debug &NETIF_MSG_PROBE ) {
drivers/net/ethernet/broadcom/cnic_if.h +3 -3
@@ -238,8 +238,8 @@ struct cnic_sock {u16 src_port;u16 dst_port;u16 vlan_id; -unsigned char old_ha[6 ]; -unsigned char ha[6 ]; +unsigned char old_ha[ETH_ALEN ]; +unsigned char ha[ETH_ALEN ];u32 mtu;u32 cid;u32 l5_cid;
@@ -308,7 +308,7 @@ struct cnic_dev {#define CNIC_F_BNX2_CLASS 3#define CNIC_F_BNX2X_CLASS 4atomic_t ref_count; -u8 mac_addr[6 ]; +u8 mac_addr[ETH_ALEN ];int max_iscsi_conn;int max_fcoe_conn;
drivers/net/ethernet/dec/tulip/tulip_core.c +5 -3
@@ -1304,7 +1304,9 @@ static int tulip_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) {struct tulip_private *tp;/* See note below on the multiport cards. */ -static unsigned char last_phys_addr[6 ] = {0x00 ,'L' ,'i' ,'n' ,'u' ,'x' }; +static unsigned char last_phys_addr[ETH_ALEN ] = { +0x00 ,'L' ,'i' ,'n' ,'u' ,'x' + };static int last_irq;static int multiport_cnt;/* For four-port boards w/one EEPROM */ int i, irq;
@@ -1627,8 +1629,8 @@ static int tulip_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) dev->dev_addr[i] = last_phys_addr[i] +1 ;#if defined(CONFIG_SPARC ) addr =of_get_property (dp,"local-mac-address" , &len); -if (addr && len ==6 ) -memcpy (dev->dev_addr, addr,6 ); +if (addr && len ==ETH_ALEN ) +memcpy (dev->dev_addr, addr,ETH_ALEN );#endif #if defined(__i386__) || defined(__x86_64__)/* Patch up x86 BIOS bug. */ if (last_irq)
drivers/net/ethernet/i825xx/sun3_82586.h +2 -2
@@ -133,8 +133,8 @@ struct rfd_structunsigned char last;/* Bit15,Last Frame on List / Bit14,suspend */ unsigned short next;/* linkoffset to next RFD */ unsigned short rbd_offset;/* pointeroffset to RBD-buffer */ -unsigned char dest[6 ];/* ethernet-address, destination */ -unsigned char source[6 ];/* ethernet-address, source */ +unsigned char dest[ETH_ALEN ];/* ethernet-address, destination */ +unsigned char source[ETH_ALEN ];/* ethernet-address, source */ unsigned short length;/* 802.3 frame-length */ unsigned short zero_dummy;/* dummy */ };
drivers/net/ethernet/myricom/myri10ge/myri10ge.c +1 -1
@@ -244,7 +244,7 @@ struct myri10ge_priv {int fw_ver_minor;int fw_ver_tiny;int adopted_rx_filter_bug; -u8 mac_addr[6 ];/* eeprom mac address */ +u8 mac_addr[ETH_ALEN ];/* eeprom mac address */ unsigned long serial_number;int vendor_specific_offset;int fw_multicast_support;
drivers/net/ethernet/nuvoton/w90p910_ether.c +2 -2
@@ -922,7 +922,7 @@ static void __init get_mac_address(struct net_device *dev) {struct w90p910_ether *ether =netdev_priv (dev);struct platform_device *pdev; -char addr[6 ]; +char addr[ETH_ALEN ]; pdev = ether->pdev;
@@ -934,7 +934,7 @@ static void __init get_mac_address(struct net_device *dev) addr[5 ] =0xa8 ;if (is_valid_ether_addr (addr)) -memcpy (dev->dev_addr, &addr,0x06 ); +memcpy (dev->dev_addr, &addr,ETH_ALEN );else dev_err (&pdev->dev,"invalid mac address\n" ); }
drivers/net/ethernet/pasemi/pasemi_mac.c +7 -6
@@ -191,7 +191,7 @@ static int pasemi_get_mac_addr(struct pasemi_mac *mac)struct device_node *dn =pci_device_to_OF_node (pdev);int len;const u8 *maddr; -u8 addr[6 ]; +u8 addr[ETH_ALEN ];if (!dn) { dev_dbg(&pdev->dev,
@@ -201,8 +201,8 @@ static int pasemi_get_mac_addr(struct pasemi_mac *mac) maddr =of_get_property (dn,"local-mac-address" , &len); -if (maddr && len ==6 ) { -memcpy (mac->mac_addr, maddr,6 ); +if (maddr && len ==ETH_ALEN ) { +memcpy (mac->mac_addr, maddr,ETH_ALEN );return 0 ; }
@@ -219,14 +219,15 @@ static int pasemi_get_mac_addr(struct pasemi_mac *mac)return -ENOENT ; } -if (sscanf (maddr,"%hhx:%hhx:%hhx:%hhx:%hhx:%hhx" , &addr[0 ], - &addr[1 ], &addr[2 ], &addr[3 ], &addr[4 ], &addr[5 ]) !=6 ) { +if (sscanf (maddr,"%hhx:%hhx:%hhx:%hhx:%hhx:%hhx" , + &addr[0 ], &addr[1 ], &addr[2 ], &addr[3 ], &addr[4 ], &addr[5 ]) + !=ETH_ALEN ) {dev_warn (&pdev->dev,"can't parse mac address, not configuring\n" );return -EINVAL ; } -memcpy (mac->mac_addr, addr,6 ); +memcpy (mac->mac_addr, addr,ETH_ALEN );return 0 ; }
drivers/net/ethernet/pasemi/pasemi_mac.h +1 -1
@@ -83,7 +83,7 @@ struct pasemi_mac {#define MAC_TYPE_GMAC 1#define MAC_TYPE_XAUI 2 -u8 mac_addr[6 ]; +u8 mac_addr[ETH_ALEN ];struct net_lro_mgr lro_mgr;struct net_lro_desc lro_desc[MAX_LRO_DESCRIPTORS ];
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c +2 -2
@@ -536,10 +536,10 @@ static void netxen_p2_nic_set_multi(struct net_device *netdev) {struct netxen_adapter *adapter =netdev_priv (netdev);struct netdev_hw_addr *ha; -u8 null_addr[6 ]; +u8 null_addr[ETH_ALEN ];int i; -memset (null_addr,0 ,6 ); +memset (null_addr,0 ,ETH_ALEN );if (netdev->flags &IFF_PROMISC ) {
drivers/net/ethernet/qlogic/qlge/qlge.h +1 -1
@@ -2149,7 +2149,7 @@ struct ql_adapter {struct timer_list timer;atomic_t lb_count;/* Keep local copy of current mac address. */ -char current_mac_addr[6 ]; +char current_mac_addr[ETH_ALEN ]; };/*
Signature · 1 line
1.8.1.2.459.gbcd45b4.dirty
Re: [PATCH V3 3/3] ethernet: Convert mac address uses of 6 to ETH_ALEN
Quoted 7 lines · Joe Perches
Use the normal #define to help grep find mac addresses and ensure that addresses are aligned.
pasemi.hhas an unaligned access tomac_addr, unchanged for now.Signed-off-by Joe Perches <[email protected]>
-Olof
David Miller
maintainerFrom: Joe Perches <[email protected]>
Date: Thu, 1 Aug 2013 16:17:46 -0700
Quoted 3 lines
Convert the uses mac addresses to
ETH_ALENso it's easier to find and verify where mac addresses need to be__aligned(2)
Series applied to net-next, thanks.