V4L/DVB (3269): ioctls cleanups.
- Now, all internal ioctls are at v4l2-common.h - removed unused ioctl at saa6752hs.h - all debug ioctl code moved to v4l2-common.c - removed duplicated stuff from other cards Signed-off-by: Michael Krufky <mkrufky@m1k.net> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
This commit is contained in:
parent
37bdfa06b6
commit
5e453dc757
|
@ -38,6 +38,7 @@
|
|||
#include <asm/io.h>
|
||||
|
||||
#include "bttvp.h"
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
/* fwd decl */
|
||||
static void boot_msp34xx(struct bttv *btv, int pin);
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/kdev_t.h>
|
||||
#include "bttvp.h"
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
#include <linux/dma-mapping.h>
|
||||
|
||||
|
@ -1520,14 +1521,6 @@ static struct videobuf_queue_ops bttv_video_qops = {
|
|||
.buf_release = buffer_release,
|
||||
};
|
||||
|
||||
static const char *v4l1_ioctls[] = {
|
||||
"?", "CGAP", "GCHAN", "SCHAN", "GTUNER", "STUNER", "GPICT", "SPICT",
|
||||
"CCAPTURE", "GWIN", "SWIN", "GFBUF", "SFBUF", "KEY", "GFREQ",
|
||||
"SFREQ", "GAUDIO", "SAUDIO", "SYNC", "MCAPTURE", "GMBUF", "GUNIT",
|
||||
"GCAPTURE", "SCAPTURE", "SPLAYMODE", "SWRITEMODE", "GPLAYINFO",
|
||||
"SMICROCODE", "GVBIFMT", "SVBIFMT" };
|
||||
#define V4L1_IOCTLS ARRAY_SIZE(v4l1_ioctls)
|
||||
|
||||
static int bttv_common_ioctls(struct bttv *btv, unsigned int cmd, void *arg)
|
||||
{
|
||||
switch (cmd) {
|
||||
|
@ -2216,22 +2209,9 @@ static int bttv_do_ioctl(struct inode *inode, struct file *file,
|
|||
unsigned long flags;
|
||||
int retval = 0;
|
||||
|
||||
if (bttv_debug > 1) {
|
||||
switch (_IOC_TYPE(cmd)) {
|
||||
case 'v':
|
||||
printk("bttv%d: ioctl 0x%x (v4l1, VIDIOC%s)\n",
|
||||
btv->c.nr, cmd, (_IOC_NR(cmd) < V4L1_IOCTLS) ?
|
||||
v4l1_ioctls[_IOC_NR(cmd)] : "???");
|
||||
break;
|
||||
case 'V':
|
||||
printk("bttv%d: ioctl 0x%x (v4l2, %s)\n",
|
||||
btv->c.nr, cmd, v4l2_ioctl_names[_IOC_NR(cmd)]);
|
||||
break;
|
||||
default:
|
||||
printk("bttv%d: ioctl 0x%x (???)\n",
|
||||
btv->c.nr, cmd);
|
||||
}
|
||||
}
|
||||
if (bttv_debug > 1)
|
||||
v4l_print_ioctl(btv->c.name, cmd);
|
||||
|
||||
if (btv->errors)
|
||||
bttv_reinit_bt848(btv);
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include <linux/delay.h>
|
||||
|
||||
#include "bttvp.h"
|
||||
#include <media/v4l2-common.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include <linux/firmware.h>
|
||||
|
||||
#include "cx88.h"
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
MODULE_DESCRIPTION("driver for cx2388x/cx23416 based mpeg encoder cards");
|
||||
MODULE_AUTHOR("Jelle Foks <jelle@foks.8m.com>, Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]");
|
||||
|
@ -1374,7 +1375,7 @@ static int mpeg_do_ioctl(struct inode *inode, struct file *file,
|
|||
struct cx88_core *core = dev->core;
|
||||
|
||||
if (debug > 1)
|
||||
cx88_print_ioctl(core->name,cmd);
|
||||
v4l_print_ioctl(core->name,cmd);
|
||||
|
||||
switch (cmd) {
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#include <linux/videodev2.h>
|
||||
|
||||
#include "cx88.h"
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
MODULE_DESCRIPTION("v4l2 driver module for cx2388x based TV cards");
|
||||
MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]");
|
||||
|
@ -76,60 +77,6 @@ static unsigned int cx88_devcount;
|
|||
static LIST_HEAD(cx88_devlist);
|
||||
static DECLARE_MUTEX(devlist);
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* debug help functions */
|
||||
|
||||
static const char *v4l1_ioctls[] = {
|
||||
"0", "CGAP", "GCHAN", "SCHAN", "GTUNER", "STUNER", "GPICT", "SPICT",
|
||||
"CCAPTURE", "GWIN", "SWIN", "GFBUF", "SFBUF", "KEY", "GFREQ",
|
||||
"SFREQ", "GAUDIO", "SAUDIO", "SYNC", "MCAPTURE", "GMBUF", "GUNIT",
|
||||
"GCAPTURE", "SCAPTURE", "SPLAYMODE", "SWRITEMODE", "GPLAYINFO",
|
||||
"SMICROCODE", "GVBIFMT", "SVBIFMT" };
|
||||
#define V4L1_IOCTLS ARRAY_SIZE(v4l1_ioctls)
|
||||
|
||||
static const char *v4l2_ioctls[] = {
|
||||
"QUERYCAP", "1", "ENUM_PIXFMT", "ENUM_FBUFFMT", "G_FMT", "S_FMT",
|
||||
"G_COMP", "S_COMP", "REQBUFS", "QUERYBUF", "G_FBUF", "S_FBUF",
|
||||
"G_WIN", "S_WIN", "PREVIEW", "QBUF", "16", "DQBUF", "STREAMON",
|
||||
"STREAMOFF", "G_PERF", "G_PARM", "S_PARM", "G_STD", "S_STD",
|
||||
"ENUMSTD", "ENUMINPUT", "G_CTRL", "S_CTRL", "G_TUNER", "S_TUNER",
|
||||
"G_FREQ", "S_FREQ", "G_AUDIO", "S_AUDIO", "35", "QUERYCTRL",
|
||||
"QUERYMENU", "G_INPUT", "S_INPUT", "ENUMCVT", "41", "42", "43",
|
||||
"44", "45", "G_OUTPUT", "S_OUTPUT", "ENUMOUTPUT", "G_AUDOUT",
|
||||
"S_AUDOUT", "ENUMFX", "G_EFFECT", "S_EFFECT", "G_MODULATOR",
|
||||
"S_MODULATOR"
|
||||
};
|
||||
#define V4L2_IOCTLS ARRAY_SIZE(v4l2_ioctls)
|
||||
|
||||
void cx88_print_ioctl(char *name, unsigned int cmd)
|
||||
{
|
||||
char *dir;
|
||||
|
||||
switch (_IOC_DIR(cmd)) {
|
||||
case _IOC_NONE: dir = "--"; break;
|
||||
case _IOC_READ: dir = "r-"; break;
|
||||
case _IOC_WRITE: dir = "-w"; break;
|
||||
case _IOC_READ | _IOC_WRITE: dir = "rw"; break;
|
||||
default: dir = "??"; break;
|
||||
}
|
||||
switch (_IOC_TYPE(cmd)) {
|
||||
case 'v':
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (v4l1, %s, VIDIOC%s)\n",
|
||||
name, cmd, dir, (_IOC_NR(cmd) < V4L1_IOCTLS) ?
|
||||
v4l1_ioctls[_IOC_NR(cmd)] : "???");
|
||||
break;
|
||||
case 'V':
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (v4l2, %s, VIDIOC_%s)\n",
|
||||
name, cmd, dir, (_IOC_NR(cmd) < V4L2_IOCTLS) ?
|
||||
v4l2_ioctls[_IOC_NR(cmd)] : "???");
|
||||
break;
|
||||
default:
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (???, %s, #%d)\n",
|
||||
name, cmd, dir, _IOC_NR(cmd));
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
#define NO_SYNC_LINE (-1U)
|
||||
|
||||
static u32* cx88_risc_field(u32 *rp, struct scatterlist *sglist,
|
||||
|
@ -1208,7 +1155,6 @@ void cx88_core_put(struct cx88_core *core, struct pci_dev *pci)
|
|||
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
EXPORT_SYMBOL(cx88_print_ioctl);
|
||||
EXPORT_SYMBOL(cx88_print_irqbits);
|
||||
|
||||
EXPORT_SYMBOL(cx88_core_irq);
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
|
||||
#include "cx88.h"
|
||||
#include "dvb-pll.h"
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
#ifdef HAVE_MT352
|
||||
# include "mt352.h"
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include <asm/io.h>
|
||||
|
||||
#include "cx88.h"
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
static unsigned int i2c_debug = 0;
|
||||
module_param(i2c_debug, int, 0644);
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include <asm/div64.h>
|
||||
|
||||
#include "cx88.h"
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
/* Include V4L1 specific functions. Should be removed soon */
|
||||
#include <linux/videodev.h>
|
||||
|
@ -1118,7 +1119,7 @@ static int video_do_ioctl(struct inode *inode, struct file *file,
|
|||
int err;
|
||||
|
||||
if (video_debug > 1)
|
||||
cx88_print_ioctl(core->name,cmd);
|
||||
v4l_print_ioctl(core->name,cmd);
|
||||
switch (cmd) {
|
||||
|
||||
/* --- capabilities ------------------------------------------ */
|
||||
|
@ -1254,7 +1255,7 @@ int cx88_do_ioctl(struct inode *inode, struct file *file, int radio,
|
|||
|
||||
dprintk( 1, "CORE IOCTL: 0x%x\n", cmd );
|
||||
if (video_debug > 1)
|
||||
cx88_print_ioctl(core->name,cmd);
|
||||
v4l_print_ioctl(core->name,cmd);
|
||||
|
||||
switch (cmd) {
|
||||
/* ---------- tv norms ---------- */
|
||||
|
@ -1474,7 +1475,7 @@ static int radio_do_ioctl(struct inode *inode, struct file *file,
|
|||
struct cx88_core *core = dev->core;
|
||||
|
||||
if (video_debug > 1)
|
||||
cx88_print_ioctl(core->name,cmd);
|
||||
v4l_print_ioctl(core->name,cmd);
|
||||
|
||||
switch (cmd) {
|
||||
case VIDIOC_QUERYCAP:
|
||||
|
|
|
@ -461,7 +461,6 @@ struct cx8802_dev {
|
|||
|
||||
extern void cx88_print_irqbits(char *name, char *tag, char **strings,
|
||||
u32 bits, u32 mask);
|
||||
extern void cx88_print_ioctl(char *name, unsigned int cmd);
|
||||
|
||||
extern int cx88_core_irq(struct cx88_core *core, u32 status);
|
||||
extern void cx88_wakeup(struct cx88_core *core,
|
||||
|
|
|
@ -63,59 +63,6 @@ static int alt = EM28XX_PINOUT;
|
|||
module_param(alt, int, 0644);
|
||||
MODULE_PARM_DESC(alt, "alternate setting to use for video endpoint");
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* debug help functions */
|
||||
|
||||
static const char *v4l1_ioctls[] = {
|
||||
"0", "CGAP", "GCHAN", "SCHAN", "GTUNER", "STUNER", "GPICT", "SPICT",
|
||||
"CCAPTURE", "GWIN", "SWIN", "GFBUF", "SFBUF", "KEY", "GFREQ",
|
||||
"SFREQ", "GAUDIO", "SAUDIO", "SYNC", "MCAPTURE", "GMBUF", "GUNIT",
|
||||
"GCAPTURE", "SCAPTURE", "SPLAYMODE", "SWRITEMODE", "GPLAYINFO",
|
||||
"SMICROCODE", "GVBIFMT", "SVBIFMT" };
|
||||
#define V4L1_IOCTLS ARRAY_SIZE(v4l1_ioctls)
|
||||
|
||||
static const char *v4l2_ioctls[] = {
|
||||
"QUERYCAP", "1", "ENUM_PIXFMT", "ENUM_FBUFFMT", "G_FMT", "S_FMT",
|
||||
"G_COMP", "S_COMP", "REQBUFS", "QUERYBUF", "G_FBUF", "S_FBUF",
|
||||
"G_WIN", "S_WIN", "PREVIEW", "QBUF", "16", "DQBUF", "STREAMON",
|
||||
"STREAMOFF", "G_PERF", "G_PARM", "S_PARM", "G_STD", "S_STD",
|
||||
"ENUMSTD", "ENUMINPUT", "G_CTRL", "S_CTRL", "G_TUNER", "S_TUNER",
|
||||
"G_FREQ", "S_FREQ", "G_AUDIO", "S_AUDIO", "35", "QUERYCTRL",
|
||||
"QUERYMENU", "G_INPUT", "S_INPUT", "ENUMCVT", "41", "42", "43",
|
||||
"44", "45", "G_OUTPUT", "S_OUTPUT", "ENUMOUTPUT", "G_AUDOUT",
|
||||
"S_AUDOUT", "ENUMFX", "G_EFFECT", "S_EFFECT", "G_MODULATOR",
|
||||
"S_MODULATOR"
|
||||
};
|
||||
#define V4L2_IOCTLS ARRAY_SIZE(v4l2_ioctls)
|
||||
|
||||
void em28xx_print_ioctl(char *name, unsigned int cmd)
|
||||
{
|
||||
char *dir;
|
||||
|
||||
switch (_IOC_DIR(cmd)) {
|
||||
case _IOC_NONE: dir = "--"; break;
|
||||
case _IOC_READ: dir = "r-"; break;
|
||||
case _IOC_WRITE: dir = "-w"; break;
|
||||
case _IOC_READ | _IOC_WRITE: dir = "rw"; break;
|
||||
default: dir = "??"; break;
|
||||
}
|
||||
switch (_IOC_TYPE(cmd)) {
|
||||
case 'v':
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (v4l1, %s, VIDIOC%s)\n",
|
||||
name, cmd, dir, (_IOC_NR(cmd) < V4L1_IOCTLS) ?
|
||||
v4l1_ioctls[_IOC_NR(cmd)] : "???");
|
||||
break;
|
||||
case 'V':
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (v4l2, %s, VIDIOC_%s)\n",
|
||||
name, cmd, dir, (_IOC_NR(cmd) < V4L2_IOCTLS) ?
|
||||
v4l2_ioctls[_IOC_NR(cmd)] : "???");
|
||||
break;
|
||||
default:
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (???, %s, #%d)\n",
|
||||
name, cmd, dir, _IOC_NR(cmd));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* em28xx_request_buffers()
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include <linux/video_decoder.h>
|
||||
|
||||
#include "em28xx.h"
|
||||
#include <media/v4l2-common.h>
|
||||
#include <media/tuner.h>
|
||||
|
||||
/* ----------------------------------------------------------- */
|
||||
|
|
|
@ -1269,7 +1269,7 @@ static int em28xx_video_do_ioctl(struct inode *inode, struct file *filp,
|
|||
return -ENODEV;
|
||||
|
||||
if (video_debug > 1)
|
||||
em28xx_print_ioctl(dev->name,cmd);
|
||||
v4l_print_ioctl(dev->name,cmd);
|
||||
|
||||
switch (cmd) {
|
||||
|
||||
|
|
|
@ -295,8 +295,6 @@ void em28xx_set_ir(struct em28xx * dev,struct IR_i2c *ir);
|
|||
|
||||
/* Provided by em28xx-core.c */
|
||||
|
||||
void em28xx_print_ioctl(char *name, unsigned int cmd);
|
||||
|
||||
u32 em28xx_request_buffers(struct em28xx *dev, u32 count);
|
||||
void em28xx_queue_unusedframes(struct em28xx *dev);
|
||||
void em28xx_release_buffers(struct em28xx *dev);
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include <media/saa7146_vv.h>
|
||||
#include <media/tuner.h>
|
||||
#include <linux/video_decoder.h>
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
#include "mxb.h"
|
||||
#include "tea6415c.h"
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
#include "saa7134-reg.h"
|
||||
#include "saa7134.h"
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
/* commly used strings */
|
||||
static char name_mute[] = "mute";
|
||||
|
|
|
@ -95,77 +95,6 @@ int (*dmasound_exit)(struct saa7134_dev *dev);
|
|||
#define dprintk(fmt, arg...) if (core_debug) \
|
||||
printk(KERN_DEBUG "%s/core: " fmt, dev->name , ## arg)
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* debug help functions */
|
||||
|
||||
static const char *v4l1_ioctls[] = {
|
||||
"0", "GCAP", "GCHAN", "SCHAN", "GTUNER", "STUNER", "GPICT", "SPICT",
|
||||
"CCAPTURE", "GWIN", "SWIN", "GFBUF", "SFBUF", "KEY", "GFREQ",
|
||||
"SFREQ", "GAUDIO", "SAUDIO", "SYNC", "MCAPTURE", "GMBUF", "GUNIT",
|
||||
"GCAPTURE", "SCAPTURE", "SPLAYMODE", "SWRITEMODE", "GPLAYINFO",
|
||||
"SMICROCODE", "GVBIFMT", "SVBIFMT" };
|
||||
#define V4L1_IOCTLS ARRAY_SIZE(v4l1_ioctls)
|
||||
|
||||
static const char *v4l2_ioctls[] = {
|
||||
"QUERYCAP", "1", "ENUM_PIXFMT", "ENUM_FBUFFMT", "G_FMT", "S_FMT",
|
||||
"G_COMP", "S_COMP", "REQBUFS", "QUERYBUF", "G_FBUF", "S_FBUF",
|
||||
"G_WIN", "S_WIN", "PREVIEW", "QBUF", "16", "DQBUF", "STREAMON",
|
||||
"STREAMOFF", "G_PERF", "G_PARM", "S_PARM", "G_STD", "S_STD",
|
||||
"ENUMSTD", "ENUMINPUT", "G_CTRL", "S_CTRL", "G_TUNER", "S_TUNER",
|
||||
"G_FREQ", "S_FREQ", "G_AUDIO", "S_AUDIO", "35", "QUERYCTRL",
|
||||
"QUERYMENU", "G_INPUT", "S_INPUT", "ENUMCVT", "41", "42", "43",
|
||||
"44", "45", "G_OUTPUT", "S_OUTPUT", "ENUMOUTPUT", "G_AUDOUT",
|
||||
"S_AUDOUT", "ENUMFX", "G_EFFECT", "S_EFFECT", "G_MODULATOR",
|
||||
"S_MODULATOR"
|
||||
};
|
||||
#define V4L2_IOCTLS ARRAY_SIZE(v4l2_ioctls)
|
||||
|
||||
static const char *osspcm_ioctls[] = {
|
||||
"RESET", "SYNC", "SPEED", "STEREO", "GETBLKSIZE", "SETFMT",
|
||||
"CHANNELS", "?", "POST", "SUBDIVIDE", "SETFRAGMENT", "GETFMTS",
|
||||
"GETOSPACE", "GETISPACE", "NONBLOCK", "GETCAPS", "GET/SETTRIGGER",
|
||||
"GETIPTR", "GETOPTR", "MAPINBUF", "MAPOUTBUF", "SETSYNCRO",
|
||||
"SETDUPLEX", "GETODELAY"
|
||||
};
|
||||
#define OSSPCM_IOCTLS ARRAY_SIZE(v4l2_ioctls)
|
||||
|
||||
void saa7134_print_ioctl(char *name, unsigned int cmd)
|
||||
{
|
||||
char *dir;
|
||||
|
||||
switch (_IOC_DIR(cmd)) {
|
||||
case _IOC_NONE: dir = "--"; break;
|
||||
case _IOC_READ: dir = "r-"; break;
|
||||
case _IOC_WRITE: dir = "-w"; break;
|
||||
case _IOC_READ | _IOC_WRITE: dir = "rw"; break;
|
||||
default: dir = "??"; break;
|
||||
}
|
||||
switch (_IOC_TYPE(cmd)) {
|
||||
case 'v':
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (v4l1, %s, VIDIOC%s)\n",
|
||||
name, cmd, dir, (_IOC_NR(cmd) < V4L1_IOCTLS) ?
|
||||
v4l1_ioctls[_IOC_NR(cmd)] : "???");
|
||||
break;
|
||||
case 'V':
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (v4l2, %s, VIDIOC_%s)\n",
|
||||
name, cmd, dir, (_IOC_NR(cmd) < V4L2_IOCTLS) ?
|
||||
v4l2_ioctls[_IOC_NR(cmd)] : "???");
|
||||
break;
|
||||
case 'P':
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (oss dsp, %s, SNDCTL_DSP_%s)\n",
|
||||
name, cmd, dir, (_IOC_NR(cmd) < OSSPCM_IOCTLS) ?
|
||||
osspcm_ioctls[_IOC_NR(cmd)] : "???");
|
||||
break;
|
||||
case 'M':
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (oss mixer, %s, #%d)\n",
|
||||
name, cmd, dir, _IOC_NR(cmd));
|
||||
break;
|
||||
default:
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (???, %s, #%d)\n",
|
||||
name, cmd, dir, _IOC_NR(cmd));
|
||||
}
|
||||
}
|
||||
|
||||
void saa7134_track_gpio(struct saa7134_dev *dev, char *msg)
|
||||
{
|
||||
unsigned long mode,status;
|
||||
|
@ -1173,7 +1102,6 @@ module_exit(saa7134_fini);
|
|||
|
||||
/* ----------------------------------------------------------- */
|
||||
|
||||
EXPORT_SYMBOL(saa7134_print_ioctl);
|
||||
EXPORT_SYMBOL(saa7134_i2c_call_clients);
|
||||
EXPORT_SYMBOL(saa7134_devlist);
|
||||
EXPORT_SYMBOL(saa7134_boards);
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
|
||||
#include "saa7134-reg.h"
|
||||
#include "saa7134.h"
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
#ifdef HAVE_MT352
|
||||
# include "mt352.h"
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include "saa7134.h"
|
||||
|
||||
#include <media/saa6752hs.h>
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
|
@ -163,7 +164,7 @@ static int ts_do_ioctl(struct inode *inode, struct file *file,
|
|||
struct saa7134_dev *dev = file->private_data;
|
||||
|
||||
if (debug > 1)
|
||||
saa7134_print_ioctl(dev->name,cmd);
|
||||
v4l_print_ioctl(dev->name,cmd);
|
||||
switch (cmd) {
|
||||
case VIDIOC_QUERYCAP:
|
||||
{
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
|
||||
#include "saa7134-reg.h"
|
||||
#include "saa7134.h"
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
/* ----------------------------------------------------------- */
|
||||
|
||||
|
|
|
@ -373,6 +373,42 @@ static ssize_t dsp_write(struct file *file, const char __user *buffer,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
static const char *osspcm_ioctls[] = {
|
||||
"RESET", "SYNC", "SPEED", "STEREO", "GETBLKSIZE", "SETFMT",
|
||||
"CHANNELS", "?", "POST", "SUBDIVIDE", "SETFRAGMENT", "GETFMTS",
|
||||
"GETOSPACE", "GETISPACE", "NONBLOCK", "GETCAPS", "GET/SETTRIGGER",
|
||||
"GETIPTR", "GETOPTR", "MAPINBUF", "MAPOUTBUF", "SETSYNCRO",
|
||||
"SETDUPLEX", "GETODELAY"
|
||||
};
|
||||
#define OSSPCM_IOCTLS ARRAY_SIZE(osspcm_ioctls)
|
||||
|
||||
static void saa7134_oss_print_ioctl(char *name, unsigned int cmd)
|
||||
{
|
||||
char *dir;
|
||||
|
||||
switch (_IOC_DIR(cmd)) {
|
||||
case _IOC_NONE: dir = "--"; break;
|
||||
case _IOC_READ: dir = "r-"; break;
|
||||
case _IOC_WRITE: dir = "-w"; break;
|
||||
case _IOC_READ | _IOC_WRITE: dir = "rw"; break;
|
||||
default: dir = "??"; break;
|
||||
}
|
||||
switch (_IOC_TYPE(cmd)) {
|
||||
case 'P':
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (oss dsp, %s, SNDCTL_DSP_%s)\n",
|
||||
name, cmd, dir, (_IOC_NR(cmd) < OSSPCM_IOCTLS) ?
|
||||
osspcm_ioctls[_IOC_NR(cmd)] : "???");
|
||||
break;
|
||||
case 'M':
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (oss mixer, %s, #%d)\n",
|
||||
name, cmd, dir, _IOC_NR(cmd));
|
||||
break;
|
||||
default:
|
||||
printk(KERN_DEBUG "%s: ioctl 0x%08x (???, %s, #%d)\n",
|
||||
name, cmd, dir, _IOC_NR(cmd));
|
||||
}
|
||||
}
|
||||
|
||||
static int dsp_ioctl(struct inode *inode, struct file *file,
|
||||
unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
|
@ -382,7 +418,7 @@ static int dsp_ioctl(struct inode *inode, struct file *file,
|
|||
int val = 0;
|
||||
|
||||
if (debug > 1)
|
||||
saa7134_print_ioctl(dev->name,cmd);
|
||||
saa7134_oss_print_ioctl(dev->name,cmd);
|
||||
switch (cmd) {
|
||||
case OSS_GETVERSION:
|
||||
return put_user(SOUND_VERSION, p);
|
||||
|
@ -678,7 +714,7 @@ static int mixer_ioctl(struct inode *inode, struct file *file,
|
|||
int __user *p = argp;
|
||||
|
||||
if (debug > 1)
|
||||
saa7134_print_ioctl(dev->name,cmd);
|
||||
saa7134_oss_print_ioctl(dev->name,cmd);
|
||||
switch (cmd) {
|
||||
case OSS_GETVERSION:
|
||||
return put_user(SOUND_VERSION, p);
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
#include "saa7134-reg.h"
|
||||
#include "saa7134.h"
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
/* Include V4L1 specific functions. Should be removed soon */
|
||||
#include <linux/videodev.h>
|
||||
|
@ -1689,7 +1690,7 @@ static int video_do_ioctl(struct inode *inode, struct file *file,
|
|||
int err;
|
||||
|
||||
if (video_debug > 1)
|
||||
saa7134_print_ioctl(dev->name,cmd);
|
||||
v4l_print_ioctl(dev->name,cmd);
|
||||
|
||||
switch (cmd) {
|
||||
case VIDIOC_S_CTRL:
|
||||
|
@ -2142,7 +2143,7 @@ static int radio_do_ioctl(struct inode *inode, struct file *file,
|
|||
struct saa7134_dev *dev = fh->dev;
|
||||
|
||||
if (video_debug > 1)
|
||||
saa7134_print_ioctl(dev->name,cmd);
|
||||
v4l_print_ioctl(dev->name,cmd);
|
||||
switch (cmd) {
|
||||
case VIDIOC_QUERYCAP:
|
||||
{
|
||||
|
|
|
@ -546,7 +546,6 @@ struct saa7134_dev {
|
|||
|
||||
extern struct list_head saa7134_devlist;
|
||||
|
||||
void saa7134_print_ioctl(char *name, unsigned int cmd);
|
||||
void saa7134_track_gpio(struct saa7134_dev *dev, char *msg);
|
||||
|
||||
#define SAA7134_PGTABLE_SIZE 4096
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#include <linux/slab.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include <media/audiochip.h>
|
||||
#include <media/v4l2-common.h>
|
||||
#include <media/tuner.h>
|
||||
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#include <linux/init.h>
|
||||
|
||||
#include <media/tuner.h>
|
||||
#include <media/v4l2-common.h>
|
||||
#include <media/audiochip.h>
|
||||
|
||||
#include "msp3400.h"
|
||||
|
@ -545,6 +546,9 @@ static int tuner_command(struct i2c_client *client, unsigned int cmd, void *arg)
|
|||
{
|
||||
struct tuner *t = i2c_get_clientdata(client);
|
||||
|
||||
if (tuner_debug>1)
|
||||
v4l_i2c_print_ioctl(&(t->i2c),cmd);
|
||||
|
||||
switch (cmd) {
|
||||
/* --- configuration --- */
|
||||
case TUNER_SET_TYPE_ADDR:
|
||||
|
@ -575,9 +579,6 @@ static int tuner_command(struct i2c_client *client, unsigned int cmd, void *arg)
|
|||
/* Should be implemented, since bttv calls it */
|
||||
tuner_dbg("VIDIOCSAUDIO not implemented.\n");
|
||||
|
||||
break;
|
||||
case MSP_SET_MATRIX:
|
||||
case TDA9887_SET_CONFIG:
|
||||
break;
|
||||
/* --- v4l ioctls --- */
|
||||
/* take care: bttv does userspace copying, we'll get a
|
||||
|
@ -764,11 +765,6 @@ static int tuner_command(struct i2c_client *client, unsigned int cmd, void *arg)
|
|||
case VIDIOC_LOG_STATUS:
|
||||
tuner_status(client);
|
||||
break;
|
||||
default:
|
||||
tuner_dbg("Unimplemented IOCTL 0x%08x(dir=%d,tp='%c',nr=%d,sz=%d)\n",
|
||||
cmd, _IOC_DIR(cmd), _IOC_TYPE(cmd),
|
||||
_IOC_NR(cmd), _IOC_SIZE(cmd));
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include <linux/smp_lock.h>
|
||||
|
||||
#include <media/audiochip.h>
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
#include "tvaudio.h"
|
||||
|
||||
|
|
|
@ -58,6 +58,8 @@
|
|||
#include <asm/pgtable.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/div64.h>
|
||||
#include <linux/video_decoder.h>
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
#ifdef CONFIG_KMOD
|
||||
#include <linux/kmod.h>
|
||||
|
@ -190,13 +192,52 @@ char *v4l2_type_names[] = {
|
|||
[V4L2_BUF_TYPE_VBI_OUTPUT] = "vbi-out",
|
||||
};
|
||||
|
||||
char *v4l2_ioctl_names[256] = {
|
||||
[0 ... 255] = "UNKNOWN",
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* debug help functions */
|
||||
|
||||
#ifdef HAVE_V4L1
|
||||
static const char *v4l1_ioctls[] = {
|
||||
[_IOC_NR(VIDIOCGCAP)] = "VIDIOCGCAP",
|
||||
[_IOC_NR(VIDIOCGCHAN)] = "VIDIOCGCHAN",
|
||||
[_IOC_NR(VIDIOCSCHAN)] = "VIDIOCSCHAN",
|
||||
[_IOC_NR(VIDIOCGTUNER)] = "VIDIOCGTUNER",
|
||||
[_IOC_NR(VIDIOCSTUNER)] = "VIDIOCSTUNER",
|
||||
[_IOC_NR(VIDIOCGPICT)] = "VIDIOCGPICT",
|
||||
[_IOC_NR(VIDIOCSPICT)] = "VIDIOCSPICT",
|
||||
[_IOC_NR(VIDIOCCAPTURE)] = "VIDIOCCAPTURE",
|
||||
[_IOC_NR(VIDIOCGWIN)] = "VIDIOCGWIN",
|
||||
[_IOC_NR(VIDIOCSWIN)] = "VIDIOCSWIN",
|
||||
[_IOC_NR(VIDIOCGFBUF)] = "VIDIOCGFBUF",
|
||||
[_IOC_NR(VIDIOCSFBUF)] = "VIDIOCSFBUF",
|
||||
[_IOC_NR(VIDIOCKEY)] = "VIDIOCKEY",
|
||||
[_IOC_NR(VIDIOCGFREQ)] = "VIDIOCGFREQ",
|
||||
[_IOC_NR(VIDIOCSFREQ)] = "VIDIOCSFREQ",
|
||||
[_IOC_NR(VIDIOCGAUDIO)] = "VIDIOCGAUDIO",
|
||||
[_IOC_NR(VIDIOCSAUDIO)] = "VIDIOCSAUDIO",
|
||||
[_IOC_NR(VIDIOCSYNC)] = "VIDIOCSYNC",
|
||||
[_IOC_NR(VIDIOCMCAPTURE)] = "VIDIOCMCAPTURE",
|
||||
[_IOC_NR(VIDIOCGMBUF)] = "VIDIOCGMBUF",
|
||||
[_IOC_NR(VIDIOCGUNIT)] = "VIDIOCGUNIT",
|
||||
[_IOC_NR(VIDIOCGCAPTURE)] = "VIDIOCGCAPTURE",
|
||||
[_IOC_NR(VIDIOCSCAPTURE)] = "VIDIOCSCAPTURE",
|
||||
[_IOC_NR(VIDIOCSPLAYMODE)] = "VIDIOCSPLAYMODE",
|
||||
[_IOC_NR(VIDIOCSWRITEMODE)] = "VIDIOCSWRITEMODE",
|
||||
[_IOC_NR(VIDIOCGPLAYINFO)] = "VIDIOCGPLAYINFO",
|
||||
[_IOC_NR(VIDIOCSMICROCODE)] = "VIDIOCSMICROCODE",
|
||||
[_IOC_NR(VIDIOCGVBIFMT)] = "VIDIOCGVBIFMT",
|
||||
[_IOC_NR(VIDIOCSVBIFMT)] = "VIDIOCSVBIFMT"
|
||||
};
|
||||
#define V4L1_IOCTLS ARRAY_SIZE(v4l1_ioctls)
|
||||
#endif
|
||||
|
||||
static const char *v4l2_ioctls[] = {
|
||||
[_IOC_NR(VIDIOC_QUERYCAP)] = "VIDIOC_QUERYCAP",
|
||||
[_IOC_NR(VIDIOC_RESERVED)] = "VIDIOC_RESERVED",
|
||||
[_IOC_NR(VIDIOC_ENUM_FMT)] = "VIDIOC_ENUM_FMT",
|
||||
[_IOC_NR(VIDIOC_G_FMT)] = "VIDIOC_G_FMT",
|
||||
[_IOC_NR(VIDIOC_S_FMT)] = "VIDIOC_S_FMT",
|
||||
[_IOC_NR(VIDIOC_G_MPEGCOMP)] = "VIDIOC_G_MPEGCOMP",
|
||||
[_IOC_NR(VIDIOC_S_MPEGCOMP)] = "VIDIOC_S_MPEGCOMP",
|
||||
[_IOC_NR(VIDIOC_REQBUFS)] = "VIDIOC_REQBUFS",
|
||||
[_IOC_NR(VIDIOC_QUERYBUF)] = "VIDIOC_QUERYBUF",
|
||||
[_IOC_NR(VIDIOC_G_FBUF)] = "VIDIOC_G_FBUF",
|
||||
|
@ -238,7 +279,87 @@ char *v4l2_ioctl_names[256] = {
|
|||
[_IOC_NR(VIDIOC_S_JPEGCOMP)] = "VIDIOC_S_JPEGCOMP",
|
||||
[_IOC_NR(VIDIOC_QUERYSTD)] = "VIDIOC_QUERYSTD",
|
||||
[_IOC_NR(VIDIOC_TRY_FMT)] = "VIDIOC_TRY_FMT",
|
||||
[_IOC_NR(VIDIOC_ENUMAUDIO)] = "VIDIOC_ENUMAUDIO",
|
||||
[_IOC_NR(VIDIOC_ENUMAUDOUT)] = "VIDIOC_ENUMAUDOUT",
|
||||
[_IOC_NR(VIDIOC_G_PRIORITY)] = "VIDIOC_G_PRIORITY",
|
||||
[_IOC_NR(VIDIOC_S_PRIORITY)] = "VIDIOC_S_PRIORITY",
|
||||
#if 1
|
||||
[_IOC_NR(VIDIOC_G_SLICED_VBI_CAP)] = "VIDIOC_G_SLICED_VBI_CAP",
|
||||
#endif
|
||||
[_IOC_NR(VIDIOC_LOG_STATUS)] = "VIDIOC_LOG_STATUS"
|
||||
};
|
||||
#define V4L2_IOCTLS ARRAY_SIZE(v4l2_ioctls)
|
||||
|
||||
static const char *v4l2_int_ioctls[] = {
|
||||
#ifdef HAVE_VIDEO_DECODER
|
||||
[_IOC_NR(DECODER_GET_CAPABILITIES)] = "DECODER_GET_CAPABILITIES",
|
||||
[_IOC_NR(DECODER_GET_STATUS)] = "DECODER_GET_STATUS",
|
||||
[_IOC_NR(DECODER_SET_NORM)] = "DECODER_SET_NORM",
|
||||
[_IOC_NR(DECODER_SET_INPUT)] = "DECODER_SET_INPUT",
|
||||
[_IOC_NR(DECODER_SET_OUTPUT)] = "DECODER_SET_OUTPUT",
|
||||
[_IOC_NR(DECODER_ENABLE_OUTPUT)] = "DECODER_ENABLE_OUTPUT",
|
||||
[_IOC_NR(DECODER_SET_PICTURE)] = "DECODER_SET_PICTURE",
|
||||
[_IOC_NR(DECODER_SET_GPIO)] = "DECODER_SET_GPIO",
|
||||
[_IOC_NR(DECODER_INIT)] = "DECODER_INIT",
|
||||
[_IOC_NR(DECODER_SET_VBI_BYPASS)] = "DECODER_SET_VBI_BYPASS",
|
||||
[_IOC_NR(DECODER_DUMP)] = "DECODER_DUMP",
|
||||
#endif
|
||||
[_IOC_NR(AUDC_SET_RADIO)] = "AUDC_SET_RADIO",
|
||||
[_IOC_NR(AUDC_SET_INPUT)] = "AUDC_SET_INPUT",
|
||||
|
||||
[_IOC_NR(TUNER_SET_TYPE_ADDR)] = "TUNER_SET_TYPE_ADDR",
|
||||
[_IOC_NR(TUNER_SET_STANDBY)] = "TUNER_SET_STANDBY",
|
||||
[_IOC_NR(TDA9887_SET_CONFIG)] = "TDA9887_SET_CONFIG",
|
||||
|
||||
[_IOC_NR(VIDIOC_INT_S_REGISTER)] = "VIDIOC_INT_S_REGISTER",
|
||||
[_IOC_NR(VIDIOC_INT_G_REGISTER)] = "VIDIOC_INT_G_REGISTER",
|
||||
[_IOC_NR(VIDIOC_INT_RESET)] = "VIDIOC_INT_RESET",
|
||||
[_IOC_NR(VIDIOC_INT_AUDIO_CLOCK_FREQ)] = "VIDIOC_INT_AUDIO_CLOCK_FREQ",
|
||||
[_IOC_NR(VIDIOC_INT_DECODE_VBI_LINE)] = "VIDIOC_INT_DECODE_VBI_LINE",
|
||||
[_IOC_NR(VIDIOC_INT_S_VBI_DATA)] = "VIDIOC_INT_S_VBI_DATA",
|
||||
[_IOC_NR(VIDIOC_INT_G_VBI_DATA)] = "VIDIOC_INT_G_VBI_DATA",
|
||||
[_IOC_NR(VIDIOC_INT_G_CHIP_IDENT)] = "VIDIOC_INT_G_CHIP_IDENT",
|
||||
[_IOC_NR(VIDIOC_INT_I2S_CLOCK_FREQ)] = "VIDIOC_INT_I2S_CLOCK_FREQ"
|
||||
};
|
||||
#define V4L2_INT_IOCTLS ARRAY_SIZE(v4l2_int_ioctls)
|
||||
|
||||
/* Common ioctl debug function. This function can be used by
|
||||
external ioctl messages as well as internal V4L ioctl */
|
||||
void v4l_printk_ioctl(unsigned int cmd)
|
||||
{
|
||||
char *dir;
|
||||
|
||||
switch (_IOC_DIR(cmd)) {
|
||||
case _IOC_NONE: dir = "--"; break;
|
||||
case _IOC_READ: dir = "r-"; break;
|
||||
case _IOC_WRITE: dir = "-w"; break;
|
||||
case _IOC_READ | _IOC_WRITE: dir = "rw"; break;
|
||||
default: dir = "*ERR*"; break;
|
||||
}
|
||||
switch (_IOC_TYPE(cmd)) {
|
||||
case 'd':
|
||||
printk("v4l2_int ioctl %s, dir=%s (0x%08x)\n",
|
||||
(_IOC_NR(cmd) < V4L2_INT_IOCTLS) ?
|
||||
v4l2_int_ioctls[_IOC_NR(cmd)] : "UNKNOWN", dir, cmd);
|
||||
break;
|
||||
#ifdef HAVE_V4L1
|
||||
case 'v':
|
||||
printk("v4l1 ioctl %s, dir=%s (0x%08x)\n",
|
||||
(_IOC_NR(cmd) < V4L1_IOCTLS) ?
|
||||
v4l1_ioctls[_IOC_NR(cmd)] : "UNKNOWN", dir, cmd);
|
||||
break;
|
||||
#endif
|
||||
case 'V':
|
||||
printk("v4l2 ioctl %s, dir=%s (0x%08x)\n",
|
||||
(_IOC_NR(cmd) < V4L2_IOCTLS) ?
|
||||
v4l2_ioctls[_IOC_NR(cmd)] : "UNKNOWN", dir, cmd);
|
||||
break;
|
||||
|
||||
default:
|
||||
printk("unknown ioctl '%c', dir=%s, #%d (0x%08x)\n",
|
||||
_IOC_TYPE(cmd), dir, _IOC_NR(cmd), cmd);
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------- */
|
||||
|
||||
|
@ -253,7 +374,7 @@ EXPORT_SYMBOL(v4l2_prio_check);
|
|||
|
||||
EXPORT_SYMBOL(v4l2_field_names);
|
||||
EXPORT_SYMBOL(v4l2_type_names);
|
||||
EXPORT_SYMBOL(v4l2_ioctl_names);
|
||||
EXPORT_SYMBOL(v4l_printk_ioctl);
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef _LINUX_VIDEO_DECODER_H
|
||||
#define _LINUX_VIDEO_DECODER_H
|
||||
|
||||
#define HAVE_VIDEO_DECODER 1
|
||||
|
||||
struct video_decoder_capability { /* this name is too long */
|
||||
__u32 flags;
|
||||
#define VIDEO_DECODER_PAL 1 /* can decode PAL signal */
|
||||
|
|
|
@ -1116,7 +1116,6 @@ int v4l2_prio_check(struct v4l2_prio_state *global, enum v4l2_priority *local);
|
|||
/* names for fancy debug output */
|
||||
extern char *v4l2_field_names[];
|
||||
extern char *v4l2_type_names[];
|
||||
extern char *v4l2_ioctl_names[];
|
||||
|
||||
/* Compatibility layer interface -- v4l1-compat module */
|
||||
typedef int (*v4l2_kioctl)(struct inode *inode, struct file *file,
|
||||
|
|
|
@ -23,11 +23,6 @@ enum audiochip {
|
|||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
/* v4l device was opened in Radio mode */
|
||||
#define AUDC_SET_RADIO _IO('m',2)
|
||||
/* select from TV,radio,extern,MUTE */
|
||||
#define AUDC_SET_INPUT _IOW('m',17,int)
|
||||
|
||||
/* audio inputs */
|
||||
#define AUDIO_TUNER 0x00
|
||||
#define AUDIO_RADIO 0x01
|
||||
|
|
|
@ -115,10 +115,6 @@
|
|||
#define TUNER_PHILIPS_TUV1236D 68 /* ATI HDTV Wonder */
|
||||
#define TUNER_TNF_5335MF 69 /* Sabrent Bt848 */
|
||||
|
||||
#define TUNER_SET_TYPE_ADDR _IOW('T',3,int)
|
||||
#define TUNER_SET_STANDBY _IOW('T',4,int)
|
||||
#define TDA9887_SET_CONFIG _IOW('t',5,int)
|
||||
|
||||
/* tv card specific */
|
||||
#define TDA9887_PRESENT (1<<0)
|
||||
#define TDA9887_PORT1_INACTIVE (1<<1)
|
||||
|
|
|
@ -63,6 +63,20 @@ enum v4l2_chip_ident {
|
|||
V4L2_IDENT_CX25843 = 243,
|
||||
};
|
||||
|
||||
/* audio ioctls */
|
||||
/* v4l device was opened in Radio mode */
|
||||
#define AUDC_SET_RADIO _IO('d',88)
|
||||
/* select from TV,radio,extern,MUTE */
|
||||
#define AUDC_SET_INPUT _IOW('d',89,int)
|
||||
|
||||
/* tuner ioctls */
|
||||
/* Sets tuner type and its I2C addr */
|
||||
#define TUNER_SET_TYPE_ADDR _IOW('d',90,int)
|
||||
/* Puts tuner on powersaving state, disabling it, except for i2c */
|
||||
#define TUNER_SET_STANDBY _IOW('d',91,int)
|
||||
/* Sets tda9887 specific stuff, like port1, port2 and qss */
|
||||
#define TDA9887_SET_CONFIG _IOW('d',92,int)
|
||||
|
||||
/* only implemented if CONFIG_VIDEO_ADV_DEBUG is defined */
|
||||
#define VIDIOC_INT_S_REGISTER _IOR ('d', 100, struct v4l2_register)
|
||||
#define VIDIOC_INT_G_REGISTER _IOWR('d', 101, struct v4l2_register)
|
||||
|
@ -108,5 +122,16 @@ enum v4l2_chip_ident {
|
|||
If the frequency is not supported, then -EINVAL is returned. */
|
||||
#define VIDIOC_INT_I2S_CLOCK_FREQ _IOW ('d', 108, u32)
|
||||
|
||||
/* Prints used ioctl */
|
||||
extern void v4l_printk_ioctl(unsigned int cmd);
|
||||
|
||||
#define v4l_print_ioctl(name,cmd) do {\
|
||||
printk(KERN_DEBUG "%s: ", name); \
|
||||
v4l_printk_ioctl(cmd); } while (0)
|
||||
|
||||
#define v4l_i2c_print_ioctl(client,cmd) do {\
|
||||
printk(KERN_DEBUG "%s %d-%04x: ", (client)->driver->name, \
|
||||
i2c_adapter_id((client)->adapter),(client)->addr); \
|
||||
v4l_printk_ioctl(cmd); } while (0)
|
||||
|
||||
#endif /* V4L2_COMMON_H_ */
|
||||
|
|
Loading…
Reference in New Issue