Module Name: src
Committed By: mbalmer
Date: Mon Oct 3 11:28:28 UTC 2011
Modified Files:
src/sys/dev/gpio: gpio.c
Log Message:
Unbreak and move the list of child devices to COMPAT_50.
To generate a diff of this commit:
cvs rdiff -u -r1.44 -r1.45 src/sys/dev/gpio/gpio.c
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/gpio.c
diff -u src/sys/dev/gpio/gpio.c:1.44 src/sys/dev/gpio/gpio.c:1.45
--- src/sys/dev/gpio/gpio.c:1.44 Mon Oct 3 11:16:47 2011
+++ src/sys/dev/gpio/gpio.c Mon Oct 3 11:28:28 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: gpio.c,v 1.44 2011/10/03 11:16:47 mbalmer Exp $ */
+/* $NetBSD: gpio.c,v 1.45 2011/10/03 11:28:28 mbalmer 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.44 2011/10/03 11:16:47 mbalmer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gpio.c,v 1.45 2011/10/03 11:28:28 mbalmer Exp $");
/*
* General Purpose Input/Output framework.
@@ -65,7 +65,9 @@ struct gpio_softc {
int sc_ioctl_busy; /* ioctl is busy */
kcondvar_t sc_attach; /* attach/detach in progress */
int sc_attach_busy;/* busy in attach/detach */
+#ifdef COMPAT_50
LIST_HEAD(, gpio_dev) sc_devs; /* devices */
+#endif
LIST_HEAD(, gpio_name) sc_names; /* named pins */
};
@@ -138,6 +140,7 @@ gpio_resume(device_t self, const pmf_qua
static void
gpio_childdetached(device_t self, device_t child)
{
+#ifdef COMPAT_50
struct gpio_dev *gdev;
struct gpio_softc *sc;
int error;
@@ -172,6 +175,7 @@ gpio_childdetached(device_t self, device
sc->sc_attach_busy = 0;
cv_signal(&sc->sc_attach);
mutex_exit(&sc->sc_mtx);
+#endif
}
static int
@@ -506,8 +510,8 @@ gpio_ioctl(struct gpio_softc *sc, u_long
struct gpio_info *info;
struct gpio_attach *attach;
struct gpio_attach_args ga;
- struct gpio_dev *gdev;
struct gpio_req *req;
+ struct gpio_dev *gdev;
struct gpio_pulse *pulse;
struct gpio_name *nm;
struct gpio_set *set;
@@ -723,6 +727,7 @@ gpio_ioctl(struct gpio_softc *sc, u_long
if (cf != NULL) {
dv = config_attach_loc(sc->sc_dev, cf, locs, &ga,
gpiobus_print);
+#ifdef COMPAT_50
if (dv != NULL) {
gdev = kmem_alloc(sizeof(struct gpio_dev),
KM_SLEEP);
@@ -730,6 +735,10 @@ gpio_ioctl(struct gpio_softc *sc, u_long
LIST_INSERT_HEAD(&sc->sc_devs, gdev, sc_next);
} else
error = EINVAL;
+#else
+ if (dv == NULL)
+ error = EINVAL;
+#endif
} else
error = EINVAL;
mutex_enter(&sc->sc_mtx);
@@ -839,7 +848,10 @@ gpio_ioctl_oapi(struct gpio_softc *sc, u
gpio_chipset_tag_t gc;
struct gpio_pin_op *op;
struct gpio_pin_ctl *ctl;
- int pin, value, flags;
+ struct gpio_attach *attach;
+ struct gpio_dev *gdev;
+
+ int error, pin, value, flags;
gc = sc->sc_gc;