Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32766ec8 authored by Ben Hutchings's avatar Ben Hutchings Committed by Linus Torvalds
Browse files

drivers/net/ethernet/sfc: use standard __{clear,set}_bit_le() functions



There are now standard functions for dealing with little-endian bit
arrays, so use them instead of our own implementations.

Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
Signed-off-by: default avatarTakuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 52e84243
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2019,14 +2019,14 @@ static void efx_set_rx_mode(struct net_device *net_dev)
		netdev_for_each_mc_addr(ha, net_dev) {
			crc = ether_crc_le(ETH_ALEN, ha->addr);
			bit = crc & (EFX_MCAST_HASH_ENTRIES - 1);
			set_bit_le(bit, mc_hash->byte);
			__set_bit_le(bit, mc_hash);
		}

		/* Broadcast packets go through the multicast hash filter.
		 * ether_crc_le() of the broadcast address is 0xbe2612ff
		 * so we always add bit 0xff to the mask.
		 */
		set_bit_le(0xff, mc_hash->byte);
		__set_bit_le(0xff, mc_hash);
	}

	if (efx->port_enabled)
+0 −12
Original line number Diff line number Diff line
@@ -1101,18 +1101,6 @@ static inline struct efx_rx_buffer *efx_rx_buffer(struct efx_rx_queue *rx_queue,
	return &rx_queue->buffer[index];
}

/* Set bit in a little-endian bitfield */
static inline void set_bit_le(unsigned nr, unsigned char *addr)
{
	addr[nr / 8] |= (1 << (nr % 8));
}

/* Clear bit in a little-endian bitfield */
static inline void clear_bit_le(unsigned nr, unsigned char *addr)
{
	addr[nr / 8] &= ~(1 << (nr % 8));
}


/**
 * EFX_MAX_FRAME_LEN - calculate maximum frame length
+2 −2
Original line number Diff line number Diff line
@@ -472,9 +472,9 @@ void efx_nic_init_tx(struct efx_tx_queue *tx_queue)

		efx_reado(efx, &reg, FR_AA_TX_CHKSM_CFG);
		if (tx_queue->queue & EFX_TXQ_TYPE_OFFLOAD)
			clear_bit_le(tx_queue->queue, (void *)&reg);
			__clear_bit_le(tx_queue->queue, &reg);
		else
			set_bit_le(tx_queue->queue, (void *)&reg);
			__set_bit_le(tx_queue->queue, &reg);
		efx_writeo(efx, &reg, FR_AA_TX_CHKSM_CFG);
	}