diff options
author | jmg <jmg@FreeBSD.org> | 2006-05-26 07:36:50 +0000 |
---|---|---|
committer | jmg <jmg@FreeBSD.org> | 2006-05-26 07:36:50 +0000 |
commit | e239b67882195469483ebe43982ce366153ec6ed (patch) | |
tree | 2cc68912e5767d9b498fe49f1c3b12eaf6fa55f1 /sys/dev/bktr | |
parent | 1ab3460f108654e0bdedd76fb99353d61d2f32e4 (diff) | |
download | FreeBSD-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.c | 9 |
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: |