case VIDIOC_S_TUNER: 
static int radio_do_ioctl(struct inode *inode, struct file *file,			unsigned int cmd, void *arg){	struct cx8800_fh *fh    = file->private_data;	struct cx8800_dev *dev  = fh->dev;	struct cx88_core  *core = dev->core;	if (video_debug > 1)		cx88_print_ioctl(core->name,cmd);	switch (cmd) {	case VIDIOC_QUERYCAP:	{		struct v4l2_capability *cap = arg;		memset(cap,0,sizeof(*cap));                strcpy(cap->driver, "cx8800");		strlcpy(cap->card, cx88_boards[core->board].name,			sizeof(cap->card));		sprintf(cap->bus_info,"PCI:%s", pci_name(dev->pci));		cap->version = CX88_VERSION_CODE;		cap->capabilities = V4L2_CAP_TUNER#if 0				    | V4L2_TUNER_CAP_LOW#endif				    ;		return 0;	}	case VIDIOC_G_TUNER:	{		struct v4l2_tuner *t = arg;		if (t->index > 0)			return -EINVAL;		memset(t,0,sizeof(*t));		strcpy(t->name, "Radio");                t->rangelow  = (int)(65*16);                t->rangehigh = (int)(108*16);#ifdef V4L2_I2C_CLIENTS		cx88_call_i2c_clients(dev->core,VIDIOC_G_TUNER,t);#else		{			struct video_tuner vt;			memset(&vt,0,sizeof(vt));			cx88_call_i2c_clients(dev,VIDIOCGTUNER,&vt);			t->signal = vt.signal;		}#endif		return 0;	}	case VIDIOC_ENUMINPUT:	{		struct v4l2_input *i = arg;		if (i->index != 0)			return -EINVAL;		strcpy(i->name,"Radio");		i->type = V4L2_INPUT_TYPE_TUNER;		return 0;	}	case VIDIOC_G_INPUT:	{		int *i = arg;		*i = 0;		return 0;	}	case VIDIOC_G_AUDIO:	{		struct v4l2_audio *a = arg;		memset(a,0,sizeof(*a));		strcpy(a->name,"Radio");		return 0;	}	case VIDIOC_G_STD:	{		v4l2_std_id *id = arg;		*id = 0;		return 0;	}	case VIDIOC_S_AUDIO:	case VIDIOC_S_TUNER:	case VIDIOC_S_INPUT:	case VIDIOC_S_STD:		return 0;	case VIDIOC_QUERYCTRL:	{		struct v4l2_queryctrl *c = arg;		int i;		if (c->id <  V4L2_CID_BASE ||		    c->id >= V4L2_CID_LASTP1)			return -EINVAL;		if (c->id == V4L2_CID_AUDIO_MUTE) {			for (i = 0; i < CX8800_CTLS; i++)				if (cx8800_ctls[i].v.id == c->id)					break;			*c = cx8800_ctls[i].v;		} else			*c = no_ctl;		return 0;	}	case VIDIOC_G_CTRL:	case VIDIOC_S_CTRL:	case VIDIOC_G_FREQUENCY:	case VIDIOC_S_FREQUENCY:		return video_do_ioctl(inode,file,cmd,arg);	default:		return v4l_compat_translate_ioctl(inode,file,cmd,arg,						  radio_do_ioctl);	}	return 0;};
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a82decf64d34e79a0cc622997866c754350f18f8/cx88-video.c/clean/drivers/media/video/cx88/cx88-video.c