2009-09-25 03:58:55

by Paul Mundt

[permalink] [raw]
Subject: [PATCH] mtd/maps: gpio-addr-flash: Fix up the GENERIC_GPIO=n build.

linux/gpio.h takes care of wrapping in to asm/gpio.h or defining a stubbed out
interface. gpio-addr-flush unfortunately references asm/gpio.h directly and as
a result blows up when CONFIG_GENERIC_GPIO is disabled.

CC drivers/mtd/maps/gpio-addr-flash.o
In file included from /home/pmundt/devel/git/sh-2.6/arch/sh/include/asm/gpio.h:24,
from drivers/mtd/maps/gpio-addr-flash.c:27:
include/asm-generic/gpio.h: In function 'gpio_get_value_cansleep':
include/asm-generic/gpio.h:170: error: implicit declaration of function 'gpio_get_value'
include/asm-generic/gpio.h: In function 'gpio_set_value_cansleep':
include/asm-generic/gpio.h:176: error: implicit declaration of function 'gpio_set_value'
In file included from drivers/mtd/maps/gpio-addr-flash.c:27:
/home/pmundt/devel/git/sh-2.6/arch/sh/include/asm/gpio.h: At top level:
/home/pmundt/devel/git/sh-2.6/arch/sh/include/asm/gpio.h:131: error: field 'chip' has incomplete type
drivers/mtd/maps/gpio-addr-flash.c: In function 'gpio_flash_probe':
drivers/mtd/maps/gpio-addr-flash.c:232: error: implicit declaration of function 'gpio_request'
drivers/mtd/maps/gpio-addr-flash.c:236: error: implicit declaration of function 'gpio_free'
drivers/mtd/maps/gpio-addr-flash.c:240: error: implicit declaration of function 'gpio_direction_output'
make[3]: *** [drivers/mtd/maps/gpio-addr-flash.o] Error 1
make[2]: *** [drivers/mtd/maps] Error 2
make[1]: *** [drivers/mtd] Error 2
make: *** [drivers] Error 2

I've opted to just switch to the linux/ version instead of adding a depends on,
as the driver still builds and does the error handling properly.

Signed-off-by: Paul Mundt <[email protected]>
Cc: Mike Frysinger <[email protected]>
Cc: Bryan Wu <[email protected]>

---

drivers/mtd/maps/gpio-addr-flash.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/mtd/maps/gpio-addr-flash.c b/drivers/mtd/maps/gpio-addr-flash.c
index 44ef9a4..3d7c911 100644
--- a/drivers/mtd/maps/gpio-addr-flash.c
+++ b/drivers/mtd/maps/gpio-addr-flash.c
@@ -22,8 +22,7 @@
#include <linux/mtd/physmap.h>
#include <linux/platform_device.h>
#include <linux/types.h>
-
-#include <asm/gpio.h>
+#include <linux/gpio.h>
#include <asm/io.h>

#define pr_devinit(fmt, args...) ({ static const __devinitconst char __fmt[] = fmt; printk(__fmt, ## args); })


2009-09-25 04:12:56

by Mike Frysinger

[permalink] [raw]
Subject: Re: [PATCH] mtd/maps: gpio-addr-flash: Fix up the GENERIC_GPIO=n build.

On Thu, Sep 24, 2009 at 23:58, Paul Mundt wrote:
> linux/gpio.h takes care of wrapping in to asm/gpio.h or defining a stubbed out
> interface. gpio-addr-flush unfortunately references asm/gpio.h directly and as
> a result blows up when CONFIG_GENERIC_GPIO is disabled.

ive posted two patches for these issues already to the mtd list. you
can find them here:
http://git.kernel.org/?p=linux/kernel/git/vapier/blackfin.git;a=shortlog;h=for-mtd
-mike