* [PATCH] alpha: Hook up gpiolib support
@ 2011-05-15 0:08 Mark Brown
2011-05-19 19:30 ` Grant Likely
0 siblings, 1 reply; 6+ messages in thread
From: Mark Brown @ 2011-05-15 0:08 UTC (permalink / raw)
To: Richard Henderson, Ivan Kokshaysky, Matt Turner
Cc: grant, linux-alpha, Mark Brown
Allow people to use gpiolib on Alpha if they want to, mostly for build
coverage. The header is a stright copy of that for Microblaze, which in
turn was taken from PowerPC.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
arch/alpha/Kconfig | 1 +
arch/alpha/include/asm/gpio.h | 55 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 56 insertions(+), 0 deletions(-)
create mode 100644 arch/alpha/include/asm/gpio.h
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 9808998..8c832a5 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -12,6 +12,7 @@ config ALPHA
select GENERIC_IRQ_PROBE
select AUTO_IRQ_AFFINITY if SMP
select GENERIC_IRQ_SHOW
+ select ARCH_WANT_OPTIONAL_GPIOLIB
help
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory,
diff --git a/arch/alpha/include/asm/gpio.h b/arch/alpha/include/asm/gpio.h
new file mode 100644
index 0000000..7dc6a63
--- /dev/null
+++ b/arch/alpha/include/asm/gpio.h
@@ -0,0 +1,55 @@
+/*
+ * Generic GPIO API implementation for Alpha.
+ *
+ * A stright copy of that for PowerPC which was:
+ *
+ * Copyright (c) 2007-2008 MontaVista Software, Inc.
+ *
+ * Author: Anton Vorontsov <avorontsov@ru.mvista.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef _ASM_ALPHA_GPIO_H
+#define _ASM_ALPHA_GPIO_H
+
+#include <linux/errno.h>
+#include <asm-generic/gpio.h>
+
+#ifdef CONFIG_GPIOLIB
+
+/*
+ * We don't (yet) implement inlined/rapid versions for on-chip gpios.
+ * Just call gpiolib.
+ */
+static inline int gpio_get_value(unsigned int gpio)
+{
+ return __gpio_get_value(gpio);
+}
+
+static inline void gpio_set_value(unsigned int gpio, int value)
+{
+ __gpio_set_value(gpio, value);
+}
+
+static inline int gpio_cansleep(unsigned int gpio)
+{
+ return __gpio_cansleep(gpio);
+}
+
+static inline int gpio_to_irq(unsigned int gpio)
+{
+ return __gpio_to_irq(gpio);
+}
+
+static inline int irq_to_gpio(unsigned int irq)
+{
+ return -EINVAL;
+}
+
+#endif /* CONFIG_GPIOLIB */
+
+#endif /* _ASM_ALPHA_GPIO_H */
--
1.7.5.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] alpha: Hook up gpiolib support
2011-05-15 0:08 [PATCH] alpha: Hook up gpiolib support Mark Brown
@ 2011-05-19 19:30 ` Grant Likely
2011-05-19 21:06 ` Mark Brown
0 siblings, 1 reply; 6+ messages in thread
From: Grant Likely @ 2011-05-19 19:30 UTC (permalink / raw)
To: Mark Brown
Cc: Richard Henderson, Ivan Kokshaysky, Matt Turner, grant, linux-alpha
On Sat, May 14, 2011 at 05:08:31PM -0700, Mark Brown wrote:
> Allow people to use gpiolib on Alpha if they want to, mostly for build
> coverage. The header is a stright copy of that for Microblaze, which in
> turn was taken from PowerPC.
>
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Purely out of curiosity, what got you onto this topic? Anyway, looks
good to me.
Acked-by: Grant Likely <grant.likely@secretlab.ca>
> ---
> arch/alpha/Kconfig | 1 +
> arch/alpha/include/asm/gpio.h | 55 +++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 56 insertions(+), 0 deletions(-)
> create mode 100644 arch/alpha/include/asm/gpio.h
>
> diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
> index 9808998..8c832a5 100644
> --- a/arch/alpha/Kconfig
> +++ b/arch/alpha/Kconfig
> @@ -12,6 +12,7 @@ config ALPHA
> select GENERIC_IRQ_PROBE
> select AUTO_IRQ_AFFINITY if SMP
> select GENERIC_IRQ_SHOW
> + select ARCH_WANT_OPTIONAL_GPIOLIB
> help
> The Alpha is a 64-bit general-purpose processor designed and
> marketed by the Digital Equipment Corporation of blessed memory,
> diff --git a/arch/alpha/include/asm/gpio.h b/arch/alpha/include/asm/gpio.h
> new file mode 100644
> index 0000000..7dc6a63
> --- /dev/null
> +++ b/arch/alpha/include/asm/gpio.h
> @@ -0,0 +1,55 @@
> +/*
> + * Generic GPIO API implementation for Alpha.
> + *
> + * A stright copy of that for PowerPC which was:
> + *
> + * Copyright (c) 2007-2008 MontaVista Software, Inc.
> + *
> + * Author: Anton Vorontsov <avorontsov@ru.mvista.com>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + */
> +
> +#ifndef _ASM_ALPHA_GPIO_H
> +#define _ASM_ALPHA_GPIO_H
> +
> +#include <linux/errno.h>
> +#include <asm-generic/gpio.h>
> +
> +#ifdef CONFIG_GPIOLIB
> +
> +/*
> + * We don't (yet) implement inlined/rapid versions for on-chip gpios.
> + * Just call gpiolib.
> + */
> +static inline int gpio_get_value(unsigned int gpio)
> +{
> + return __gpio_get_value(gpio);
> +}
> +
> +static inline void gpio_set_value(unsigned int gpio, int value)
> +{
> + __gpio_set_value(gpio, value);
> +}
> +
> +static inline int gpio_cansleep(unsigned int gpio)
> +{
> + return __gpio_cansleep(gpio);
> +}
> +
> +static inline int gpio_to_irq(unsigned int gpio)
> +{
> + return __gpio_to_irq(gpio);
> +}
> +
> +static inline int irq_to_gpio(unsigned int irq)
> +{
> + return -EINVAL;
> +}
> +
> +#endif /* CONFIG_GPIOLIB */
> +
> +#endif /* _ASM_ALPHA_GPIO_H */
> --
> 1.7.5.1
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] alpha: Hook up gpiolib support
2011-05-19 19:30 ` Grant Likely
@ 2011-05-19 21:06 ` Mark Brown
0 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2011-05-19 21:06 UTC (permalink / raw)
To: Grant Likely
Cc: Richard Henderson, Ivan Kokshaysky, Matt Turner, grant,
linux-alpha, akpm
On Thu, May 19, 2011 at 01:30:34PM -0600, Grant Likely wrote:
> On Sat, May 14, 2011 at 05:08:31PM -0700, Mark Brown wrote:
> > Allow people to use gpiolib on Alpha if they want to, mostly for build
> > coverage. The header is a stright copy of that for Microblaze, which in
> > turn was taken from PowerPC.
> Purely out of curiosity, what got you onto this topic? Anyway, looks
> good to me.
> Acked-by: Grant Likely <grant.likely@secretlab.ca>
Andrew reported a build issue on Alpha caused by a missing gpiolib and
it seemed more sensible to just ensure that gpiolib is always available
or stubbed out than to bodge around architectures.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] alpha: Hook up gpiolib support
2011-05-24 23:27 ` Andrew Morton
@ 2011-05-25 9:31 ` Mark Brown
0 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2011-05-25 9:31 UTC (permalink / raw)
To: Andrew Morton
Cc: Richard Henderson, Ivan Kokshaysky, Matt Turner, grant,
linux-alpha, linux-kernel
On Tue, May 24, 2011 at 04:27:02PM -0700, Andrew Morton wrote:
> I got a great pile of build errors.
Oh dear, sorry about that (as you can clearly see I didn't have an Alpha
toolchain) and thanks for fixing.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] alpha: Hook up gpiolib support
2011-05-18 20:58 Mark Brown
@ 2011-05-24 23:27 ` Andrew Morton
2011-05-25 9:31 ` Mark Brown
0 siblings, 1 reply; 6+ messages in thread
From: Andrew Morton @ 2011-05-24 23:27 UTC (permalink / raw)
To: Mark Brown
Cc: Richard Henderson, Ivan Kokshaysky, Matt Turner, grant,
linux-alpha, linux-kernel
On Wed, 18 May 2011 13:58:02 -0700
Mark Brown <broonie@opensource.wolfsonmicro.com> wrote:
> Allow people to use gpiolib on Alpha if they want to, mostly for build
> coverage. The header is a stright copy of that for Microblaze, which in
> turn was taken from PowerPC.
I got a great pile of build errors.
drivers/gpio/gpiolib.c:69: error: 'ARCH_NR_GPIOS' undeclared here (not in a function)
drivers/gpio/gpiolib.c: In function 'gpio_ensure_requested':
drivers/gpio/gpiolib.c:96: error: dereferencing pointer to incomplete type
drivers/gpio/gpiolib.c:100: error: dereferencing pointer to incomplete type
drivers/gpio/gpiolib.c:108: error: dereferencing pointer to incomplete type
drivers/gpio/gpiolib.c: In function 'gpiochip_find_base':
drivers/gpio/gpiolib.c:783: error: redefinition of 'gpio_export_link'
include/linux/gpio.h:120: note: previous definition of 'gpio_export_link' was here drivers/gpio/gpiolib.c:830: error: redefinition of 'gpio_sysfs_set_active_low'
include/linux/gpio.h:128: note: previous definition of 'gpio_sysfs_set_active_low' was here
drivers/gpio/timbgpio.c:49: error: field 'gpio' has incomplete type
drivers/gpio/timbgpio.c: In function 'timbgpio_update_bit':
drivers/gpio/timbgpio.c:57: warning: type defaults to 'int' in declaration of '__mptr'
etc.
This fixed them:
--- a/arch/alpha/Kconfig~alpha-hook-up-gpiolib-support-fix
+++ a/arch/alpha/Kconfig
@@ -52,6 +52,9 @@ config GENERIC_CALIBRATE_DELAY
config GENERIC_CMOS_UPDATE
def_bool y
+config GENERIC_GPIO
+ def_bool y
+
config ZONE_DMA
bool
default y
_
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] alpha: Hook up gpiolib support
@ 2011-05-18 20:58 Mark Brown
2011-05-24 23:27 ` Andrew Morton
0 siblings, 1 reply; 6+ messages in thread
From: Mark Brown @ 2011-05-18 20:58 UTC (permalink / raw)
To: Richard Henderson, Ivan Kokshaysky, Matt Turner, Andrew Morton
Cc: grant, linux-alpha, linux-kernel, Mark Brown
Allow people to use gpiolib on Alpha if they want to, mostly for build
coverage. The header is a stright copy of that for Microblaze, which in
turn was taken from PowerPC.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
arch/alpha/Kconfig | 1 +
arch/alpha/include/asm/gpio.h | 55 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 56 insertions(+), 0 deletions(-)
create mode 100644 arch/alpha/include/asm/gpio.h
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 9808998..8c832a5 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -12,6 +12,7 @@ config ALPHA
select GENERIC_IRQ_PROBE
select AUTO_IRQ_AFFINITY if SMP
select GENERIC_IRQ_SHOW
+ select ARCH_WANT_OPTIONAL_GPIOLIB
help
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory,
diff --git a/arch/alpha/include/asm/gpio.h b/arch/alpha/include/asm/gpio.h
new file mode 100644
index 0000000..7dc6a63
--- /dev/null
+++ b/arch/alpha/include/asm/gpio.h
@@ -0,0 +1,55 @@
+/*
+ * Generic GPIO API implementation for Alpha.
+ *
+ * A stright copy of that for PowerPC which was:
+ *
+ * Copyright (c) 2007-2008 MontaVista Software, Inc.
+ *
+ * Author: Anton Vorontsov <avorontsov@ru.mvista.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef _ASM_ALPHA_GPIO_H
+#define _ASM_ALPHA_GPIO_H
+
+#include <linux/errno.h>
+#include <asm-generic/gpio.h>
+
+#ifdef CONFIG_GPIOLIB
+
+/*
+ * We don't (yet) implement inlined/rapid versions for on-chip gpios.
+ * Just call gpiolib.
+ */
+static inline int gpio_get_value(unsigned int gpio)
+{
+ return __gpio_get_value(gpio);
+}
+
+static inline void gpio_set_value(unsigned int gpio, int value)
+{
+ __gpio_set_value(gpio, value);
+}
+
+static inline int gpio_cansleep(unsigned int gpio)
+{
+ return __gpio_cansleep(gpio);
+}
+
+static inline int gpio_to_irq(unsigned int gpio)
+{
+ return __gpio_to_irq(gpio);
+}
+
+static inline int irq_to_gpio(unsigned int irq)
+{
+ return -EINVAL;
+}
+
+#endif /* CONFIG_GPIOLIB */
+
+#endif /* _ASM_ALPHA_GPIO_H */
--
1.7.5.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-05-25 9:31 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-15 0:08 [PATCH] alpha: Hook up gpiolib support Mark Brown
2011-05-19 19:30 ` Grant Likely
2011-05-19 21:06 ` Mark Brown
2011-05-18 20:58 Mark Brown
2011-05-24 23:27 ` Andrew Morton
2011-05-25 9:31 ` Mark Brown
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.