Module Name:    src
Committed By:   khorben
Date:           Fri May 10 01:20:05 UTC 2013

Modified Files:
        src/sys/dev/gpio [khorben-n900]: files.gpio gpio.c gpiovar.h

Log Message:
Added a locator for interrupts on the GPIO bus. This allows ARM devices
(like the Nokia N900) to register interrupt handlers as specified within
their respective kernel configuration file.

XXX This change is not adequate because intr_establish() is a MD interface,
    so it will have to be re-designed before merging to the main tree.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.10.18.1 src/sys/dev/gpio/files.gpio
cvs rdiff -u -r1.51 -r1.51.6.1 src/sys/dev/gpio/gpio.c
cvs rdiff -u -r1.15 -r1.15.18.1 src/sys/dev/gpio/gpiovar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/gpio/files.gpio
diff -u src/sys/dev/gpio/files.gpio:1.10 src/sys/dev/gpio/files.gpio:1.10.18.1
--- src/sys/dev/gpio/files.gpio:1.10	Sun Nov 13 12:33:00 2011
+++ src/sys/dev/gpio/files.gpio	Fri May 10 01:20:05 2013
@@ -1,6 +1,6 @@
-# $NetBSD: files.gpio,v 1.10 2011/11/13 12:33:00 mbalmer Exp $
+# $NetBSD: files.gpio,v 1.10.18.1 2013/05/10 01:20:05 khorben Exp $
 
-define	gpio {[offset = -1], [mask = 0], [flag = 0]}
+define	gpio {[offset = -1], [mask = 0], [flag = 0], [intr = -1]}
 
 device	gpio: gpio
 attach	gpio at gpiobus

Index: src/sys/dev/gpio/gpio.c
diff -u src/sys/dev/gpio/gpio.c:1.51 src/sys/dev/gpio/gpio.c:1.51.6.1
--- src/sys/dev/gpio/gpio.c:1.51	Wed Oct 17 21:35:39 2012
+++ src/sys/dev/gpio/gpio.c	Fri May 10 01:20:04 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: gpio.c,v 1.51 2012/10/17 21:35:39 dyoung Exp $ */
+/* $NetBSD: gpio.c,v 1.51.6.1 2013/05/10 01:20:04 khorben Exp $ */
 /*	$OpenBSD: gpio.c,v 1.6 2006/01/14 12:33:49 grange Exp $	*/
 
 /*
@@ -19,7 +19,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: gpio.c,v 1.51 2012/10/17 21:35:39 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gpio.c,v 1.51.6.1 2013/05/10 01:20:04 khorben Exp $");
 
 /*
  * General Purpose Input/Output framework.
@@ -249,6 +249,7 @@ gpio_search(device_t parent, cfdata_t cf
 	ga.ga_offset = cf->cf_loc[GPIOCF_OFFSET];
 	ga.ga_mask = cf->cf_loc[GPIOCF_MASK];
 	ga.ga_flags = cf->cf_loc[GPIOCF_FLAG];
+	ga.ga_intr = cf->cf_loc[GPIOCF_INTR];
 	namlen = strlen(cf->cf_name) + 1;
 	ga.ga_dvname = kmem_alloc(namlen, KM_NOSLEEP);
 	if (ga.ga_dvname == NULL)

Index: src/sys/dev/gpio/gpiovar.h
diff -u src/sys/dev/gpio/gpiovar.h:1.15 src/sys/dev/gpio/gpiovar.h:1.15.18.1
--- src/sys/dev/gpio/gpiovar.h:1.15	Sun Nov 13 13:20:02 2011
+++ src/sys/dev/gpio/gpiovar.h	Fri May 10 01:20:05 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: gpiovar.h,v 1.15 2011/11/13 13:20:02 mbalmer Exp $ */
+/* $NetBSD: gpiovar.h,v 1.15.18.1 2013/05/10 01:20:05 khorben Exp $ */
 /*	$OpenBSD: gpiovar.h,v 1.3 2006/01/14 12:33:49 grange Exp $	*/
 
 /*
@@ -71,6 +71,7 @@ struct gpio_attach_args {
 	uint32_t	 ga_mask;
 	char		*ga_dvname;
 	uint32_t	 ga_flags;
+	int		 ga_intr;
 };
 
 /* GPIO pin map */

Reply via email to