From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: Re: [PATCH] of_net.h: Provide dummy functions if OF_NET is not configured Date: Mon, 01 Apr 2013 13:44:24 -0500 Message-ID: <5159D588.5070603@gmail.com> References: <1364840349-10696-1-git-send-email-linux@roeck-us.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: linux-kernel@vger.kernel.org, devicetree-discuss@lists.ozlabs.org, netdev@vger.kernel.org, "David S. Miller" , Rob Herring , David Daney To: Guenter Roeck Return-path: In-Reply-To: <1364840349-10696-1-git-send-email-linux@roeck-us.net> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On 04/01/2013 01:19 PM, Guenter Roeck wrote: > of_get_mac_address() and of_get_phy_mode() are only provided if OF_NET > is configured. While most callers check for the define, not all do, and those > who do require #ifdef around the code. For those who don't, the missing check > can result in errors such as How about removing the ifdef from those callers? Rob > > arch/powerpc/sysdev/tsi108_dev.c:107:3: error: implicit declaration of > function 'of_get_mac_address' [-Werror=implicit-function-declaration] > arch/powerpc/sysdev/mv64x60_dev.c:253:2: error: implicit declaration of > function 'of_get_mac_address' [-Werror=implicit-function-declaration] > > Provide dummy function declarations if OF_NET is not configured. This is safe > because all callers do check the return values. If desired, at least some of > the #ifdefs in the code can subsequently be removed. > > Cc: David Daney > Signed-off-by: Guenter Roeck > --- > include/linux/of_net.h | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/include/linux/of_net.h b/include/linux/of_net.h > index f474641..61bf53b 100644 > --- a/include/linux/of_net.h > +++ b/include/linux/of_net.h > @@ -11,6 +11,16 @@ > #include > extern const int of_get_phy_mode(struct device_node *np); > extern const void *of_get_mac_address(struct device_node *np); > +#else > +static inline const int of_get_phy_mode(struct device_node *np) > +{ > + return -ENODEV; > +} > + > +static inline const void *of_get_mac_address(struct device_node *np) > +{ > + return NULL; > +} > #endif > > #endif /* __LINUX_OF_NET_H */ >