public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: "Stefan Hellermann" <stefan@the2masters.de>
Cc: "Bart Van Assche" <bart.vanassche@gmail.com>,
	linux-kernel@vger.kernel.org
Subject: Re: GPIO-Ports on VIA EPIA-SN
Date: Mon, 9 Jun 2008 12:57:18 -0700	[thread overview]
Message-ID: <200806091257.18845.david-b@pacbell.net> (raw)
In-Reply-To: <e2e108260806091203v6685d31duf057a3f9744fe7d4@mail.gmail.com>

On Monday 09 June 2008, Bart Van Assche wrote:
> On Mon, Jun 9, 2008 at 8:00 PM, Stefan Hellermann <stefan@the2masters.de> wrote:
> > I have a VIA Epia-SN embedded-board with 8 GPIO-connectors. I got the
> > attached documentation from VIA after I asked how to use the
> > GPIO-connectors with Linux.
> 
> Are you already familiar with the LDD book
> (http://lwn.net/Kernel/LDD3/ +
> http://lwn.net/Articles/2.6-kernel-api/) ? That book is a good
> starting point, together with the file Documentation/gpio.txt in the
> Linux kernel tree.

So in short:  you'll want to add a Kconfig option for your board,
and when it's selected you'll want to link in some EPIA-specific
int logic.  That logic will register a gpio_chip, and then you'll
be able to use the standard GPIO calls (and whatever uses them).

You will also want something like the appended patch ... but do
the "select" commands when your board is selected.

Of course an entirely roll-your-own approach could work too, but
I won't recommend that here.

- Dave


===== CUT HERE
DEBUG ONLY -- make X86_PC use gpiolib.

It's not clear to me how the various x86-ish platforms should
be made to work here, since there seems to be no convention
that each platform type has its own <asm/arch/...> subdir.

---
 arch/x86/Kconfig       |    2 ++
 include/asm-x86/gpio.h |   20 +++++++++++++++++++-
 2 files changed, 21 insertions(+), 1 deletion(-)

--- g26.orig/arch/x86/Kconfig	2008-06-03 19:43:53.000000000 -0700
+++ g26/arch/x86/Kconfig	2008-06-03 20:03:25.000000000 -0700
@@ -236,6 +236,8 @@ choice
 
 config X86_PC
 	bool "PC-compatible"
+	select GENERIC_GPIO
+	select HAVE_GPIO_LIB
 	help
 	  Choose this option if your computer is a standard PC or compatible.
 
--- g26.orig/include/asm-x86/gpio.h	2008-06-03 19:43:53.000000000 -0700
+++ g26/include/asm-x86/gpio.h	2008-06-03 20:03:25.000000000 -0700
@@ -1,6 +1,24 @@
 #ifndef _ASM_I386_GPIO_H
 #define _ASM_I386_GPIO_H
 
-#include <gpio.h>
+// #include <gpio.h>
+
+#include <linux/errno.h>
+#include <asm-generic/gpio.h>           /* cansleep wrappers */
+
+#define gpio_get_value	__gpio_get_value
+#define gpio_set_value	__gpio_set_value
+#define gpio_cansleep	__gpio_cansleep
+
+static inline int gpio_to_irq(unsigned gpio)
+{
+	return -ENOSYS;
+}
+
+static inline int irq_to_gpio(unsigned irq)
+{
+	return -EINVAL;
+}
+
 
 #endif /* _ASM_I386_GPIO_H */



  reply	other threads:[~2008-06-09 19:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-09 18:00 GPIO-Ports on VIA EPIA-SN Stefan Hellermann
2008-06-09 19:03 ` Bart Van Assche
2008-06-09 19:57   ` David Brownell [this message]
2008-06-10 11:27 ` Alan Cox
2008-06-10 22:51   ` [patch 1/1] Add driver for GPIO on Via Epia-SN - vt8251 Stefan Hellermann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200806091257.18845.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=bart.vanassche@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stefan@the2masters.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox