The patch titled Subject: drivers/net/ethernet/sfc: use standard __{clear,set}_bit_le() functions has been added to the -mm tree. Its filename is sfc-use-standard-__clearset_bit_le-functions.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Ben Hutchings <bhutchings@xxxxxxxxxxxxxx> Subject: 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: Ben Hutchings <bhutchings@xxxxxxxxxxxxxx> Signed-off-by: Takuya Yoshikawa <yoshikawa.takuya@xxxxxxxxxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/net/ethernet/sfc/efx.c | 4 ++-- drivers/net/ethernet/sfc/net_driver.h | 12 ------------ drivers/net/ethernet/sfc/nic.c | 4 ++-- 3 files changed, 4 insertions(+), 16 deletions(-) diff -puN drivers/net/ethernet/sfc/efx.c~sfc-use-standard-__clearset_bit_le-functions drivers/net/ethernet/sfc/efx.c --- a/drivers/net/ethernet/sfc/efx.c~sfc-use-standard-__clearset_bit_le-functions +++ a/drivers/net/ethernet/sfc/efx.c @@ -2004,14 +2004,14 @@ static void efx_set_rx_mode(struct net_d 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) diff -puN drivers/net/ethernet/sfc/net_driver.h~sfc-use-standard-__clearset_bit_le-functions drivers/net/ethernet/sfc/net_driver.h --- a/drivers/net/ethernet/sfc/net_driver.h~sfc-use-standard-__clearset_bit_le-functions +++ a/drivers/net/ethernet/sfc/net_driver.h @@ -1086,18 +1086,6 @@ static inline struct efx_rx_buffer *efx_ 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 diff -puN drivers/net/ethernet/sfc/nic.c~sfc-use-standard-__clearset_bit_le-functions drivers/net/ethernet/sfc/nic.c --- a/drivers/net/ethernet/sfc/nic.c~sfc-use-standard-__clearset_bit_le-functions +++ a/drivers/net/ethernet/sfc/nic.c @@ -472,9 +472,9 @@ void efx_nic_init_tx(struct efx_tx_queue efx_reado(efx, ®, FR_AA_TX_CHKSM_CFG); if (tx_queue->queue & EFX_TXQ_TYPE_OFFLOAD) - clear_bit_le(tx_queue->queue, (void *)®); + __clear_bit_le(tx_queue->queue, ®); else - set_bit_le(tx_queue->queue, (void *)®); + __set_bit_le(tx_queue->queue, ®); efx_writeo(efx, ®, FR_AA_TX_CHKSM_CFG); } _ Patches currently in -mm which might be from bhutchings@xxxxxxxxxxxxxx are linux-next.patch sfc-use-standard-__clearset_bit_le-functions.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html