* [PATCH] of_net.h: Provide dummy functions if OF_NET is not configured
@ 2013-04-01 18:19 Guenter Roeck
2013-04-01 18:44 ` Rob Herring
0 siblings, 1 reply; 5+ messages in thread
From: Guenter Roeck @ 2013-04-01 18:19 UTC (permalink / raw)
To: linux-kernel, devicetree-discuss, netdev
Cc: Grant Likely, Rob Herring, David S. Miller, Guenter Roeck,
David Daney
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
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 <david.daney@cavium.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
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 <linux/of.h>
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 */
--
1.7.9.7
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] of_net.h: Provide dummy functions if OF_NET is not configured
2013-04-01 18:19 [PATCH] of_net.h: Provide dummy functions if OF_NET is not configured Guenter Roeck
@ 2013-04-01 18:44 ` Rob Herring
2013-04-01 19:01 ` Guenter Roeck
0 siblings, 1 reply; 5+ messages in thread
From: Rob Herring @ 2013-04-01 18:44 UTC (permalink / raw)
To: Guenter Roeck
Cc: linux-kernel, devicetree-discuss, netdev, David S. Miller,
Rob Herring, David Daney
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 <david.daney@cavium.com>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
> 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 <linux/of.h>
> 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 */
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] of_net.h: Provide dummy functions if OF_NET is not configured
2013-04-01 18:44 ` Rob Herring
@ 2013-04-01 19:01 ` Guenter Roeck
[not found] ` <20130401190100.GA1042-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Guenter Roeck @ 2013-04-01 19:01 UTC (permalink / raw)
To: Rob Herring
Cc: linux-kernel, devicetree-discuss, netdev, David S. Miller,
Rob Herring, David Daney
On Mon, Apr 01, 2013 at 01:44:24PM -0500, Rob Herring wrote:
> 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?
>
That would be the next step, after/if this one is accepted.
If not, it doesn't make sense to waste my time.
Thanks,
Guenter
> 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 <david.daney@cavium.com>
> > Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> > ---
> > 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 <linux/of.h>
> > 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 */
> >
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-04-02 18:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-01 18:19 [PATCH] of_net.h: Provide dummy functions if OF_NET is not configured Guenter Roeck
2013-04-01 18:44 ` Rob Herring
2013-04-01 19:01 ` Guenter Roeck
[not found] ` <20130401190100.GA1042-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-04-01 19:14 ` Rob Herring
2013-04-02 18:33 ` David Miller
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).