summaryrefslogtreecommitdiffstats
path: root/sys/dev/bktr
diff options
context:
space:
mode:
authorjmg <jmg@FreeBSD.org>2006-05-26 07:36:50 +0000
committerjmg <jmg@FreeBSD.org>2006-05-26 07:36:50 +0000
commite239b67882195469483ebe43982ce366153ec6ed (patch)
tree2cc68912e5767d9b498fe49f1c3b12eaf6fa55f1 /sys/dev/bktr
parent1ab3460f108654e0bdedd76fb99353d61d2f32e4 (diff)
downloadFreeBSD-src-e239b67882195469483ebe43982ce366153ec6ed.zip
FreeBSD-src-e239b67882195469483ebe43982ce366153ec6ed.tar.gz
don't require a buffer if all we are doing is manipulating the GPIO pins...
MFC after: 3 weeks
Diffstat (limited to 'sys/dev/bktr')
-rw-r--r--sys/dev/bktr/bktr_os.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/bktr/bktr_os.c b/sys/dev/bktr/bktr_os.c
index eeadc92..e51cdf9 100644
--- a/sys/dev/bktr/bktr_os.c
+++ b/sys/dev/bktr/bktr_os.c
@@ -149,6 +149,8 @@ SYSCTL_INT(_hw_bt848, OID_AUTO, dolby, CTLFLAG_RW, &bt848_dolby, 0, "");
#include <vm/vm.h>
+#include <dev/bktr/ioctl_bt848.h> /* extensions to ioctl_meteor.h */
+
#ifndef __NetBSD__
#include <vm/vm_kern.h>
#include <vm/pmap.h>
@@ -767,8 +769,15 @@ bktr_ioctl( struct cdev *dev, ioctl_cmd_t cmd, caddr_t arg, int flag, struct thr
return (ENXIO);
}
+#ifdef BKTR_GPIO_ACCESS
+ if (bktr->bigbuf == 0 && cmd != BT848_GPIO_GET_EN &&
+ cmd != BT848_GPIO_SET_EN && cmd != BT848_GPIO_GET_DATA &&
+ cmd != BT848_GPIO_SET_DATA) /* no frame buffer allocated (ioctl failed) */
+ return( ENOMEM );
+#else
if (bktr->bigbuf == 0) /* no frame buffer allocated (ioctl failed) */
return( ENOMEM );
+#endif
switch ( FUNCTION( minor(dev) ) ) {
case VIDEO_DEV:
OpenPOWER on IntegriCloud