]> git.baikalelectronics.ru Git - kernel.git/commit
net: dsa: bcm_sf2: Utilize core B53 driver when possible
authorFlorian Fainelli <f.fainelli@gmail.com>
Fri, 26 Aug 2016 19:18:33 +0000 (12:18 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 Aug 2016 20:15:48 +0000 (13:15 -0700)
commit2e6c31aad85467578f7cdb6cb3775f2d4b53cc4a
treedd36796684e5396747048ea010e73998607b4974
parentfb11373884a55b3f9daa2289e6973a6ebbc9cdfd
net: dsa: bcm_sf2: Utilize core B53 driver when possible

The Broadcom Starfighter2 is almost entirely register compatible with
B53, yet for historical reasons came up first in the tree and is now
being updated to utilize b53_common.c to the fullest extent possible. A
few things need to be adjusted to allow that:

- the switch "core" registers currently operate on a 32-bit address,
  whereas b53 passes a page + reg pair to offset from, so we need to
  convert that, thankfully there is a generic formula to do that

- the link managemenent is not self contained with the B53/CORE register
  set, but instead is in the SWITCH_REG block which is part of the
  integration glue logic, so we keep that entirely custom here because
  this really is part of the existing bcm_sf2 implementation

- there are additional power management constraints on the port's
  memories that make us keep the port_enable/disable callbacks custom
  for now, also, we support tagging whereas b53_common does not support
  that yet

All the VLAN and bridge code is entirely identical though so, avoid
duplicating it. Other things will be migrated in the future like EEE and
possibly Wake-on-LAN.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/Kconfig
drivers/net/dsa/bcm_sf2.c
drivers/net/dsa/bcm_sf2.h