Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752887AbdCPRPM (ORCPT ); Thu, 16 Mar 2017 13:15:12 -0400 Received: from mail-it0-f43.google.com ([209.85.214.43]:36512 "EHLO mail-it0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752690AbdCPRPJ (ORCPT ); Thu, 16 Mar 2017 13:15:09 -0400 MIME-Version: 1.0 In-Reply-To: References: <1489679338-39705-1-git-send-email-steven.lin1@broadcom.com> From: Jon Mason Date: Thu, 16 Mar 2017 13:13:38 -0400 Message-ID: Subject: Re: [PATCH] net: ethernet: bgmac: Allow MAC address to be specified in DTB To: Florian Fainelli Cc: Steve Lin , David Miller , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Tobias Klauser , Network Development , open list , BCM Kernel Feedback Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3215 Lines: 93 On Thu, Mar 16, 2017 at 12:39 PM, Florian Fainelli wrote: > On 03/16/2017 08:48 AM, Steve Lin wrote: >> Allows the BCMA version of the bgmac driver to obtain MAC address >> from the device tree. If no MAC address is specified there, then >> the previous behavior (obtaining MAC address from SPROM) is >> used. >> >> Signed-off-by: Steve Lin > > Reviewed-by: Florian Fainelli > > PS: you might want to specify which tree this applies to by using [PATCH > net-next] or [PATCH net] in the subject, see the netdev-FAQ.txt for > details: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/networking/netdev-FAQ.txt I believe he wants this in net-next Acked-by: Jon Mason >> --- >> drivers/net/ethernet/broadcom/bgmac-bcma.c | 39 ++++++++++++++++++------------ >> 1 file changed, 23 insertions(+), 16 deletions(-) >> >> diff --git a/drivers/net/ethernet/broadcom/bgmac-bcma.c b/drivers/net/ethernet/broadcom/bgmac-bcma.c >> index cf15b7e..6322594 100644 >> --- a/drivers/net/ethernet/broadcom/bgmac-bcma.c >> +++ b/drivers/net/ethernet/broadcom/bgmac-bcma.c >> @@ -11,6 +11,7 @@ >> #include >> #include >> #include >> +#include >> #include "bgmac.h" >> >> static inline bool bgmac_is_bcm4707_family(struct bcma_device *core) >> @@ -114,7 +115,7 @@ static int bgmac_probe(struct bcma_device *core) >> struct ssb_sprom *sprom = &core->bus->sprom; >> struct mii_bus *mii_bus; >> struct bgmac *bgmac; >> - u8 *mac; >> + const u8 *mac = NULL; >> int err; >> >> bgmac = bgmac_alloc(&core->dev); >> @@ -127,21 +128,27 @@ static int bgmac_probe(struct bcma_device *core) >> >> bcma_set_drvdata(core, bgmac); >> >> - switch (core->core_unit) { >> - case 0: >> - mac = sprom->et0mac; >> - break; >> - case 1: >> - mac = sprom->et1mac; >> - break; >> - case 2: >> - mac = sprom->et2mac; >> - break; >> - default: >> - dev_err(bgmac->dev, "Unsupported core_unit %d\n", >> - core->core_unit); >> - err = -ENOTSUPP; >> - goto err; >> + if (bgmac->dev->of_node) >> + mac = of_get_mac_address(bgmac->dev->of_node); >> + >> + /* If no MAC address assigned via device tree, check SPROM */ >> + if (!mac) { >> + switch (core->core_unit) { >> + case 0: >> + mac = sprom->et0mac; >> + break; >> + case 1: >> + mac = sprom->et1mac; >> + break; >> + case 2: >> + mac = sprom->et2mac; >> + break; >> + default: >> + dev_err(bgmac->dev, "Unsupported core_unit %d\n", >> + core->core_unit); >> + err = -ENOTSUPP; >> + goto err; >> + } >> } >> >> ether_addr_copy(bgmac->net_dev->dev_addr, mac); >> > > > -- > Florian