From patchwork Fri Nov 25 15:38:36 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Olliver Schinagl X-Patchwork-Id: 699293 X-Patchwork-Delegate: joe.hershberger@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3tQKxg0lk9z9t3N for ; Sat, 26 Nov 2016 02:39:19 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=schinagl.nl header.i=@schinagl.nl header.b="cBZMA/RM"; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id DC2ECB3844; Fri, 25 Nov 2016 16:39:09 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yT6DfqU-Sf92; Fri, 25 Nov 2016 16:39:09 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id EC8A4B384F; Fri, 25 Nov 2016 16:39:03 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 194E8B3845 for ; Fri, 25 Nov 2016 16:38:55 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0roMSExeO0B9 for ; Fri, 25 Nov 2016 16:38:55 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from 7of9.schinagl.nl (7of9.schinagl.nl [88.159.158.68]) by theia.denx.de (Postfix) with ESMTPS id 07E5D4B98B for ; Fri, 25 Nov 2016 16:38:52 +0100 (CET) Received: from localhost.localdomain (static-98-101-100-159.thenetworkfactory.nl [159.100.101.98]) by 7of9.schinagl.nl (Postfix) with ESMTPA id 8A29353BCC; Fri, 25 Nov 2016 16:38:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=schinagl.nl; s=7of9; t=1480088331; bh=yJQnD/C4Upc0LLgvTQNhv4hf3YFcCu5M0eHE0ciJKUo=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=cBZMA/RM0w398XHcbabGUfnO3fdFhuU+NFCW08vc4mSfmkDrc1nYKU4DxQwIeHDFC Th1kR+xg1dFCRbD4wGTHgfsX/tQVsSi3Fa5/NnWFI7NG18jT7A4lY6SKcADSQ2dqlq V40w7axo3kn4wP6vfKwaY5PILFga9JxqwqDW+NVc= From: Olliver Schinagl To: Joe Hershberger , Hans De Goede Date: Fri, 25 Nov 2016 16:38:36 +0100 Message-Id: <20161125153838.15366-5-oliver@schinagl.nl> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20161125153838.15366-1-oliver@schinagl.nl> References: <20161125153838.15366-1-oliver@schinagl.nl> Cc: u-boot@lists.denx.de, dev@linux-sunxi.org, Maxime Ripard , Ian Campbell , Olliver Schinagl Subject: [U-Boot] [PATCH 4/6] net: sunxi-emac: Add read_rom_hwaddr net_op hook X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Add the read_rom_hwaddr net_op hook so that it can be called from boards to read the mac from a ROM chip. Signed-off-by: Olliver Schinagl --- drivers/net/sunxi_emac.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/net/sunxi_emac.c b/drivers/net/sunxi_emac.c index bba8630..7d45f8b 100644 --- a/drivers/net/sunxi_emac.c +++ b/drivers/net/sunxi_emac.c @@ -565,6 +565,21 @@ static int sunxi_emac_eth_write_hwaddr(struct udevice *dev) return _sunxi_write_hwaddr(priv, pdata->enetaddr); } +__weak int sunxi_emac_board_read_rom_hwaddr(unsigned char *enetaddr, int id) +{ + return -ENOSYS; +} + +static int sunxi_emac_eth_read_rom_hwaddr(struct udevice *dev) +{ + struct eth_pdata *pdata = dev_get_platdata(dev); + + if (!dev) + return -ENOSYS; + + return sunxi_emac_board_read_rom_hwaddr(pdata->enetaddr, dev->seq); +} + static int sunxi_emac_eth_probe(struct udevice *dev) { struct eth_pdata *pdata = dev_get_platdata(dev); @@ -582,6 +597,7 @@ static const struct eth_ops sunxi_emac_eth_ops = { .recv = sunxi_emac_eth_recv, .stop = sunxi_emac_eth_stop, .write_hwaddr = sunxi_emac_eth_write_hwaddr, + .read_rom_hwaddr = sunxi_emac_eth_read_rom_hwaddr, }; static int sunxi_emac_eth_ofdata_to_platdata(struct udevice *dev)