All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.