Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp1305515imm; Fri, 29 Jun 2018 15:37:09 -0700 (PDT) X-Google-Smtp-Source: ADUXVKL+Od89xNCa/Fm15eH8QDZG7lUDpcCWa7EtrgkNxOTXnOxpwOVxD/dxuXJVxH0DSuTEsrlj X-Received: by 2002:a17:902:9a01:: with SMTP id v1-v6mr17003764plp.20.1530311829553; Fri, 29 Jun 2018 15:37:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530311829; cv=none; d=google.com; s=arc-20160816; b=aMvTOXOAuJLNya1DR5jK6ndq0KOLDET/eMV8kqcYYeRcD/7dvBo6jr/A87MtBJUubY stN9FuyucfpqBZ9/w1YzYLQsYAVhjZuhXsO0JwZCI+DXJWU2QWVt6/m5el8Y3N4ceclQ yaff0fv2KvfHrduhjBxShSGAwZzT6YiVbsQlodnrTJ/EdoGHxJdeKwztnewR6fZGD3xk 8eNReDRjH84Eq7nIFGphvGleeEeaQ+Aunr2T/uQDoUphyocBjJtUJ6pZ0NzFNJtbhx6R yd5+tyNGnZYtt15usj8isTYKFh6QyCvySSSfq/Zgppn6PWYSXy/6TK/eY/Bv5xw0/kRU Y1UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:references:cc:to:from:subject:dkim-signature :arc-authentication-results; bh=YFQEbfEYE6M51isFvAxZ9Nu90M0/JYeZL36AcfrnRUM=; b=bNZMPVqUdV6a8tTXx+huySDaawVYORZohbMIQBtFIdC12LxS9Hw4ZBFy31HXaVGWEQ qMt3Sfl8DgBFEKlt84YhLpcnzsZqSh6MEH+GvVlsUj0X200aATPBeN1BTUmE+L5+UZUB HUqV4sXycVrOaU/OOmCTeJzzusNU3O23JvF46okTji8ph6XCwZKqXWM4pPVwU1D/3FgO NAbw/7ta3AiW1FbPo6zxHlXfC8LAQzqlNy71OT7ZtAQZl1vHQp6ygK8qTZvlDn1kXGr0 BKggmPZGMnGmC7synYOIv79yjg3O+M1oWRoD6ZEtPpo0bRe8QOVU7VzXY4BpNEhxR13s brEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@lechnology.com header.s=default header.b=g16kx5LH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o23-v6si1222451pgv.518.2018.06.29.15.36.52; Fri, 29 Jun 2018 15:37:09 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@lechnology.com header.s=default header.b=g16kx5LH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755373AbeF2Ufg (ORCPT + 99 others); Fri, 29 Jun 2018 16:35:36 -0400 Received: from vern.gendns.com ([206.190.152.46]:58670 "EHLO vern.gendns.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753148AbeF2Ufe (ORCPT ); Fri, 29 Jun 2018 16:35:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lechnology.com; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:MIME-Version:Date:Message-ID:References:Cc:To:From:Subject:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=YFQEbfEYE6M51isFvAxZ9Nu90M0/JYeZL36AcfrnRUM=; b=g16kx5LHQrXJ82Wt7f7byPyz2c A6bbrn8Fwr1vXXQ1029fY3cS6Y24SYKKyN0dTuuyK2BHSj9bkO1d05bPkXci5F/20aGvEUWcA1jfA 3WDl55bDGHm8dBkWliQ2NdYc5NFzMpHb4y5pW8T+XqKuDFOhAFMrCoUt3XwpqBNvZUoYSD0drcG+t sGY6+XKNl9GOi7r/0uCb1m9JV0Yw5gvn7h6ascvt/0fTVCDQQUNS6RPPrAZcg1bDBFLbXvL2AD4F2 anue2ljXC+igw1biSp3NQT1XfFTn8npfXg469oyPzXDEsUrIQiKYYScPScPmGb89JnWRZWzcF3wze upS+fvMg==; Received: from 108-198-5-147.lightspeed.okcbok.sbcglobal.net ([108.198.5.147]:43054 helo=[192.168.0.134]) by vern.gendns.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from ) id 1fZ078-0030w0-2j; Fri, 29 Jun 2018 16:35:30 -0400 Subject: Re: [PATCH v4 08/18] net: davinci_emac: potentially get the MAC address from MTD From: David Lechner To: Bartosz Golaszewski , Sekhar Nori , Kevin Hilman , Russell King , Grygorii Strashko , "David S . Miller" , Srinivas Kandagatla , Lukas Wunner , Rob Herring , Florian Fainelli , Dan Carpenter , Ivan Khoronzhuk , Greg Kroah-Hartman , Andrew Lunn , Jonathan Corbet Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, netdev@vger.kernel.org, Bartosz Golaszewski References: <20180629094039.7543-1-brgl@bgdev.pl> <20180629094039.7543-9-brgl@bgdev.pl> Message-ID: Date: Fri, 29 Jun 2018 15:35:27 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - vern.gendns.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lechnology.com X-Get-Message-Sender-Via: vern.gendns.com: authenticated_id: davidmain+lechnology.com/only user confirmed/virtual account not confirmed X-Authenticated-Sender: vern.gendns.com: davidmain@lechnology.com X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/29/2018 03:09 PM, David Lechner wrote: > On 06/29/2018 04:40 AM, Bartosz Golaszewski wrote: >> From: Bartosz Golaszewski >> >> On da850-evm board we can read the MAC address from MTD. It's currently >> done in the relevant board file, but we want to get rid of all the MAC >> reading callbacks from the board file (SPI and NAND). Move the reading >> of the MAC address from SPI to the emac driver's probe function. >> >> Signed-off-by: Bartosz Golaszewski >> --- >>   drivers/net/ethernet/ti/davinci_emac.c | 20 ++++++++++++++++++-- >>   1 file changed, 18 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c >> index a1a6445b5a7e..48e6a7755811 100644 >> --- a/drivers/net/ethernet/ti/davinci_emac.c >> +++ b/drivers/net/ethernet/ti/davinci_emac.c >> @@ -67,7 +67,7 @@ >>   #include >>   #include >>   #include >> - >> +#include >>   #include >>   #include >> @@ -1783,7 +1783,10 @@ static int davinci_emac_probe(struct platform_device *pdev) >>       struct cpdma_params dma_params; >>       struct clk *emac_clk; >>       unsigned long emac_bus_frequency; >> - >> +#ifdef CONFIG_MTD >> +    size_t mac_addr_len; >> +    struct mtd_info *mtd; >> +#endif /* CONFIG_MTD */ >>       /* obtain emac clock from kernel */ >>       emac_clk = devm_clk_get(&pdev->dev, NULL); >> @@ -1815,6 +1818,19 @@ static int davinci_emac_probe(struct platform_device *pdev) >>           goto err_free_netdev; >>       } >> +#ifdef CONFIG_MTD > > What about the case when MTD is compiled as a module? > >> +    mtd = get_mtd_device_nm("MAC-Address"); > > What about the case when PTR_ERR(mtd) == -EPROBE_DEFER? To answer my own question: because get_mtd_device_nm() doesn't ever return -EPROBE_DEFER. I'm trying to make this work on LCDK, but the emac driver probes before any mtd device is registered, so, I just get -ENODEV even though I've added a partition to the device tree labeled "MAC-Address". You can see in the kernel messages that MTD is not probed until later. > >> +    if (!IS_ERR(mtd)) { >> +        rc = mtd_read(mtd, 0, ETH_ALEN, >> +                  &mac_addr_len, priv->mac_addr); >> +        if (rc == 0) >> +            dev_info(&pdev->dev, >> +                 "Read MAC addr from SPI Flash: %pM\n", >> +                 priv->mac_addr); >> +        put_mtd_device(mtd); >> +    } >> +#endif /* CONFIG_MTD */ >> + >>       /* MAC addr and PHY mask , RMII enable info from platform_data */ >>       memcpy(priv->mac_addr, pdata->mac_addr, ETH_ALEN); >>       priv->phy_id = pdata->phy_id; >> >