public inbox for linux-m68k@lists.linux-m68k.org
 help / color / mirror / Atom feed
* m68k build regression
@ 2013-04-05 10:39 Bityutskiy, Artem
  2013-04-05 14:49 ` Linus Walleij
  0 siblings, 1 reply; 6+ messages in thread
From: Bityutskiy, Artem @ 2013-04-05 10:39 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-m68k@lists.linux-m68k.org, Grant Likely, Linus Walleij

Hi,

starting from 3.9-rc1 one of my m68k configurations does not build,
which is a regression. The configuration is attached. I build with
W=1. I did not look at the details, just shooting a bug report.

drivers/gpio/devres.c: In function 'devm_gpio_request_one':
drivers/gpio/devres.c:90:2: error: implicit declaration of function 'gpio_request_one' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[3]: *** [drivers/gpio/devres.o] Error 1

Thanks!

-- 
Best Regards,
Artem Bityutskiy
---------------------------------------------------------------------
Intel Finland Oy
Registered Address: PL 281, 00181 Helsinki 
Business Identity Code: 0357606 - 4 
Domiciled in Helsinki 

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: m68k build regression
  2013-04-05 10:39 m68k build regression Bityutskiy, Artem
@ 2013-04-05 14:49 ` Linus Walleij
  2013-04-05 17:20   ` Alex Courbot
  0 siblings, 1 reply; 6+ messages in thread
From: Linus Walleij @ 2013-04-05 14:49 UTC (permalink / raw)
  To: Bityutskiy, Artem, Alexandre Courbot
  Cc: Geert Uytterhoeven, linux-m68k@lists.linux-m68k.org, Grant Likely

On Fri, Apr 5, 2013 at 12:39 PM, Bityutskiy, Artem
<artem.bityutskiy@intel.com> wrote:

> starting from 3.9-rc1 one of my m68k configurations does not build,
> which is a regression. The configuration is attached. I build with
> W=1. I did not look at the details, just shooting a bug report.
>
> drivers/gpio/devres.c: In function 'devm_gpio_request_one':
> drivers/gpio/devres.c:90:2: error: implicit declaration of function 'gpio_request_one' [-Werror=implicit-function-declaration]
> cc1: some warnings being treated as errors
> make[3]: *** [drivers/gpio/devres.o] Error 1

Somehow GPIO_DEVRES get selected,
m68k is using GENERIC_GPIO but not GPIOLIB, so
devres.c include <linux/gpio.h> which includes <asm/gpio.h>
as the arch has CONFIG_ARCH_HAVE_CUSTOM_GPIO_H.

So to use the devres facility arch/m68k/include/asm/gpio.h
needs to provide gpio_request_one().

Which it doesn't and thus fails.

Did some driver you're using start to use
devm_gpio_request_one() recently?

I vaguely remember Alexandre looking into things like this
so adding him...

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: m68k build regression
  2013-04-05 14:49 ` Linus Walleij
@ 2013-04-05 17:20   ` Alex Courbot
  2013-04-08  4:32     ` Greg Ungerer
  0 siblings, 1 reply; 6+ messages in thread
From: Alex Courbot @ 2013-04-05 17:20 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Bityutskiy, Artem, Geert Uytterhoeven,
	linux-m68k@lists.linux-m68k.org, Grant Likely, Jonas Bonn

On 04/05/2013 07:49 AM, Linus Walleij wrote:
> On Fri, Apr 5, 2013 at 12:39 PM, Bityutskiy, Artem
> <artem.bityutskiy@intel.com> wrote:
>
>> starting from 3.9-rc1 one of my m68k configurations does not build,
>> which is a regression. The configuration is attached. I build with
>> W=1. I did not look at the details, just shooting a bug report.
>>
>> drivers/gpio/devres.c: In function 'devm_gpio_request_one':
>> drivers/gpio/devres.c:90:2: error: implicit declaration of function 'gpio_request_one' [-Werror=implicit-function-declaration]
>> cc1: some warnings being treated as errors
>> make[3]: *** [drivers/gpio/devres.o] Error 1
>
> Somehow GPIO_DEVRES get selected,
> m68k is using GENERIC_GPIO but not GPIOLIB, so
> devres.c include <linux/gpio.h> which includes <asm/gpio.h>
> as the arch has CONFIG_ARCH_HAVE_CUSTOM_GPIO_H.
>
> So to use the devres facility arch/m68k/include/asm/gpio.h
> needs to provide gpio_request_one().
>
> Which it doesn't and thus fails.
>
> Did some driver you're using start to use
> devm_gpio_request_one() recently?
>
> I vaguely remember Alexandre looking into things like this
> so adding him...

I know OpenRisc had an issue with devres.c (CC Jonas), please look at 
commit d4cb776f for the fix. I don't think my changes for 3.9 are 
responsible for this, they only deal with gpiolib's internals and not 
with header files, so they should be noop for platforms only using 
GENERIC_GPIO.

I'd recommend doing the same as OpenRisc (turning GENERIC_GPIO and 
ARCH_WANT_OPTIONAL_GPIOLIB into ARCH_REQUIRE_GPIOLIB), anyway 
GENERIC_GPIO is being removed for 3.10, so you better get used to using 
gpiolib from now on. :)

Alex.

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: m68k build regression
  2013-04-05 17:20   ` Alex Courbot
@ 2013-04-08  4:32     ` Greg Ungerer
  2013-04-08  7:20       ` Linus Walleij
  0 siblings, 1 reply; 6+ messages in thread
From: Greg Ungerer @ 2013-04-08  4:32 UTC (permalink / raw)
  To: Alex Courbot
  Cc: Linus Walleij, Bityutskiy, Artem, Geert Uytterhoeven,
	linux-m68k@lists.linux-m68k.org, Grant Likely, Jonas Bonn

On 06/04/13 03:20, Alex Courbot wrote:
> On 04/05/2013 07:49 AM, Linus Walleij wrote:
>> On Fri, Apr 5, 2013 at 12:39 PM, Bityutskiy, Artem
>> <artem.bityutskiy@intel.com> wrote:
>>
>>> starting from 3.9-rc1 one of my m68k configurations does not build,
>>> which is a regression. The configuration is attached. I build with
>>> W=1. I did not look at the details, just shooting a bug report.
>>>
>>> drivers/gpio/devres.c: In function 'devm_gpio_request_one':
>>> drivers/gpio/devres.c:90:2: error: implicit declaration of function 'gpio_request_one' [-Werror=implicit-function-declaration]
>>> cc1: some warnings being treated as errors
>>> make[3]: *** [drivers/gpio/devres.o] Error 1
>>
>> Somehow GPIO_DEVRES get selected,
>> m68k is using GENERIC_GPIO but not GPIOLIB, so
>> devres.c include <linux/gpio.h> which includes <asm/gpio.h>
>> as the arch has CONFIG_ARCH_HAVE_CUSTOM_GPIO_H.
>>
>> So to use the devres facility arch/m68k/include/asm/gpio.h
>> needs to provide gpio_request_one().
>>
>> Which it doesn't and thus fails.
>>
>> Did some driver you're using start to use
>> devm_gpio_request_one() recently?
>>
>> I vaguely remember Alexandre looking into things like this
>> so adding him...
> 
> I know OpenRisc had an issue with devres.c (CC Jonas), please look at commit d4cb776f for the fix. I don't think my changes for 3.9 are responsible for this, they only deal with gpiolib's internals and not with header files, so they should be noop for platforms only using GENERIC_GPIO.
> 
> I'd recommend doing the same as OpenRisc (turning GENERIC_GPIO and ARCH_WANT_OPTIONAL_GPIOLIB into ARCH_REQUIRE_GPIOLIB), anyway GENERIC_GPIO is being removed for 3.10, so you better get used to using gpiolib from now on. :)

Or we could fix like this, keeping the existing local functions
intact for this one last kernel version.

Regards
Greg



[PATCH] m68k: define a local gpio_request_one() function

Compiling for linux-3.9-rc1 and later fails with:

drivers/gpio/devres.c: In function 'devm_gpio_request_one':
drivers/gpio/devres.c:90:2: error: implicit declaration of function 'gpio_request_one' [-Werror=implicit-function-declaration]

So provide a local gpio_request_one() function. Code largely borrowed from
blackfin's local gpio_request_one() function.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
---
 arch/m68k/include/asm/gpio.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/m68k/include/asm/gpio.h b/arch/m68k/include/asm/gpio.h
index 4395ffc..8cc8343 100644
--- a/arch/m68k/include/asm/gpio.h
+++ b/arch/m68k/include/asm/gpio.h
@@ -86,4 +86,24 @@ static inline int gpio_cansleep(unsigned gpio)
 	return gpio < MCFGPIO_PIN_MAX ? 0 : __gpio_cansleep(gpio);
 }
 
+static inline int gpio_request_one(unsigned gpio, unsigned long flags, const char *label)
+{
+	int err;
+
+	err = gpio_request(gpio, label);
+	if (err)
+		return err;
+
+	if (flags & GPIOF_DIR_IN)
+		err = gpio_direction_input(gpio);
+	else
+		err = gpio_direction_output(gpio,
+			(flags & GPIOF_INIT_HIGH) ? 1 : 0);
+
+	if (err)
+		gpio_free(gpio);
+
+	return err;
+}
+
 #endif

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: m68k build regression
  2013-04-08  4:32     ` Greg Ungerer
@ 2013-04-08  7:20       ` Linus Walleij
  2013-04-08  7:40         ` Greg Ungerer
  0 siblings, 1 reply; 6+ messages in thread
From: Linus Walleij @ 2013-04-08  7:20 UTC (permalink / raw)
  To: Greg Ungerer
  Cc: Alex Courbot, Bityutskiy, Artem, Geert Uytterhoeven,
	linux-m68k@lists.linux-m68k.org, Grant Likely, Jonas Bonn

On Mon, Apr 8, 2013 at 6:32 AM, Greg Ungerer <gregungerer@westnet.com.au> wrote:

> Or we could fix like this, keeping the existing local functions
> intact for this one last kernel version.
>
> Regards
> Greg
>
>
> [PATCH] m68k: define a local gpio_request_one() function
>
> Compiling for linux-3.9-rc1 and later fails with:
>
> drivers/gpio/devres.c: In function 'devm_gpio_request_one':
> drivers/gpio/devres.c:90:2: error: implicit declaration of function 'gpio_request_one' [-Werror=implicit-function-declaration]
>
> So provide a local gpio_request_one() function. Code largely borrowed from
> blackfin's local gpio_request_one() function.
>
> Signed-off-by: Greg Ungerer <gerg@uclinux.org>

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Greg, are you pushing this patch then?

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: m68k build regression
  2013-04-08  7:20       ` Linus Walleij
@ 2013-04-08  7:40         ` Greg Ungerer
  0 siblings, 0 replies; 6+ messages in thread
From: Greg Ungerer @ 2013-04-08  7:40 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Alex Courbot, Bityutskiy, Artem, Geert Uytterhoeven,
	linux-m68k@lists.linux-m68k.org, Grant Likely, Jonas Bonn

Hi Linus,

On 08/04/13 17:20, Linus Walleij wrote:
> On Mon, Apr 8, 2013 at 6:32 AM, Greg Ungerer <gregungerer@westnet.com.au> wrote:
> 
>> Or we could fix like this, keeping the existing local functions
>> intact for this one last kernel version.
>>
>> Regards
>> Greg
>>
>>
>> [PATCH] m68k: define a local gpio_request_one() function
>>
>> Compiling for linux-3.9-rc1 and later fails with:
>>
>> drivers/gpio/devres.c: In function 'devm_gpio_request_one':
>> drivers/gpio/devres.c:90:2: error: implicit declaration of function 'gpio_request_one' [-Werror=implicit-function-declaration]
>>
>> So provide a local gpio_request_one() function. Code largely borrowed from
>> blackfin's local gpio_request_one() function.
>>
>> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
> 
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> 
> Greg, are you pushing this patch then?

I am happy to push to Linus if everyone is happy with that.

Regards
Greg

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-04-08  7:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-05 10:39 m68k build regression Bityutskiy, Artem
2013-04-05 14:49 ` Linus Walleij
2013-04-05 17:20   ` Alex Courbot
2013-04-08  4:32     ` Greg Ungerer
2013-04-08  7:20       ` Linus Walleij
2013-04-08  7:40         ` Greg Ungerer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox