1. 08 2月, 2017 33 次提交
  2. 07 2月, 2017 7 次提交
    • D
      Merge branch 'dsa2-pdata' · 521613c5
      David S. Miller 提交于
      Florian Fainelli says:
      
      ====================
      net: dsa: Support for pdata in dsa2
      
      This is not exactly new, and was sent before, although back then, I did not
      have an user of the pre-declared MDIO board information, but now we do. Note
      that I have additional changes queued up to have b53 register platform data for
      MIPS bcm47xx and bcm63xx.
      
      Yes I know that we should have the Orion platforms eventually be converted to
      Device Tree, but until that happens, I don't want any remaining users of the
      old "dsa" platform device (hence the previous DTS submissions for ARM/mvebu)
      and, there will be platforms out there that most likely won't never see DT
      coming their way (BCM47xx is almost 100% sure, BCM63xx maybe not in a distant
      future).
      
      We would probably want the whole series to be merged via David Miller's tree
      to simplify things.
      
      Thanks!
      
      Changes in v5:
      
      - dropped changes to drivers/base/ because after more than a month, we cannot
        get any answer from Greg KH
      
      Changes in v4:
      
      - Changed device_find_class() to device_find_in_class_name()
      - Added kerneldoc above device_find_in_class_name() to explain what it does
        and the calling convention regarding device reference counts
      - Changed dev_to_net_device to device_to_net_device() added comments
        about what it does and the caller conventions regarding reference counts
      
      Changes in v3:
      
      - Tested EPROBE_DEFER from a mockup MDIO/DSA switch driver and everything
        is fine, once the driver finally probes we have access to platform data
        as expected
      
      - added comment above dsa_port_is_valid() that port->name is mandatory
        for platform data cases
      
      - added an extra check in dsa_parse_member() for a NULL pdata pointer
      
      - fixed a bunch of checkpatch errors and warnings
      
      Changes in v2:
      
      - Rebased against latest net-next/master
      
      - Moved dev_find_class() to device_find_class() into drivers/base/core.c
      
      - Moved dev_to_net_device into net/core/dev.c
      
      - Utilize dsa_chip_data directly instead of dsa_platform_data
      
      - Augmented dsa_chip_data to be multi-CPU port ready
      
      Changes from last submission (few months back):
      
      - rebased against latest net-next
      
      - do not introduce dsa2_platform_data which was overkill and was meant to
        allow us to do exaclty the same things with platform data and Device Tree
        we use the existing dsa_platform_data instead
      
      - properly register MDIO devices when the MDIO bus is registered and associate
        platform_data with them
      
      - add a change to the Orion platform code to demonstrate how this can be used
      
      Thank you
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      521613c5
    • F
      ARM: orion: Register DSA switch as a MDIO device · 575e93f7
      Florian Fainelli 提交于
      Utilize the ability to pass board specific MDIO bus information towards a
      particular MDIO device thus allowing us to provide the per-port switch layout
      to the Marvell 88E6XXX switch driver.
      
      Since we would end-up with conflicting registration paths, do not register the
      "dsa" platform device anymore.
      
      Note that the MDIO devices registered by code in net/dsa/dsa2.c does not
      parse a dsa_platform_data, but directly take a dsa_chip_data (specific
      to a single switch chip), so we update the different call sites to pass
      this structure down to orion_ge00_switch_init().
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      575e93f7
    • F
      net: phy: Allow pre-declaration of MDIO devices · 648ea013
      Florian Fainelli 提交于
      Allow board support code to collect pre-declarations for MDIO devices by
      registering them with mdiobus_register_board_info(). SPI and I2C buses
      have a similar feature, we were missing this for MDIO devices, but this
      is particularly useful for e.g: MDIO-connected switches which need to
      provide their port layout (often board-specific) to a MDIO Ethernet
      switch driver.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      648ea013
    • F
      net: dsa: Add support for platform data · 71e0bbde
      Florian Fainelli 提交于
      Allow drivers to use the new DSA API with platform data. Most of the
      code in net/dsa/dsa2.c does not rely so much on device_nodes and can get
      the same information from platform_data instead.
      
      We purposely do not support distributed configurations with platform
      data, so drivers should be providing a pointer to a 'struct
      dsa_chip_data' structure if they wish to communicate per-port layout.
      
      Multiple CPUs port could potentially be supported and dsa_chip_data is
      extended to receive up to one reference to an upstream network device
      per port described by a dsa_chip_data structure.
      
      dsa_dev_to_net_device() increments the network device's reference count,
      so we intentionally call dev_put() to be consistent with the DT-enabled
      path, until we have a generic notifier based solution.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      71e0bbde
    • F
      net: dsa: Rename and export dev_to_net_device() · 14b89f36
      Florian Fainelli 提交于
      In preparation for using this function in net/dsa/dsa2.c, rename the function
      to make its scope DSA specific, and export it.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      14b89f36
    • A
      net: dsa: mv88e6xxx: Refactor remaining port setup · a23b2961
      Andrew Lunn 提交于
      Move the remaining port configuration code which varies per device
      into port.c, using ops were necessary. This makes
      mv88e6xxx_6185_family() and mv88e6xxx_6095_family() unused, so remove
      them.
      Signed-off-by: NAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a23b2961
    • A
      net: dsa: mv88e6xxx: Implement Clause 45 access to SMI devices · cf3e80df
      Andrew Lunn 提交于
      The mv88e6390 MDIO bus controllers can support for clause 45 accesses.
      The internal SERDES interfaces need this, and it is likely external
      10GHz PHYs will be clause 45.
      Signed-off-by: NAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cf3e80df