enic: Update driver to use __dev_uc/mc_sync/unsync calls
authorAlexander Duyck <alexander.h.duyck@intel.com>
Thu, 29 May 2014 01:44:52 +0000 (18:44 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 Jun 2014 17:40:54 +0000 (10:40 -0700)
commitf009618ac57cd3feeb4622147e8d2e88e47b9c1c
tree4d2d007d8db76503f01665c2fe5ad5e9d3e6e492
parent670e5b8eaf85704742bc3cb1df51fdd3ce08fc15
enic: Update driver to use __dev_uc/mc_sync/unsync calls

This change updates the enic driver to make use of __dev_uc_sync and
__dev_mc_sync calls.  Previously the driver was doing its own list
management by storing the mc_addr and uc_addr list in a 32 address array.
With this change the sync data is stored in the netdev_addr_list structures
and instead we just track how many addresses we have written to the device.
When we encounter 32 we stop and print a message as occurred previously with
the old approach.

Other than the core change the only other bit needed was to propagate the
constant attribute with the MAC address as there were several spots where
is twas only passed as a u8 * instead of a const u8 *.

This patch is meant to maintain the original functionality without the use
of the mc_addr and uc_addr arrays.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Acked-by: Govindarajulu Varadarajan <_govind@gmx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cisco/enic/enic.h
drivers/net/ethernet/cisco/enic/enic_dev.c
drivers/net/ethernet/cisco/enic/enic_dev.h
drivers/net/ethernet/cisco/enic/enic_main.c
drivers/net/ethernet/cisco/enic/vnic_dev.c
drivers/net/ethernet/cisco/enic/vnic_dev.h