linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address
@ 2019-05-03 14:27 Petr Štetiar
  2019-05-03 14:27 ` [PATCH v4 02/10] dt-bindings: doc: reflect new NVMEM of_get_mac_address behaviour Petr Štetiar
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Petr Štetiar @ 2019-05-03 14:27 UTC (permalink / raw)
  To: netdev, devicetree, Matthias Brugger
  Cc: Andrew Lunn, Florian Fainelli, Maxime Ripard,
	Srinivas Kandagatla, linux-mediatek, Petr Štetiar,
	Frank Rowand, linux-arm-kernel, Heiner Kallweit

Hi,

this patch series is a continuation of my previous attempt[1], where I've
tried to wire MTD layer into of_get_mac_address, so it would be possible to
load MAC addresses from various NVMEMs as EEPROMs etc.

Predecessor of this patch which used directly MTD layer has originated in
OpenWrt some time ago and supports already about 497 use cases in 357
device tree files.

During the review process of my 1st attempt I was told, that I shouldn't be
using MTD directly, but that I should rather use new NVMEM subsystem and
during the review process of v2 I was told, that I should handle
EPROBE_DEFFER error as well, during the review process of v3 I was told,
that returning pointer/NULL/ERR_PTR is considered as wrong API design, so
this v4 patch series tries to accommodate all this previous remarks.

First patch is wiring NVMEM support directly into of_get_mac_address as
it's obvious, that adding support for NVMEM into every other driver would
mean adding a lot of repetitive code. This patch allows us to configure MAC
addresses in various devices like ethernet and wireless adapters directly
from of_get_mac_address, which is used by quite a lot of drivers in the
tree already.

Second patch is simply updating documentation with NVMEM bits, and cleaning
up all current binding documentation referencing any of the MAC address
related properties.

Third and fourth patches are simply removing duplicate NVMEM code which is
no longer needed as the first patch has wired NVMEM support directly into
of_get_mac_address.

Patches 5-10 are converting all current users of of_get_mac_address to the
new ERR_PTR encoded error value, as of_get_mac_address could now return
valid pointer, NULL and ERR_PTR.

Just for a better picture, this patch series and one simple patch[2] on top
of it, allows me to configure 8Devices Carambola2 board's MAC addresses
with following DTS (simplified):

 &spi {
 	flash@0 {
 		partitions {
			art: partition@ff0000 {
				label = "art";
				reg = <0xff0000 0x010000>;
				read-only;

				nvmem-cells {
					compatible = "nvmem-cells";
					#address-cells = <1>;
					#size-cells = <1>;

					eth0_addr: eth-mac-addr@0 {
						reg = <0x0 0x6>;
					};

					eth1_addr: eth-mac-addr@6 {
						reg = <0x6 0x6>;
					};

					wmac_addr: wifi-mac-addr@1002 {
						reg = <0x1002 0x6>;
					};
				};
			};
		};
	};
 };

 &eth0 {
	nvmem-cells = <&eth0_addr>;
	nvmem-cell-names = "mac-address";
 };

 &eth1 {
	nvmem-cells = <&eth1_addr>;
	nvmem-cell-names = "mac-address";
 };

 &wmac {
	nvmem-cells = <&wmac_addr>;
	nvmem-cell-names = "mac-address";
 };


1. https://patchwork.ozlabs.org/patch/1086628/
2. https://patchwork.ozlabs.org/patch/890738/

-- ynezz

Petr Štetiar (10):
  of_net: add NVMEM support to of_get_mac_address
  dt-bindings: doc: reflect new NVMEM of_get_mac_address behaviour
  net: macb: support of_get_mac_address new ERR_PTR error
  net: davinci: support of_get_mac_address new ERR_PTR error
  net: ethernet: support of_get_mac_address new ERR_PTR error
  net: usb: support of_get_mac_address new ERR_PTR error
  net: wireless: support of_get_mac_address new ERR_PTR error
  staging: octeon-ethernet: support of_get_mac_address new ERR_PTR error
  ARM: Kirkwood: support of_get_mac_address new ERR_PTR error
  powerpc: tsi108: support of_get_mac_address new ERR_PTR error

 .../devicetree/bindings/net/altera_tse.txt         |  5 +-
 Documentation/devicetree/bindings/net/amd-xgbe.txt |  5 +-
 .../devicetree/bindings/net/brcm,amac.txt          |  4 +-
 Documentation/devicetree/bindings/net/cpsw.txt     |  4 +-
 .../devicetree/bindings/net/davinci_emac.txt       |  5 +-
 Documentation/devicetree/bindings/net/dsa/dsa.txt  |  5 +-
 Documentation/devicetree/bindings/net/ethernet.txt |  6 ++-
 .../devicetree/bindings/net/hisilicon-femac.txt    |  4 +-
 .../bindings/net/hisilicon-hix5hd2-gmac.txt        |  4 +-
 .../devicetree/bindings/net/keystone-netcp.txt     | 10 ++--
 Documentation/devicetree/bindings/net/macb.txt     |  5 +-
 .../devicetree/bindings/net/marvell-pxa168.txt     |  4 +-
 .../devicetree/bindings/net/microchip,enc28j60.txt |  3 +-
 .../devicetree/bindings/net/microchip,lan78xx.txt  |  5 +-
 .../devicetree/bindings/net/qca,qca7000.txt        |  4 +-
 .../devicetree/bindings/net/samsung-sxgbe.txt      |  4 +-
 .../bindings/net/snps,dwc-qos-ethernet.txt         |  5 +-
 .../bindings/net/socionext,uniphier-ave4.txt       |  4 +-
 .../devicetree/bindings/net/socionext-netsec.txt   |  5 +-
 .../bindings/net/wireless/mediatek,mt76.txt        |  5 +-
 .../devicetree/bindings/net/wireless/qca,ath9k.txt |  4 +-
 arch/arm/mach-mvebu/kirkwood.c                     |  3 +-
 arch/powerpc/sysdev/tsi108_dev.c                   |  2 +-
 drivers/net/ethernet/aeroflex/greth.c              |  2 +-
 drivers/net/ethernet/allwinner/sun4i-emac.c        |  2 +-
 drivers/net/ethernet/altera/altera_tse_main.c      |  2 +-
 drivers/net/ethernet/arc/emac_main.c               |  2 +-
 drivers/net/ethernet/aurora/nb8800.c               |  2 +-
 drivers/net/ethernet/broadcom/bcmsysport.c         |  2 +-
 drivers/net/ethernet/broadcom/bgmac-bcma.c         |  2 +-
 drivers/net/ethernet/broadcom/bgmac-platform.c     |  2 +-
 drivers/net/ethernet/broadcom/genet/bcmgenet.c     |  2 +-
 drivers/net/ethernet/cadence/macb_main.c           | 12 ++---
 drivers/net/ethernet/cavium/octeon/octeon_mgmt.c   |  2 +-
 drivers/net/ethernet/cavium/thunder/thunder_bgx.c  |  2 +-
 drivers/net/ethernet/davicom/dm9000.c              |  2 +-
 drivers/net/ethernet/ethoc.c                       |  2 +-
 drivers/net/ethernet/ezchip/nps_enet.c             |  2 +-
 drivers/net/ethernet/freescale/fec_main.c          |  2 +-
 drivers/net/ethernet/freescale/fec_mpc52xx.c       |  2 +-
 drivers/net/ethernet/freescale/fman/mac.c          |  2 +-
 .../net/ethernet/freescale/fs_enet/fs_enet-main.c  |  2 +-
 drivers/net/ethernet/freescale/gianfar.c           |  2 +-
 drivers/net/ethernet/freescale/ucc_geth.c          |  2 +-
 drivers/net/ethernet/hisilicon/hisi_femac.c        |  2 +-
 drivers/net/ethernet/hisilicon/hix5hd2_gmac.c      |  2 +-
 drivers/net/ethernet/lantiq_xrx200.c               |  2 +-
 drivers/net/ethernet/marvell/mv643xx_eth.c         |  2 +-
 drivers/net/ethernet/marvell/mvneta.c              |  2 +-
 drivers/net/ethernet/marvell/pxa168_eth.c          |  2 +-
 drivers/net/ethernet/marvell/sky2.c                |  2 +-
 drivers/net/ethernet/mediatek/mtk_eth_soc.c        |  2 +-
 drivers/net/ethernet/micrel/ks8851.c               |  2 +-
 drivers/net/ethernet/micrel/ks8851_mll.c           |  2 +-
 drivers/net/ethernet/microchip/enc28j60.c          |  2 +-
 drivers/net/ethernet/nxp/lpc_eth.c                 |  2 +-
 drivers/net/ethernet/qualcomm/qca_spi.c            |  2 +-
 drivers/net/ethernet/qualcomm/qca_uart.c           |  2 +-
 drivers/net/ethernet/renesas/ravb_main.c           |  2 +-
 drivers/net/ethernet/renesas/sh_eth.c              |  2 +-
 .../net/ethernet/samsung/sxgbe/sxgbe_platform.c    |  2 +-
 drivers/net/ethernet/socionext/sni_ave.c           |  2 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |  2 +-
 drivers/net/ethernet/ti/cpsw.c                     |  2 +-
 drivers/net/ethernet/ti/davinci_emac.c             | 16 +++----
 drivers/net/ethernet/ti/netcp_core.c               |  2 +-
 drivers/net/ethernet/wiznet/w5100.c                |  2 +-
 drivers/net/ethernet/xilinx/ll_temac_main.c        |  2 +-
 drivers/net/ethernet/xilinx/xilinx_axienet_main.c  |  2 +-
 drivers/net/ethernet/xilinx/xilinx_emaclite.c      |  2 +-
 drivers/net/usb/smsc75xx.c                         |  2 +-
 drivers/net/usb/smsc95xx.c                         |  2 +-
 drivers/net/wireless/ath/ath9k/init.c              |  2 +-
 drivers/net/wireless/mediatek/mt76/eeprom.c        |  2 +-
 drivers/net/wireless/ralink/rt2x00/rt2x00dev.c     |  2 +-
 drivers/of/of_net.c                                | 54 ++++++++++++++++++++--
 drivers/staging/octeon/ethernet.c                  |  2 +-
 net/ethernet/eth.c                                 |  2 +-
 78 files changed, 175 insertions(+), 116 deletions(-)

-- 
1.9.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v4 02/10] dt-bindings: doc: reflect new NVMEM of_get_mac_address behaviour
  2019-05-03 14:27 [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address Petr Štetiar
@ 2019-05-03 14:27 ` Petr Štetiar
  2019-05-07 16:44   ` Rob Herring
  2019-05-03 14:27 ` [PATCH v4 07/10] net: wireless: support of_get_mac_address new ERR_PTR error Petr Štetiar
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 13+ messages in thread
From: Petr Štetiar @ 2019-05-03 14:27 UTC (permalink / raw)
  To: netdev, devicetree, David S. Miller, Rob Herring, Mark Rutland,
	Andrew Lunn, Vivien Didelot, Florian Fainelli, Yisen Zhuang,
	Salil Mehta, Woojung Huh, Microchip Linux Driver Support,
	Kunihiko Hayashi, Masahiro Yamada, Jassi Brar, Kalle Valo,
	Matthias Brugger
  Cc: Maxime Ripard, linux-wireless, linux-kernel, Srinivas Kandagatla,
	linux-mediatek, Petr Štetiar, Frank Rowand,
	linux-arm-kernel, Heiner Kallweit

As of_get_mac_address now supports NVMEM under the hood, we need to update
the bindings documentation with the new nvmem-cell* properties, which would
mean copy&pasting a lot of redundant information to every binding
documentation currently referencing some of the MAC address properties.

So I've just removed all the references to the optional MAC address
properties and replaced them with the small note referencing
net/ethernet.txt file.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
---

 Changes since v2:

 * replaced only MAC address related optional properties with a text
   referencing ethernet.txt

 Documentation/devicetree/bindings/net/altera_tse.txt           |  5 ++---
 Documentation/devicetree/bindings/net/amd-xgbe.txt             |  5 +++--
 Documentation/devicetree/bindings/net/brcm,amac.txt            |  4 ++--
 Documentation/devicetree/bindings/net/cpsw.txt                 |  4 +++-
 Documentation/devicetree/bindings/net/davinci_emac.txt         |  5 +++--
 Documentation/devicetree/bindings/net/dsa/dsa.txt              |  5 ++---
 Documentation/devicetree/bindings/net/ethernet.txt             |  6 ++++--
 Documentation/devicetree/bindings/net/hisilicon-femac.txt      |  4 +++-
 .../devicetree/bindings/net/hisilicon-hix5hd2-gmac.txt         |  4 +++-
 Documentation/devicetree/bindings/net/keystone-netcp.txt       | 10 +++++-----
 Documentation/devicetree/bindings/net/macb.txt                 |  5 ++---
 Documentation/devicetree/bindings/net/marvell-pxa168.txt       |  4 +++-
 Documentation/devicetree/bindings/net/microchip,enc28j60.txt   |  3 ++-
 Documentation/devicetree/bindings/net/microchip,lan78xx.txt    |  5 ++---
 Documentation/devicetree/bindings/net/qca,qca7000.txt          |  4 +++-
 Documentation/devicetree/bindings/net/samsung-sxgbe.txt        |  4 +++-
 .../devicetree/bindings/net/snps,dwc-qos-ethernet.txt          |  5 +++--
 .../devicetree/bindings/net/socionext,uniphier-ave4.txt        |  4 ++--
 Documentation/devicetree/bindings/net/socionext-netsec.txt     |  5 +++--
 .../devicetree/bindings/net/wireless/mediatek,mt76.txt         |  5 +++--
 Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt   |  4 ++--
 21 files changed, 58 insertions(+), 42 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/altera_tse.txt b/Documentation/devicetree/bindings/net/altera_tse.txt
index 0e21df9..0b7d4d3 100644
--- a/Documentation/devicetree/bindings/net/altera_tse.txt
+++ b/Documentation/devicetree/bindings/net/altera_tse.txt
@@ -46,9 +46,8 @@ Required properties:
 	- reg: phy id used to communicate to phy.
 	- device_type: Must be "ethernet-phy".
 
-Optional properties:
-- local-mac-address: See ethernet.txt in the same directory.
-- max-frame-size: See ethernet.txt in the same directory.
+The MAC address will be determined using the optional properties defined in
+ethernet.txt.
 
 Example:
 
diff --git a/Documentation/devicetree/bindings/net/amd-xgbe.txt b/Documentation/devicetree/bindings/net/amd-xgbe.txt
index 93dcb79..9c27dfc 100644
--- a/Documentation/devicetree/bindings/net/amd-xgbe.txt
+++ b/Documentation/devicetree/bindings/net/amd-xgbe.txt
@@ -24,8 +24,6 @@ Required properties:
 - phy-mode: See ethernet.txt file in the same directory
 
 Optional properties:
-- mac-address: mac address to be assigned to the device. Can be overridden
-  by UEFI.
 - dma-coherent: Present if dma operations are coherent
 - amd,per-channel-interrupt: Indicates that Rx and Tx complete will generate
   a unique interrupt for each DMA channel - this requires an additional
@@ -34,6 +32,9 @@ Optional properties:
     0 - 1GbE and 10GbE (default)
     1 - 2.5GbE and 10GbE
 
+The MAC address will be determined using the optional properties defined in
+ethernet.txt.
+
 The following optional properties are represented by an array with each
 value corresponding to a particular speed. The first array value represents
 the setting for the 1GbE speed, the second value for the 2.5GbE speed and
diff --git a/Documentation/devicetree/bindings/net/brcm,amac.txt b/Documentation/devicetree/bindings/net/brcm,amac.txt
index 0bfad65..0120ebe 100644
--- a/Documentation/devicetree/bindings/net/brcm,amac.txt
+++ b/Documentation/devicetree/bindings/net/brcm,amac.txt
@@ -16,8 +16,8 @@ Required properties:
 				registers (required for Northstar2)
  - interrupts:	Interrupt number
 
-Optional properties:
-- mac-address:	See ethernet.txt file in the same directory
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
 
 Examples:
 
diff --git a/Documentation/devicetree/bindings/net/cpsw.txt b/Documentation/devicetree/bindings/net/cpsw.txt
index 3264e19..7c7ac5e 100644
--- a/Documentation/devicetree/bindings/net/cpsw.txt
+++ b/Documentation/devicetree/bindings/net/cpsw.txt
@@ -49,10 +49,12 @@ Required properties:
 
 Optional properties:
 - dual_emac_res_vlan	: Specifies VID to be used to segregate the ports
-- mac-address		: See ethernet.txt file in the same directory
 - phy_id		: Specifies slave phy id (deprecated, use phy-handle)
 - phy-handle		: See ethernet.txt file in the same directory
 
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
+
 Slave sub-nodes:
 - fixed-link		: See fixed-link.txt file in the same directory
 
diff --git a/Documentation/devicetree/bindings/net/davinci_emac.txt b/Documentation/devicetree/bindings/net/davinci_emac.txt
index ca83dcc..5e3579e 100644
--- a/Documentation/devicetree/bindings/net/davinci_emac.txt
+++ b/Documentation/devicetree/bindings/net/davinci_emac.txt
@@ -20,11 +20,12 @@ Required properties:
 Optional properties:
 - phy-handle: See ethernet.txt file in the same directory.
               If absent, davinci_emac driver defaults to 100/FULL.
-- nvmem-cells: phandle, reference to an nvmem node for the MAC address
-- nvmem-cell-names: string, should be "mac-address" if nvmem is to be used
 - ti,davinci-rmii-en: 1 byte, 1 means use RMII
 - ti,davinci-no-bd-ram: boolean, does EMAC have BD RAM?
 
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
+
 Example (enbw_cmc board):
 	eth0: emac@1e20000 {
 		compatible = "ti,davinci-dm6467-emac";
diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.txt b/Documentation/devicetree/bindings/net/dsa/dsa.txt
index d66a529..a237567 100644
--- a/Documentation/devicetree/bindings/net/dsa/dsa.txt
+++ b/Documentation/devicetree/bindings/net/dsa/dsa.txt
@@ -71,9 +71,8 @@ properties, described in binding documents:
 			  Documentation/devicetree/bindings/net/fixed-link.txt
 			  for details.
 
-- local-mac-address	: See
-			  Documentation/devicetree/bindings/net/ethernet.txt
-			  for details.
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
 
 Example
 
diff --git a/Documentation/devicetree/bindings/net/ethernet.txt b/Documentation/devicetree/bindings/net/ethernet.txt
index a686215..6992444 100644
--- a/Documentation/devicetree/bindings/net/ethernet.txt
+++ b/Documentation/devicetree/bindings/net/ethernet.txt
@@ -4,12 +4,14 @@ NOTE: All 'phy*' properties documented below are Ethernet specific. For the
 generic PHY 'phys' property, see
 Documentation/devicetree/bindings/phy/phy-bindings.txt.
 
-- local-mac-address: array of 6 bytes, specifies the MAC address that was
-  assigned to the network device;
 - mac-address: array of 6 bytes, specifies the MAC address that was last used by
   the boot program; should be used in cases where the MAC address assigned to
   the device by the boot program is different from the "local-mac-address"
   property;
+- local-mac-address: array of 6 bytes, specifies the MAC address that was
+  assigned to the network device;
+- nvmem-cells: phandle, reference to an nvmem node for the MAC address
+- nvmem-cell-names: string, should be "mac-address" if nvmem is to be used
 - max-speed: number, specifies maximum speed in Mbit/s supported by the device;
 - max-frame-size: number, maximum transfer unit (IEEE defined MTU), rather than
   the maximum frame size (there's contradiction in the Devicetree
diff --git a/Documentation/devicetree/bindings/net/hisilicon-femac.txt b/Documentation/devicetree/bindings/net/hisilicon-femac.txt
index d11af5e..5f96976 100644
--- a/Documentation/devicetree/bindings/net/hisilicon-femac.txt
+++ b/Documentation/devicetree/bindings/net/hisilicon-femac.txt
@@ -14,7 +14,6 @@ Required properties:
 	the PHY reset signal(optional).
 - reset-names: should contain the reset signal name "mac"(required)
 	and "phy"(optional).
-- mac-address: see ethernet.txt [1].
 - phy-mode: see ethernet.txt [1].
 - phy-handle: see ethernet.txt [1].
 - hisilicon,phy-reset-delays-us: triplet of delays if PHY reset signal given.
@@ -22,6 +21,9 @@ Required properties:
 	The 2nd cell is reset pulse in micro seconds.
 	The 3rd cell is reset post-delay in micro seconds.
 
+The MAC address will be determined using the optional properties
+defined in ethernet.txt[1].
+
 [1] Documentation/devicetree/bindings/net/ethernet.txt
 
 Example:
diff --git a/Documentation/devicetree/bindings/net/hisilicon-hix5hd2-gmac.txt b/Documentation/devicetree/bindings/net/hisilicon-hix5hd2-gmac.txt
index eea73ad..cddf46b 100644
--- a/Documentation/devicetree/bindings/net/hisilicon-hix5hd2-gmac.txt
+++ b/Documentation/devicetree/bindings/net/hisilicon-hix5hd2-gmac.txt
@@ -18,7 +18,6 @@ Required properties:
 - #size-cells: must be <0>.
 - phy-mode: see ethernet.txt [1].
 - phy-handle: see ethernet.txt [1].
-- mac-address: see ethernet.txt [1].
 - clocks: clock phandle and specifier pair.
 - clock-names: contain the clock name "mac_core"(required) and "mac_ifc"(optional).
 - resets: should contain the phandle to the MAC core reset signal(optional),
@@ -31,6 +30,9 @@ Required properties:
 	The 2nd cell is reset pulse in micro seconds.
 	The 3rd cell is reset post-delay in micro seconds.
 
+The MAC address will be determined using the properties defined in
+ethernet.txt[1].
+
 - PHY subnode: inherits from phy binding [2]
 
 [1] Documentation/devicetree/bindings/net/ethernet.txt
diff --git a/Documentation/devicetree/bindings/net/keystone-netcp.txt b/Documentation/devicetree/bindings/net/keystone-netcp.txt
index 04ba1dc..3a65aab 100644
--- a/Documentation/devicetree/bindings/net/keystone-netcp.txt
+++ b/Documentation/devicetree/bindings/net/keystone-netcp.txt
@@ -135,14 +135,14 @@ Optional properties:
 		are swapped.  The netcp driver will swap the two DWORDs
 		back to the proper order when this property is set to 2
 		when it obtains the mac address from efuse.
-- local-mac-address:	the driver is designed to use the of_get_mac_address api
-			only if efuse-mac is 0. When efuse-mac is 0, the MAC
-			address is obtained from local-mac-address. If this
-			attribute is not present, then the driver will use a
-			random MAC address.
 - "netcp-device label":	phandle to the device specification for each of NetCP
 			sub-module attached to this interface.
 
+The MAC address will be determined using the optional properties defined in
+ethernet.txt, as provided by the of_get_mac_address API and only if efuse-mac
+is set to 0. If any of the optional MAC address properties are not present,
+then the driver will use random MAC address.
+
 Example binding:
 
 netcp: netcp@2000000 {
diff --git a/Documentation/devicetree/bindings/net/macb.txt b/Documentation/devicetree/bindings/net/macb.txt
index 8b80515..9c5e944 100644
--- a/Documentation/devicetree/bindings/net/macb.txt
+++ b/Documentation/devicetree/bindings/net/macb.txt
@@ -26,9 +26,8 @@ Required properties:
 	Optional elements: 'tsu_clk'
 - clocks: Phandles to input clocks.
 
-Optional properties:
-- nvmem-cells: phandle, reference to an nvmem node for the MAC address
-- nvmem-cell-names: string, should be "mac-address" if nvmem is to be used
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
 
 Optional properties for PHY child node:
 - reset-gpios : Should specify the gpio for phy reset
diff --git a/Documentation/devicetree/bindings/net/marvell-pxa168.txt b/Documentation/devicetree/bindings/net/marvell-pxa168.txt
index 845a148..5574af3 100644
--- a/Documentation/devicetree/bindings/net/marvell-pxa168.txt
+++ b/Documentation/devicetree/bindings/net/marvell-pxa168.txt
@@ -11,7 +11,9 @@ Optional properties:
 - #address-cells: must be 1 when using sub-nodes.
 - #size-cells: must be 0 when using sub-nodes.
 - phy-handle: see ethernet.txt file in the same directory.
-- local-mac-address: see ethernet.txt file in the same directory.
+
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
 
 Sub-nodes:
 Each PHY can be represented as a sub-node. This is not mandatory.
diff --git a/Documentation/devicetree/bindings/net/microchip,enc28j60.txt b/Documentation/devicetree/bindings/net/microchip,enc28j60.txt
index 24626e0..a827592 100644
--- a/Documentation/devicetree/bindings/net/microchip,enc28j60.txt
+++ b/Documentation/devicetree/bindings/net/microchip,enc28j60.txt
@@ -21,8 +21,9 @@ Optional properties:
 - spi-max-frequency: Maximum frequency of the SPI bus when accessing the ENC28J60.
   According to the ENC28J80 datasheet, the chip allows a maximum of 20 MHz, however,
   board designs may need to limit this value.
-- local-mac-address: See ethernet.txt in the same directory.
 
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
 
 Example (for NXP i.MX28 with pin control stuff for GPIO irq):
 
diff --git a/Documentation/devicetree/bindings/net/microchip,lan78xx.txt b/Documentation/devicetree/bindings/net/microchip,lan78xx.txt
index 76786a0..11a6795 100644
--- a/Documentation/devicetree/bindings/net/microchip,lan78xx.txt
+++ b/Documentation/devicetree/bindings/net/microchip,lan78xx.txt
@@ -7,9 +7,8 @@ The Device Tree properties, if present, override the OTP and EEPROM.
 Required properties:
 - compatible: Should be one of "usb424,7800", "usb424,7801" or "usb424,7850".
 
-Optional properties:
-- local-mac-address:   see ethernet.txt
-- mac-address:         see ethernet.txt
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
 
 Optional properties of the embedded PHY:
 - microchip,led-modes: a 0..4 element vector, with each element configuring
diff --git a/Documentation/devicetree/bindings/net/qca,qca7000.txt b/Documentation/devicetree/bindings/net/qca,qca7000.txt
index e4a8a51..21c36e5 100644
--- a/Documentation/devicetree/bindings/net/qca,qca7000.txt
+++ b/Documentation/devicetree/bindings/net/qca,qca7000.txt
@@ -23,7 +23,6 @@ Optional properties:
 		      Numbers smaller than 1000000 or greater than 16000000
 		      are invalid. Missing the property will set the SPI
 		      frequency to 8000000 Hertz.
-- local-mac-address : see ./ethernet.txt
 - qca,legacy-mode   : Set the SPI data transfer of the QCA7000 to legacy mode.
 		      In this mode the SPI master must toggle the chip select
 		      between each data word. In burst mode these gaps aren't
@@ -31,6 +30,9 @@ Optional properties:
 		      the QCA7000 is setup via GPIO pin strapping. If the
 		      property is missing the driver defaults to burst mode.
 
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
+
 SPI Example:
 
 /* Freescale i.MX28 SPI master*/
diff --git a/Documentation/devicetree/bindings/net/samsung-sxgbe.txt b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt
index 46e5911..2cff6d8 100644
--- a/Documentation/devicetree/bindings/net/samsung-sxgbe.txt
+++ b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt
@@ -21,10 +21,12 @@ Required properties:
   range.
 
 Optional properties:
-- mac-address: 6 bytes, mac address
 - max-frame-size: Maximum Transfer Unit (IEEE defined MTU), rather
 		  than the maximum frame size.
 
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
+
 Example:
 
 	aliases {
diff --git a/Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt b/Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt
index 36f1aef..ad3c6e1 100644
--- a/Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt
+++ b/Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt
@@ -103,8 +103,6 @@ Required properties:
 
 Optional properties:
 - dma-coherent: Present if dma operations are coherent
-- mac-address: See ethernet.txt in the same directory
-- local-mac-address: See ethernet.txt in the same directory
 - phy-reset-gpios: Phandle and specifier for any GPIO used to reset the PHY.
   See ../gpio/gpio.txt.
 - snps,en-lpi: If present it enables use of the AXI low-power interface
@@ -133,6 +131,9 @@ Optional properties:
     - device_type: Must be "ethernet-phy".
     - fixed-mode device tree subnode: see fixed-link.txt in the same directory
 
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
+
 Examples:
 ethernet2@40010000 {
 	clock-names = "phy_ref_clk", "apb_pclk";
diff --git a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
index fc8f017..4e85fc4 100644
--- a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
+++ b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
@@ -31,8 +31,8 @@ Required properties:
  - socionext,syscon-phy-mode: A phandle to syscon with one argument
 	that configures phy mode. The argument is the ID of MAC instance.
 
-Optional properties:
- - local-mac-address: See ethernet.txt in the same directory.
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
 
 Required subnode:
  - mdio: A container for child nodes representing phy nodes.
diff --git a/Documentation/devicetree/bindings/net/socionext-netsec.txt b/Documentation/devicetree/bindings/net/socionext-netsec.txt
index 0cff94f..9d6c9feb 100644
--- a/Documentation/devicetree/bindings/net/socionext-netsec.txt
+++ b/Documentation/devicetree/bindings/net/socionext-netsec.txt
@@ -26,11 +26,12 @@ Required properties:
 Optional properties: (See ethernet.txt file in the same directory)
 - dma-coherent: Boolean property, must only be present if memory
 	accesses performed by the device are cache coherent.
-- local-mac-address: See ethernet.txt in the same directory.
-- mac-address: See ethernet.txt in the same directory.
 - max-speed: See ethernet.txt in the same directory.
 - max-frame-size: See ethernet.txt in the same directory.
 
+The MAC address will be determined using the optional properties
+defined in ethernet.txt.
+
 Example:
 	eth0: ethernet@522d0000 {
 		compatible = "socionext,synquacer-netsec";
diff --git a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.txt b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.txt
index 7b9a776..7466550 100644
--- a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.txt
+++ b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.txt
@@ -13,11 +13,12 @@ properties:
 
 Optional properties:
 
-- mac-address: See ethernet.txt in the parent directory
-- local-mac-address: See ethernet.txt in the parent directory
 - ieee80211-freq-limit: See ieee80211.txt
 - mediatek,mtd-eeprom: Specify a MTD partition + offset containing EEPROM data
 
+The driver is using of_get_mac_address API, so the MAC address can be as well
+be set with corresponding optional properties defined in net/ethernet.txt.
+
 Optional nodes:
 - led: Properties for a connected LED
   Optional properties:
diff --git a/Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt b/Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt
index b7396c8..aaaeeb5 100644
--- a/Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt
+++ b/Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt
@@ -34,9 +34,9 @@ Optional properties:
 			ath9k wireless chip (in this case the calibration /
 			EEPROM data will be loaded from userspace using the
 			kernel firmware loader).
-- mac-address: See ethernet.txt in the parent directory
-- local-mac-address: See ethernet.txt in the parent directory
 
+The MAC address will be determined using the optional properties defined in
+net/ethernet.txt.
 
 In this example, the node is defined as child node of the PCI controller:
 &pci0 {
-- 
1.9.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v4 07/10] net: wireless: support of_get_mac_address new ERR_PTR error
  2019-05-03 14:27 [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address Petr Štetiar
  2019-05-03 14:27 ` [PATCH v4 02/10] dt-bindings: doc: reflect new NVMEM of_get_mac_address behaviour Petr Štetiar
@ 2019-05-03 14:27 ` Petr Štetiar
  2019-05-06  7:59   ` Kalle Valo
  2019-05-03 14:27 ` [PATCH v4 09/10] ARM: Kirkwood: " Petr Štetiar
  2019-05-06  4:47 ` [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address David Miller
  3 siblings, 1 reply; 13+ messages in thread
From: Petr Štetiar @ 2019-05-03 14:27 UTC (permalink / raw)
  To: netdev, devicetree, QCA ath9k Development, Kalle Valo,
	David S. Miller, Felix Fietkau, Lorenzo Bianconi,
	Matthias Brugger, Stanislaw Gruszka, Helmut Schaa
  Cc: Andrew Lunn, Florian Fainelli, Maxime Ripard, linux-wireless,
	linux-kernel, Srinivas Kandagatla, linux-mediatek,
	Petr Štetiar, Frank Rowand, linux-arm-kernel,
	Heiner Kallweit

There was NVMEM support added to of_get_mac_address, so it could now return
ERR_PTR encoded error values, so we need to adjust all current users of
of_get_mac_address to this new fact.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
---

 Changes since v3:

  * IS_ERR_OR_NULL -> IS_ERR

 drivers/net/wireless/ath/ath9k/init.c          | 2 +-
 drivers/net/wireless/mediatek/mt76/eeprom.c    | 2 +-
 drivers/net/wireless/ralink/rt2x00/rt2x00dev.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index 98141b6..a04d861 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -642,7 +642,7 @@ static int ath9k_of_init(struct ath_softc *sc)
 	}
 
 	mac = of_get_mac_address(np);
-	if (mac)
+	if (!IS_ERR(mac))
 		ether_addr_copy(common->macaddr, mac);
 
 	return 0;
diff --git a/drivers/net/wireless/mediatek/mt76/eeprom.c b/drivers/net/wireless/mediatek/mt76/eeprom.c
index a1529920d..0496493 100644
--- a/drivers/net/wireless/mediatek/mt76/eeprom.c
+++ b/drivers/net/wireless/mediatek/mt76/eeprom.c
@@ -94,7 +94,7 @@
 		return;
 
 	mac = of_get_mac_address(np);
-	if (mac)
+	if (!IS_ERR(mac))
 		memcpy(dev->macaddr, mac, ETH_ALEN);
 #endif
 
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
index 357c094..19a794a 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
@@ -1007,7 +1007,7 @@ void rt2x00lib_set_mac_address(struct rt2x00_dev *rt2x00dev, u8 *eeprom_mac_addr
 	const char *mac_addr;
 
 	mac_addr = of_get_mac_address(rt2x00dev->dev->of_node);
-	if (mac_addr)
+	if (!IS_ERR(mac_addr))
 		ether_addr_copy(eeprom_mac_addr, mac_addr);
 
 	if (!is_valid_ether_addr(eeprom_mac_addr)) {
-- 
1.9.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v4 09/10] ARM: Kirkwood: support of_get_mac_address new ERR_PTR error
  2019-05-03 14:27 [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address Petr Štetiar
  2019-05-03 14:27 ` [PATCH v4 02/10] dt-bindings: doc: reflect new NVMEM of_get_mac_address behaviour Petr Štetiar
  2019-05-03 14:27 ` [PATCH v4 07/10] net: wireless: support of_get_mac_address new ERR_PTR error Petr Štetiar
@ 2019-05-03 14:27 ` Petr Štetiar
  2019-05-06  4:47 ` [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address David Miller
  3 siblings, 0 replies; 13+ messages in thread
From: Petr Štetiar @ 2019-05-03 14:27 UTC (permalink / raw)
  To: netdev, devicetree, Jason Cooper, Andrew Lunn, Gregory Clement,
	Sebastian Hesselbarth, Russell King
  Cc: Florian Fainelli, Maxime Ripard, linux-kernel,
	Srinivas Kandagatla, Petr Štetiar, Frank Rowand,
	linux-arm-kernel, Heiner Kallweit

There was NVMEM support added to of_get_mac_address, so it could now return
ERR_PTR encoded error values, so we need to adjust all current users of
of_get_mac_address to this new fact.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
---

 Changes since v3:

  * IS_ERR_OR_NULL -> IS_ERR

 arch/arm/mach-mvebu/kirkwood.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-mvebu/kirkwood.c b/arch/arm/mach-mvebu/kirkwood.c
index 0aa8810..9b5f4d6 100644
--- a/arch/arm/mach-mvebu/kirkwood.c
+++ b/arch/arm/mach-mvebu/kirkwood.c
@@ -92,7 +92,8 @@ static void __init kirkwood_dt_eth_fixup(void)
 			continue;
 
 		/* skip disabled nodes or nodes with valid MAC address*/
-		if (!of_device_is_available(pnp) || of_get_mac_address(np))
+		if (!of_device_is_available(pnp) ||
+		    !IS_ERR(of_get_mac_address(np)))
 			goto eth_fixup_skip;
 
 		clk = of_clk_get(pnp, 0);
-- 
1.9.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address
  2019-05-03 14:27 [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address Petr Štetiar
                   ` (2 preceding siblings ...)
  2019-05-03 14:27 ` [PATCH v4 09/10] ARM: Kirkwood: " Petr Štetiar
@ 2019-05-06  4:47 ` David Miller
  2019-05-06  8:32   ` Petr Štetiar
  2019-05-07 15:57   ` Rob Herring
  3 siblings, 2 replies; 13+ messages in thread
From: David Miller @ 2019-05-06  4:47 UTC (permalink / raw)
  To: ynezz
  Cc: andrew, f.fainelli, devicetree, maxime.ripard, netdev,
	srinivas.kandagatla, matthias.bgg, linux-mediatek, frowand.list,
	linux-arm-kernel, hkallweit1

From: Petr Štetiar <ynezz@true.cz>
Date: Fri,  3 May 2019 16:27:05 +0200

> this patch series is a continuation of my previous attempt[1], where I've
> tried to wire MTD layer into of_get_mac_address, so it would be possible to
> load MAC addresses from various NVMEMs as EEPROMs etc.
 ...

Series applied, thank you.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 07/10] net: wireless: support of_get_mac_address new ERR_PTR error
  2019-05-03 14:27 ` [PATCH v4 07/10] net: wireless: support of_get_mac_address new ERR_PTR error Petr Štetiar
@ 2019-05-06  7:59   ` Kalle Valo
  0 siblings, 0 replies; 13+ messages in thread
From: Kalle Valo @ 2019-05-06  7:59 UTC (permalink / raw)
  To: Petr Štetiar
  Cc: devicetree, Florian Fainelli, Stanislaw Gruszka, Andrew Lunn,
	Maxime Ripard, netdev, linux-wireless, QCA ath9k Development,
	Helmut Schaa, Matthias Brugger, Srinivas Kandagatla,
	linux-arm-kernel, Lorenzo Bianconi, linux-mediatek,
	Heiner Kallweit, Frank Rowand, David S. Miller, linux-kernel,
	Felix Fietkau

Petr Štetiar <ynezz@true.cz> writes:

> There was NVMEM support added to of_get_mac_address, so it could now return
> ERR_PTR encoded error values, so we need to adjust all current users of
> of_get_mac_address to this new fact.
>
> Signed-off-by: Petr Štetiar <ynezz@true.cz>
> ---
>
>  Changes since v3:
>
>   * IS_ERR_OR_NULL -> IS_ERR
>
>  drivers/net/wireless/ath/ath9k/init.c          | 2 +-
>  drivers/net/wireless/mediatek/mt76/eeprom.c    | 2 +-
>  drivers/net/wireless/ralink/rt2x00/rt2x00dev.c | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)

Via which tree is this supposed to go? In case something else than my
wireless-drivers-next:

Acked-by: Kalle Valo <kvalo@codeaurora.org>

-- 
Kalle Valo

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address
  2019-05-06  4:47 ` [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address David Miller
@ 2019-05-06  8:32   ` Petr Štetiar
  2019-05-06 14:41     ` Maxime Chevallier
  2019-05-07 15:57   ` Rob Herring
  1 sibling, 1 reply; 13+ messages in thread
From: Petr Štetiar @ 2019-05-06  8:32 UTC (permalink / raw)
  To: David Miller
  Cc: andrew, f.fainelli, devicetree, maxime.ripard, netdev,
	srinivas.kandagatla, matthias.bgg, linux-mediatek, frowand.list,
	linux-arm-kernel, hkallweit1

David Miller <davem@davemloft.net> [2019-05-05 21:47:27]:

Hi David,

> Series applied, thank you.

I did probably something terribly wrong, but patch "[PATCH v4 05/10] net:
ethernet: support of_get_mac_address new ERR_PTR error" has not reached the
patchwork, but I'm sure, that it was sent out as Hauke Mehrtens (maintainer
for ethernet/lantiq_xrx200.c) has confirmed to me on IRC, that he has received
it.

I've as well noticed, that you've not considered "[PATCH v5] staging:
octeon-ethernet: support of_get_mac_address new ERR_PTR error"[1] which
contained a fix for possible NULL value of mac variable:

        const u8 *mac = NULL;

        if (priv->of_node)
                mac = of_get_mac_address(priv->of_node);

        if (!IS_ERR(mac))

I'll send those two patches again against net-next in a few moments. Sorry for
this mess.

1. https://patchwork.ozlabs.org/patch/1094942/

-- ynezz

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address
  2019-05-06  8:32   ` Petr Štetiar
@ 2019-05-06 14:41     ` Maxime Chevallier
  2019-05-06 16:19       ` Petr Štetiar
  0 siblings, 1 reply; 13+ messages in thread
From: Maxime Chevallier @ 2019-05-06 14:41 UTC (permalink / raw)
  To: Petr Štetiar
  Cc: andrew, f.fainelli, devicetree, maxime.ripard, netdev,
	srinivas.kandagatla, matthias.bgg, linux-mediatek, frowand.list,
	David Miller, linux-arm-kernel, hkallweit1

Hi Petr,

On Mon, 6 May 2019 10:32:07 +0200
Petr Štetiar <ynezz@true.cz> wrote:

>David Miller <davem@davemloft.net> [2019-05-05 21:47:27]:
>
>Hi David,
>
>> Series applied, thank you.  
>
>I did probably something terribly wrong, but patch "[PATCH v4 05/10] net:
>ethernet: support of_get_mac_address new ERR_PTR error" has not reached the
>patchwork, but I'm sure, that it was sent out as Hauke Mehrtens (maintainer
>for ethernet/lantiq_xrx200.c) has confirmed to me on IRC, that he has received
>it.

It seems indeed that the 5th patch hasn't beed applied, which effectively
breaks mvneta on net-next, and I guess a lot of other drivers that rely
on handling the new return values.

I saw you sent a followup series fixing that, but only patch 2/3
shows-up on netdev, so you might be facing a similar issue here.

Maxime

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address
  2019-05-06 14:41     ` Maxime Chevallier
@ 2019-05-06 16:19       ` Petr Štetiar
  0 siblings, 0 replies; 13+ messages in thread
From: Petr Štetiar @ 2019-05-06 16:19 UTC (permalink / raw)
  To: Maxime Chevallier
  Cc: andrew, f.fainelli, devicetree, maxime.ripard, netdev,
	srinivas.kandagatla, matthias.bgg, linux-mediatek, frowand.list,
	David Miller, linux-arm-kernel, hkallweit1

Maxime Chevallier <maxime.chevallier@bootlin.com> [2019-05-06 16:41:32]:

Hi Maxime,

> On Mon, 6 May 2019 10:32:07 +0200
> Petr Štetiar <ynezz@true.cz> wrote:
> 
> >David Miller <davem@davemloft.net> [2019-05-05 21:47:27]:
> >
> >Hi David,
> >
> >> Series applied, thank you.  
> >
> >I did probably something terribly wrong, but patch "[PATCH v4 05/10] net:
> >ethernet: support of_get_mac_address new ERR_PTR error" has not reached the
> >patchwork, but I'm sure, that it was sent out as Hauke Mehrtens (maintainer
> >for ethernet/lantiq_xrx200.c) has confirmed to me on IRC, that he has received
> >it.
> 
> It seems indeed that the 5th patch hasn't beed applied, which effectively
> breaks mvneta on net-next, and I guess a lot of other drivers that rely
> on handling the new return values.

Yep, sorry for that.

> I saw you sent a followup series fixing that, but only patch 2/3
> shows-up on netdev, so you might be facing a similar issue here.

Indeed, seems like patchwork hiccup with a long list of recepients in the
To/Cc headers, so I've just resend it again with only netdev@vger.kernel.org
in the To: header and it was happily picked up[1].

1. https://patchwork.ozlabs.org/project/netdev/list/?series=106369

-- ynezz

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address
  2019-05-06  4:47 ` [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address David Miller
  2019-05-06  8:32   ` Petr Štetiar
@ 2019-05-07 15:57   ` Rob Herring
  1 sibling, 0 replies; 13+ messages in thread
From: Rob Herring @ 2019-05-07 15:57 UTC (permalink / raw)
  To: David Miller
  Cc: Andrew Lunn, Florian Fainelli, devicetree, Maxime Ripard, netdev,
	Srinivas Kandagatla, Matthias Brugger,
	moderated list:ARM/Mediatek SoC support, Petr Štetiar,
	Frank Rowand,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Heiner Kallweit

On Sun, May 5, 2019 at 11:47 PM David Miller <davem@davemloft.net> wrote:
>
> From: Petr Štetiar <ynezz@true.cz>
> Date: Fri,  3 May 2019 16:27:05 +0200
>
> > this patch series is a continuation of my previous attempt[1], where I've
> > tried to wire MTD layer into of_get_mac_address, so it would be possible to
> > load MAC addresses from various NVMEMs as EEPROMs etc.
>  ...
>
> Series applied, thank you.

Patch 1 at least is still be discussed. What was implemented based on
my comments on v2 is really broken. Now the allocated buffer is
tracked by both devm and DT refcounting. Whoever's ref count drops
first will free the buffer.

Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 02/10] dt-bindings: doc: reflect new NVMEM of_get_mac_address behaviour
  2019-05-03 14:27 ` [PATCH v4 02/10] dt-bindings: doc: reflect new NVMEM of_get_mac_address behaviour Petr Štetiar
@ 2019-05-07 16:44   ` Rob Herring
  2019-05-08  8:41     ` Petr Štetiar
  0 siblings, 1 reply; 13+ messages in thread
From: Rob Herring @ 2019-05-07 16:44 UTC (permalink / raw)
  To: Petr Štetiar
  Cc: Mark Rutland, Andrew Lunn, Kunihiko Hayashi, Maxime Ripard,
	Masahiro Yamada, Srinivas Kandagatla, Frank Rowand,
	Florian Fainelli, Kalle Valo, Yisen Zhuang, Vivien Didelot,
	Woojung Huh, devicetree, Jassi Brar,
	moderated list:ARM/Mediatek SoC support, Matthias Brugger,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Salil Mehta, netdev, linux-wireless, linux-kernel,
	Microchip Linux Driver Support, David S. Miller, Heiner Kallweit

On Fri, May 3, 2019 at 9:27 AM Petr Štetiar <ynezz@true.cz> wrote:
>
> As of_get_mac_address now supports NVMEM under the hood, we need to update
> the bindings documentation with the new nvmem-cell* properties, which would
> mean copy&pasting a lot of redundant information to every binding
> documentation currently referencing some of the MAC address properties.
>
> So I've just removed all the references to the optional MAC address
> properties and replaced them with the small note referencing
> net/ethernet.txt file.
>
> Signed-off-by: Petr Štetiar <ynezz@true.cz>
> ---
>
>  Changes since v2:
>
>  * replaced only MAC address related optional properties with a text
>    referencing ethernet.txt
>
>  Documentation/devicetree/bindings/net/altera_tse.txt           |  5 ++---
>  Documentation/devicetree/bindings/net/amd-xgbe.txt             |  5 +++--
>  Documentation/devicetree/bindings/net/brcm,amac.txt            |  4 ++--
>  Documentation/devicetree/bindings/net/cpsw.txt                 |  4 +++-
>  Documentation/devicetree/bindings/net/davinci_emac.txt         |  5 +++--
>  Documentation/devicetree/bindings/net/dsa/dsa.txt              |  5 ++---
>  Documentation/devicetree/bindings/net/ethernet.txt             |  6 ++++--
>  Documentation/devicetree/bindings/net/hisilicon-femac.txt      |  4 +++-
>  .../devicetree/bindings/net/hisilicon-hix5hd2-gmac.txt         |  4 +++-
>  Documentation/devicetree/bindings/net/keystone-netcp.txt       | 10 +++++-----
>  Documentation/devicetree/bindings/net/macb.txt                 |  5 ++---
>  Documentation/devicetree/bindings/net/marvell-pxa168.txt       |  4 +++-
>  Documentation/devicetree/bindings/net/microchip,enc28j60.txt   |  3 ++-
>  Documentation/devicetree/bindings/net/microchip,lan78xx.txt    |  5 ++---
>  Documentation/devicetree/bindings/net/qca,qca7000.txt          |  4 +++-
>  Documentation/devicetree/bindings/net/samsung-sxgbe.txt        |  4 +++-
>  .../devicetree/bindings/net/snps,dwc-qos-ethernet.txt          |  5 +++--
>  .../devicetree/bindings/net/socionext,uniphier-ave4.txt        |  4 ++--
>  Documentation/devicetree/bindings/net/socionext-netsec.txt     |  5 +++--
>  .../devicetree/bindings/net/wireless/mediatek,mt76.txt         |  5 +++--
>  Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt   |  4 ++--
>  21 files changed, 58 insertions(+), 42 deletions(-)

[...]

> diff --git a/Documentation/devicetree/bindings/net/keystone-netcp.txt b/Documentation/devicetree/bindings/net/keystone-netcp.txt
> index 04ba1dc..3a65aab 100644
> --- a/Documentation/devicetree/bindings/net/keystone-netcp.txt
> +++ b/Documentation/devicetree/bindings/net/keystone-netcp.txt
> @@ -135,14 +135,14 @@ Optional properties:
>                 are swapped.  The netcp driver will swap the two DWORDs
>                 back to the proper order when this property is set to 2
>                 when it obtains the mac address from efuse.
> -- local-mac-address:   the driver is designed to use the of_get_mac_address api
> -                       only if efuse-mac is 0. When efuse-mac is 0, the MAC
> -                       address is obtained from local-mac-address. If this
> -                       attribute is not present, then the driver will use a
> -                       random MAC address.
>  - "netcp-device label":        phandle to the device specification for each of NetCP
>                         sub-module attached to this interface.
>
> +The MAC address will be determined using the optional properties defined in
> +ethernet.txt, as provided by the of_get_mac_address API and only if efuse-mac

Don't make references to Linux in bindings. You can talk about
expectations of client programs (e.g Linux, u-boot, BSD, etc.) though.

Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 02/10] dt-bindings: doc: reflect new NVMEM of_get_mac_address behaviour
  2019-05-07 16:44   ` Rob Herring
@ 2019-05-08  8:41     ` Petr Štetiar
  2019-05-08 11:48       ` Andrew Lunn
  0 siblings, 1 reply; 13+ messages in thread
From: Petr Štetiar @ 2019-05-08  8:41 UTC (permalink / raw)
  To: Rob Herring
  Cc: Mark Rutland, Andrew Lunn, Kunihiko Hayashi, Maxime Ripard,
	Masahiro Yamada, Srinivas Kandagatla, Frank Rowand,
	Florian Fainelli, Kalle Valo, Yisen Zhuang, Vivien Didelot,
	Woojung Huh, devicetree, Jassi Brar,
	moderated list:ARM/Mediatek SoC support, Matthias Brugger,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Salil Mehta, netdev, linux-wireless, linux-kernel,
	Microchip Linux Driver Support, David S. Miller, Heiner Kallweit

Rob Herring <robh+dt@kernel.org> [2019-05-07 11:44:57]:

Hi,

> > -- local-mac-address:   the driver is designed to use the of_get_mac_address api
> > -                       only if efuse-mac is 0. When efuse-mac is 0, the MAC
> > -                       address is obtained from local-mac-address. If this
> > -                       attribute is not present, then the driver will use a
> > -                       random MAC address.
> >  - "netcp-device label":        phandle to the device specification for each of NetCP
> >                         sub-module attached to this interface.
> >
> > +The MAC address will be determined using the optional properties defined in
> > +ethernet.txt, as provided by the of_get_mac_address API and only if efuse-mac
> 
> Don't make references to Linux in bindings. You can talk about
> expectations of client programs (e.g Linux, u-boot, BSD, etc.) though.

I've just tried to reword what was already there, anyway, did I understood
your remark properly, would this be more appropriate?

 The MAC address will be determined using the optional properties defined in
 ethernet.txt and only if efuse-mac is set to 0. If any of the optional MAC
 address properties are not present, then the driver will use random MAC
 address.

Thanks!

-- ynezz

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v4 02/10] dt-bindings: doc: reflect new NVMEM of_get_mac_address behaviour
  2019-05-08  8:41     ` Petr Štetiar
@ 2019-05-08 11:48       ` Andrew Lunn
  0 siblings, 0 replies; 13+ messages in thread
From: Andrew Lunn @ 2019-05-08 11:48 UTC (permalink / raw)
  To: Petr Štetiar
  Cc: Mark Rutland, Kunihiko Hayashi, Maxime Ripard, Masahiro Yamada,
	Srinivas Kandagatla, Frank Rowand, Florian Fainelli, Kalle Valo,
	Yisen Zhuang, Vivien Didelot, Woojung Huh, devicetree,
	Jassi Brar, Rob Herring, moderated list:ARM/Mediatek SoC support,
	Matthias Brugger,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Salil Mehta, netdev, linux-wireless, linux-kernel,
	Microchip Linux Driver Support, David S. Miller, Heiner Kallweit

> I've just tried to reword what was already there, anyway, did I understood
> your remark properly, would this be more appropriate?
> 
>  The MAC address will be determined using the optional properties defined in
>  ethernet.txt and only if efuse-mac is set to 0. If any of the optional MAC
>  address properties are not present, then the driver will use random MAC
>  address.

If _all_ of the optional ...

   Andrew

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-05-08 11:50 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-03 14:27 [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address Petr Štetiar
2019-05-03 14:27 ` [PATCH v4 02/10] dt-bindings: doc: reflect new NVMEM of_get_mac_address behaviour Petr Štetiar
2019-05-07 16:44   ` Rob Herring
2019-05-08  8:41     ` Petr Štetiar
2019-05-08 11:48       ` Andrew Lunn
2019-05-03 14:27 ` [PATCH v4 07/10] net: wireless: support of_get_mac_address new ERR_PTR error Petr Štetiar
2019-05-06  7:59   ` Kalle Valo
2019-05-03 14:27 ` [PATCH v4 09/10] ARM: Kirkwood: " Petr Štetiar
2019-05-06  4:47 ` [PATCH v4 00/10] of_net: Add NVMEM support to of_get_mac_address David Miller
2019-05-06  8:32   ` Petr Štetiar
2019-05-06 14:41     ` Maxime Chevallier
2019-05-06 16:19       ` Petr Štetiar
2019-05-07 15:57   ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).