提交 459a1308 编写于 作者: T Takuya Yoshikawa 提交者: Linus Torvalds

drivers/net/ethernet/dec/tulip: Use standard __set_bit_le() function

To introduce generic set_bit_le() later, we remove our own definition
and use a proper non-atomic bitops function: __set_bit_le().
Signed-off-by: NTakuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
Acked-by: NGrant Grundler <grundler@parisc-linux.org>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 32766ec8
...@@ -661,9 +661,6 @@ static netdev_tx_t de_start_xmit (struct sk_buff *skb, ...@@ -661,9 +661,6 @@ static netdev_tx_t de_start_xmit (struct sk_buff *skb,
new frame, not around filling de->setup_frame. This is non-deterministic new frame, not around filling de->setup_frame. This is non-deterministic
when re-entered but still correct. */ when re-entered but still correct. */
#undef set_bit_le
#define set_bit_le(i,p) do { ((char *)(p))[(i)/8] |= (1<<((i)%8)); } while(0)
static void build_setup_frame_hash(u16 *setup_frm, struct net_device *dev) static void build_setup_frame_hash(u16 *setup_frm, struct net_device *dev)
{ {
struct de_private *de = netdev_priv(dev); struct de_private *de = netdev_priv(dev);
...@@ -673,12 +670,12 @@ static void build_setup_frame_hash(u16 *setup_frm, struct net_device *dev) ...@@ -673,12 +670,12 @@ static void build_setup_frame_hash(u16 *setup_frm, struct net_device *dev)
u16 *eaddrs; u16 *eaddrs;
memset(hash_table, 0, sizeof(hash_table)); memset(hash_table, 0, sizeof(hash_table));
set_bit_le(255, hash_table); /* Broadcast entry */ __set_bit_le(255, hash_table); /* Broadcast entry */
/* This should work on big-endian machines as well. */ /* This should work on big-endian machines as well. */
netdev_for_each_mc_addr(ha, dev) { netdev_for_each_mc_addr(ha, dev) {
int index = ether_crc_le(ETH_ALEN, ha->addr) & 0x1ff; int index = ether_crc_le(ETH_ALEN, ha->addr) & 0x1ff;
set_bit_le(index, hash_table); __set_bit_le(index, hash_table);
} }
for (i = 0; i < 32; i++) { for (i = 0; i < 32; i++) {
......
...@@ -1010,9 +1010,6 @@ static int private_ioctl (struct net_device *dev, struct ifreq *rq, int cmd) ...@@ -1010,9 +1010,6 @@ static int private_ioctl (struct net_device *dev, struct ifreq *rq, int cmd)
new frame, not around filling tp->setup_frame. This is non-deterministic new frame, not around filling tp->setup_frame. This is non-deterministic
when re-entered but still correct. */ when re-entered but still correct. */
#undef set_bit_le
#define set_bit_le(i,p) do { ((char *)(p))[(i)/8] |= (1<<((i)%8)); } while(0)
static void build_setup_frame_hash(u16 *setup_frm, struct net_device *dev) static void build_setup_frame_hash(u16 *setup_frm, struct net_device *dev)
{ {
struct tulip_private *tp = netdev_priv(dev); struct tulip_private *tp = netdev_priv(dev);
...@@ -1022,12 +1019,12 @@ static void build_setup_frame_hash(u16 *setup_frm, struct net_device *dev) ...@@ -1022,12 +1019,12 @@ static void build_setup_frame_hash(u16 *setup_frm, struct net_device *dev)
u16 *eaddrs; u16 *eaddrs;
memset(hash_table, 0, sizeof(hash_table)); memset(hash_table, 0, sizeof(hash_table));
set_bit_le(255, hash_table); /* Broadcast entry */ __set_bit_le(255, hash_table); /* Broadcast entry */
/* This should work on big-endian machines as well. */ /* This should work on big-endian machines as well. */
netdev_for_each_mc_addr(ha, dev) { netdev_for_each_mc_addr(ha, dev) {
int index = ether_crc_le(ETH_ALEN, ha->addr) & 0x1ff; int index = ether_crc_le(ETH_ALEN, ha->addr) & 0x1ff;
set_bit_le(index, hash_table); __set_bit_le(index, hash_table);
} }
for (i = 0; i < 32; i++) { for (i = 0; i < 32; i++) {
*setup_frm++ = hash_table[i]; *setup_frm++ = hash_table[i];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册