Subject: Re[2]: linux-next: build failure after merge of the mfd tree

From: Alexander Shiyan <[email-masked]>
Date: Tue, 09 Apr 2013 19:47:40 +0400

> On Mon, Apr 08, 2013 at 08:27:49PM +0400, Alexander Shiyan wrote:
> > > > > After merging the mfd tree, today's linux-next build (x86_64 allmodconfig)
> > > > > failed like this:
> > > > > 
> > > > > drivers/regulator/anatop-regulator.c: In function 'anatop_regulator_probe':
> > > > > drivers/regulator/anatop-regulator.c:134:2: error: implicit declaration of function 'of_get_parent' [-Werror=implicit-function-declaration]
> > > > > 
> > > > > Caused by commit 5ab3a89a741f ("mfd: syscon: Add non-DT support").
> > > > > 
> > > > > I have used the mfd tree from next-20130405 for today.
> > > > 
> > > > This means that we do not have empty declarations for the
> > > > of_xx functions in linux/of.h for !CONFIG_OF.
> > > > OK to declare these functions or any other opinions?
> > > Ok with me, but you'd need to get Grant and Rob's ACK.
...
> > Subject: [PATCH] regulator: anatop: Make select dependency from
> >  HAVE_IMX_ANATOP symbol
> > 
> > This patch make selection of anatop-regulator from HAVE_IMX_ANATOP
> > kernel symbol. This fixes build kernel with syscon driver but without
> > oftree support.
...
> This does look like a band-aid solution to me. Yes, it will fix the crash, but
> you're restricting this code to a much smaller architecture set. AFAIK
> linux-next is not tested on that arch, for example.

OK, the second solution:

From 3296415f29818a430bad12c92dc65cd81e4d133f Mon Sep 17 00:00:00 2001
From: Alexander Shiyan <[email-masked]>
Date: Tue, 9 Apr 2013 19:41:27 +0400
Subject: [PATCH] of: add stub of_get_parent for non-OF builds

Fixes build error on x86_64 allmodconfig, introduced by commit
5ab3a89a741f ("mfd: syscon: Add non-DT support").

drivers/regulator/anatop-regulator.c: In function 'anatop_regulator_probe':
drivers/regulator/anatop-regulator.c:134:2: error: implicit declaration of function 'of_get_parent' [-Werror=implicit-function-declaration]

Signed-off-by: Alexander Shiyan <[email-masked]>
---
 include/linux/of.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/linux/of.h b/include/linux/of.h
index a0f1292..9f5923f 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -353,6 +353,11 @@ static inline struct device_node *of_find_node_by_name(struct device_node *from,
 	return NULL;
 }
 
+static inline struct device_node *of_get_parent(const struct device_node *node)
+{
+	return NULL;
+}
+
 static inline bool of_have_populated_dt(void)
 {
 	return false;
-- 
1.8.1.5

---