1. 09 7月, 2016 1 次提交
  2. 09 6月, 2016 1 次提交
    • F
      net: dsa: Initialize CPU port ethtool ops per tree · 0c73c523
      Florian Fainelli 提交于
      Now that we can properly support multiple distinct trees in the system,
      using a global variable: dsa_cpu_port_ethtool_ops is getting clobbered
      as soon as the second switch tree gets probed, and we don't want that.
      
      We need to move this to be dynamically allocated, and since we can't
      really be comparing addresses anymore to determine first time
      initialization versus any other times, just move this to dsa.c and
      dsa2.c where the remainder of the dst/ds initialization happens.
      
      The operations teardown restores the master netdev's ethtool_ops to its
      original ethtool_ops pointer (typically within the Ethernet driver)
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0c73c523
  3. 05 6月, 2016 8 次提交
  4. 12 5月, 2016 3 次提交
  5. 22 4月, 2016 1 次提交
  6. 18 4月, 2016 1 次提交
  7. 14 4月, 2016 4 次提交
  8. 15 3月, 2016 3 次提交
  9. 11 3月, 2016 1 次提交
  10. 08 1月, 2016 1 次提交
  11. 08 12月, 2015 4 次提交
  12. 25 11月, 2015 1 次提交
    • A
      net: dsa: include gpio consumer header file · 85beabfe
      Arnd Bergmann 提交于
      After the introduction of the switch gpio reset API, I'm getting
      build errors in configurations that disable CONFIG_GPIOLIB:
      
      net/dsa/dsa.c:783:16: error: implicit declaration of function 'gpio_to_desc' [-Werror=implicit-function-declaration]
      
      The reason is that linux/gpio/consumer.h is not automatically
      included without gpiolib support. This adds an explicit #include
      statement to make it compile in all configurations. The reset
      functionality will not work without gpiolib, which is what you
      get when disabling the feature.
      
      As far as I can tell, gpiolib is supported on all architectures
      on which you can have DSA at the moment.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Fixes: cc30c163 ("net: dsa: Add support for a switch reset gpio")
      Acked-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      85beabfe
  13. 24 11月, 2015 1 次提交
  14. 07 10月, 2015 6 次提交
  15. 25 9月, 2015 2 次提交
    • R
      net: fix net_device refcounting · 9861f720
      Russell King 提交于
      of_find_net_device_by_node() uses class_find_device() internally to
      lookup the corresponding network device.  class_find_device() returns
      a reference to the embedded struct device, with its refcount
      incremented.
      
      Add a comment to the definition in net/core/net-sysfs.c indicating the
      need to drop this refcount, and fix the DSA code to drop this refcount
      when the OF-generated platform data is cleaned up and freed.  Also
      arrange for the ref to be dropped when handling errors.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9861f720
    • R
      net: dsa: fix of_mdio_find_bus() device refcount leak · e496ae69
      Russell King 提交于
      Current users of of_mdio_find_bus() leak a struct device refcount, as
      they fail to clean up the reference obtained inside class_find_device().
      
      Fix the DSA code to properly refcount the returned MDIO bus by:
      1. taking a reference on the struct device whenever we assign it to
         pd->chip[x].host_dev.
      2. dropping the reference when we overwrite the existing reference.
      3. dropping the reference when we free the data structure.
      4. dropping the initial reference we obtained after setting up the
         platform data structure, or on failure.
      
      In step 2 above, where we obtain a new MDIO bus, there is no need to
      take a reference on it as we would only have to drop it immediately
      after assignment again, iow:
      
      	put_device(cd->host_dev);	/* drop original assignment ref */
      	cd->host_dev = get_device(&mdio_bus_switch->dev); /* get our ref */
      	put_device(&mdio_bus_switch->dev); /* drop of_mdio_find_bus ref */
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e496ae69
  16. 01 9月, 2015 2 次提交