drxd, siano: Remove unused include linux/version.h
Subsystems (11)
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/14 v4l2 core: return -ENOIOCTLCMD if an ioctl doesn't exist
Currently, -EINVAL is used to return either when an IOCTL is not implemented, or if the ioctl was not implemented.
Note: Drivers that don't use video_ioctl2, will need extra patches.
Documentation/DocBook/media/Makefile +1 -0
@@ -117,6 +117,7 @@ ERRORS = \ EPERM \ ERANGE \ EPIPE \ + ENOIOCTLCMD \ ESCAPE = \ -e "s/&/\\&/g" \
Documentation/DocBook/media/v4l/func-ioctl.xml +9 -8
@@ -132,14 +132,15 @@ complete the request.</para> &VIDIOC-S-CTRL; ioctl to a value which is out of bounds.</para> </listitem> </varlistentry> + <varlistentry> + <term><errorcode>ENOIOCTLCMD</errorcode></term> + <listitem> + <para>The application attempted to use a non-existent ioctl. This is returned by the V4L2 core only. + Applications should be able to handle this error code, in order to detect if a new ioctl is + not implemented at the current Kernel version. Kernel versions lower than 3.0 returns EINVAL to + non-existing ioctl's.</para> + </listitem> + </varlistentry> </variablelist> </refsect1> </refentry> - -<!-- -Local Variables: -mode: sgml -sgml-parent-document: "v4l2.sgml" -indent-tabs-mode: nil -End: --->
Documentation/DocBook/media/v4l/v4l2.xml +7 -0
@@ -128,6 +128,13 @@ structs, ioctls) must be noted in more detail in the history chapter applications. --> <revision> + <revnumber>3.0.0</revnumber> + <date>2011-06-24</date> + <authorinitials>mcc</authorinitials> + <revremark>Standardize an error code for invalid ioctl.</revremark> + </revision> + + <revision> <revnumber>2.6.39</revnumber> <date>2011-03-01</date> <authorinitials>mcc, po</authorinitials>
drivers/media/video/v4l2-ioctl.c +2 -2
@@ -542,12 +542,12 @@ static long __video_do_ioctl(struct file *file,struct v4l2_fh *vfh =NULL ;struct v4l2_format f_copy;int use_fh_prio =0 ; -long ret = -EINVAL ; +long ret = -ENOIOCTLCMD ;if (ops ==NULL ) {printk (KERN_WARNING "videodev: \"%s\" has no ioctl_ops.\n" , vfd->name); -return -EINVAL ; +return ret; } if ((vfd->debug & V4L2_DEBUG_IOCTL) &&
Signature · 1 line
1.7.1
Re: [PATCH 01/14] [media] v4l2 core: return -ENOIOCTLCMD if an ioctl doesn't exist
Quoted 6 lines · Mauro Carvalho Chehab
+ <term><errorcode>ENOIOCTLCMD</errorcode></term>
+ <listitem>
+ <para>The application attempted to use a non-existent ioctl. This is returned by the V4L2 core only.
+ Applications should be able to handle this error code, in order to detect if a new ioctl is
+ not implemented at the current Kernel version. Kernel versions lower than 3.0 returns EINVAL to
+ non-existing ioctl's.</para>
This seems entirely bogus.
ENOICTLCMD is meant to be an entirely kernel-internal one, which is meant to never be shown to user space. IOW, vfs_ioctl() turns it into EINVAL (which I personally think is bogus - traditionally ENOTTY is the right one for "not a valid ioctl", but there are people who disagree - whatever)
The rationale for it is mainly as a way for layers inside the kernel to determine the difference between "ioctl existed but failed with EINVAL" vs "ioctl doesn't actually exist". Some layers try first one thing and then another, and want to know the difference. An example of that might be some code that first tries to call device-specific version, and if that doesn't exist, do a generic emulation version.
Of course, as far as I can tell, almost nothing does that anyway. Regardless, it's definitely wrong to document it as being returned to user land. It should never be user-visible.
Linus
PATCH 2/14 return -ENOIOCTLCMD for unsupported ioctl's at legacy drivers
In reply to a message not in the archiveThose drivers are not relying at the V4L2 core to handle the ioctl's. So, we need to manually patch them every time a change goes to the core.
drivers/media/video/et61x251/et61x251_core.c +1 -9
@@ -2480,16 +2480,8 @@ static long et61x251_ioctl_v4l2(struct file *filp,case VIDIOC_S_PARM :return et61x251_vidioc_s_parm (cam, arg); -case VIDIOC_G_STD : -case VIDIOC_S_STD : -case VIDIOC_QUERYSTD : -case VIDIOC_ENUMSTD : -case VIDIOC_QUERYMENU : -case VIDIOC_ENUM_FRAMEINTERVALS : -return -EINVAL ; -default : -return -EINVAL ; +return -ENOIOCTLCMD ; } }
drivers/media/video/pvrusb2/pvrusb2-v4l2.c +1 -6
@@ -369,11 +369,6 @@ static long pvr2_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)break ; } -case VIDIOC_S_AUDIO : - { - ret = -EINVAL ; -break ; - }case VIDIOC_G_TUNER : {struct v4l2_tuner *vt = (struct v4l2_tuner *)arg;
@@ -850,7 +845,7 @@ static long pvr2_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)#endif default : - ret = -EINVAL ; + ret = -ENOIOCTLCMD ;break ; }
drivers/media/video/sn9c102/sn9c102_core.c +1 -9
@@ -3187,16 +3187,8 @@ static long sn9c102_ioctl_v4l2(struct file *filp,case VIDIOC_S_AUDIO :return sn9c102_vidioc_s_audio (cam, arg); -case VIDIOC_G_STD : -case VIDIOC_S_STD : -case VIDIOC_QUERYSTD : -case VIDIOC_ENUMSTD : -case VIDIOC_QUERYMENU : -case VIDIOC_ENUM_FRAMEINTERVALS : -return -EINVAL ; -default : -return -EINVAL ; +return -ENOIOCTLCMD ; } }
drivers/media/video/uvc/uvc_v4l2.c +1 -1
@@ -83,7 +83,7 @@ static int uvc_ioctl_ctrl_map(struct uvc_video_chain *chain,default :uvc_trace (UVC_TRACE_CONTROL ,"Unsupported V4L2 control type " "%u.\n" , xmap->v4l2_type); - ret = -EINVAL ; + ret = -ENOIOCTLCMD ; goto done; }
Signature · 1 line
1.7.1
PATCH 3/14 v4l2-ioctl: Add a default value for kernel version
In reply to a message not in the archiveMost drivers don't increase kernel versions as newer features are added or bug fixes are solved. So, vidioc_querycap returned value for cap->version is meaningless. Instead of keeping this situation forever, let's add a default value matching the current Linux version.
Drivers that want to keep their own version control can still do it, as they can override the default value for cap->version.
drivers/media/video/v4l2-ioctl.c +2 -0
@@ -16,6 +16,7 @@#include <linux/slab.h> #include <linux/types.h> #include <linux/kernel.h> +#include <linux/version.h> #include <linux/videodev2.h>
@@ -605,6 +606,7 @@ static long __video_do_ioctl(struct file *file,if (!ops->vidioc_querycap)break ; + cap->version =LINUX_VERSION_CODE ; ret = ops->vidioc_querycap (file, fh, cap);if (!ret) dbgarg(cmd, "driver=%s, card=%s, bus=%s, "
Signature · 1 line
1.7.1
PATCH 4/14 drxd, siano: Remove unused include linux/version.h
In reply to a message not in the archiveBoth drxd and siano drivers were including linux/version.h without any reason. Probably, this is due to some compatibility code that used to exist before having their support added into the Linux Kernel.
drivers/media/dvb/frontends/drxd_hard.c +0 -1
@@ -28,7 +28,6 @@#include <linux/delay.h> #include <linux/firmware.h> #include <linux/i2c.h> -#include <linux/version.h> #include <asm/div64.h> #include "dvb_frontend.h"
drivers/media/dvb/siano/smscoreapi.h +0 -1
@@ -22,7 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.#ifndef __SMS_CORE_API_H__#define __SMS_CORE_API_H__ -#include <linux/version.h> #include <linux/device.h> #include <linux/list.h> #include <linux/mm.h>
Signature · 1 line
1.7.1
PATCH 5/14 Stop using linux/version.h on most video drivers
In reply to a message not in the archiveAll the modified drivers didn't have any version increment since Jan, 1 2011. Several of them didn't have any version increment for a long time, even having new features and important bug fixes happening.
As we're now filling the QUERYCAP version with the current Kernel Release, we don't need to maintain a per-driver version control anymore. So, let's just use the default.
In order to preserve the Kernel module version history, a KERNEL_VERSION() macro were added to all modified drivers, and the extraver number were incremented.
I opted to preserve the per-driver version control to a few
drivers: cx18, davinci, fsl-viu, gspca, ivtv, m5mols, soc_camera, pwc, pvrusb2, s2255, s5p-fimc and sh_vou.
A few drivers are still using the legacy way to handle ioctl's. So, we can't do such change on them, otherwise, they'll break. Those are: uvc, et61x251 and sn9c102.
The rationale is that the per-driver version control seems to be actively maintained on those.
Yet, I think that the better for them would be to just use the default version numbering, instead of doing that by themselves.
While here, removed a few uneeded include linux/version.h
drivers/media/video/arv.c +2 -3
@@ -27,7 +27,6 @@#include <linux/slab.h> #include <linux/mm.h> #include <linux/sched.h> -#include <linux/version.h> #include <linux/videodev2.h> #include <media/v4l2-common.h> #include <media/v4l2-device.h>
@@ -54,7 +53,7 @@*/ #define USE_INT 0/* Don't modify */ -#define VERSION "0.04" +#define VERSION "0.0.5"#define ar_inl (addr) inl((unsigned long)(addr))#define ar_outl (val, addr) outl((unsigned long)(val), (unsigned long)(addr))
@@ -404,7 +403,6 @@ static int ar_querycap(struct file *file, void *priv,strlcpy (vcap->driver, ar->vdev.name,sizeof (vcap->driver));strlcpy (vcap->card,"Colour AR VGA" ,sizeof (vcap->card));strlcpy (vcap->bus_info,"Platform" ,sizeof (vcap->bus_info)); - vcap->version =KERNEL_VERSION (0 ,0 ,4 ); vcap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_READWRITE ;return 0 ; }
@@ -879,3 +877,4 @@ module_exit(ar_cleanup_module);MODULE_AUTHOR ("Takeo Takahashi <[email protected]>" );MODULE_DESCRIPTION ("Colour AR M64278(VGA) for Video4Linux" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (VERSION );
drivers/media/video/au0828/au0828-core.c +1 -0
@@ -292,3 +292,4 @@ module_exit(au0828_exit);MODULE_DESCRIPTION ("Driver for Auvitek AU0828 based products" );MODULE_AUTHOR ("Steven Toth <[email protected]>" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.2" );
drivers/media/video/au0828/au0828-video.c +0 -5
@@ -33,7 +33,6 @@#include <linux/init.h> #include <linux/device.h> #include <linux/suspend.h> -#include <linux/version.h> #include <media/v4l2-common.h> #include <media/v4l2-ioctl.h> #include <media/v4l2-chip-ident.h>
@@ -43,8 +42,6 @@static DEFINE_MUTEX (au0828_sysfs_lock); -#define AU0828_VERSION_CODE KERNEL_VERSION(0, 0, 1) -/* ------------------------------------------------------------------ Videobuf operations ------------------------------------------------------------------*/
@@ -1254,8 +1251,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (cap->card, dev->board.name,sizeof (cap->card));strlcpy (cap->bus_info, dev->v4l2_dev.name,sizeof (cap->bus_info)); - cap->version =AU0828_VERSION_CODE ; -/*set the device capabilities */ cap->capabilities =V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VBI_CAPTURE |
drivers/media/video/bt8xx/bttv-driver.c +4 -10
@@ -57,6 +57,7 @@#include <media/saa6588.h> +#define BTTV_VERSION "0.9.19"unsigned int bttv_num;/* number of Bt848s in use */ struct bttv *bttvs[BTTV_MAX ];
@@ -163,6 +164,7 @@ MODULE_PARM_DESC(radio_nr, "radio device numbers");MODULE_DESCRIPTION ("bttv - v4l/v4l2 driver module for bt848/878 based cards" );MODULE_AUTHOR ("Ralph Metzler & Marcus Metzler & Gerd Knorr" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (BTTV_VERSION );/* ----------------------------------------------------------------------- */ /* sysfs */
@@ -2616,7 +2618,6 @@ static int bttv_querycap(struct file *file, void *priv,strlcpy (cap->card, btv->video_dev->name,sizeof (cap->card));snprintf (cap->bus_info,sizeof (cap->bus_info),"PCI:%s" ,pci_name (btv->c.pci)); - cap->version =BTTV_VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VBI_CAPTURE |
@@ -3416,7 +3417,6 @@ static int radio_querycap(struct file *file, void *priv,strcpy (cap->driver,"bttv" );strlcpy (cap->card, btv->radio_dev->name,sizeof (cap->card));sprintf (cap->bus_info,"PCI:%s" ,pci_name (btv->c.pci)); - cap->version =BTTV_VERSION_CODE ; cap->capabilities =V4L2_CAP_TUNER ;return 0 ;
@@ -4585,14 +4585,8 @@ static int __init bttv_init_module(void) bttv_num =0 ; -printk (KERN_INFO "bttv: driver version %d.%d.%d loaded\n" , - (BTTV_VERSION_CODE >>16 ) &0xff , - (BTTV_VERSION_CODE >>8 ) &0xff , -BTTV_VERSION_CODE &0xff ); -#ifdef SNAPSHOT -printk (KERN_INFO "bttv: snapshot date %04d-%02d-%02d\n" , -SNAPSHOT /10000 , (SNAPSHOT /100 )%100 ,SNAPSHOT %100 ); -#endif +printk (KERN_INFO "bttv: driver version %s loaded\n" , +BTTV_VERSION );if (gbuffers <2 || gbuffers >VIDEO_MAX_FRAME ) gbuffers =2 ;if (gbufsize >BTTV_MAX_FBUF )
drivers/media/video/bt8xx/bttvp.h +0 -3
@@ -25,9 +25,6 @@#ifndef _BTTVP_H_#define _BTTVP_H_ -#include <linux/version.h> -#define BTTV_VERSION_CODE KERNEL_VERSION(0,9,18) -#include <linux/types.h> #include <linux/wait.h> #include <linux/i2c.h>
drivers/media/video/bw-qcam.c +1 -2
@@ -71,7 +71,6 @@ OTHER DEALINGS IN THE SOFTWARE.#include <linux/mm.h> #include <linux/parport.h> #include <linux/sched.h> -#include <linux/version.h> #include <linux/videodev2.h> #include <linux/mutex.h> #include <asm/uaccess.h>
@@ -647,7 +646,6 @@ static int qcam_querycap(struct file *file, void *priv,strlcpy (vcap->driver, qcam->v4l2_dev.name,sizeof (vcap->driver));strlcpy (vcap->card,"B&W Quickcam" ,sizeof (vcap->card));strlcpy (vcap->bus_info,"parport" ,sizeof (vcap->bus_info)); - vcap->version =KERNEL_VERSION (0 ,0 ,2 ); vcap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_READWRITE ;return 0 ; }
@@ -1092,3 +1090,4 @@ module_init(init_bw_qcams);module_exit (exit_bw_qcams);MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.3" );
drivers/media/video/c-qcam.c +1 -2
@@ -35,7 +35,6 @@#include <linux/sched.h> #include <linux/mutex.h> #include <linux/jiffies.h> -#include <linux/version.h> #include <linux/videodev2.h> #include <asm/uaccess.h> #include <media/v4l2-device.h>
@@ -517,7 +516,6 @@ static int qcam_querycap(struct file *file, void *priv,strlcpy (vcap->driver, qcam->v4l2_dev.name,sizeof (vcap->driver));strlcpy (vcap->card,"Color Quickcam" ,sizeof (vcap->card));strlcpy (vcap->bus_info,"parport" ,sizeof (vcap->bus_info)); - vcap->version =KERNEL_VERSION (0 ,0 ,3 ); vcap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_READWRITE ;return 0 ; }
@@ -886,6 +884,7 @@ static void __exit cqcam_cleanup(void)MODULE_AUTHOR ("Philip Blundell <[email protected]>" );MODULE_DESCRIPTION (BANNER );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.4" );module_init (cqcam_init);module_exit (cqcam_cleanup);
drivers/media/video/cpia2/cpia2.h +0 -5
@@ -31,7 +31,6 @@#ifndef __CPIA2_H__#define __CPIA2_H__ -#include <linux/version.h> #include <linux/videodev2.h> #include <media/v4l2-common.h> #include <linux/usb.h>
@@ -43,10 +42,6 @@/* define for verbose debug output */ //#define _CPIA2_DEBUG_ -#define CPIA2_MAJ_VER 3 -#define CPIA2_MIN_VER 0 -#define CPIA2_PATCH_VER 0 -/*** * Image defines ***/
drivers/media/video/cpia2/cpia2_v4l.c +4 -8
@@ -29,8 +29,7 @@* Alan Cox <[email protected]> ****************************************************************************/ -#include <linux/version.h> - +#define CPIA_VERSION "3.0.1"#include <linux/module.h> #include <linux/time.h>
@@ -80,6 +79,7 @@ MODULE_AUTHOR("Steve Miller (STMicroelectronics) <[email protected]>");MODULE_DESCRIPTION ("V4L-driver for STMicroelectronics CPiA2 based cameras" );MODULE_SUPPORTED_DEVICE ("video" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (CPIA_VERSION );#define ABOUT "V4L-Driver for Vision CPiA2 based cameras"
@@ -465,9 +465,6 @@ static int cpia2_querycap(struct file *file, void *fh, struct v4l2_capability *vif (usb_make_path (cam->dev, vc->bus_info,sizeof (vc->bus_info)) <0 )memset (vc->bus_info,0 ,sizeof (vc->bus_info)); - vc->version =KERNEL_VERSION (CPIA2_MAJ_VER ,CPIA2_MIN_VER , -CPIA2_PATCH_VER ); - vc->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_READWRITE |V4L2_CAP_STREAMING ;
@@ -1558,8 +1555,8 @@ static void __init check_parameters(void)*****************************************************************************/ static int __init cpia2_init (void ) { -LOG ("%s v%d.%d.%d\n" , -ABOUT ,CPIA2_MAJ_VER ,CPIA2_MIN_VER ,CPIA2_PATCH_VER ); +LOG ("%s v%s\n" , +ABOUT ,CPIA_VERSION );check_parameters ();cpia2_usb_init ();return 0 ;
@@ -1579,4 +1576,3 @@ static void __exit cpia2_exit(void)module_init (cpia2_init);module_exit (cpia2_exit); -
drivers/media/video/cx231xx/cx231xx-video.c +4 -10
@@ -29,7 +29,6 @@#include <linux/bitmap.h> #include <linux/usb.h> #include <linux/i2c.h> -#include <linux/version.h> #include <linux/mm.h> #include <linux/mutex.h> #include <linux/slab.h>
@@ -45,7 +44,7 @@#include "cx231xx.h" #include "cx231xx-vbi.h" -#define CX231XX_VERSION_CODE KERNEL_VERSION(0, 0, 1) +#define CX231XX_VERSION "0.0.2"#define DRIVER_AUTHOR "Srinivasa Deevi <[email protected]>"#define DRIVER_DESC "Conexant cx231xx based USB video device driver"
@@ -70,6 +69,7 @@ do {\MODULE_AUTHOR (DRIVER_AUTHOR );MODULE_DESCRIPTION (DRIVER_DESC );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (CX231XX_VERSION );static unsigned int card[] = {[0 ... (CX231XX_MAXBOARDS -1 )] =UNSET };static unsigned int video_nr[] = {[0 ... (CX231XX_MAXBOARDS -1 )] =UNSET };
@@ -1869,8 +1869,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (cap->card, cx231xx_boards[dev->model].name,sizeof (cap->card));usb_make_path (dev->udev, cap->bus_info,sizeof (cap->bus_info)); - cap->version =CX231XX_VERSION_CODE ; - cap->capabilities = V4L2_CAP_VBI_CAPTURE |#if 0 V4L2_CAP_SLICED_VBI_CAPTURE |
@@ -2057,7 +2055,6 @@ static int radio_querycap(struct file *file, void *priv,strlcpy (cap->card, cx231xx_boards[dev->model].name,sizeof (cap->card));usb_make_path (dev->udev, cap->bus_info,sizeof (cap->bus_info)); - cap->version =CX231XX_VERSION_CODE ; cap->capabilities =V4L2_CAP_TUNER ;return 0 ; }
@@ -2570,11 +2567,8 @@ int cx231xx_register_analog_devices(struct cx231xx *dev) {int ret; -cx231xx_info ("%s: v4l2 driver version %d.%d.%d\n" , - dev->name, - (CX231XX_VERSION_CODE >>16 ) &0xff , - (CX231XX_VERSION_CODE >>8 ) &0xff , -CX231XX_VERSION_CODE &0xff ); +cx231xx_info ("%s: v4l2 driver version %s\n" , + dev->name,CX231XX_VERSION );/* set default norm */ /*dev->norm = cx231xx_video_template.current_norm; */
drivers/media/video/cx231xx/cx231xx.h +0 -1
@@ -114,7 +114,6 @@ V4L2_STD_PAL_BG | V4L2_STD_PAL_DK | V4L2_STD_PAL_I | \ V4L2_STD_PAL_M | V4L2_STD_PAL_N | V4L2_STD_PAL_Nc | \ V4L2_STD_PAL_60 | V4L2_STD_SECAM_L | V4L2_STD_SECAM_DK) -#define CX231xx_VERSION_CODE KERNEL_VERSION(0, 0, 2)#define SLEEP_S5H1432 30#define CX23417_OSC_EN 8
drivers/media/video/cx23885/altera-ci.c +0 -1
@@ -52,7 +52,6 @@* | DATA7| DATA6| DATA5| DATA4| DATA3| DATA2| DATA1| DATA0| * +-------+-------+-------+-------+-------+-------+-------+-------+ */ -#include <linux/version.h> #include <media/videobuf-dma-sg.h> #include <media/videobuf-dvb.h> #include "altera-ci.h"
drivers/media/video/cx23885/cx23885-417.c +0 -1
@@ -1359,7 +1359,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (cap->card, cx23885_boards[tsport->dev->board].name,sizeof (cap->card));sprintf (cap->bus_info,"PCI:%s" ,pci_name (dev->pci)); - cap->version =CX23885_VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_READWRITE |
drivers/media/video/cx23885/cx23885-core.c +3 -10
@@ -42,6 +42,7 @@MODULE_DESCRIPTION ("Driver for cx23885 based TV cards" );MODULE_AUTHOR ("Steven Toth <[email protected]>" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (CX23885_VERSION );static unsigned int debug;module_param (debug, int,0644 );
@@ -2152,14 +2153,8 @@ static struct pci_driver cx23885_pci_driver = {static int __init cx23885_init (void ) { -printk (KERN_INFO "cx23885 driver version %d.%d.%d loaded\n" , - (CX23885_VERSION_CODE >>16 ) &0xff , - (CX23885_VERSION_CODE >>8 ) &0xff , -CX23885_VERSION_CODE &0xff ); -#ifdef SNAPSHOT -printk (KERN_INFO "cx23885: snapshot date %04d-%02d-%02d\n" , -SNAPSHOT /10000 , (SNAPSHOT /100 )%100 ,SNAPSHOT %100 ); -#endif +printk (KERN_INFO "cx23885 driver version %s loaded\n" , +CX23885_VERSION );return pci_register_driver (&cx23885_pci_driver); }
@@ -2170,5 +2165,3 @@ static void __exit cx23885_fini(void)module_init (cx23885_init);module_exit (cx23885_fini); - -/* ----------------------------------------------------------- */
drivers/media/video/cx23885/cx23885-video.c +0 -1
@@ -1000,7 +1000,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (cap->card, cx23885_boards[dev->board].name,sizeof (cap->card));sprintf (cap->bus_info,"PCIe:%s" ,pci_name (dev->pci)); - cap->version =CX23885_VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_READWRITE |
drivers/media/video/cx23885/cx23885.h +1 -2
@@ -36,10 +36,9 @@#include "cx23885-reg.h" #include "media/cx2341x.h" -#include <linux/version.h> #include <linux/mutex.h> -#define CX23885_VERSION_CODE KERNEL_VERSION(0, 0, 2) +#define CX23885_VERSION "0.0.3"#define UNSET (-1U)
drivers/media/video/cx88/cx88-alsa.c +4 -15
@@ -113,6 +113,8 @@ MODULE_DESCRIPTION("ALSA driver module for cx2388x based TV cards");MODULE_AUTHOR ("Ricardo Cerqueira" );MODULE_AUTHOR ("Mauro Carvalho Chehab <[email protected]>" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (CX88_VERSION ); +MODULE_SUPPORTED_DEVICE ("{{Conexant,23881}," "{{Conexant,23882}," "{{Conexant,23883}" );
@@ -973,14 +975,8 @@ static struct pci_driver cx88_audio_pci_driver = {*/ static int __init cx88_audio_init (void ) { -printk (KERN_INFO "cx2388x alsa driver version %d.%d.%d loaded\n" , - (CX88_VERSION_CODE >>16 ) &0xff , - (CX88_VERSION_CODE >>8 ) &0xff , -CX88_VERSION_CODE &0xff ); -#ifdef SNAPSHOT -printk (KERN_INFO "cx2388x: snapshot date %04d-%02d-%02d\n" , -SNAPSHOT /10000 , (SNAPSHOT /100 )%100 ,SNAPSHOT %100 ); -#endif +printk (KERN_INFO "cx2388x alsa driver version %s loaded\n" , +CX88_VERSION );return pci_register_driver (&cx88_audio_pci_driver); }
@@ -994,10 +990,3 @@ static void __exit cx88_audio_fini(void)module_init (cx88_audio_init);module_exit (cx88_audio_fini); - -/* ----------------------------------------------------------- */ -/* -* Local variables: -* c-basic-offset: 8 -* End: -*/
drivers/media/video/cx88/cx88-blackbird.c +3 -17
@@ -42,6 +42,7 @@MODULE_DESCRIPTION ("driver for cx2388x/cx23416 based mpeg encoder cards" );MODULE_AUTHOR ("Jelle Foks <[email protected]>, Gerd Knorr <[email protected]> [SuSE Labs]" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (CX88_VERSION );static unsigned int mpegbufs =32 ;module_param (mpegbufs,int,0644 );
@@ -730,7 +731,6 @@ static int vidioc_querycap (struct file *file, void *priv,strcpy (cap->driver,"cx88_blackbird" );strlcpy (cap->card, 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_VIDEO_CAPTURE | V4L2_CAP_READWRITE |
@@ -1368,14 +1368,8 @@ static struct cx8802_driver cx8802_blackbird_driver = {static int __init blackbird_init (void ) { -printk (KERN_INFO "cx2388x blackbird driver version %d.%d.%d loaded\n" , - (CX88_VERSION_CODE >>16 ) &0xff , - (CX88_VERSION_CODE >>8 ) &0xff , -CX88_VERSION_CODE &0xff ); -#ifdef SNAPSHOT -printk (KERN_INFO "cx2388x: snapshot date %04d-%02d-%02d\n" , -SNAPSHOT /10000 , (SNAPSHOT /100 )%100 ,SNAPSHOT %100 ); -#endif +printk (KERN_INFO "cx2388x blackbird driver version %s loaded\n" , +CX88_VERSION );return cx8802_register_driver (&cx8802_blackbird_driver); }
@@ -1389,11 +1383,3 @@ module_exit(blackbird_fini);module_param_named (video_debug,cx8802_mpeg_template.debug, int,0644 );MODULE_PARM_DESC (debug,"enable debug messages [video]" ); - -/* ----------------------------------------------------------- */ -/* -* Local variables: -* c-basic-offset: 8 -* End: -* kate: eol "unix"; indent-width 3; remove-trailing-space on; replace-trailing-space-save on; tab-width 8; replace-tabs off; space-indent off; mixed-indent off -*/
drivers/media/video/cx88/cx88-dvb.c +3 -15
@@ -64,6 +64,7 @@ MODULE_DESCRIPTION("driver for cx2388x based DVB cards");MODULE_AUTHOR ("Chris Pascoe <[email protected]>" );MODULE_AUTHOR ("Gerd Knorr <[email protected]> [SuSE Labs]" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (CX88_VERSION );static unsigned int debug;module_param (debug, int,0644 );
@@ -1749,14 +1750,8 @@ static struct cx8802_driver cx8802_dvb_driver = {static int __init dvb_init (void ) { -printk (KERN_INFO "cx88/2: cx2388x dvb driver version %d.%d.%d loaded\n" , - (CX88_VERSION_CODE >>16 ) &0xff , - (CX88_VERSION_CODE >>8 ) &0xff , -CX88_VERSION_CODE &0xff ); -#ifdef SNAPSHOT -printk (KERN_INFO "cx2388x: snapshot date %04d-%02d-%02d\n" , -SNAPSHOT /10000 , (SNAPSHOT /100 )%100 ,SNAPSHOT %100 ); -#endif +printk (KERN_INFO "cx88/2: cx2388x dvb driver version %s loaded\n" , +CX88_VERSION );return cx8802_register_driver (&cx8802_dvb_driver); }
@@ -1767,10 +1762,3 @@ static void __exit dvb_fini(void)module_init (dvb_init);module_exit (dvb_fini); - -/* -* Local variables: -* c-basic-offset: 8 -* compile-command: "make DVB=1" -* End: -*/
drivers/media/video/cx88/cx88-mpeg.c +3 -8
@@ -39,6 +39,7 @@ MODULE_AUTHOR("Jelle Foks <[email protected]>");MODULE_AUTHOR ("Chris Pascoe <[email protected]>" );MODULE_AUTHOR ("Gerd Knorr <[email protected]> [SuSE Labs]" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (CX88_VERSION );static unsigned int debug;module_param (debug,int,0644 );
@@ -890,14 +891,8 @@ static struct pci_driver cx8802_pci_driver = {static int __init cx8802_init (void ) { -printk (KERN_INFO "cx88/2: cx2388x MPEG-TS Driver Manager version %d.%d.%d loaded\n" , - (CX88_VERSION_CODE >>16 ) &0xff , - (CX88_VERSION_CODE >>8 ) &0xff , -CX88_VERSION_CODE &0xff ); -#ifdef SNAPSHOT -printk (KERN_INFO "cx2388x: snapshot date %04d-%02d-%02d\n" , -SNAPSHOT /10000 , (SNAPSHOT /100 )%100 ,SNAPSHOT %100 ); -#endif +printk (KERN_INFO "cx88/2: cx2388x MPEG-TS Driver Manager version %s loaded\n" , +CX88_VERSION );return pci_register_driver (&cx8802_pci_driver); }
drivers/media/video/cx88/cx88-video.c +3 -18
@@ -45,6 +45,7 @@MODULE_DESCRIPTION ("v4l2 driver module for cx2388x based TV cards" );MODULE_AUTHOR ("Gerd Knorr <[email protected]> [SuSE Labs]" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (CX88_VERSION );/* ------------------------------------------------------------------ */
@@ -1161,7 +1162,6 @@ static int vidioc_querycap (struct file *file, void *priv,strcpy (cap->driver,"cx8800" );strlcpy (cap->card, 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_VIDEO_CAPTURE | V4L2_CAP_READWRITE |
@@ -1480,7 +1480,6 @@ static int radio_querycap (struct file *file, void *priv,strcpy (cap->driver,"cx8800" );strlcpy (cap->card, 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 ;return 0 ; }
@@ -2139,14 +2138,8 @@ static struct pci_driver cx8800_pci_driver = {static int __init cx8800_init (void ) { -printk (KERN_INFO "cx88/0: cx2388x v4l2 driver version %d.%d.%d loaded\n" , - (CX88_VERSION_CODE >>16 ) &0xff , - (CX88_VERSION_CODE >>8 ) &0xff , -CX88_VERSION_CODE &0xff ); -#ifdef SNAPSHOT -printk (KERN_INFO "cx2388x: snapshot date %04d-%02d-%02d\n" , -SNAPSHOT /10000 , (SNAPSHOT /100 )%100 ,SNAPSHOT %100 ); -#endif +printk (KERN_INFO "cx88/0: cx2388x v4l2 driver version %s loaded\n" , +CX88_VERSION );return pci_register_driver (&cx8800_pci_driver); }
@@ -2157,11 +2150,3 @@ static void __exit cx8800_fini(void)module_init (cx8800_init);module_exit (cx8800_fini); - -/* ----------------------------------------------------------- */ -/* -* Local variables: -* c-basic-offset: 8 -* End: -* kate: eol "unix"; indent-width 3; remove-trailing-space on; replace-trailing-space-save on; tab-width 8; replace-tabs off; space-indent off; mixed-indent off -*/
drivers/media/video/cx88/cx88.h +2 -2
@@ -39,9 +39,9 @@#include "cx88-reg.h" #include "tuner-xc2028.h" -#include <linux/version.h> #include <linux/mutex.h> -#define CX88_VERSION_CODE KERNEL_VERSION(0, 0, 8) + +#define CX88_VERSION "0.0.9"#define UNSET (-1U)
drivers/media/video/em28xx/em28xx-video.c +5 -9
@@ -32,7 +32,6 @@#include <linux/bitmap.h> #include <linux/usb.h> #include <linux/i2c.h> -#include <linux/version.h> #include <linux/mm.h> #include <linux/mutex.h> #include <linux/slab.h>
@@ -50,7 +49,8 @@ "Sascha Sommer <[email protected]>"#define DRIVER_DESC "Empia em28xx based USB video device driver" -#define EM28XX_VERSION_CODE KERNEL_VERSION(0, 1, 2) + +#define EM28XX_VERSION "0.1.3" #define em28xx_videodbg(fmt, arg...) do {\ if (video_debug) \
@@ -72,6 +72,7 @@ do {\MODULE_AUTHOR (DRIVER_AUTHOR );MODULE_DESCRIPTION (DRIVER_DESC );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (EM28XX_VERSION );static unsigned int video_nr[] = {[0 ... (EM28XX_MAXBOARDS -1 )] =UNSET };static unsigned int vbi_nr[] = {[0 ... (EM28XX_MAXBOARDS -1 )] =UNSET };
@@ -1757,8 +1758,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (cap->card, em28xx_boards[dev->model].name,sizeof (cap->card));usb_make_path (dev->udev, cap->bus_info,sizeof (cap->bus_info)); - cap->version =EM28XX_VERSION_CODE ; - cap->capabilities =V4L2_CAP_SLICED_VBI_CAPTURE | V4L2_CAP_VIDEO_CAPTURE |
@@ -1976,7 +1975,6 @@ static int radio_querycap(struct file *file, void *priv,strlcpy (cap->card, em28xx_boards[dev->model].name,sizeof (cap->card));usb_make_path (dev->udev, cap->bus_info,sizeof (cap->bus_info)); - cap->version =EM28XX_VERSION_CODE ; cap->capabilities =V4L2_CAP_TUNER ;return 0 ; }
@@ -2450,10 +2448,8 @@ int em28xx_register_analog_devices(struct em28xx *dev)u8 val;int ret; -printk (KERN_INFO "%s: v4l2 driver version %d.%d.%d\n" , - dev->name, - (EM28XX_VERSION_CODE >>16 ) &0xff , - (EM28XX_VERSION_CODE >>8 ) &0xff ,EM28XX_VERSION_CODE &0xff ); +printk (KERN_INFO "%s: v4l2 driver version %s\n" , + dev->name,EM28XX_VERSION );/* set default norm */ dev->norm = em28xx_video_template.current_norm;
drivers/media/video/gspca/gl860/gl860.h +0 -1
@@ -18,7 +18,6 @@*/ #ifndef GL860_DEV_H #define GL860_DEV_H -#include <linux/version.h> #include "gspca.h"
drivers/media/video/hdpvr/hdpvr-core.c +1 -0
@@ -474,5 +474,6 @@ module_init(hdpvr_init);module_exit (hdpvr_exit);MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.2.1" );MODULE_AUTHOR ("Janne Grunau" );MODULE_DESCRIPTION ("Hauppauge HD PVR driver" );
drivers/media/video/hdpvr/hdpvr-video.c +0 -2
@@ -17,7 +17,6 @@#include <linux/uaccess.h> #include <linux/usb.h> #include <linux/mutex.h> -#include <linux/version.h> #include <linux/workqueue.h> #include <linux/videodev2.h>
@@ -574,7 +573,6 @@ static int vidioc_querycap(struct file *file, void *priv,strcpy (cap->driver,"hdpvr" );strcpy (cap->card,"Hauppauge HD PVR" );usb_make_path (dev->udev, cap->bus_info,sizeof (cap->bus_info)); - cap->version =HDPVR_VERSION ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_AUDIO |V4L2_CAP_READWRITE ;
drivers/media/video/hdpvr/hdpvr.h +0 -6
@@ -18,12 +18,6 @@#include <media/v4l2-device.h> #include <media/ir-kbd-i2c.h> -#define HDPVR_MAJOR_VERSION 0 -#define HDPVR_MINOR_VERSION 2 -#define HDPVR_RELEASE 0 -#define HDPVR_VERSION \ - KERNEL_VERSION(HDPVR_MAJOR_VERSION, HDPVR_MINOR_VERSION, HDPVR_RELEASE) -#define HDPVR_MAX 8#define HDPVR_I2C_MAX_SIZE 128
drivers/media/video/mem2mem_testdev.c +1 -3
@@ -19,7 +19,6 @@#include <linux/module.h> #include <linux/delay.h> #include <linux/fs.h> -#include <linux/version.h> #include <linux/timer.h> #include <linux/sched.h> #include <linux/slab.h>
@@ -35,7 +34,7 @@MODULE_DESCRIPTION ("Virtual device for mem2mem framework testing" );MODULE_AUTHOR ("Pawel Osciak, <[email protected]>" );MODULE_LICENSE ("GPL" ); - +MODULE_VERSION ("0.1.1" );#define MIN_W 32#define MIN_H 32
@@ -380,7 +379,6 @@ static int vidioc_querycap(struct file *file, void *priv,strncpy (cap->driver,MEM2MEM_NAME ,sizeof (cap->driver) -1 );strncpy (cap->card,MEM2MEM_NAME ,sizeof (cap->card) -1 ); cap->bus_info[0 ] =0 ; - cap->version =KERNEL_VERSION (0 ,1 ,0 ); cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_VIDEO_OUTPUT |V4L2_CAP_STREAMING ;
drivers/media/video/pms.c +1 -3
@@ -28,7 +28,6 @@#include <linux/mm.h> #include <linux/ioport.h> #include <linux/init.h> -#include <linux/version.h> #include <linux/mutex.h> #include <linux/uaccess.h> #include <asm/io.h>
@@ -39,7 +38,7 @@#include <media/v4l2-device.h> MODULE_LICENSE ("GPL" ); - +MODULE_VERSION ("0.0.4" );#define MOTOROLA 1#define PHILIPS2 2/* SAA7191 */
@@ -678,7 +677,6 @@ static int pms_querycap(struct file *file, void *priv,strlcpy (vcap->driver, dev->v4l2_dev.name,sizeof (vcap->driver));strlcpy (vcap->card,"Mediavision PMS" ,sizeof (vcap->card));strlcpy (vcap->bus_info,"ISA" ,sizeof (vcap->bus_info)); - vcap->version =KERNEL_VERSION (0 ,0 ,3 ); vcap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_READWRITE ;return 0 ; }
drivers/media/video/pwc/pwc-ioctl.h +0 -1
@@ -52,7 +52,6 @@*/ #include <linux/types.h> -#include <linux/version.h> /* Enumeration of image sizes */ #define PSZ_SQCIF 0x00
drivers/media/video/pwc/pwc.h +4 -4
@@ -29,7 +29,6 @@#include <linux/usb.h> #include <linux/spinlock.h> #include <linux/wait.h> -#include <linux/version.h> #include <linux/mutex.h> #include <linux/mm.h> #include <linux/slab.h>
@@ -47,9 +46,10 @@/* Version block */ #define PWC_MAJOR 10#define PWC_MINOR 0 -#define PWC_EXTRAMINOR 12 -#define PWC_VERSION_CODE KERNEL_VERSION(PWC_MAJOR,PWC_MINOR,PWC_EXTRAMINOR) -#define PWC_VERSION "10.0.14" +#define PWC_EXTRAMINOR 15 + +#define PWC_VERSION_CODE KERNEL_VERSION(PWC_MAJOR, PWC_MINOR, PWC_EXTRAMINOR) +#define PWC_VERSION __stringify(PWC_MAJOR) "." __stringify(PWC_MINOR) "." __stringify(PWC_EXTRAMINOR)#define PWC_NAME "pwc"#define PFX PWC_NAME ": "
drivers/media/video/saa7134/saa7134-core.c +4 -8
@@ -39,6 +39,8 @@MODULE_DESCRIPTION ("v4l2 driver module for saa7130/34 based TV cards" );MODULE_AUTHOR ("Gerd Knorr <[email protected]> [SuSE Labs]" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (SAA7134_VERSION ); +/* ------------------------------------------------------------------ */
@@ -1332,14 +1334,8 @@ static struct pci_driver saa7134_pci_driver = {static int __init saa7134_init (void ) {INIT_LIST_HEAD (&saa7134_devlist); -printk (KERN_INFO "saa7130/34: v4l2 driver version %d.%d.%d loaded\n" , - (SAA7134_VERSION_CODE >>16 ) &0xff , - (SAA7134_VERSION_CODE >>8 ) &0xff , -SAA7134_VERSION_CODE &0xff ); -#ifdef SNAPSHOT -printk (KERN_INFO "saa7130/34: snapshot date %04d-%02d-%02d\n" , -SNAPSHOT /10000 , (SNAPSHOT /100 )%100 ,SNAPSHOT %100 ); -#endif +printk (KERN_INFO "saa7130/34: v4l2 driver version %s loaded\n" , +SAA7134_VERSION );return pci_register_driver (&saa7134_pci_driver); }
drivers/media/video/saa7134/saa7134-empress.c +0 -1
@@ -172,7 +172,6 @@ static int empress_querycap(struct file *file, void *priv,strlcpy (cap->card, saa7134_boards[dev->board].name,sizeof (cap->card));sprintf (cap->bus_info,"PCI:%s" ,pci_name (dev->pci)); - cap->version =SAA7134_VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_READWRITE |
drivers/media/video/saa7134/saa7134-video.c +0 -2
@@ -1810,7 +1810,6 @@ static int saa7134_querycap(struct file *file, void *priv,strlcpy (cap->card, saa7134_boards[dev->board].name,sizeof (cap->card));sprintf (cap->bus_info,"PCI:%s" ,pci_name (dev->pci)); - cap->version =SAA7134_VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VBI_CAPTURE |
@@ -2307,7 +2306,6 @@ static int radio_querycap(struct file *file, void *priv,strcpy (cap->driver,"saa7134" );strlcpy (cap->card, saa7134_boards[dev->board].name,sizeof (cap->card));sprintf (cap->bus_info,"PCI:%s" ,pci_name (dev->pci)); - cap->version =SAA7134_VERSION_CODE ; cap->capabilities =V4L2_CAP_TUNER ;return 0 ; }
drivers/media/video/saa7134/saa7134.h +1 -2
@@ -19,8 +19,7 @@* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <linux/version.h> -#define SAA7134_VERSION_CODE KERNEL_VERSION(0, 2, 16) +#define SAA7134_VERSION "0, 2, 17"#include <linux/pci.h> #include <linux/i2c.h>
drivers/media/video/saa7164/saa7164.h +0 -1
@@ -48,7 +48,6 @@#include <linux/i2c.h> #include <linux/i2c-algo-bit.h> #include <linux/kdev_t.h> -#include <linux/version.h> #include <linux/mutex.h> #include <linux/crc32.h> #include <linux/kthread.h>
drivers/media/video/timblogiw.c +0 -1
@@ -20,7 +20,6 @@* Timberdale FPGA LogiWin Video In */ -#include <linux/version.h> #include <linux/platform_device.h> #include <linux/slab.h> #include <linux/dmaengine.h>
drivers/media/video/tlg2300/pd-common.h +0 -1
@@ -1,7 +1,6 @@#ifndef PD_COMMON_H #define PD_COMMON_H -#include <linux/version.h> #include <linux/fs.h> #include <linux/wait.h> #include <linux/list.h>
drivers/media/video/tlg2300/pd-main.c +1 -0
@@ -531,3 +531,4 @@ module_exit(poseidon_exit);MODULE_AUTHOR ("Telegent Systems" );MODULE_DESCRIPTION ("For tlg2300-based USB device " );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.2" );
drivers/media/video/tlg2300/pd-radio.c +0 -2
@@ -6,7 +6,6 @@#include <linux/usb.h> #include <linux/i2c.h> #include <media/v4l2-dev.h> -#include <linux/version.h> #include <linux/mm.h> #include <linux/mutex.h> #include <media/v4l2-ioctl.h>
@@ -149,7 +148,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"tele-radio" ,sizeof (v->driver));strlcpy (v->card,"Telegent Poseidon" ,sizeof (v->card));usb_make_path (p->udev, v->bus_info,sizeof (v->bus_info)); - v->version =KERNEL_VERSION (0 ,0 ,1 ); v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
drivers/media/video/usbvision/usbvision-video.c +1 -11
@@ -45,7 +45,6 @@* */ -#include <linux/version.h> #include <linux/kernel.h> #include <linux/list.h> #include <linux/timer.h>
@@ -77,15 +76,7 @@#define DRIVER_ALIAS "USBVision"#define DRIVER_DESC "USBVision USB Video Device Driver for Linux"#define DRIVER_LICENSE "GPL" -#define USBVISION_DRIVER_VERSION_MAJOR 0 -#define USBVISION_DRIVER_VERSION_MINOR 9 -#define USBVISION_DRIVER_VERSION_PATCHLEVEL 10 -#define USBVISION_DRIVER_VERSION KERNEL_VERSION(USBVISION_DRIVER_VERSION_MAJOR,\ -USBVISION_DRIVER_VERSION_MINOR,\ -USBVISION_DRIVER_VERSION_PATCHLEVEL) -#define USBVISION_VERSION_STRING __stringify(USBVISION_DRIVER_VERSION_MAJOR) \ -"." __stringify(USBVISION_DRIVER_VERSION_MINOR) \ -"." __stringify(USBVISION_DRIVER_VERSION_PATCHLEVEL) +#define USBVISION_VERSION_STRING "0.9.11"#define ENABLE_HEXDUMP 0/* Enable if you need it */
@@ -516,7 +507,6 @@ static int vidioc_querycap(struct file *file, void *priv, usbvision_device_data[usbvision->dev_model].model_string, sizeof(vc->card));usb_make_path (usbvision->dev, vc->bus_info,sizeof (vc->bus_info)); - vc->version =USBVISION_DRIVER_VERSION ; vc->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_AUDIO | V4L2_CAP_READWRITE |
drivers/media/video/vino.c +1 -4
@@ -36,7 +36,6 @@#include <linux/slab.h> #include <linux/mm.h> #include <linux/time.h> -#include <linux/version.h> #include <linux/kmod.h> #include <linux/i2c.h>
@@ -61,8 +60,7 @@// #define VINO_DEBUG // #define VINO_DEBUG_INT -#define VINO_MODULE_VERSION "0.0.6" -#define VINO_VERSION_CODE KERNEL_VERSION(0, 0, 6) +#define VINO_MODULE_VERSION "0.0.7"MODULE_DESCRIPTION ("SGI VINO Video4Linux2 driver" );MODULE_VERSION (VINO_MODULE_VERSION );
@@ -2934,7 +2932,6 @@ static int vino_querycap(struct file *file, void *__fh,strcpy (cap->driver, vino_driver_name);strcpy (cap->card, vino_driver_description);strcpy (cap->bus_info, vino_bus_name); - cap->version =VINO_VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;
drivers/media/video/vivi.c +4 -10
@@ -22,7 +22,6 @@#include <linux/sched.h> #include <linux/slab.h> #include <linux/font.h> -#include <linux/version.h> #include <linux/mutex.h> #include <linux/videodev2.h> #include <linux/kthread.h>
@@ -44,15 +43,12 @@#define MAX_WIDTH 1920#define MAX_HEIGHT 1200 -#define VIVI_MAJOR_VERSION 0 -#define VIVI_MINOR_VERSION 8 -#define VIVI_RELEASE 0 -#define VIVI_VERSION \ - KERNEL_VERSION(VIVI_MAJOR_VERSION, VIVI_MINOR_VERSION, VIVI_RELEASE) +#define VIVI_VERSION "0.8.1"MODULE_DESCRIPTION ("Video Technology Magazine Virtual Video Capture Board" );MODULE_AUTHOR ("Mauro Carvalho Chehab, Ted Walther and John Sokol" );MODULE_LICENSE ("Dual BSD/GPL" ); +MODULE_VERSION (VIVI_VERSION );static unsigned video_nr =-1 ;module_param (video_nr, uint,0644 );
@@ -812,7 +808,6 @@ static int vidioc_querycap(struct file *file, void *priv,strcpy (cap->driver,"vivi" );strcpy (cap->card,"vivi" );strlcpy (cap->bus_info, dev->v4l2_dev.name,sizeof (cap->bus_info)); - cap->version =VIVI_VERSION ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING | \V4L2_CAP_READWRITE ;return 0 ;
@@ -1325,9 +1320,8 @@ static int __init vivi_init(void) }printk (KERN_INFO "Video Technology Magazine Virtual Video " -"Capture Board ver %u.%u.%u successfully loaded.\n" , - (VIVI_VERSION >>16 ) &0xFF , (VIVI_VERSION >>8 ) &0xFF , -VIVI_VERSION &0xFF ); +"Capture Board ver %s successfully loaded.\n" , +VIVI_VERSION );/* n_devs will reflect the actual number of allocated devices */ n_devs = i;
drivers/media/video/w9966.c +1 -3
@@ -57,7 +57,6 @@#include <linux/module.h> #include <linux/init.h> #include <linux/delay.h> -#include <linux/version.h> #include <linux/videodev2.h> #include <linux/slab.h> #include <media/v4l2-common.h>
@@ -127,7 +126,7 @@ struct w9966 {MODULE_AUTHOR ("Jakob Kemi <[email protected]>" );MODULE_DESCRIPTION ("Winbond w9966cf WebCam driver (0.32)" );MODULE_LICENSE ("GPL" ); - +MODULE_VERSION ("0.33.1" );#ifdef MODULE static const char *pardev[] = {[0 ...W9966_MAXCAMS ] ="" };
@@ -568,7 +567,6 @@ static int cam_querycap(struct file *file, void *priv,strlcpy (vcap->driver, cam->v4l2_dev.name,sizeof (vcap->driver));strlcpy (vcap->card,W9966_DRIVERNAME ,sizeof (vcap->card));strlcpy (vcap->bus_info,"parport" ,sizeof (vcap->bus_info)); - vcap->version =KERNEL_VERSION (0 ,33 ,0 ); vcap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_READWRITE ;return 0 ; }
drivers/media/video/zoran/zoran.h +0 -4
@@ -41,10 +41,6 @@ struct zoran_sync { }; -#define MAJOR_VERSION 0/* driver major version */ -#define MINOR_VERSION 10/* driver minor version */ -#define RELEASE_VERSION 0/* release version */ -#define ZORAN_NAME "ZORAN"/* name of the device */ #define ZR_DEVNAME (zr) ((zr)->name)
drivers/media/video/zoran/zoran_card.c +5 -2
@@ -123,9 +123,12 @@ int zr36067_debug = 1;module_param_named (debug, zr36067_debug, int,0644 );MODULE_PARM_DESC (debug,"Debug level (0-5)" ); +#define ZORAN_VERSION "0.10.1" +MODULE_DESCRIPTION ("Zoran-36057/36067 JPEG codec driver" );MODULE_AUTHOR ("Serguei Miridonov" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (ZORAN_VERSION );#define ZR_DEVICE (subven, subdev, data) { \ .vendor = PCI_VENDOR_ID_ZORAN, .device = PCI_DEVICE_ID_ZORAN_36057, \
@@ -1459,8 +1462,8 @@ static int __init zoran_init(void) {int res; -printk (KERN_INFO "Zoran MJPEG board driver version %d.%d.%d\n" , -MAJOR_VERSION ,MINOR_VERSION ,RELEASE_VERSION ); +printk (KERN_INFO "Zoran MJPEG board driver version %s\n" , +ZORAN_VERSION );/* check the parameters we have been given, adjust if necessary */ if (v4l_nbufs <2 )
drivers/media/video/zoran/zoran_driver.c +0 -3
@@ -44,7 +44,6 @@* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <linux/version.h> #include <linux/init.h> #include <linux/module.h> #include <linux/delay.h>
@@ -1538,8 +1537,6 @@ static int zoran_querycap(struct file *file, void *__fh, struct v4l2_capabilitystrncpy (cap->driver,"zoran" ,sizeof (cap->driver)-1 );snprintf (cap->bus_info,sizeof (cap->bus_info),"PCI:%s" ,pci_name (zr->pci_dev)); - cap->version =KERNEL_VERSION (MAJOR_VERSION ,MINOR_VERSION , -RELEASE_VERSION ); cap->capabilities =V4L2_CAP_STREAMING |V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_VIDEO_OUTPUT |V4L2_CAP_VIDEO_OVERLAY ;return 0 ;
drivers/media/video/zr364xx.c +2 -4
@@ -29,7 +29,6 @@#include <linux/module.h> -#include <linux/version.h> #include <linux/init.h> #include <linux/usb.h> #include <linux/vmalloc.h>
@@ -42,8 +41,7 @@/* Version Information */ -#define DRIVER_VERSION "v0.73" -#define ZR364XX_VERSION_CODE KERNEL_VERSION(0, 7, 3) +#define DRIVER_VERSION "0.7.4"#define DRIVER_AUTHOR "Antoine Jacquet, http://royale.zerezo.com/"#define DRIVER_DESC "Zoran 364xx"
@@ -744,7 +742,6 @@ static int zr364xx_vidioc_querycap(struct file *file, void *priv,strlcpy (cap->card, cam->udev->product,sizeof (cap->card));strlcpy (cap->bus_info,dev_name (&cam->udev->dev),sizeof (cap->bus_info)); - cap->version =ZR364XX_VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_READWRITE |V4L2_CAP_STREAMING ;
@@ -1721,3 +1718,4 @@ module_exit(zr364xx_exit);MODULE_AUTHOR (DRIVER_AUTHOR );MODULE_DESCRIPTION (DRIVER_DESC );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (DRIVER_VERSION );
Signature · 1 line
1.7.1
PATCH 6/14 pwc: Use the default version for VIDIOC_QUERYCAP
In reply to a message not in the archiveAfter discussing with Hans, change pwc to use the default version control.
The only version ever used for pwc driver is 10.0.12, due to commit 2b455db6d456ef2d44808a8377fd3bc832e08317.
Changing it to 3.x.y won't conflict with the old version. There's no namespace conflicts in any predictable future.
Even on the remote far-away case where we might have a conflict, it will be on just one specific stable Kernel release (Kernel 10.0.12), if we ever have such stable release.
So, it is safe and consistent on using 3.x.y numering schema for it.
drivers/media/video/pwc/pwc-v4l.c +0 -1
@@ -349,7 +349,6 @@ static int pwc_querycap(struct file *file, void *fh, struct v4l2_capability *capstrcpy (cap->driver,PWC_NAME );strlcpy (cap->card, vdev->name,sizeof (cap->card));usb_make_path (pdev->udev, cap->bus_info,sizeof (cap->bus_info)); - cap->version =PWC_VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING |
drivers/media/video/pwc/pwc.h +1 -6
@@ -44,12 +44,7 @@#include <media/pwc-ioctl.h> /* Version block */ -#define PWC_MAJOR 10 -#define PWC_MINOR 0 -#define PWC_EXTRAMINOR 15 - -#define PWC_VERSION_CODE KERNEL_VERSION(PWC_MAJOR, PWC_MINOR, PWC_EXTRAMINOR) -#define PWC_VERSION __stringify(PWC_MAJOR) "." __stringify(PWC_MINOR) "." __stringify(PWC_EXTRAMINOR) +#define PWC_VERSION "10.0.15"#define PWC_NAME "pwc"#define PFX PWC_NAME ": "
Signature · 1 line
1.7.1
PATCH 7/14 ivtv,cx18: Use default version control for VIDIOC_QUERYCAP
In reply to a message not in the archiveAfter discussing with Andy Walls on irc, we've agreeded that this is the best thing to do. No regressions will be introduced, as 3.x.y is greater then the current versions for cx18 and ivtv.
drivers/media/video/cx18/cx18-driver.h +0 -1
@@ -25,7 +25,6 @@#ifndef CX18_DRIVER_H #define CX18_DRIVER_H -#include <linux/version.h> #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/init.h>
drivers/media/video/cx18/cx18-ioctl.c +0 -1
@@ -469,7 +469,6 @@ static int cx18_querycap(struct file *file, void *fh,strlcpy (vcap->card, cx->card_name,sizeof (vcap->card));snprintf (vcap->bus_info,sizeof (vcap->bus_info),"PCI:%s" ,pci_name (cx->pci_dev)); - vcap->version =CX18_DRIVER_VERSION ;/* version */ vcap->capabilities = cx->v4l2_cap;/* capabilities */ return 0 ; }
drivers/media/video/cx18/cx18-version.h +1 -7
@@ -23,12 +23,6 @@#define CX18_VERSION_H #define CX18_DRIVER_NAME "cx18" -#define CX18_DRIVER_VERSION_MAJOR 1 -#define CX18_DRIVER_VERSION_MINOR 5 -#define CX18_DRIVER_VERSION_PATCHLEVEL 0 - -#define CX18_VERSION __stringify(CX18_DRIVER_VERSION_MAJOR) "." __stringify(CX18_DRIVER_VERSION_MINOR) "." __stringify(CX18_DRIVER_VERSION_PATCHLEVEL) -#define CX18_DRIVER_VERSION KERNEL_VERSION(CX18_DRIVER_VERSION_MAJOR, \ - CX18_DRIVER_VERSION_MINOR, CX18_DRIVER_VERSION_PATCHLEVEL) +#define CX18_VERSION "1.5.1"#endif
drivers/media/video/ivtv/ivtv-driver.h +0 -1
@@ -36,7 +36,6 @@* using information provided by Jiun-Kuei Jung @ AVerMedia. */ -#include <linux/version.h> #include <linux/module.h> #include <linux/init.h> #include <linux/delay.h>
drivers/media/video/ivtv/ivtv-ioctl.c +0 -1
@@ -757,7 +757,6 @@ static int ivtv_querycap(struct file *file, void *fh, struct v4l2_capability *vcstrlcpy (vcap->driver,IVTV_DRIVER_NAME ,sizeof (vcap->driver));strlcpy (vcap->card, itv->card_name,sizeof (vcap->card));snprintf (vcap->bus_info,sizeof (vcap->bus_info),"PCI:%s" ,pci_name (itv->pdev)); - vcap->version =IVTV_DRIVER_VERSION ;/* version */ vcap->capabilities = itv->v4l2_cap;/* capabilities */ return 0 ; }
drivers/media/video/ivtv/ivtv-version.h +1 -6
@@ -21,11 +21,6 @@#define IVTV_VERSION_H #define IVTV_DRIVER_NAME "ivtv" -#define IVTV_DRIVER_VERSION_MAJOR 1 -#define IVTV_DRIVER_VERSION_MINOR 4 -#define IVTV_DRIVER_VERSION_PATCHLEVEL 2 - -#define IVTV_VERSION __stringify(IVTV_DRIVER_VERSION_MAJOR) "." __stringify(IVTV_DRIVER_VERSION_MINOR) "." __stringify(IVTV_DRIVER_VERSION_PATCHLEVEL) -#define IVTV_DRIVER_VERSION KERNEL_VERSION(IVTV_DRIVER_VERSION_MAJOR,IVTV_DRIVER_VERSION_MINOR,IVTV_DRIVER_VERSION_PATCHLEVEL) +#define IVTV_VERSION "1.4.3"#endif
Signature · 1 line
1.7.1
PATCH 8/14 et61x251: Use LINUX_VERSION_CODE for VIDIOC_QUERYCAP
In reply to a message not in the archiveet61x251 doesn't use vidioc_ioctl2. As the API is changing to use a common version for all drivers, we need to expliticly fix this driver.
drivers/media/video/et61x251/et61x251.h +0 -1
@@ -21,7 +21,6 @@#ifndef _ET61X251_H_#define _ET61X251_H_ -#include <linux/version.h> #include <linux/usb.h> #include <linux/videodev2.h> #include <media/v4l2-common.h>
drivers/media/video/et61x251/et61x251_core.c +3 -3
@@ -18,6 +18,7 @@* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * ***************************************************************************/ +#include <linux/version.h> #include <linux/module.h> #include <linux/init.h> #include <linux/kernel.h>
@@ -48,8 +49,7 @@#define ET61X251_MODULE_AUTHOR "(C) 2006-2007 Luca Risolia"#define ET61X251_AUTHOR_EMAIL "<[email protected]>"#define ET61X251_MODULE_LICENSE "GPL" -#define ET61X251_MODULE_VERSION "1:1.09" -#define ET61X251_MODULE_VERSION_CODE KERNEL_VERSION(1, 1, 9) +#define ET61X251_MODULE_VERSION "1.1.10"/*****************************************************************************/
@@ -1579,7 +1579,7 @@ et61x251_vidioc_querycap(struct et61x251_device* cam, void __user * arg) {struct v4l2_capability cap = { .driver ="et61x251" , - .version =ET61X251_MODULE_VERSION_CODE , + .version =LINUX_VERSION_CODE , .capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_READWRITE |V4L2_CAP_STREAMING , };
drivers/media/video/gspca/gspca.c +4 -8
@@ -24,7 +24,6 @@#define MODULE_NAME "gspca"#include <linux/init.h> -#include <linux/version.h> #include <linux/fs.h> #include <linux/vmalloc.h> #include <linux/sched.h>
@@ -51,11 +50,12 @@#error "DEF_NURBS too big"#endif +#define DRIVER_VERSION_NUMBER "2.13.0" +MODULE_AUTHOR ("Jean-François Moine <http://moinejf.free.fr>" );MODULE_DESCRIPTION ("GSPCA USB Camera Driver" );MODULE_LICENSE ("GPL" ); - -#define DRIVER_VERSION_NUMBER KERNEL_VERSION(2, 13, 0) +MODULE_VERSION (DRIVER_VERSION_NUMBER );#ifdef GSPCA_DEBUG int gspca_debug =D_ERR |D_PROBE ;
@@ -1291,7 +1291,6 @@ static int vidioc_querycap(struct file *file, void *priv, }usb_make_path (gspca_dev->dev, (char *) cap->bus_info,sizeof (cap->bus_info)); - cap->version =DRIVER_VERSION_NUMBER ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING |V4L2_CAP_READWRITE ;
@@ -2478,10 +2477,7 @@ EXPORT_SYMBOL(gspca_auto_gain_n_exposure);/* -- module insert / remove -- */ static int __init gspca_init (void ) { -info ("v%d.%d.%d registered" , - (DRIVER_VERSION_NUMBER >>16 ) &0xff , - (DRIVER_VERSION_NUMBER >>8 ) &0xff , -DRIVER_VERSION_NUMBER &0xff ); +info ("v%s registered" ,DRIVER_VERSION_NUMBER );return 0 ; } static void __exit gspca_exit(void)
Signature · 1 line
1.7.1
PATCH 9/14 pvrusb2: Use LINUX_VERSION_CODE for VIDIOC_QUERYCAP
In reply to a message not in the archivepvrusb2 doesn't use vidioc_ioctl2. As the API is changing to use a common version for all drivers, we need to expliticly fix this driver.
drivers/media/video/pvrusb2/pvrusb2-main.c +1 -0
@@ -168,6 +168,7 @@ module_exit(pvr_exit);MODULE_AUTHOR (DRIVER_AUTHOR );MODULE_DESCRIPTION (DRIVER_DESC );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.9.1" );/*
drivers/media/video/pvrusb2/pvrusb2-v4l2.c +1 -1
@@ -91,7 +91,7 @@ static struct v4l2_capability pvr_capability ={ .driver = "pvrusb2", .card = "Hauppauge WinTV pvr-usb2", .bus_info = "usb", - .version = KERNEL_VERSION(0, 9, 0), + .version = LINUX_VERSION_CODE, .capabilities = (V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_TUNER |V4L2_CAP_AUDIO |V4L2_CAP_RADIO | V4L2_CAP_READWRITE),
Signature · 1 line
1.7.1
PATCH 10/14 sn9c102: Use LINUX_VERSION_CODE for VIDIOC_QUERYCAP
In reply to a message not in the archivesn9c102 doesn't use vidioc_ioctl2. As the API is changing to use a common version for all drivers, we need to expliticly fix this driver.
drivers/media/video/sn9c102/sn9c102.h +0 -1
@@ -21,7 +21,6 @@#ifndef _SN9C102_H_#define _SN9C102_H_ -#include <linux/version.h> #include <linux/usb.h> #include <linux/videodev2.h> #include <media/v4l2-common.h>
drivers/media/video/sn9c102/sn9c102_core.c +3 -3
@@ -33,6 +33,7 @@#include <linux/stat.h> #include <linux/mm.h> #include <linux/vmalloc.h> +#include <linux/version.h> #include <linux/page-flags.h> #include <asm/byteorder.h> #include <asm/page.h>
@@ -47,8 +48,7 @@#define SN9C102_MODULE_AUTHOR "(C) 2004-2007 Luca Risolia"#define SN9C102_AUTHOR_EMAIL "<[email protected]>"#define SN9C102_MODULE_LICENSE "GPL" -#define SN9C102_MODULE_VERSION "1:1.47pre49" -#define SN9C102_MODULE_VERSION_CODE KERNEL_VERSION(1, 1, 47) +#define SN9C102_MODULE_VERSION "1:1.48"/*****************************************************************************/
@@ -2158,7 +2158,7 @@ sn9c102_vidioc_querycap(struct sn9c102_device* cam, void __user * arg) {struct v4l2_capability cap = { .driver ="sn9c102" , - .version =SN9C102_MODULE_VERSION_CODE , + .version =LINUX_VERSION_CODE , .capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_READWRITE |V4L2_CAP_STREAMING , };
Signature · 1 line
1.7.1
PATCH 11/14 uvcvideo: Use LINUX_VERSION_CODE for VIDIOC_QUERYCAP
In reply to a message not in the archiveuvcvideo doesn't use vidioc_ioctl2. As the API is changing to use a common version for all drivers, we need to expliticly fix this driver.
drivers/media/video/uvc/uvc_driver.c +2 -1
@@ -31,6 +31,7 @@#include <linux/videodev2.h> #include <linux/vmalloc.h> #include <linux/wait.h> +#include <linux/version.h> #include <asm/atomic.h> #include <asm/unaligned.h>
@@ -1857,7 +1858,7 @@ static int uvc_probe(struct usb_interface *intf, sizeof(dev->mdev.serial));strcpy (dev->mdev.bus_info, udev->devpath); dev->mdev.hw_revision =le16_to_cpu (udev->descriptor.bcdDevice); - dev->mdev.driver_version =DRIVER_VERSION_NUMBER ; + dev->mdev.driver_version =LINUX_VERSION_CODE ;if (media_device_register (&dev->mdev) <0 ) goto error;
drivers/media/video/uvc/uvc_v4l2.c +1 -1
@@ -571,7 +571,7 @@ static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)strlcpy (cap->card, vdev->name,sizeof cap->card);usb_make_path (stream->dev->udev, cap->bus_info,sizeof (cap->bus_info)); - cap->version =DRIVER_VERSION_NUMBER ; + cap->version =LINUX_VERSION_CODE ;if (stream->type ==V4L2_BUF_TYPE_VIDEO_CAPTURE ) cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;
drivers/media/video/uvc/uvcvideo.h +1 -2
@@ -183,8 +183,7 @@ struct uvc_xu_control {* Driver specific constants. */ -#define DRIVER_VERSION_NUMBER KERNEL_VERSION(1, 1, 0) -#define DRIVER_VERSION "v1.1.0" +#define DRIVER_VERSION "1.1.1"/* Number of isochronous URBs. */ #define UVC_URBS 5
Signature · 1 line
1.7.1
Re: [PATCH 11/14] [media] uvcvideo: Use LINUX_VERSION_CODE for VIDIOC_QUERYCAP
Hi Mauro,
Quoted 19 lines · On Sunday 26 June 2011 18:06:16 Mauro Carvalho Chehab wrote:
uvcvideo doesn't use
vidioc_ioctl2. As the API is changing to use a common version for all drivers, we need to expliticly fix this driver.Signed-off-by Mauro Carvalho Chehab <[email protected]>(quoted diff) +0
-0
b/drivers/media/video/uvc/uvc_driver.cindex b6eae48..749c722 100644drivers/media/video/uvc/uvc_driver.c +1
-0@@ -31,6 +31,7 @@#include <linux/videodev2.h> #include <linux/vmalloc.h> #include <linux/wait.h> +#include <linux/version.h> #include <asm/atomic.h> #include <asm/unaligned.h>
drivers/media/video/uvc/uvc_driver.c static int uvc_probe(struct usb_interface *intf, · line 1861
Quoted 5 lines
drivers/media/video/uvc/uvc_driver.c +1
-1@@ -1857,7 +1858,7 @@ static int uvc_probe(struct usb_interface *intf, sizeof(dev->mdev.serial));strcpy (dev->mdev.bus_info, udev->devpath); dev->mdev.hw_revision =le16_to_cpu (udev->descriptor.bcdDevice); - dev->mdev.driver_version =DRIVER_VERSION_NUMBER ; + dev->mdev.driver_version =LINUX_VERSION_CODE ;
If we report the kernel version number through the media controller API as well, this needs to be documented. In that case media_version should report the kernel version as well, and driver_version would become deprecated.
Quoted 24 lines
drivers/media/video/uvc/uvc_driver.c +0
-0if (media_device_register (&dev->mdev) <0 ) goto error;(quoted diff) +0
-0
b/drivers/media/video/uvc/uvc_v4l2.cindex 1fe2c8f..7f77528 100644drivers/media/video/uvc/uvc_v4l2.c +0
-0@@ -571,7 +571,7 @@ static long uvc_v4l2_do_ioctl(struct file *file,unsigned int cmd, void *arg)
strlcpy(cap->card, vdev->name, sizeof cap->card);drivers/media/video/uvc/uvc_v4l2.c +1
-1usb_make_path (stream->dev->udev, cap->bus_info,sizeof (cap->bus_info)); - cap->version =DRIVER_VERSION_NUMBER ; + cap->version =LINUX_VERSION_CODE ;if (stream->type ==V4L2_BUF_TYPE_VIDEO_CAPTURE ) cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;(quoted diff) +0
-0
b/drivers/media/video/uvc/uvcvideo.hindex 20107fd..df32a43 100644
drivers/media/video/uvc/uvcvideo.h struct uvc_xu_control { · line 186
Quoted 6 lines
drivers/media/video/uvc/uvcvideo.h +1
-2@@ -183,8 +183,7 @@ struct uvc_xu_control {* Driver specific constants. */ -#define DRIVER_VERSION_NUMBER KERNEL_VERSION(1, 1, 0) -#define DRIVER_VERSION "v1.1.0" +#define DRIVER_VERSION "1.1.1"
Why do you remove the 'v' ?
Quoted 2 lines
drivers/media/video/uvc/uvcvideo.h +0
-0/* Number of isochronous URBs. */ #define UVC_URBS 5
Signature · 3 lines
Regards, Laurent Pinchart
PATCH 12/14 Stop using linux/version.h the remaining video drivers
In reply to a message not in the archiveStandardize the remaining video drivers to return the API version for the VIDIOC_QUERYCAP version, instead of a per-driver version.
Those drivers had the version updated more recently or are SoC drivers. Even so, it doesn't sound a good idea to keep a per-driver version control, so, let's use the per-subsystem version control instead.
drivers/media/video/davinci/vpif_capture.c +3 -6
@@ -33,7 +33,6 @@#include <linux/i2c.h> #include <linux/platform_device.h> #include <linux/io.h> -#include <linux/version.h> #include <linux/slab.h> #include <media/v4l2-device.h> #include <media/v4l2-ioctl.h>
@@ -44,6 +43,7 @@MODULE_DESCRIPTION ("TI DaVinci VPIF Capture driver" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (VPIF_CAPTURE_VERSION ); #define vpif_err(fmt, arg...) v4l2_err(&vpif_obj.v4l2_dev, fmt, ## arg) #define vpif_dbg(level, debug, fmt, arg...) \
@@ -1677,7 +1677,6 @@ static int vpif_querycap(struct file *file, void *priv, {struct vpif_capture_config *config = vpif_dev->platform_data; - cap->version =VPIF_CAPTURE_VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;strlcpy (cap->driver,"vpif capture" ,sizeof (cap->driver));strlcpy (cap->bus_info,"DM646x Platform" ,sizeof (cap->bus_info));
@@ -2211,10 +2210,8 @@ static __init int vpif_probe(struct platform_device *pdev) vfd->v4l2_dev = &vpif_obj.v4l2_dev; vfd->release = video_device_release;snprintf (vfd->name,sizeof (vfd->name), -"DM646x_VPIFCapture_DRIVER_V%d.%d.%d" , - (VPIF_CAPTURE_VERSION_CODE >>16 ) &0xff , - (VPIF_CAPTURE_VERSION_CODE >>8 ) &0xff , - (VPIF_CAPTURE_VERSION_CODE ) &0xff ); +"DM646x_VPIFCapture_DRIVER_V%s" , +VPIF_CAPTURE_VERSION );/* Set video_dev to the video device */ ch->video_dev = vfd; }
drivers/media/video/davinci/vpif_capture.h +1 -6
@@ -23,7 +23,6 @@/* Header files */ #include <linux/videodev2.h> -#include <linux/version.h> #include <media/v4l2-common.h> #include <media/v4l2-device.h> #include <media/videobuf-core.h>
@@ -33,11 +32,7 @@#include "vpif.h" /* Macros */ -#define VPIF_MAJOR_RELEASE 0 -#define VPIF_MINOR_RELEASE 0 -#define VPIF_BUILD 1 -#define VPIF_CAPTURE_VERSION_CODE ((VPIF_MAJOR_RELEASE << 16) | \ - (VPIF_MINOR_RELEASE << 8) | VPIF_BUILD) +#define VPIF_CAPTURE_VERSION "0.0.2"#define VPIF_VALID_FIELD (field) (((V4L2_FIELD_ANY == field) || \ (V4L2_FIELD_NONE == field)) || \
drivers/media/video/davinci/vpif_display.c +3 -6
@@ -29,7 +29,6 @@#include <linux/i2c.h> #include <linux/platform_device.h> #include <linux/io.h> -#include <linux/version.h> #include <linux/slab.h> #include <asm/irq.h>
@@ -47,6 +46,7 @@MODULE_DESCRIPTION ("TI DaVinci VPIF Display driver" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (VPIF_DISPLAY_VERSION );#define DM646X_V4L2_STD (V4L2_STD_525_60 | V4L2_STD_625_50)
@@ -701,7 +701,6 @@ static int vpif_querycap(struct file *file, void *priv, {struct vpif_display_config *config = vpif_dev->platform_data; - cap->version =VPIF_DISPLAY_VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_OUTPUT |V4L2_CAP_STREAMING ;strlcpy (cap->driver,"vpif display" ,sizeof (cap->driver));strlcpy (cap->bus_info,"Platform" ,sizeof (cap->bus_info));
@@ -1740,10 +1739,8 @@ static __init int vpif_probe(struct platform_device *pdev) vfd->v4l2_dev = &vpif_obj.v4l2_dev; vfd->release = video_device_release;snprintf (vfd->name,sizeof (vfd->name), -"DM646x_VPIFDisplay_DRIVER_V%d.%d.%d" , - (VPIF_DISPLAY_VERSION_CODE >>16 ) &0xff , - (VPIF_DISPLAY_VERSION_CODE >>8 ) &0xff , - (VPIF_DISPLAY_VERSION_CODE ) &0xff ); +"DM646x_VPIFDisplay_DRIVER_V%s" , +VPIF_DISPLAY_VERSION );/* Set video_dev to the video device */ ch->video_dev = vfd;
drivers/media/video/davinci/vpif_display.h +1 -7
@@ -18,7 +18,6 @@/* Header files */ #include <linux/videodev2.h> -#include <linux/version.h> #include <media/v4l2-common.h> #include <media/v4l2-device.h> #include <media/videobuf-core.h>
@@ -27,12 +26,7 @@#include "vpif.h" /* Macros */ -#define VPIF_MAJOR_RELEASE (0) -#define VPIF_MINOR_RELEASE (0) -#define VPIF_BUILD (1) - -#define VPIF_DISPLAY_VERSION_CODE \ - ((VPIF_MAJOR_RELEASE << 16) | (VPIF_MINOR_RELEASE << 8) | VPIF_BUILD) +#define VPIF_DISPLAY_VERSION "0.0.2"#define VPIF_VALID_FIELD (field) \ (((V4L2_FIELD_ANY == field) || (V4L2_FIELD_NONE == field)) || \
drivers/media/video/fsl-viu.c +2 -8
@@ -23,19 +23,13 @@#include <linux/io.h> #include <linux/of_platform.h> #include <linux/slab.h> -#include <linux/version.h> #include <media/v4l2-common.h> #include <media/v4l2-device.h> #include <media/v4l2-ioctl.h> #include <media/videobuf-dma-contig.h> #define DRV_NAME "fsl_viu" -#define VIU_MAJOR_VERSION 0 -#define VIU_MINOR_VERSION 5 -#define VIU_RELEASE 0 -#define VIU_VERSION KERNEL_VERSION(VIU_MAJOR_VERSION, \ - VIU_MINOR_VERSION, \ - VIU_RELEASE) +#define VIU_VERSION "0.5.1"#define BUFFER_TIMEOUT msecs_to_jiffies(500)/* 0.5 seconds */
@@ -610,7 +604,6 @@ static int vidioc_querycap(struct file *file, void *priv, {strcpy (cap->driver,"viu" );strcpy (cap->card,"viu" ); - cap->version =VIU_VERSION ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_OVERLAY |
@@ -1684,3 +1677,4 @@ module_exit(viu_exit);MODULE_DESCRIPTION ("Freescale Video-In(VIU)" );MODULE_AUTHOR ("Hongjun Chen" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (VIU_VERSION );
drivers/media/video/m5mols/m5mols_capture.c +0 -2
@@ -18,11 +18,9 @@#include <linux/irq.h> #include <linux/interrupt.h> #include <linux/delay.h> -#include <linux/version.h> #include <linux/gpio.h> #include <linux/regulator/consumer.h> #include <linux/videodev2.h> -#include <linux/version.h> #include <media/v4l2-ctrls.h> #include <media/v4l2-device.h> #include <media/v4l2-subdev.h>
drivers/media/video/m5mols/m5mols_core.c +0 -1
@@ -18,7 +18,6 @@#include <linux/irq.h> #include <linux/interrupt.h> #include <linux/delay.h> -#include <linux/version.h> #include <linux/gpio.h> #include <linux/regulator/consumer.h> #include <linux/videodev2.h>
drivers/media/video/mx1_camera.c +2 -3
@@ -31,7 +31,6 @@#include <linux/sched.h> #include <linux/slab.h> #include <linux/time.h> -#include <linux/version.h> #include <linux/videodev2.h> #include <media/soc_camera.h>
@@ -73,7 +72,7 @@#define CSISR_SOF_INT (1 << 16)#define CSISR_DRDY (1 << 0) -#define VERSION_CODE KERNEL_VERSION(0, 0, 1) +#define DRIVER_VERSION "0.0.2"#define DRIVER_NAME "mx1-camera"#define CSI_IRQ_MASK (CSISR_SFF_OR_INT | CSISR_RFF_OR_INT | \
@@ -680,7 +679,6 @@ static int mx1_camera_querycap(struct soc_camera_host *ici, {/* cap->name is set by the friendly caller:-> */ strlcpy (cap->card,"i.MX1/i.MXL Camera" ,sizeof (cap->card)); - cap->version =VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;return 0 ;
@@ -887,4 +885,5 @@ module_exit(mx1_camera_exit);MODULE_DESCRIPTION ("i.MX1/i.MXL SoC Camera Host driver" );MODULE_AUTHOR ("Paulius Zaleckas <[email protected]>" );MODULE_LICENSE ("GPL v2" ); +MODULE_VERSION (DRIVER_VERSION );MODULE_ALIAS ("platform:" DRIVER_NAME );
drivers/media/video/mx2_camera.c +2 -3
@@ -23,7 +23,6 @@#include <linux/mm.h> #include <linux/moduleparam.h> #include <linux/time.h> -#include <linux/version.h> #include <linux/device.h> #include <linux/platform_device.h> #include <linux/mutex.h>
@@ -47,7 +46,7 @@#include <asm/dma.h> #define MX2_CAM_DRV_NAME "mx2-camera" -#define MX2_CAM_VERSION_CODE KERNEL_VERSION(0, 0, 5) +#define MX2_CAM_VERSION "0.0.6"#define MX2_CAM_DRIVER_DESCRIPTION "i.MX2x_Camera"/* reset values */
@@ -1014,7 +1013,6 @@ static int mx2_camera_querycap(struct soc_camera_host *ici, {/* cap->name is set by the friendly caller:-> */ strlcpy (cap->card,MX2_CAM_DRIVER_DESCRIPTION ,sizeof (cap->card)); - cap->version =MX2_CAM_VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;return 0 ;
@@ -1523,3 +1521,4 @@ module_exit(mx2_camera_exit);MODULE_DESCRIPTION ("i.MX27/i.MX25 SoC Camera Host driver" );MODULE_AUTHOR ("Sascha Hauer <[email protected]>" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (MX2_CAM_VERSION );
drivers/media/video/mx3_camera.c +1 -2
@@ -11,7 +11,6 @@#include <linux/init.h> #include <linux/module.h> -#include <linux/version.h> #include <linux/videodev2.h> #include <linux/platform_device.h> #include <linux/clk.h>
@@ -1000,7 +999,6 @@ static int mx3_camera_querycap(struct soc_camera_host *ici, {/* cap->name is set by the firendly caller:-> */ strlcpy (cap->card,"i.MX3x Camera" ,sizeof (cap->card)); - cap->version =KERNEL_VERSION (0 ,2 ,2 ); cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;return 0 ;
@@ -1325,4 +1323,5 @@ module_exit(mx3_camera_exit);MODULE_DESCRIPTION ("i.MX3x SoC Camera Host driver" );MODULE_AUTHOR ("Guennadi Liakhovetski <[email protected]>" );MODULE_LICENSE ("GPL v2" ); +MODULE_VERSION ("0.2.3" );MODULE_ALIAS ("platform:" MX3_CAM_DRV_NAME );
drivers/media/video/omap1_camera.c +2 -3
@@ -26,7 +26,6 @@#include <linux/interrupt.h> #include <linux/platform_device.h> #include <linux/slab.h> -#include <linux/version.h> #include <media/omap1_camera.h> #include <media/soc_camera.h>
@@ -38,7 +37,7 @@#define DRIVER_NAME "omap1-camera" -#define VERSION_CODE KERNEL_VERSION(0, 0, 1) +#define DRIVER_VERSION "0.0.2"/*
@@ -1431,7 +1430,6 @@ static int omap1_cam_querycap(struct soc_camera_host *ici, {/* cap->name is set by the friendly caller:-> */ strlcpy (cap->card,"OMAP1 Camera" ,sizeof (cap->card)); - cap->version =VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;return 0 ;
@@ -1718,4 +1716,5 @@ MODULE_PARM_DESC(sg_mode, "videobuf mode, 0: dma-contig (default), 1: dma-sg");MODULE_DESCRIPTION ("OMAP1 Camera Interface driver" );MODULE_AUTHOR ("Janusz Krzysztofik <[email protected]>" );MODULE_LICENSE ("GPL v2" ); +MODULE_LICENSE (DRIVER_VERSION );MODULE_ALIAS ("platform:" DRIVER_NAME );
drivers/media/video/omap24xxcam.c +2 -3
@@ -31,7 +31,6 @@#include <linux/interrupt.h> #include <linux/videodev2.h> #include <linux/pci.h> /* needed for videobufs */ -#include <linux/version.h> #include <linux/platform_device.h> #include <linux/clk.h> #include <linux/io.h>
@@ -43,7 +42,7 @@#include "omap24xxcam.h" -#define OMAP24XXCAM_VERSION KERNEL_VERSION(0, 0, 0) +#define OMAP24XXCAM_VERSION "0.0.1"#define RESET_TIMEOUT_NS 10000
@@ -993,7 +992,6 @@ static int vidioc_querycap(struct file *file, void *fh,strlcpy (cap->driver,CAM_NAME ,sizeof (cap->driver));strlcpy (cap->card, cam->vfd->name,sizeof (cap->card)); - cap->version =OMAP24XXCAM_VERSION ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;return 0 ;
@@ -1889,6 +1887,7 @@ static void __exit omap24xxcam_cleanup(void)MODULE_AUTHOR ("Sakari Ailus <[email protected]>" );MODULE_DESCRIPTION ("OMAP24xx Video for Linux camera driver" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (OMAP24XXCAM_VERSION );module_param (video_nr, int,0 );MODULE_PARM_DESC (video_nr,"Minor number for video device (-1 ==> auto assign)" );
drivers/media/video/omap3isp/isp.c +1 -0
@@ -2234,3 +2234,4 @@ module_exit(isp_cleanup);MODULE_AUTHOR ("Nokia Corporation" );MODULE_DESCRIPTION ("TI OMAP3 ISP driver" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (ISP_VIDEO_DRIVER_VERSION );
drivers/media/video/omap3isp/ispvideo.c +0 -1
@@ -695,7 +695,6 @@ isp_video_querycap(struct file *file, void *fh, struct v4l2_capability *cap)strlcpy (cap->driver,ISP_VIDEO_DRIVER_NAME ,sizeof (cap->driver));strlcpy (cap->card, video->video.name,sizeof (cap->card));strlcpy (cap->bus_info,"media" ,sizeof (cap->bus_info)); - cap->version =ISP_VIDEO_DRIVER_VERSION ;if (video->type ==V4L2_BUF_TYPE_VIDEO_CAPTURE ) cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;
drivers/media/video/omap3isp/ispvideo.h +1 -2
@@ -27,7 +27,6 @@#define OMAP3_ISP_VIDEO_H #include <linux/v4l2-mediabus.h> -#include <linux/version.h> #include <media/media-entity.h> #include <media/v4l2-dev.h> #include <media/v4l2-fh.h>
@@ -35,7 +34,7 @@#include "ispqueue.h" #define ISP_VIDEO_DRIVER_NAME "ispvideo" -#define ISP_VIDEO_DRIVER_VERSION KERNEL_VERSION(0, 0, 1) +#define ISP_VIDEO_DRIVER_VERSION "0.0.2"struct isp_device ;struct isp_video ;
drivers/media/video/pxa_camera.c +2 -3
@@ -22,7 +22,6 @@#include <linux/mm.h> #include <linux/moduleparam.h> #include <linux/time.h> -#include <linux/version.h> #include <linux/device.h> #include <linux/platform_device.h> #include <linux/clk.h>
@@ -40,7 +39,7 @@#include <mach/dma.h> #include <mach/camera.h> -#define PXA_CAM_VERSION_CODE KERNEL_VERSION(0, 0, 5) +#define PXA_CAM_VERSION "0.0.6"#define PXA_CAM_DRV_NAME "pxa27x-camera"/* Camera Interface */
@@ -1578,7 +1577,6 @@ static int pxa_camera_querycap(struct soc_camera_host *ici, {/* cap->name is set by the firendly caller:-> */ strlcpy (cap->card, pxa_cam_driver_description,sizeof (cap->card)); - cap->version =PXA_CAM_VERSION_CODE ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;return 0 ;
@@ -1843,4 +1841,5 @@ module_exit(pxa_camera_exit);MODULE_DESCRIPTION ("PXA27x SoC Camera Host driver" );MODULE_AUTHOR ("Guennadi Liakhovetski <[email protected]>" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (PXA_CAM_VERSION );MODULE_ALIAS ("platform:" PXA_CAM_DRV_NAME );
drivers/media/video/s2255drv.c +4 -11
@@ -42,7 +42,6 @@#include <linux/mutex.h> #include <linux/slab.h> #include <linux/videodev2.h> -#include <linux/version.h> #include <linux/mm.h> #include <media/videobuf-vmalloc.h> #include <media/v4l2-common.h>
@@ -51,12 +50,7 @@#include <linux/vmalloc.h> #include <linux/usb.h> -#define S2255_MAJOR_VERSION 1 -#define S2255_MINOR_VERSION 22 -#define S2255_RELEASE 0 -#define S2255_VERSION KERNEL_VERSION(S2255_MAJOR_VERSION, \ - S2255_MINOR_VERSION, \ - S2255_RELEASE) +#define S2255_VERSION "1.22.1"#define FIRMWARE_FILE_NAME "f2255usb.bin"/* default JPEG quality */
@@ -851,7 +845,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (cap->driver,"s2255" ,sizeof (cap->driver));strlcpy (cap->card,"s2255" ,sizeof (cap->card));usb_make_path (dev->udev, cap->bus_info,sizeof (cap->bus_info)); - cap->version =S2255_VERSION ; cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;return 0 ; }
@@ -1979,9 +1972,8 @@ static int s2255_probe_v4l(struct s2255_dev *dev) video_device_node_name(&channel->vdev)); } -printk (KERN_INFO "Sensoray 2255 V4L driver Revision: %d.%d\n" , -S2255_MAJOR_VERSION , -S2255_MINOR_VERSION ); +printk (KERN_INFO "Sensoray 2255 V4L driver Revision: %s\n" , +S2255_VERSION );/* if no channels registered, return error and probe will fail*/ if (atomic_read (&dev->num_channels) ==0 ) {v4l2_device_unregister (&dev->v4l2_dev);
@@ -2713,3 +2705,4 @@ module_exit(usb_s2255_exit);MODULE_DESCRIPTION ("Sensoray 2255 Video for Linux driver" );MODULE_AUTHOR ("Dean Anderson (Sensoray Company Inc.)" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (S2255_VERSION );
drivers/media/video/s5p-fimc/fimc-capture.c +0 -2
@@ -11,7 +11,6 @@#include <linux/module.h> #include <linux/kernel.h> -#include <linux/version.h> #include <linux/types.h> #include <linux/errno.h> #include <linux/bug.h>
@@ -467,7 +466,6 @@ static int fimc_vidioc_querycap_capture(struct file *file, void *priv,strncpy (cap->driver, fimc->pdev->name,sizeof (cap->driver) -1 );strncpy (cap->card, fimc->pdev->name,sizeof (cap->card) -1 ); cap->bus_info[0 ] =0 ; - cap->version =KERNEL_VERSION (1 ,0 ,0 ); cap->capabilities =V4L2_CAP_STREAMING |V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_VIDEO_CAPTURE_MPLANE ;
drivers/media/video/s5p-fimc/fimc-core.c +1 -2
@@ -13,7 +13,6 @@#include <linux/module.h> #include <linux/kernel.h> -#include <linux/version.h> #include <linux/types.h> #include <linux/errno.h> #include <linux/bug.h>
@@ -786,7 +785,6 @@ static int fimc_m2m_querycap(struct file *file, void *priv,strncpy (cap->driver, fimc->pdev->name,sizeof (cap->driver) -1 );strncpy (cap->card, fimc->pdev->name,sizeof (cap->card) -1 ); cap->bus_info[0 ] =0 ; - cap->version =KERNEL_VERSION (1 ,0 ,0 ); cap->capabilities =V4L2_CAP_STREAMING |V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_VIDEO_OUTPUT |V4L2_CAP_VIDEO_CAPTURE_MPLANE |V4L2_CAP_VIDEO_OUTPUT_MPLANE ;
@@ -1949,3 +1947,4 @@ module_exit(fimc_exit);MODULE_AUTHOR ("Sylwester Nawrocki <[email protected]>" );MODULE_DESCRIPTION ("S5P FIMC camera host interface/video postprocessor driver" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("1.0.1" );
drivers/media/video/sh_mobile_ceu_camera.c +1 -2
@@ -27,7 +27,6 @@#include <linux/mm.h> #include <linux/moduleparam.h> #include <linux/time.h> -#include <linux/version.h> #include <linux/slab.h> #include <linux/device.h> #include <linux/platform_device.h>
@@ -1827,7 +1826,6 @@ static int sh_mobile_ceu_querycap(struct soc_camera_host *ici, struct v4l2_capability *cap) {strlcpy (cap->card,"SuperH_Mobile_CEU" ,sizeof (cap->card)); - cap->version =KERNEL_VERSION (0 ,0 ,5 ); cap->capabilities =V4L2_CAP_VIDEO_CAPTURE |V4L2_CAP_STREAMING ;return 0 ; }
@@ -2158,4 +2156,5 @@ module_exit(sh_mobile_ceu_exit);MODULE_DESCRIPTION ("SuperH Mobile CEU driver" );MODULE_AUTHOR ("Magnus Damm" );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.6" );MODULE_ALIAS ("platform:sh_mobile_ceu" );
drivers/media/video/sh_vou.c +1 -2
@@ -19,7 +19,6 @@#include <linux/platform_device.h> #include <linux/pm_runtime.h> #include <linux/slab.h> -#include <linux/version.h> #include <linux/videodev2.h> #include <media/sh_vou.h>
@@ -393,7 +392,6 @@ static int sh_vou_querycap(struct file *file, void *priv,dev_dbg (vou_file->vbq.dev,"%s()\n" , __func__);strlcpy (cap->card,"SuperH VOU" ,sizeof (cap->card)); - cap->version =KERNEL_VERSION (0 ,1 ,0 ); cap->capabilities =V4L2_CAP_VIDEO_OUTPUT |V4L2_CAP_STREAMING ;return 0 ; }
@@ -1490,4 +1488,5 @@ module_exit(sh_vou_exit);MODULE_DESCRIPTION ("SuperH VOU driver" );MODULE_AUTHOR ("Guennadi Liakhovetski <[email protected]>" );MODULE_LICENSE ("GPL v2" ); +MODULE_VERSION ("0.1.0" );MODULE_ALIAS ("platform:sh-vou" );
Signature · 1 line
1.7.1
PATCH 13/14 radio: Use the subsystem version control for VIDIOC_QUERYCAP
In reply to a message not in the archiveJust like the video drivers, the right thing to do is to use the per-subsystem version control.
drivers/media/radio/dsbr100.c +2 -5
@@ -102,10 +102,7 @@/* * Version Information */ -#include <linux/version.h> /* for KERNEL_VERSION MACRO */ - -#define DRIVER_VERSION "v0.46" -#define RADIO_VERSION KERNEL_VERSION(0, 4, 6) +#define DRIVER_VERSION "0.4.7"#define DRIVER_AUTHOR "Markus Demleitner <[email protected]>"#define DRIVER_DESC "D-Link DSB-R100 USB FM radio driver"
@@ -335,7 +332,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"dsbr100" ,sizeof (v->driver));strlcpy (v->card,"D-Link R-100 USB FM Radio" ,sizeof (v->card));usb_make_path (radio->usbdev, v->bus_info,sizeof (v->bus_info)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER ;return 0 ; }
@@ -647,3 +643,4 @@ module_exit (dsbr100_exit);MODULE_AUTHOR (DRIVER_AUTHOR );MODULE_DESCRIPTION (DRIVER_DESC );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (DRIVER_VERSION );
drivers/media/radio/radio-aimslab.c +1 -4
@@ -33,7 +33,6 @@#include <linux/ioport.h> /* request_region */ #include <linux/delay.h> /* msleep */ #include <linux/videodev2.h> /* kernel radio structs */ -#include <linux/version.h> /* for KERNEL_VERSION MACRO */ #include <linux/io.h> /* outb, outb_p */ #include <media/v4l2-device.h> #include <media/v4l2-ioctl.h>
@@ -41,6 +40,7 @@MODULE_AUTHOR ("M.Kirkwood" );MODULE_DESCRIPTION ("A driver for the RadioTrack/RadioReveal radio card." );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.3" );#ifndef CONFIG_RADIO_RTRACK_PORT #define CONFIG_RADIO_RTRACK_PORT -1
@@ -53,8 +53,6 @@ module_param(io, int, 0);MODULE_PARM_DESC (io,"I/O address of the RadioTrack card (0x20f or 0x30f)" );module_param (radio_nr, int,0 ); -#define RADIO_VERSION KERNEL_VERSION(0, 0, 2) -struct rtrack {struct v4l2_device v4l2_dev;
@@ -223,7 +221,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"radio-aimslab" ,sizeof (v->driver));strlcpy (v->card,"RadioTrack" ,sizeof (v->card));strlcpy (v->bus_info,"ISA" ,sizeof (v->bus_info)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
drivers/media/radio/radio-aztech.c +1 -4
@@ -30,7 +30,6 @@#include <linux/ioport.h> /* request_region */ #include <linux/delay.h> /* udelay */ #include <linux/videodev2.h> /* kernel radio structs */ -#include <linux/version.h> /* for KERNEL_VERSION MACRO */ #include <linux/io.h> /* outb, outb_p */ #include <media/v4l2-device.h> #include <media/v4l2-ioctl.h>
@@ -38,6 +37,7 @@MODULE_AUTHOR ("Russell Kroll, Quay Lu, Donald Song, Jason Lewis, Scott McGrath, William McGrath" );MODULE_DESCRIPTION ("A driver for the Aztech radio card." );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.3" );/* acceptable ports: 0x350 (JP3 shorted), 0x358 (JP3 open) */
@@ -53,8 +53,6 @@ module_param(io, int, 0);module_param (radio_nr, int,0 );MODULE_PARM_DESC (io,"I/O address of the Aztech card (0x350 or 0x358)" ); -#define RADIO_VERSION KERNEL_VERSION(0, 0, 2) -struct aztech {struct v4l2_device v4l2_dev;
@@ -188,7 +186,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"radio-aztech" ,sizeof (v->driver));strlcpy (v->card,"Aztech Radio" ,sizeof (v->card));strlcpy (v->bus_info,"ISA" ,sizeof (v->bus_info)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
drivers/media/radio/radio-cadet.c +1 -4
@@ -30,7 +30,6 @@* Changed API to V4L2 */ -#include <linux/version.h> #include <linux/module.h> /* Modules */ #include <linux/init.h> /* Initdata */ #include <linux/ioport.h> /* request_region */
@@ -46,6 +45,7 @@MODULE_AUTHOR ("Fred Gleason, Russell Kroll, Quay Lu, Donald Song, Jason Lewis, Scott McGrath, William McGrath" );MODULE_DESCRIPTION ("A driver for the ADS Cadet AM/FM/RDS radio card." );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.3.4" );static int io =-1 ;/* default to isapnp activation */ static int radio_nr =-1 ;
@@ -54,8 +54,6 @@ module_param(io, int, 0);MODULE_PARM_DESC (io,"I/O address of Cadet card (0x330,0x332,0x334,0x336,0x338,0x33a,0x33c,0x33e)" );module_param (radio_nr, int,0 ); -#define CADET_VERSION KERNEL_VERSION(0, 3, 3) -#define RDS_BUFFER 256#define RDS_RX_FLAG 1#define MBS_RX_FLAG 2
@@ -361,7 +359,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"ADS Cadet" ,sizeof (v->driver));strlcpy (v->card,"ADS Cadet" ,sizeof (v->card));strlcpy (v->bus_info,"ISA" ,sizeof (v->bus_info)); - v->version =CADET_VERSION ; v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO |V4L2_CAP_READWRITE |V4L2_CAP_RDS_CAPTURE ;return 0 ;
drivers/media/radio/radio-gemtek.c +2 -5
@@ -21,21 +21,19 @@#include <linux/ioport.h> /* request_region */ #include <linux/delay.h> /* udelay */ #include <linux/videodev2.h> /* kernel radio structs */ -#include <linux/version.h> /* for KERNEL_VERSION MACRO */ #include <linux/mutex.h> #include <linux/io.h> /* outb, outb_p */ #include <media/v4l2-ioctl.h> #include <media/v4l2-device.h> -#define RADIO_VERSION KERNEL_VERSION(0, 0, 3) -/* * Module info. */ -MODULE_AUTHOR ("Jonas Munsin, Pekka Seppänen <[email protected]>" ); +MODULE_AUTHOR ("Jonas Munsin, Pekka Seppänen <[email protected]>" );MODULE_DESCRIPTION ("A driver for the GemTek Radio card." );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.4" );/* * Module params.
@@ -387,7 +385,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"radio-gemtek" ,sizeof (v->driver));strlcpy (v->card,"GemTek" ,sizeof (v->card));strlcpy (v->bus_info,"ISA" ,sizeof (v->bus_info)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
drivers/media/radio/radio-maxiradio.c +4 -6
@@ -40,15 +40,18 @@#include <linux/mutex.h> #include <linux/pci.h> #include <linux/videodev2.h> -#include <linux/version.h> /* for KERNEL_VERSION MACRO */ #include <linux/io.h> #include <linux/slab.h> #include <media/v4l2-device.h> #include <media/v4l2-ioctl.h> +#define DRIVER_VERSION "0.7.8" + +MODULE_AUTHOR ("Dimitromanolakis Apostolos, [email protected]" );MODULE_DESCRIPTION ("Radio driver for the Guillemot Maxi Radio FM2000 radio." );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (DRIVER_VERSION );static int radio_nr =-1 ;module_param (radio_nr, int,0 );
@@ -58,10 +61,6 @@ static int debug;module_param (debug, int,0644 );MODULE_PARM_DESC (debug,"activates debug info" ); -#define DRIVER_VERSION "0.77" - -#define RADIO_VERSION KERNEL_VERSION(0, 7, 7) - #define dprintk(dev, num, fmt, arg...) \ v4l2_dbg(num, debug, &dev->v4l2_dev, fmt, ## arg)
@@ -195,7 +194,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"radio-maxiradio" ,sizeof (v->driver));strlcpy (v->card,"Maxi Radio FM2000 radio" ,sizeof (v->card));snprintf (v->bus_info,sizeof (v->bus_info),"PCI:%s" ,pci_name (dev->pdev)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
drivers/media/radio/radio-mr800.c +2 -4
@@ -63,18 +63,17 @@#include <media/v4l2-device.h> #include <media/v4l2-ioctl.h> #include <linux/usb.h> -#include <linux/version.h> /* for KERNEL_VERSION MACRO */ #include <linux/mutex.h> /* driver and module definitions */ #define DRIVER_AUTHOR "Alexey Klimov <[email protected]>"#define DRIVER_DESC "AverMedia MR 800 USB FM radio driver" -#define DRIVER_VERSION "0.11" -#define RADIO_VERSION KERNEL_VERSION(0, 1, 1) +#define DRIVER_VERSION "0.1.2"MODULE_AUTHOR (DRIVER_AUTHOR );MODULE_DESCRIPTION (DRIVER_DESC );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (DRIVER_VERSION );#define USB_AMRADIO_VENDOR 0x07ca#define USB_AMRADIO_PRODUCT 0xb800
@@ -301,7 +300,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"radio-mr800" ,sizeof (v->driver));strlcpy (v->card,"AverMedia MR 800 USB FM Radio" ,sizeof (v->card));usb_make_path (radio->usbdev, v->bus_info,sizeof (v->bus_info)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER ;return 0 ; }
drivers/media/radio/radio-rtrack2.c +1 -4
@@ -15,7 +15,6 @@#include <linux/delay.h> /* udelay */ #include <linux/videodev2.h> /* kernel radio structs */ #include <linux/mutex.h> -#include <linux/version.h> /* for KERNEL_VERSION MACRO */ #include <linux/io.h> /* outb, outb_p */ #include <media/v4l2-device.h> #include <media/v4l2-ioctl.h>
@@ -23,6 +22,7 @@MODULE_AUTHOR ("Ben Pfaff" );MODULE_DESCRIPTION ("A driver for the RadioTrack II radio card." );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.3" );#ifndef CONFIG_RADIO_RTRACK2_PORT #define CONFIG_RADIO_RTRACK2_PORT -1
@@ -35,8 +35,6 @@ module_param(io, int, 0);MODULE_PARM_DESC (io,"I/O address of the RadioTrack card (0x20c or 0x30c)" );module_param (radio_nr, int,0 ); -#define RADIO_VERSION KERNEL_VERSION(0, 0, 2) -struct rtrack2 {struct v4l2_device v4l2_dev;
@@ -121,7 +119,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"radio-rtrack2" ,sizeof (v->driver));strlcpy (v->card,"RadioTrack II" ,sizeof (v->card));strlcpy (v->bus_info,"ISA" ,sizeof (v->bus_info)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
drivers/media/radio/radio-sf16fmi.c +1 -4
@@ -16,7 +16,6 @@* Converted to V4L2 API by Mauro Carvalho Chehab <[email protected]> */ -#include <linux/version.h> #include <linux/kernel.h> /* __setup */ #include <linux/module.h> /* Modules */ #include <linux/init.h> /* Initdata */
@@ -32,6 +31,7 @@MODULE_AUTHOR ("Petr Vandrovec, [email protected] and M. Kirkwood" );MODULE_DESCRIPTION ("A driver for the SF16-FMI and SF16-FMP radio." );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.3" );static int io =-1 ;static int radio_nr =-1 ;
@@ -40,8 +40,6 @@ module_param(io, int, 0);MODULE_PARM_DESC (io,"I/O address of the SF16-FMI or SF16-FMP card (0x284 or 0x384)" );module_param (radio_nr, int,0 ); -#define RADIO_VERSION KERNEL_VERSION(0, 0, 2) -struct fmi {struct v4l2_device v4l2_dev;
@@ -134,7 +132,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"radio-sf16fmi" ,sizeof (v->driver));strlcpy (v->card,"SF16-FMx radio" ,sizeof (v->card));strlcpy (v->bus_info,"ISA" ,sizeof (v->bus_info)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
drivers/media/radio/radio-tea5764.c +2 -4
@@ -39,10 +39,8 @@#include <linux/i2c.h> /* I2C */ #include <media/v4l2-common.h> #include <media/v4l2-ioctl.h> -#include <linux/version.h> /* for KERNEL_VERSION MACRO */ -#define DRIVER_VERSION "v0.01" -#define RADIO_VERSION KERNEL_VERSION(0, 0, 1) +#define DRIVER_VERSION "0.0.2"#define DRIVER_AUTHOR "Fabio Belavenuto <[email protected]>"#define DRIVER_DESC "A driver for the TEA5764 radio chip for EZX Phones."
@@ -300,7 +298,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->card, dev->name,sizeof (v->card));snprintf (v->bus_info,sizeof (v->bus_info),"I2C:%s" ,dev_name (&dev->dev)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
@@ -595,6 +592,7 @@ static void __exit tea5764_exit(void)MODULE_AUTHOR (DRIVER_AUTHOR );MODULE_DESCRIPTION (DRIVER_DESC );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (DRIVER_VERSION );module_param (use_xtal, int,1 );MODULE_PARM_DESC (use_xtal,"Chip have a xtal connected in board" );
drivers/media/radio/radio-terratec.c +1 -4
@@ -29,7 +29,6 @@#include <linux/ioport.h> /* request_region */ #include <linux/videodev2.h> /* kernel radio structs */ #include <linux/mutex.h> -#include <linux/version.h> /* for KERNEL_VERSION MACRO */ #include <linux/io.h> /* outb, outb_p */ #include <media/v4l2-device.h> #include <media/v4l2-ioctl.h>
@@ -37,6 +36,7 @@MODULE_AUTHOR ("R.OFFERMANNS & others" );MODULE_DESCRIPTION ("A driver for the TerraTec ActiveRadio Standalone radio card." );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.3" );#ifndef CONFIG_RADIO_TERRATEC_PORT #define CONFIG_RADIO_TERRATEC_PORT 0x590
@@ -49,8 +49,6 @@ module_param(io, int, 0);MODULE_PARM_DESC (io,"I/O address of the TerraTec ActiveRadio card (0x590 or 0x591)" );module_param (radio_nr, int,0 ); -#define RADIO_VERSION KERNEL_VERSION(0, 0, 2) -static struct v4l2_queryctrl radio_qctrl[] = { { .id =V4L2_CID_AUDIO_MUTE ,
@@ -205,7 +203,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"radio-terratec" ,sizeof (v->driver));strlcpy (v->card,"ActiveRadio" ,sizeof (v->card));strlcpy (v->bus_info,"ISA" ,sizeof (v->bus_info)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
drivers/media/radio/radio-timb.c +1 -2
@@ -16,7 +16,6 @@* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <linux/version.h> #include <linux/io.h> #include <media/v4l2-ioctl.h> #include <media/v4l2-device.h>
@@ -44,7 +43,6 @@ static int timbradio_vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,DRIVER_NAME ,sizeof (v->driver));strlcpy (v->card,"Timberdale Radio" ,sizeof (v->card));snprintf (v->bus_info,sizeof (v->bus_info),"platform:" DRIVER_NAME ); - v->version =KERNEL_VERSION (0 ,0 ,1 ); v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
@@ -245,4 +243,5 @@ module_exit(timbradio_exit);MODULE_DESCRIPTION ("Timberdale Radio driver" );MODULE_AUTHOR ("Mocean Laboratories <[email protected]>" );MODULE_LICENSE ("GPL v2" ); +MODULE_VERSION ("0.0.2" );MODULE_ALIAS ("platform:" DRIVER_NAME );
drivers/media/radio/radio-trust.c +1 -4
@@ -19,7 +19,6 @@#include <linux/module.h> #include <linux/init.h> #include <linux/ioport.h> -#include <linux/version.h> /* for KERNEL_VERSION MACRO */ #include <linux/videodev2.h> #include <linux/io.h> #include <media/v4l2-device.h>
@@ -28,6 +27,7 @@MODULE_AUTHOR ("Eric Lammerts, Russell Kroll, Quay Lu, Donald Song, Jason Lewis, Scott McGrath, William McGrath" );MODULE_DESCRIPTION ("A driver for the Trust FM Radio card." );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.3" );/* acceptable ports: 0x350 (JP3 shorted), 0x358 (JP3 open) */
@@ -42,8 +42,6 @@ module_param(io, int, 0);MODULE_PARM_DESC (io,"I/O address of the Trust FM Radio card (0x350 or 0x358)" );module_param (radio_nr, int,0 ); -#define RADIO_VERSION KERNEL_VERSION(0, 0, 2) -struct trust {struct v4l2_device v4l2_dev;struct video_device vdev;
@@ -196,7 +194,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"radio-trust" ,sizeof (v->driver));strlcpy (v->card,"Trust FM Radio" ,sizeof (v->card));strlcpy (v->bus_info,"ISA" ,sizeof (v->bus_info)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
drivers/media/radio/radio-typhoon.c +4 -5
@@ -31,15 +31,17 @@#include <linux/module.h> /* Modules */ #include <linux/init.h> /* Initdata */ #include <linux/ioport.h> /* request_region */ -#include <linux/version.h> /* for KERNEL_VERSION MACRO */ #include <linux/videodev2.h> /* kernel radio structs */ #include <linux/io.h> /* outb, outb_p */ #include <media/v4l2-device.h> #include <media/v4l2-ioctl.h> +#define DRIVER_VERSION "0.1.2" +MODULE_AUTHOR ("Dr. Henrik Seidel" );MODULE_DESCRIPTION ("A driver for the Typhoon radio card (a.k.a. EcoRadio)." );MODULE_LICENSE ("GPL" ); +MODULE_VERSION (DRIVER_VERSION );#ifndef CONFIG_RADIO_TYPHOON_PORT #define CONFIG_RADIO_TYPHOON_PORT -1
@@ -61,9 +63,7 @@ static unsigned long mutefreq = CONFIG_RADIO_TYPHOON_MUTEFREQ;module_param (mutefreq, ulong,0 );MODULE_PARM_DESC (mutefreq,"Frequency used when muting the card (in kHz)" ); -#define RADIO_VERSION KERNEL_VERSION(0, 1, 1) - -#define BANNER "Typhoon Radio Card driver v0.1.1\n" +#define BANNER "Typhoon Radio Card driver v" DRIVER_VERSION "\n"struct typhoon {struct v4l2_device v4l2_dev;
@@ -171,7 +171,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"radio-typhoon" ,sizeof (v->driver));strlcpy (v->card,"Typhoon Radio" ,sizeof (v->card));strlcpy (v->bus_info,"ISA" ,sizeof (v->bus_info)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
drivers/media/radio/radio-zoltrix.c +1 -4
@@ -35,7 +35,6 @@#include <linux/delay.h> /* udelay, msleep */ #include <linux/videodev2.h> /* kernel radio structs */ #include <linux/mutex.h> -#include <linux/version.h> /* for KERNEL_VERSION MACRO */ #include <linux/io.h> /* outb, outb_p */ #include <media/v4l2-device.h> #include <media/v4l2-ioctl.h>
@@ -43,6 +42,7 @@MODULE_AUTHOR ("C.van Schaik" );MODULE_DESCRIPTION ("A driver for the Zoltrix Radio Plus." );MODULE_LICENSE ("GPL" ); +MODULE_VERSION ("0.0.3" );#ifndef CONFIG_RADIO_ZOLTRIX_PORT #define CONFIG_RADIO_ZOLTRIX_PORT -1
@@ -55,8 +55,6 @@ module_param(io, int, 0);MODULE_PARM_DESC (io,"I/O address of the Zoltrix Radio Plus (0x20c or 0x30c)" );module_param (radio_nr, int,0 ); -#define RADIO_VERSION KERNEL_VERSION(0, 0, 2) -struct zoltrix {struct v4l2_device v4l2_dev;struct video_device vdev;
@@ -228,7 +226,6 @@ static int vidioc_querycap(struct file *file, void *priv,strlcpy (v->driver,"radio-zoltrix" ,sizeof (v->driver));strlcpy (v->card,"Zoltrix Radio" ,sizeof (v->card));strlcpy (v->bus_info,"ISA" ,sizeof (v->bus_info)); - v->version =RADIO_VERSION ; v->capabilities =V4L2_CAP_TUNER |V4L2_CAP_RADIO ;return 0 ; }
drivers/media/radio/si470x/radio-si470x-i2c.c +1 -3
@@ -24,10 +24,9 @@/* driver definitions */ #define DRIVER_AUTHOR "Joonyoung Shim <[email protected]>"; -#define DRIVER_KERNEL_VERSION KERNEL_VERSION(1, 0, 1)#define DRIVER_CARD "Silicon Labs Si470x FM Radio Receiver"#define DRIVER_DESC "I2C radio driver for Si470x FM Radio Receivers" -#define DRIVER_VERSION "1.0.1" +#define DRIVER_VERSION "1.0.2"/* kernel includes */ #include <linux/i2c.h>
@@ -248,7 +247,6 @@ int si470x_vidioc_querycap(struct file *file, void *priv, {strlcpy (capability->driver,DRIVER_NAME ,sizeof (capability->driver));strlcpy (capability->card,DRIVER_CARD ,sizeof (capability->card)); - capability->version =DRIVER_KERNEL_VERSION ; capability->capabilities =V4L2_CAP_HW_FREQ_SEEK |V4L2_CAP_TUNER |V4L2_CAP_RADIO ;
drivers/media/radio/si470x/radio-si470x-usb.c +0 -2
@@ -29,7 +29,6 @@/* driver definitions */ #define DRIVER_AUTHOR "Tobias Lorenz <[email protected]>" -#define DRIVER_KERNEL_VERSION KERNEL_VERSION(1, 0, 10)#define DRIVER_CARD "Silicon Labs Si470x FM Radio Receiver"#define DRIVER_DESC "USB radio driver for Si470x FM Radio Receivers"#define DRIVER_VERSION "1.0.10"
@@ -626,7 +625,6 @@ int si470x_vidioc_querycap(struct file *file, void *priv,strlcpy (capability->card,DRIVER_CARD ,sizeof (capability->card));usb_make_path (radio->usbdev, capability->bus_info,sizeof (capability->bus_info)); - capability->version =DRIVER_KERNEL_VERSION ; capability->capabilities =V4L2_CAP_HW_FREQ_SEEK |V4L2_CAP_TUNER |V4L2_CAP_RADIO |V4L2_CAP_RDS_CAPTURE ;
drivers/media/radio/si470x/radio-si470x.h +0 -1
@@ -32,7 +32,6 @@#include <linux/sched.h> #include <linux/slab.h> #include <linux/input.h> -#include <linux/version.h> #include <linux/videodev2.h> #include <linux/mutex.h> #include <media/v4l2-common.h>
drivers/media/radio/wl128x/fmdrv.h +1 -4
@@ -28,14 +28,11 @@#include <sound/core.h> #include <sound/initval.h> #include <linux/timer.h> -#include <linux/version.h> #include <media/v4l2-ioctl.h> #include <media/v4l2-common.h> #include <media/v4l2-ctrls.h> -#define FM_DRV_VERSION "0.10" -/* Should match with FM_DRV_VERSION */ -#define FM_DRV_RADIO_VERSION KERNEL_VERSION(0, 0, 1) +#define FM_DRV_VERSION "0.1.1"#define FM_DRV_NAME "ti_fmdrv"#define FM_DRV_CARD_SHORT_NAME "TI FM Radio"#define FM_DRV_CARD_LONG_NAME "Texas Instruments FM Radio"
drivers/media/radio/wl128x/fmdrv_v4l2.c +0 -1
@@ -175,7 +175,6 @@ static int fm_v4l2_vidioc_querycap(struct file *file, void *priv,strlcpy (capability->card,FM_DRV_CARD_SHORT_NAME ,sizeof (capability->card));sprintf (capability->bus_info,"UART" ); - capability->version =FM_DRV_RADIO_VERSION ; capability->capabilities =V4L2_CAP_HW_FREQ_SEEK |V4L2_CAP_TUNER |V4L2_CAP_RADIO |V4L2_CAP_MODULATOR | V4L2_CAP_AUDIO | V4L2_CAP_READWRITE |
Signature · 1 line
1.7.1
PATCH 14/14 DocBook/v4l: Document the new system-wide version behavior
In reply to a message not in the archiveDocumentation/DocBook/media/v4l/common.xml +9 -1
@@ -236,7 +236,15 @@ important parts of the API.</para> <para>The &VIDIOC-QUERYCAP; ioctl is available to check if the kernel device is compatible with this specification, and to query the <link linkend="devices">functions</link> and <link linkend="io">I/O -methods</link> supported by the device. Other features can be queried +methods</link> supported by the device.</para> + + <para>Starting with kernel version 3.1, VIDIOC-QUERYCAP will return the +V4L2 API version used by the driver, with generally matches the Kernel version. +There's no need of using &VIDIOC-QUERYCAP; to check if an specific ioctl is +supported, the V4L2 core now returns ENOIOCTLCMD if a driver doesn't provide +support for an ioctl.</para> + + <para>Other features can be queried by calling the respective ioctl, for example &VIDIOC-ENUMINPUT; to learn about the number, types and names of video connectors on the device. Although abstraction is a major objective of this API, the
Documentation/DocBook/media/v4l/vidioc-querycap.xml +9 -6
@@ -67,9 +67,8 @@ driver is not compatible with this specification the ioctl returns an <entry><para>Name of the driver, a unique NUL-terminated ASCII string. For example: "bttv". Driver specific applications can use this information to verify the driver identity. It is also useful -to work around known bugs, or to identify drivers in error reports. -The driver version is stored in the <structfield>version</structfield> -field.</para><para>Storing strings in fixed sized arrays is bad +to work around known bugs, or to identify drivers in error reports.</para> +<para>Storing strings in fixed sized arrays is bad practice but unavoidable here. Drivers and applications should take precautions to never read or write beyond the end of the array and to make sure the strings are properly NUL-terminated.</para></entry>
@@ -100,9 +99,13 @@ empty string (<structfield>bus_info</structfield>[0] = 0).<!-- XXX pci_dev->slot <row> <entry>__u32</entry> <entry><structfield>version</structfield></entry> - <entry><para>Version number of the driver. Together with -the <structfield>driver</structfield> field this identifies a -particular driver. The version number is formatted using the + <entry><para>Version number of the driver.</para> +<para>Starting on kernel 3.1, the version reported is provided per +V4L2 subsystem, following the same Kernel numberation scheme. However, it +should not always return the same version as the kernel, if, for example, +an stable or distribution-modified kernel uses the V4L2 stack from a +newer kernel.</para> +<para>The version number is formatted using the <constant>KERNEL_VERSION()</constant> macro:</para></entry> </row> <row>
Signature · 1 line
1.7.1