2011-06-23 22:00:14

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 00/37] Remove unneeded version.h includes (and add where needed).

This patch series fixes up all reports of unneeded or missing
linux/version.h includes reported by 'make versioncheck'.

I've manually inspected each file changed and also done build tests of
'allnoconfig', 'allmodconfig' and 'allyesconfig' on x86-64 with these
patches and have encountered no problems.

All patches are against Linus' tree as of a few hours ago and I've tried
to split the series sensibly by subdirectory and/or maintainer.

Please consider applying them and let me know if there are any issues that
need to be worked out.
All patches will be submitted as replies to this mail with additional
relevant people Cc'ed on each specific patch.

Thank you in advance.

--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.


2011-06-23 22:03:35

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 01/37] Remove unneeded version.h includes from sound/

In the sound/ directory there are two files (flagged by 'make
versioncheck'); sound/pci/asihpi/asihpi.c and
sound/soc/codecs/wm8991.c that include linux/version.h although they
don't need it. This patch removes the unneeded includes.

Signed-off-by: Jesper Juhl <[email protected]>
---
sound/pci/asihpi/asihpi.c | 1 -
sound/soc/codecs/wm8991.c | 1 -
2 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/sound/pci/asihpi/asihpi.c b/sound/pci/asihpi/asihpi.c
index 2ca6f4f..e3569bd 100644
--- a/sound/pci/asihpi/asihpi.c
+++ b/sound/pci/asihpi/asihpi.c
@@ -27,7 +27,6 @@
#include "hpioctl.h"

#include <linux/pci.h>
-#include <linux/version.h>
#include <linux/init.h>
#include <linux/jiffies.h>
#include <linux/slab.h>
diff --git a/sound/soc/codecs/wm8991.c b/sound/soc/codecs/wm8991.c
index 3c2ee1b..6af23d0 100644
--- a/sound/soc/codecs/wm8991.c
+++ b/sound/soc/codecs/wm8991.c
@@ -13,7 +13,6 @@

#include <linux/module.h>
#include <linux/moduleparam.h>
-#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/delay.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:05:41

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 02/37] Remove unneeded version.h include from lib/

This patch removes an unneeded include of linux/version.h from
lib/dynamic_debug.c - identified by 'make versioncheck'.
This is the only file in lib/ with this issue.

Signed-off-by: Jesper Juhl <[email protected]>
---
lib/dynamic_debug.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index 75ca78f..79fc20b 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c
@@ -14,7 +14,6 @@
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/kallsyms.h>
-#include <linux/version.h>
#include <linux/types.h>
#include <linux/mutex.h>
#include <linux/proc_fs.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:07:30

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 03/37] Remove unneeded version.h includes from include/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h were not needed in include/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
include/linux/ceph/messenger.h | 1 -
include/media/pwc-ioctl.h | 1 -
2 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h
index 31d91a6..291aa6e 100644
--- a/include/linux/ceph/messenger.h
+++ b/include/linux/ceph/messenger.h
@@ -6,7 +6,6 @@
#include <linux/net.h>
#include <linux/radix-tree.h>
#include <linux/uio.h>
-#include <linux/version.h>
#include <linux/workqueue.h>

#include "types.h"
diff --git a/include/media/pwc-ioctl.h b/include/media/pwc-ioctl.h
index 0f19779..1ed1e61 100644
--- a/include/media/pwc-ioctl.h
+++ b/include/media/pwc-ioctl.h
@@ -53,7 +53,6 @@
*/

#include <linux/types.h>
-#include <linux/version.h>

/* Enumeration of image sizes */
#define PSZ_SQCIF 0x00
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:08:28

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 04/37] Remove unneeded version.h includes from fs/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h were not needed in fs/ (fs/btrfs/ctree.h and
fs/omfs/file.c).
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
fs/btrfs/ctree.h | 1 -
fs/omfs/file.c | 1 -
2 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 3006287..f30ac05 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -19,7 +19,6 @@
#ifndef __BTRFS_CTREE__
#define __BTRFS_CTREE__

-#include <linux/version.h>
#include <linux/mm.h>
#include <linux/highmem.h>
#include <linux/fs.h>
diff --git a/fs/omfs/file.c b/fs/omfs/file.c
index d738a7e..2c6d952 100644
--- a/fs/omfs/file.c
+++ b/fs/omfs/file.c
@@ -4,7 +4,6 @@
* Released under GPL v2.
*/

-#include <linux/version.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/buffer_head.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:09:20

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 05/37] Remove unneeded version.h include from arch/x86/

It was pointed out by 'make versioncheck' include of
linux/version.h is not needed in arch/x86/mm/mmio-mod.c .
This patch removes it.

Signed-off-by: Jesper Juhl <[email protected]>
---
arch/x86/mm/mmio-mod.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/x86/mm/mmio-mod.c b/arch/x86/mm/mmio-mod.c
index 3adff7d..c83c3d0 100644
--- a/arch/x86/mm/mmio-mod.c
+++ b/arch/x86/mm/mmio-mod.c
@@ -29,7 +29,6 @@
#include <linux/slab.h>
#include <linux/uaccess.h>
#include <linux/io.h>
-#include <linux/version.h>
#include <linux/kallsyms.h>
#include <asm/pgtable.h>
#include <linux/mmiotrace.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:16:09

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 06/37] Remove unneeded version.h includes from arch/mips/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in arch/mips/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
arch/mips/include/asm/mach-powertv/dma-coherence.h | 1 -
arch/mips/lantiq/xway/ebu.c | 1 -
arch/mips/lantiq/xway/pmu.c | 1 -
3 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/arch/mips/include/asm/mach-powertv/dma-coherence.h b/arch/mips/include/asm/mach-powertv/dma-coherence.h
index a8e72cf..613baf1 100644
--- a/arch/mips/include/asm/mach-powertv/dma-coherence.h
+++ b/arch/mips/include/asm/mach-powertv/dma-coherence.h
@@ -13,7 +13,6 @@
#define __ASM_MACH_POWERTV_DMA_COHERENCE_H

#include <linux/sched.h>
-#include <linux/version.h>
#include <linux/device.h>
#include <asm/mach-powertv/asic.h>

diff --git a/arch/mips/lantiq/xway/ebu.c b/arch/mips/lantiq/xway/ebu.c
index 66eb52f..033b318 100644
--- a/arch/mips/lantiq/xway/ebu.c
+++ b/arch/mips/lantiq/xway/ebu.c
@@ -10,7 +10,6 @@

#include <linux/kernel.h>
#include <linux/module.h>
-#include <linux/version.h>
#include <linux/ioport.h>

#include <lantiq_soc.h>
diff --git a/arch/mips/lantiq/xway/pmu.c b/arch/mips/lantiq/xway/pmu.c
index 9d69f01e..39f0d26 100644
--- a/arch/mips/lantiq/xway/pmu.c
+++ b/arch/mips/lantiq/xway/pmu.c
@@ -8,7 +8,6 @@

#include <linux/kernel.h>
#include <linux/module.h>
-#include <linux/version.h>
#include <linux/ioport.h>

#include <lantiq_soc.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:17:13

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 07/37] Remove unneeded version.h includes from arch/arm/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in arch/arm/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
arch/arm/mach-bcmring/irq.c | 1 -
arch/arm/mach-bcmring/timer.c | 1 -
2 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-bcmring/irq.c b/arch/arm/mach-bcmring/irq.c
index c48feaf..437fa68 100644
--- a/arch/arm/mach-bcmring/irq.c
+++ b/arch/arm/mach-bcmring/irq.c
@@ -20,7 +20,6 @@
#include <linux/stddef.h>
#include <linux/list.h>
#include <linux/timer.h>
-#include <linux/version.h>
#include <linux/io.h>

#include <mach/hardware.h>
diff --git a/arch/arm/mach-bcmring/timer.c b/arch/arm/mach-bcmring/timer.c
index 2d415d2..af9c3d7 100644
--- a/arch/arm/mach-bcmring/timer.c
+++ b/arch/arm/mach-bcmring/timer.c
@@ -12,7 +12,6 @@
* consent.
*****************************************************************************/

-#include <linux/version.h>
#include <linux/types.h>
#include <linux/module.h>
#include <csp/tmrHw.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:18:13

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 08/37] Remove unneeded version.h includes from drivers/block/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/block/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/block/drbd/drbd_int.h | 1 -
drivers/block/xen-blkback/common.h | 1 -
2 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h
index ef2ceed..1c3194d 100644
--- a/drivers/block/drbd/drbd_int.h
+++ b/drivers/block/drbd/drbd_int.h
@@ -28,7 +28,6 @@

#include <linux/compiler.h>
#include <linux/types.h>
-#include <linux/version.h>
#include <linux/list.h>
#include <linux/sched.h>
#include <linux/bitops.h>
diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index 9e40b28..0d04c7f 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -27,7 +27,6 @@
#ifndef __XEN_BLKIF__BACKEND__COMMON_H__
#define __XEN_BLKIF__BACKEND__COMMON_H__

-#include <linux/version.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/slab.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:19:34

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 09/37] Remove unneeded version.h includes from drivers/input/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/input/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/input/keyboard/adp5588-keys.c | 1 -
drivers/input/keyboard/adp5589-keys.c | 1 -
drivers/input/misc/bfin_rotary.c | 1 -
drivers/input/mouse/pxa930_trkball.c | 1 -
drivers/input/mouse/sentelic.c | 1 -
5 files changed, 0 insertions(+), 5 deletions(-)

diff --git a/drivers/input/keyboard/adp5588-keys.c b/drivers/input/keyboard/adp5588-keys.c
index af45d27..7b404e5 100644
--- a/drivers/input/keyboard/adp5588-keys.c
+++ b/drivers/input/keyboard/adp5588-keys.c
@@ -9,7 +9,6 @@
*/

#include <linux/module.h>
-#include <linux/version.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
diff --git a/drivers/input/keyboard/adp5589-keys.c b/drivers/input/keyboard/adp5589-keys.c
index 6315986..c770826 100644
--- a/drivers/input/keyboard/adp5589-keys.c
+++ b/drivers/input/keyboard/adp5589-keys.c
@@ -8,7 +8,6 @@
*/

#include <linux/module.h>
-#include <linux/version.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
diff --git a/drivers/input/misc/bfin_rotary.c b/drivers/input/misc/bfin_rotary.c
index 4f72bdd..d00edc9 100644
--- a/drivers/input/misc/bfin_rotary.c
+++ b/drivers/input/misc/bfin_rotary.c
@@ -6,7 +6,6 @@
*/

#include <linux/module.h>
-#include <linux/version.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
diff --git a/drivers/input/mouse/pxa930_trkball.c b/drivers/input/mouse/pxa930_trkball.c
index 943cfec..6c5d84f 100644
--- a/drivers/input/mouse/pxa930_trkball.c
+++ b/drivers/input/mouse/pxa930_trkball.c
@@ -12,7 +12,6 @@

#include <linux/init.h>
#include <linux/input.h>
-#include <linux/version.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/platform_device.h>
diff --git a/drivers/input/mouse/sentelic.c b/drivers/input/mouse/sentelic.c
index 1242775..2fc887a 100644
--- a/drivers/input/mouse/sentelic.c
+++ b/drivers/input/mouse/sentelic.c
@@ -20,7 +20,6 @@
*/

#include <linux/module.h>
-#include <linux/version.h>
#include <linux/input.h>
#include <linux/ctype.h>
#include <linux/libps2.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:20:45

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 10/37] Remove unneeded version.h includes from drivers/media/dvb/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/media/dvb/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/media/dvb/frontends/drxd_hard.c | 1 -
drivers/media/dvb/siano/smscoreapi.h | 1 -
2 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/drivers/media/dvb/frontends/drxd_hard.c b/drivers/media/dvb/frontends/drxd_hard.c
index ea4c1c3..f132e49 100644
--- a/drivers/media/dvb/frontends/drxd_hard.c
+++ b/drivers/media/dvb/frontends/drxd_hard.c
@@ -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"
diff --git a/drivers/media/dvb/siano/smscoreapi.h b/drivers/media/dvb/siano/smscoreapi.h
index 8ecadec..c592ae0 100644
--- a/drivers/media/dvb/siano/smscoreapi.h
+++ b/drivers/media/dvb/siano/smscoreapi.h
@@ -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>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:23:16

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 11/37] Remove unneeded version.h includes (and add where needed) for drivers/media/radio/

It was pointed out by 'make versioncheck' that linux/version.h was not
always being included where needed and sometimes included needlessly
in drivers/media/radio/.
This patch fixes up the includes.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/media/radio/si470x/radio-si470x-i2c.c | 1 +
drivers/media/radio/si470x/radio-si470x-usb.c | 1 +
drivers/media/radio/si470x/radio-si470x.h | 1 -
3 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/media/radio/si470x/radio-si470x-i2c.c b/drivers/media/radio/si470x/radio-si470x-i2c.c
index a2a6777..2c7700f 100644
--- a/drivers/media/radio/si470x/radio-si470x-i2c.c
+++ b/drivers/media/radio/si470x/radio-si470x-i2c.c
@@ -23,6 +23,7 @@


/* driver definitions */
+#include <linux/version.h>
#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"
diff --git a/drivers/media/radio/si470x/radio-si470x-usb.c b/drivers/media/radio/si470x/radio-si470x-usb.c
index 392e84f..653384d 100644
--- a/drivers/media/radio/si470x/radio-si470x-usb.c
+++ b/drivers/media/radio/si470x/radio-si470x-usb.c
@@ -28,6 +28,7 @@


/* driver definitions */
+#include <linux/version.h>
#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"
diff --git a/drivers/media/radio/si470x/radio-si470x.h b/drivers/media/radio/si470x/radio-si470x.h
index 68da001..f300a55 100644
--- a/drivers/media/radio/si470x/radio-si470x.h
+++ b/drivers/media/radio/si470x/radio-si470x.h
@@ -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>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:12:40

by Sage Weil

[permalink] [raw]
Subject: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

On Thu, 23 Jun 2011, Jesper Juhl wrote:

> It was pointed out by 'make versioncheck' that some includes of
> linux/version.h were not needed in include/.
> This patch removes them.
>
> Signed-off-by: Jesper Juhl <[email protected]>

Acked-by: Sage Weil <[email protected]>

for the ceph bit.

sage

> ---
> include/linux/ceph/messenger.h | 1 -
> include/media/pwc-ioctl.h | 1 -
> 2 files changed, 0 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h
> index 31d91a6..291aa6e 100644
> --- a/include/linux/ceph/messenger.h
> +++ b/include/linux/ceph/messenger.h
> @@ -6,7 +6,6 @@
> #include <linux/net.h>
> #include <linux/radix-tree.h>
> #include <linux/uio.h>
> -#include <linux/version.h>
> #include <linux/workqueue.h>
>
> #include "types.h"
> diff --git a/include/media/pwc-ioctl.h b/include/media/pwc-ioctl.h
> index 0f19779..1ed1e61 100644
> --- a/include/media/pwc-ioctl.h
> +++ b/include/media/pwc-ioctl.h
> @@ -53,7 +53,6 @@
> */
>
> #include <linux/types.h>
> -#include <linux/version.h>
>
> /* Enumeration of image sizes */
> #define PSZ_SQCIF 0x00
> --
> 1.7.5.2
>
>
> --
> Jesper Juhl <[email protected]> http://www.chaosbits.net/
> Don't top-post http://www.catb.org/jargon/html/T/top-post.html
> Plain text mails only, please.
>
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>

2011-06-23 22:25:59

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 12/37] Remove unneeded version.h includes (and add where needed) for drivers/media/video/

It was pointed out by 'make versioncheck' that linux/version.h was not
always being included where needed and sometimes included needlessly
in drivers/media/video/.
This patch fixes up the includes.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/media/video/cpia2/cpia2.h | 1 -
drivers/media/video/cx18/cx18-driver.h | 1 -
drivers/media/video/cx18/cx18-version.h | 2 ++
drivers/media/video/cx231xx/cx231xx.h | 1 +
drivers/media/video/cx23885/altera-ci.c | 1 -
drivers/media/video/davinci/vpif_capture.c | 1 -
drivers/media/video/davinci/vpif_capture.h | 1 -
drivers/media/video/davinci/vpif_display.c | 1 -
drivers/media/video/davinci/vpif_display.h | 1 -
drivers/media/video/et61x251/et61x251.h | 1 -
drivers/media/video/et61x251/et61x251_core.c | 1 +
drivers/media/video/gspca/gl860/gl860.h | 1 -
drivers/media/video/hdpvr/hdpvr-video.c | 2 --
drivers/media/video/hdpvr/hdpvr.h | 2 +-
drivers/media/video/ivtv/ivtv-driver.h | 1 -
drivers/media/video/ivtv/ivtv-version.h | 2 ++
drivers/media/video/m5mols/m5mols_capture.c | 2 --
drivers/media/video/m5mols/m5mols_core.c | 1 -
drivers/media/video/pwc/pwc-ioctl.h | 1 -
drivers/media/video/saa7164/saa7164.h | 1 -
drivers/media/video/sn9c102/sn9c102.h | 1 -
drivers/media/video/sn9c102/sn9c102_core.c | 1 +
drivers/media/video/timblogiw.c | 1 -
drivers/media/video/tlg2300/pd-common.h | 1 -
drivers/media/video/tlg2300/pd-video.c | 2 +-
drivers/media/video/uvc/uvc_v4l2.c | 1 -
drivers/media/video/uvc/uvcvideo.h | 1 +
27 files changed, 10 insertions(+), 23 deletions(-)

diff --git a/drivers/media/video/cpia2/cpia2.h b/drivers/media/video/cpia2/cpia2.h
index 6d6d184..5e1faa2 100644
--- a/drivers/media/video/cpia2/cpia2.h
+++ b/drivers/media/video/cpia2/cpia2.h
@@ -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>
diff --git a/drivers/media/video/cx18/cx18-driver.h b/drivers/media/video/cx18/cx18-driver.h
index 0864272..1834207 100644
--- a/drivers/media/video/cx18/cx18-driver.h
+++ b/drivers/media/video/cx18/cx18-driver.h
@@ -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>
diff --git a/drivers/media/video/cx18/cx18-version.h b/drivers/media/video/cx18/cx18-version.h
index cd189b6..bbbd503 100644
--- a/drivers/media/video/cx18/cx18-version.h
+++ b/drivers/media/video/cx18/cx18-version.h
@@ -22,6 +22,8 @@
#ifndef CX18_VERSION_H
#define CX18_VERSION_H

+#include <linux/version.h>
+
#define CX18_DRIVER_NAME "cx18"
#define CX18_DRIVER_VERSION_MAJOR 1
#define CX18_DRIVER_VERSION_MINOR 5
diff --git a/drivers/media/video/cx231xx/cx231xx.h b/drivers/media/video/cx231xx/cx231xx.h
index 46dd840..c42b7ff 100644
--- a/drivers/media/video/cx231xx/cx231xx.h
+++ b/drivers/media/video/cx231xx/cx231xx.h
@@ -22,6 +22,7 @@
#ifndef _CX231XX_H
#define _CX231XX_H

+#include <linux/version.h>
#include <linux/videodev2.h>
#include <linux/types.h>
#include <linux/ioctl.h>
diff --git a/drivers/media/video/cx23885/altera-ci.c b/drivers/media/video/cx23885/altera-ci.c
index 678539b..1fa8927 100644
--- a/drivers/media/video/cx23885/altera-ci.c
+++ b/drivers/media/video/cx23885/altera-ci.c
@@ -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"
diff --git a/drivers/media/video/davinci/vpif_capture.c b/drivers/media/video/davinci/vpif_capture.c
index d93ad74..dbdd1eb 100644
--- a/drivers/media/video/davinci/vpif_capture.c
+++ b/drivers/media/video/davinci/vpif_capture.c
@@ -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>
diff --git a/drivers/media/video/davinci/vpif_capture.h b/drivers/media/video/davinci/vpif_capture.h
index 7a4196d..97e7fd5 100644
--- a/drivers/media/video/davinci/vpif_capture.h
+++ b/drivers/media/video/davinci/vpif_capture.h
@@ -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>
diff --git a/drivers/media/video/davinci/vpif_display.c b/drivers/media/video/davinci/vpif_display.c
index cdf659a..66b1631 100644
--- a/drivers/media/video/davinci/vpif_display.c
+++ b/drivers/media/video/davinci/vpif_display.c
@@ -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>
diff --git a/drivers/media/video/davinci/vpif_display.h b/drivers/media/video/davinci/vpif_display.h
index b53aaa8..049a42c 100644
--- a/drivers/media/video/davinci/vpif_display.h
+++ b/drivers/media/video/davinci/vpif_display.h
@@ -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>
diff --git a/drivers/media/video/et61x251/et61x251.h b/drivers/media/video/et61x251/et61x251.h
index bf66189..14bb907 100644
--- a/drivers/media/video/et61x251/et61x251.h
+++ b/drivers/media/video/et61x251/et61x251.h
@@ -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>
diff --git a/drivers/media/video/et61x251/et61x251_core.c b/drivers/media/video/et61x251/et61x251_core.c
index a982750..3722711 100644
--- a/drivers/media/video/et61x251/et61x251_core.c
+++ b/drivers/media/video/et61x251/et61x251_core.c
@@ -34,6 +34,7 @@
#include <linux/mm.h>
#include <linux/vmalloc.h>
#include <linux/page-flags.h>
+#include <linux/version.h>
#include <media/v4l2-ioctl.h>
#include <asm/byteorder.h>
#include <asm/page.h>
diff --git a/drivers/media/video/gspca/gl860/gl860.h b/drivers/media/video/gspca/gl860/gl860.h
index 49ad4ac..0330a02 100644
--- a/drivers/media/video/gspca/gl860/gl860.h
+++ b/drivers/media/video/gspca/gl860/gl860.h
@@ -18,7 +18,6 @@
*/
#ifndef GL860_DEV_H
#define GL860_DEV_H
-#include <linux/version.h>

#include "gspca.h"

diff --git a/drivers/media/video/hdpvr/hdpvr-video.c b/drivers/media/video/hdpvr/hdpvr-video.c
index 514aea7..79b89a1 100644
--- a/drivers/media/video/hdpvr/hdpvr-video.c
+++ b/drivers/media/video/hdpvr/hdpvr-video.c
@@ -17,9 +17,7 @@
#include <linux/uaccess.h>
#include <linux/usb.h>
#include <linux/mutex.h>
-#include <linux/version.h>
#include <linux/workqueue.h>
-
#include <linux/videodev2.h>
#include <media/v4l2-dev.h>
#include <media/v4l2-common.h>
diff --git a/drivers/media/video/hdpvr/hdpvr.h b/drivers/media/video/hdpvr/hdpvr.h
index 072f23c..e74ba50 100644
--- a/drivers/media/video/hdpvr/hdpvr.h
+++ b/drivers/media/video/hdpvr/hdpvr.h
@@ -14,7 +14,7 @@
#include <linux/mutex.h>
#include <linux/workqueue.h>
#include <linux/videodev2.h>
-
+#include <linux/version.h>
#include <media/v4l2-device.h>
#include <media/ir-kbd-i2c.h>

diff --git a/drivers/media/video/ivtv/ivtv-driver.h b/drivers/media/video/ivtv/ivtv-driver.h
index 84bdf0f..8f9cc17 100644
--- a/drivers/media/video/ivtv/ivtv-driver.h
+++ b/drivers/media/video/ivtv/ivtv-driver.h
@@ -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>
diff --git a/drivers/media/video/ivtv/ivtv-version.h b/drivers/media/video/ivtv/ivtv-version.h
index b67a404..3767237 100644
--- a/drivers/media/video/ivtv/ivtv-version.h
+++ b/drivers/media/video/ivtv/ivtv-version.h
@@ -20,6 +20,8 @@
#ifndef IVTV_VERSION_H
#define IVTV_VERSION_H

+#include <linux/version.h>
+
#define IVTV_DRIVER_NAME "ivtv"
#define IVTV_DRIVER_VERSION_MAJOR 1
#define IVTV_DRIVER_VERSION_MINOR 4
diff --git a/drivers/media/video/m5mols/m5mols_capture.c b/drivers/media/video/m5mols/m5mols_capture.c
index d71a390..bf704cb 100644
--- a/drivers/media/video/m5mols/m5mols_capture.c
+++ b/drivers/media/video/m5mols/m5mols_capture.c
@@ -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>
diff --git a/drivers/media/video/m5mols/m5mols_core.c b/drivers/media/video/m5mols/m5mols_core.c
index 76eac26..05d086e 100644
--- a/drivers/media/video/m5mols/m5mols_core.c
+++ b/drivers/media/video/m5mols/m5mols_core.c
@@ -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>
diff --git a/drivers/media/video/pwc/pwc-ioctl.h b/drivers/media/video/pwc/pwc-ioctl.h
index 8c0cae7..b74fea0 100644
--- a/drivers/media/video/pwc/pwc-ioctl.h
+++ b/drivers/media/video/pwc/pwc-ioctl.h
@@ -52,7 +52,6 @@
*/

#include <linux/types.h>
-#include <linux/version.h>

/* Enumeration of image sizes */
#define PSZ_SQCIF 0x00
diff --git a/drivers/media/video/saa7164/saa7164.h b/drivers/media/video/saa7164/saa7164.h
index 16745d2..6678bf1 100644
--- a/drivers/media/video/saa7164/saa7164.h
+++ b/drivers/media/video/saa7164/saa7164.h
@@ -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>
diff --git a/drivers/media/video/sn9c102/sn9c102.h b/drivers/media/video/sn9c102/sn9c102.h
index cbfc444..22ea211 100644
--- a/drivers/media/video/sn9c102/sn9c102.h
+++ b/drivers/media/video/sn9c102/sn9c102.h
@@ -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>
diff --git a/drivers/media/video/sn9c102/sn9c102_core.c b/drivers/media/video/sn9c102/sn9c102_core.c
index 0e07c49..8908501 100644
--- a/drivers/media/video/sn9c102/sn9c102_core.c
+++ b/drivers/media/video/sn9c102/sn9c102_core.c
@@ -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>
diff --git a/drivers/media/video/timblogiw.c b/drivers/media/video/timblogiw.c
index fc611eb..84cd1b6 100644
--- a/drivers/media/video/timblogiw.c
+++ b/drivers/media/video/timblogiw.c
@@ -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>
diff --git a/drivers/media/video/tlg2300/pd-common.h b/drivers/media/video/tlg2300/pd-common.h
index 46066bd..56564e6 100644
--- a/drivers/media/video/tlg2300/pd-common.h
+++ b/drivers/media/video/tlg2300/pd-common.h
@@ -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>
diff --git a/drivers/media/video/tlg2300/pd-video.c b/drivers/media/video/tlg2300/pd-video.c
index a794ae6..f243ec0 100644
--- a/drivers/media/video/tlg2300/pd-video.c
+++ b/drivers/media/video/tlg2300/pd-video.c
@@ -5,7 +5,7 @@
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/slab.h>
-
+#include <linux/version.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-dev.h>

diff --git a/drivers/media/video/uvc/uvc_v4l2.c b/drivers/media/video/uvc/uvc_v4l2.c
index 543a803..7fbd389 100644
--- a/drivers/media/video/uvc/uvc_v4l2.c
+++ b/drivers/media/video/uvc/uvc_v4l2.c
@@ -12,7 +12,6 @@
*/

#include <linux/kernel.h>
-#include <linux/version.h>
#include <linux/list.h>
#include <linux/module.h>
#include <linux/slab.h>
diff --git a/drivers/media/video/uvc/uvcvideo.h b/drivers/media/video/uvc/uvcvideo.h
index 20107fd..1c0fe5e 100644
--- a/drivers/media/video/uvc/uvcvideo.h
+++ b/drivers/media/video/uvc/uvcvideo.h
@@ -101,6 +101,7 @@ struct uvc_xu_control {
#include <linux/usb.h>
#include <linux/usb/video.h>
#include <linux/uvcvideo.h>
+#include <linux/version.h>
#include <media/media-device.h>
#include <media/v4l2-device.h>

--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:30:09

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 13/37] Remove unneeded version.h includes from drivers/net/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/net/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/net/atl1c/atl1c.h | 1 -
drivers/net/atl1e/atl1e.h | 1 -
drivers/net/benet/be.h | 1 -
drivers/net/bna/cna.h | 1 -
drivers/net/caif/caif_serial.c | 1 -
drivers/net/caif/caif_shm_u5500.c | 1 -
drivers/net/caif/caif_spi.c | 1 -
drivers/net/caif/caif_spi_slave.c | 1 -
drivers/net/can/c_can/c_can.c | 1 -
drivers/net/can/c_can/c_can_platform.c | 1 -
drivers/net/can/softing/softing_main.c | 1 -
drivers/net/cxgb4vf/cxgb4vf_main.c | 1 -
drivers/net/cxgb4vf/t4vf_hw.c | 1 -
drivers/net/davinci_emac.c | 1 -
drivers/net/pptp.c | 1 -
drivers/net/sfc/net_driver.h | 1 -
drivers/net/usb/cdc_ncm.c | 1 -
drivers/net/wireless/rtlwifi/wifi.h | 1 -
18 files changed, 0 insertions(+), 18 deletions(-)

diff --git a/drivers/net/atl1c/atl1c.h b/drivers/net/atl1c/atl1c.h
index 925929d..695398c 100644
--- a/drivers/net/atl1c/atl1c.h
+++ b/drivers/net/atl1c/atl1c.h
@@ -22,7 +22,6 @@
#ifndef _ATL1C_H_
#define _ATL1C_H_

-#include <linux/version.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/errno.h>
diff --git a/drivers/net/atl1e/atl1e.h b/drivers/net/atl1e/atl1e.h
index 490d3b3..3861949 100644
--- a/drivers/net/atl1e/atl1e.h
+++ b/drivers/net/atl1e/atl1e.h
@@ -23,7 +23,6 @@
#ifndef _ATL1E_H_
#define _ATL1E_H_

-#include <linux/version.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/errno.h>
diff --git a/drivers/net/benet/be.h b/drivers/net/benet/be.h
index a7db870..66ae5b5 100644
--- a/drivers/net/benet/be.h
+++ b/drivers/net/benet/be.h
@@ -20,7 +20,6 @@

#include <linux/pci.h>
#include <linux/etherdevice.h>
-#include <linux/version.h>
#include <linux/delay.h>
#include <net/tcp.h>
#include <net/ip.h>
diff --git a/drivers/net/bna/cna.h b/drivers/net/bna/cna.h
index bbd39dc..8ee9e38 100644
--- a/drivers/net/bna/cna.h
+++ b/drivers/net/bna/cna.h
@@ -19,7 +19,6 @@
#ifndef __CNA_H__
#define __CNA_H__

-#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/pci.h>
diff --git a/drivers/net/caif/caif_serial.c b/drivers/net/caif/caif_serial.c
index 3df0c0f..175e134 100644
--- a/drivers/net/caif/caif_serial.c
+++ b/drivers/net/caif/caif_serial.c
@@ -5,7 +5,6 @@
*/

#include <linux/init.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/types.h>
diff --git a/drivers/net/caif/caif_shm_u5500.c b/drivers/net/caif/caif_shm_u5500.c
index 5f771ab..89d76b7 100644
--- a/drivers/net/caif/caif_shm_u5500.c
+++ b/drivers/net/caif/caif_shm_u5500.c
@@ -7,7 +7,6 @@

#define pr_fmt(fmt) KBUILD_MODNAME ":" fmt

-#include <linux/version.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/netdevice.h>
diff --git a/drivers/net/caif/caif_spi.c b/drivers/net/caif/caif_spi.c
index 57e6393..0f8defc 100644
--- a/drivers/net/caif/caif_spi.c
+++ b/drivers/net/caif/caif_spi.c
@@ -5,7 +5,6 @@
* License terms: GNU General Public License (GPL) version 2.
*/

-#include <linux/version.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/device.h>
diff --git a/drivers/net/caif/caif_spi_slave.c b/drivers/net/caif/caif_spi_slave.c
index b009e03..e139e13 100644
--- a/drivers/net/caif/caif_spi_slave.c
+++ b/drivers/net/caif/caif_spi_slave.c
@@ -4,7 +4,6 @@
* Author: Daniel Martensson / [email protected]
* License terms: GNU General Public License (GPL) version 2.
*/
-#include <linux/version.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/device.h>
diff --git a/drivers/net/can/c_can/c_can.c b/drivers/net/can/c_can/c_can.c
index 7e5cc0b..80adc83 100644
--- a/drivers/net/can/c_can/c_can.c
+++ b/drivers/net/can/c_can/c_can.c
@@ -26,7 +26,6 @@
*/

#include <linux/kernel.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
diff --git a/drivers/net/can/c_can/c_can_platform.c b/drivers/net/can/c_can/c_can_platform.c
index cc90824..0e300cf 100644
--- a/drivers/net/can/c_can/c_can_platform.c
+++ b/drivers/net/can/c_can/c_can_platform.c
@@ -20,7 +20,6 @@
*/

#include <linux/kernel.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
diff --git a/drivers/net/can/softing/softing_main.c b/drivers/net/can/softing/softing_main.c
index 60a49e5..849e4a0 100644
--- a/drivers/net/can/softing/softing_main.c
+++ b/drivers/net/can/softing/softing_main.c
@@ -17,7 +17,6 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/

-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/interrupt.h>
diff --git a/drivers/net/cxgb4vf/cxgb4vf_main.c b/drivers/net/cxgb4vf/cxgb4vf_main.c
index e71c08e..8a6f891 100644
--- a/drivers/net/cxgb4vf/cxgb4vf_main.c
+++ b/drivers/net/cxgb4vf/cxgb4vf_main.c
@@ -33,7 +33,6 @@
* SOFTWARE.
*/

-#include <linux/version.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/init.h>
diff --git a/drivers/net/cxgb4vf/t4vf_hw.c b/drivers/net/cxgb4vf/t4vf_hw.c
index 192db22..fe3fd3d 100644
--- a/drivers/net/cxgb4vf/t4vf_hw.c
+++ b/drivers/net/cxgb4vf/t4vf_hw.c
@@ -33,7 +33,6 @@
* SOFTWARE.
*/

-#include <linux/version.h>
#include <linux/pci.h>

#include "t4vf_common.h"
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c
index dcc4a17..a8adf0c 100644
--- a/drivers/net/davinci_emac.c
+++ b/drivers/net/davinci_emac.c
@@ -48,7 +48,6 @@
#include <linux/highmem.h>
#include <linux/proc_fs.h>
#include <linux/ctype.h>
-#include <linux/version.h>
#include <linux/spinlock.h>
#include <linux/dma-mapping.h>
#include <linux/clk.h>
diff --git a/drivers/net/pptp.c b/drivers/net/pptp.c
index 1286fe2..eae542a 100644
--- a/drivers/net/pptp.c
+++ b/drivers/net/pptp.c
@@ -30,7 +30,6 @@
#include <linux/ip.h>
#include <linux/netfilter.h>
#include <linux/netfilter_ipv4.h>
-#include <linux/version.h>
#include <linux/rcupdate.h>
#include <linux/spinlock.h>

diff --git a/drivers/net/sfc/net_driver.h b/drivers/net/sfc/net_driver.h
index e8d5f03..1affbf4 100644
--- a/drivers/net/sfc/net_driver.h
+++ b/drivers/net/sfc/net_driver.h
@@ -17,7 +17,6 @@
#define DEBUG
#endif

-#include <linux/version.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/ethtool.h>
diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c
index f33ca6a..fd622a6 100644
--- a/drivers/net/usb/cdc_ncm.c
+++ b/drivers/net/usb/cdc_ncm.c
@@ -47,7 +47,6 @@
#include <linux/mii.h>
#include <linux/crc32.h>
#include <linux/usb.h>
-#include <linux/version.h>
#include <linux/timer.h>
#include <linux/spinlock.h>
#include <linux/atomic.h>
diff --git a/drivers/net/wireless/rtlwifi/wifi.h b/drivers/net/wireless/rtlwifi/wifi.h
index 693395e..dd85110 100644
--- a/drivers/net/wireless/rtlwifi/wifi.h
+++ b/drivers/net/wireless/rtlwifi/wifi.h
@@ -32,7 +32,6 @@

#include <linux/sched.h>
#include <linux/firmware.h>
-#include <linux/version.h>
#include <linux/etherdevice.h>
#include <linux/vmalloc.h>
#include <linux/usb.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:35:42

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 14/37] Remove unneeded version.h includes from drivers/scsi/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/scsi/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/scsi/aacraid/src.c | 1 -
drivers/scsi/bfa/bfad_drv.h | 1 -
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c | 1 -
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 1 -
drivers/scsi/fcoe/fcoe.c | 1 -
drivers/scsi/mpt2sas/mpt2sas_base.c | 1 -
drivers/scsi/mpt2sas/mpt2sas_config.c | 1 -
drivers/scsi/mpt2sas/mpt2sas_ctl.c | 1 -
drivers/scsi/mpt2sas/mpt2sas_scsih.c | 1 -
drivers/scsi/mvsas/mv_sas.h | 1 -
drivers/scsi/pmcraid.c | 1 -
drivers/scsi/pmcraid.h | 1 -
12 files changed, 0 insertions(+), 12 deletions(-)

diff --git a/drivers/scsi/aacraid/src.c b/drivers/scsi/aacraid/src.c
index c204946..957595a 100644
--- a/drivers/scsi/aacraid/src.c
+++ b/drivers/scsi/aacraid/src.c
@@ -37,7 +37,6 @@
#include <linux/slab.h>
#include <linux/blkdev.h>
#include <linux/delay.h>
-#include <linux/version.h>
#include <linux/completion.h>
#include <linux/time.h>
#include <linux/interrupt.h>
diff --git a/drivers/scsi/bfa/bfad_drv.h b/drivers/scsi/bfa/bfad_drv.h
index 7f9ea90..bcba182 100644
--- a/drivers/scsi/bfa/bfad_drv.h
+++ b/drivers/scsi/bfa/bfad_drv.h
@@ -27,7 +27,6 @@
#define __BFAD_DRV_H__

#include <linux/types.h>
-#include <linux/version.h>
#include <linux/pci.h>
#include <linux/dma-mapping.h>
#include <linux/idr.h>
diff --git a/drivers/scsi/cxgbi/cxgb3i/cxgb3i.c b/drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
index fc2cdb6..93f9bb09 100644
--- a/drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
+++ b/drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
@@ -14,7 +14,6 @@

#define pr_fmt(fmt) KBUILD_MODNAME ":%s: " fmt, __func__

-#include <linux/version.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <scsi/scsi_host.h>
diff --git a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
index f3a4cd7..8323c7b 100644
--- a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
+++ b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
@@ -13,7 +13,6 @@

#define pr_fmt(fmt) KBUILD_MODNAME ":%s: " fmt, __func__

-#include <linux/version.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <scsi/scsi_host.h>
diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
index 155d7b9..73e5457 100644
--- a/drivers/scsi/fcoe/fcoe.c
+++ b/drivers/scsi/fcoe/fcoe.c
@@ -18,7 +18,6 @@
*/

#include <linux/module.h>
-#include <linux/version.h>
#include <linux/spinlock.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.c b/drivers/scsi/mpt2sas/mpt2sas_base.c
index efa0255..f89d389 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_base.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_base.c
@@ -42,7 +42,6 @@
* USA.
*/

-#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/errno.h>
diff --git a/drivers/scsi/mpt2sas/mpt2sas_config.c b/drivers/scsi/mpt2sas/mpt2sas_config.c
index 6861244..2b11010 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_config.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_config.c
@@ -41,7 +41,6 @@
* USA.
*/

-#include <linux/version.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
diff --git a/drivers/scsi/mpt2sas/mpt2sas_ctl.c b/drivers/scsi/mpt2sas/mpt2sas_ctl.c
index 437c2d9..c98dbc6 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_ctl.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_ctl.c
@@ -42,7 +42,6 @@
* USA.
*/

-#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/errno.h>
diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
index a7dbc68..28e3f56 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
@@ -41,7 +41,6 @@
* USA.
*/

-#include <linux/version.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
diff --git a/drivers/scsi/mvsas/mv_sas.h b/drivers/scsi/mvsas/mv_sas.h
index 1367d8b..d6fd740 100644
--- a/drivers/scsi/mvsas/mv_sas.h
+++ b/drivers/scsi/mvsas/mv_sas.h
@@ -43,7 +43,6 @@
#include <scsi/scsi.h>
#include <scsi/scsi_tcq.h>
#include <scsi/sas_ata.h>
-#include <linux/version.h>
#include "mv_defs.h"

#define DRV_NAME "mvsas"
diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c
index fca6a89..ee161c6 100644
--- a/drivers/scsi/pmcraid.c
+++ b/drivers/scsi/pmcraid.c
@@ -39,7 +39,6 @@
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/hdreg.h>
-#include <linux/version.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <asm/irq.h>
diff --git a/drivers/scsi/pmcraid.h b/drivers/scsi/pmcraid.h
index f920baf..ca496c7 100644
--- a/drivers/scsi/pmcraid.h
+++ b/drivers/scsi/pmcraid.h
@@ -24,7 +24,6 @@
#ifndef _PMCRAID_H
#define _PMCRAID_H

-#include <linux/version.h>
#include <linux/types.h>
#include <linux/completion.h>
#include <linux/list.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:39:32

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 15/37] Remove unneeded version.h includes from drivers/target/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/target/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/target/target_core_alua.c | 1 -
drivers/target/target_core_configfs.c | 1 -
drivers/target/target_core_fabric_configfs.c | 1 -
drivers/target/target_core_file.c | 1 -
drivers/target/target_core_iblock.c | 1 -
drivers/target/target_core_pr.c | 1 -
drivers/target/target_core_pscsi.c | 1 -
drivers/target/target_core_rd.c | 1 -
drivers/target/target_core_stat.c | 1 -
drivers/target/target_core_tmr.c | 1 -
drivers/target/target_core_transport.c | 1 -
drivers/target/target_core_ua.c | 1 -
drivers/target/tcm_fc/tfc_cmd.c | 1 -
drivers/target/tcm_fc/tfc_conf.c | 1 -
drivers/target/tcm_fc/tfc_io.c | 1 -
drivers/target/tcm_fc/tfc_sess.c | 1 -
16 files changed, 0 insertions(+), 16 deletions(-)

diff --git a/drivers/target/target_core_alua.c b/drivers/target/target_core_alua.c
index 47abb42..5c5b85a 100644
--- a/drivers/target/target_core_alua.c
+++ b/drivers/target/target_core_alua.c
@@ -24,7 +24,6 @@
*
******************************************************************************/

-#include <linux/version.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/configfs.h>
diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c
index ee6fad9..c02d4ec 100644
--- a/drivers/target/target_core_configfs.c
+++ b/drivers/target/target_core_configfs.c
@@ -23,7 +23,6 @@

#include <linux/module.h>
#include <linux/moduleparam.h>
-#include <linux/version.h>
#include <generated/utsrelease.h>
#include <linux/utsname.h>
#include <linux/init.h>
diff --git a/drivers/target/target_core_fabric_configfs.c b/drivers/target/target_core_fabric_configfs.c
index 07ab5a3..2f6b7f9 100644
--- a/drivers/target/target_core_fabric_configfs.c
+++ b/drivers/target/target_core_fabric_configfs.c
@@ -22,7 +22,6 @@

#include <linux/module.h>
#include <linux/moduleparam.h>
-#include <linux/version.h>
#include <generated/utsrelease.h>
#include <linux/utsname.h>
#include <linux/init.h>
diff --git a/drivers/target/target_core_file.c b/drivers/target/target_core_file.c
index 150c430..dd6b96e 100644
--- a/drivers/target/target_core_file.c
+++ b/drivers/target/target_core_file.c
@@ -26,7 +26,6 @@
*
******************************************************************************/

-#include <linux/version.h>
#include <linux/string.h>
#include <linux/parser.h>
#include <linux/timer.h>
diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c
index 8663900..32c372b 100644
--- a/drivers/target/target_core_iblock.c
+++ b/drivers/target/target_core_iblock.c
@@ -27,7 +27,6 @@
*
******************************************************************************/

-#include <linux/version.h>
#include <linux/string.h>
#include <linux/parser.h>
#include <linux/timer.h>
diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c
index a79f518..98cf0e1 100644
--- a/drivers/target/target_core_pr.c
+++ b/drivers/target/target_core_pr.c
@@ -25,7 +25,6 @@
*
******************************************************************************/

-#include <linux/version.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/list.h>
diff --git a/drivers/target/target_core_pscsi.c b/drivers/target/target_core_pscsi.c
index 331d423..79f35e4 100644
--- a/drivers/target/target_core_pscsi.c
+++ b/drivers/target/target_core_pscsi.c
@@ -26,7 +26,6 @@
*
******************************************************************************/

-#include <linux/version.h>
#include <linux/string.h>
#include <linux/parser.h>
#include <linux/timer.h>
diff --git a/drivers/target/target_core_rd.c b/drivers/target/target_core_rd.c
index 7837dd3..adbda89 100644
--- a/drivers/target/target_core_rd.c
+++ b/drivers/target/target_core_rd.c
@@ -27,7 +27,6 @@
*
******************************************************************************/

-#include <linux/version.h>
#include <linux/string.h>
#include <linux/parser.h>
#include <linux/timer.h>
diff --git a/drivers/target/target_core_stat.c b/drivers/target/target_core_stat.c
index 5e3a067..889c64e 100644
--- a/drivers/target/target_core_stat.c
+++ b/drivers/target/target_core_stat.c
@@ -32,7 +32,6 @@
#include <linux/delay.h>
#include <linux/timer.h>
#include <linux/string.h>
-#include <linux/version.h>
#include <generated/utsrelease.h>
#include <linux/utsname.h>
#include <linux/proc_fs.h>
diff --git a/drivers/target/target_core_tmr.c b/drivers/target/target_core_tmr.c
index 59b8b9c..c1ab4e0 100644
--- a/drivers/target/target_core_tmr.c
+++ b/drivers/target/target_core_tmr.c
@@ -24,7 +24,6 @@
*
******************************************************************************/

-#include <linux/version.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/list.h>
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index 4dafeb8..d947309 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -26,7 +26,6 @@
*
******************************************************************************/

-#include <linux/version.h>
#include <linux/net.h>
#include <linux/delay.h>
#include <linux/string.h>
diff --git a/drivers/target/target_core_ua.c b/drivers/target/target_core_ua.c
index df35517..d8434b4 100644
--- a/drivers/target/target_core_ua.c
+++ b/drivers/target/target_core_ua.c
@@ -24,7 +24,6 @@
*
******************************************************************************/

-#include <linux/version.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <scsi/scsi.h>
diff --git a/drivers/target/tcm_fc/tfc_cmd.c b/drivers/target/tcm_fc/tfc_cmd.c
index c056a11..580976b 100644
--- a/drivers/target/tcm_fc/tfc_cmd.c
+++ b/drivers/target/tcm_fc/tfc_cmd.c
@@ -19,7 +19,6 @@

#include <linux/module.h>
#include <linux/moduleparam.h>
-#include <linux/version.h>
#include <generated/utsrelease.h>
#include <linux/utsname.h>
#include <linux/init.h>
diff --git a/drivers/target/tcm_fc/tfc_conf.c b/drivers/target/tcm_fc/tfc_conf.c
index 84e868c..fa3c86a 100644
--- a/drivers/target/tcm_fc/tfc_conf.c
+++ b/drivers/target/tcm_fc/tfc_conf.c
@@ -23,7 +23,6 @@

#include <linux/module.h>
#include <linux/moduleparam.h>
-#include <linux/version.h>
#include <generated/utsrelease.h>
#include <linux/utsname.h>
#include <linux/init.h>
diff --git a/drivers/target/tcm_fc/tfc_io.c b/drivers/target/tcm_fc/tfc_io.c
index 4c3c0ef..739f9fc 100644
--- a/drivers/target/tcm_fc/tfc_io.c
+++ b/drivers/target/tcm_fc/tfc_io.c
@@ -28,7 +28,6 @@

#include <linux/module.h>
#include <linux/moduleparam.h>
-#include <linux/version.h>
#include <generated/utsrelease.h>
#include <linux/utsname.h>
#include <linux/init.h>
diff --git a/drivers/target/tcm_fc/tfc_sess.c b/drivers/target/tcm_fc/tfc_sess.c
index a3bd57f..f09a6a4 100644
--- a/drivers/target/tcm_fc/tfc_sess.c
+++ b/drivers/target/tcm_fc/tfc_sess.c
@@ -19,7 +19,6 @@

#include <linux/module.h>
#include <linux/moduleparam.h>
-#include <linux/version.h>
#include <generated/utsrelease.h>
#include <linux/utsname.h>
#include <linux/init.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:40:39

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 16/37] Remove unneeded version.h includes (and add where needed) for drivers/usb/

It was pointed out by 'make versioncheck' that linux/version.h was not
always being included where needed and sometimes included needlessly
in drivers/usb/.
This patch fixes up the includes.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/usb/gadget/uvc.h | 1 +
drivers/usb/gadget/uvc_v4l2.c | 1 -
drivers/usb/storage/realtek_cr.c | 1 -
3 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/gadget/uvc.h b/drivers/usb/gadget/uvc.h
index 5b79194..81971fb 100644
--- a/drivers/usb/gadget/uvc.h
+++ b/drivers/usb/gadget/uvc.h
@@ -56,6 +56,7 @@ struct uvc_event
#include <linux/usb.h> /* For usb_endpoint_* */
#include <linux/usb/gadget.h>
#include <linux/videodev2.h>
+#include <linux/version.h>
#include <media/v4l2-fh.h>

#include "uvc_queue.h"
diff --git a/drivers/usb/gadget/uvc_v4l2.c b/drivers/usb/gadget/uvc_v4l2.c
index 5e807f0..a715805 100644
--- a/drivers/usb/gadget/uvc_v4l2.c
+++ b/drivers/usb/gadget/uvc_v4l2.c
@@ -16,7 +16,6 @@
#include <linux/errno.h>
#include <linux/list.h>
#include <linux/mutex.h>
-#include <linux/version.h>
#include <linux/videodev2.h>
#include <linux/vmalloc.h>
#include <linux/wait.h>
diff --git a/drivers/usb/storage/realtek_cr.c b/drivers/usb/storage/realtek_cr.c
index d509a4a..fe21104 100644
--- a/drivers/usb/storage/realtek_cr.c
+++ b/drivers/usb/storage/realtek_cr.c
@@ -26,7 +26,6 @@
#include <linux/sched.h>
#include <linux/workqueue.h>
#include <linux/kernel.h>
-#include <linux/version.h>

#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:41:49

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 17/37] Remove unneeded version.h include from drivers/uwb/

It was pointed out by 'make versioncheck' that a include of
linux/version.h is not needed in drivers/uwb/uwb-internal.h .
This patch removes it.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/uwb/uwb-internal.h | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/uwb/uwb-internal.h b/drivers/uwb/uwb-internal.h
index 157485c..a7494bf 100644
--- a/drivers/uwb/uwb-internal.h
+++ b/drivers/uwb/uwb-internal.h
@@ -28,7 +28,6 @@
#ifndef __UWB_INTERNAL_H__
#define __UWB_INTERNAL_H__

-#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/device.h>
#include <linux/uwb.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:44:14

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 18/37] Remove unneeded version.h includes from drivers/video/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/video/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/video/backlight/adp8860_bl.c | 1 -
drivers/video/backlight/adp8870_bl.c | 1 -
drivers/video/pxa3xx-gcu.c | 2 --
drivers/video/xilinxfb.c | 1 -
4 files changed, 0 insertions(+), 5 deletions(-)

diff --git a/drivers/video/backlight/adp8860_bl.c b/drivers/video/backlight/adp8860_bl.c
index d2a96a4..24a6dfd 100644
--- a/drivers/video/backlight/adp8860_bl.c
+++ b/drivers/video/backlight/adp8860_bl.c
@@ -7,7 +7,6 @@
*/

#include <linux/module.h>
-#include <linux/version.h>
#include <linux/init.h>
#include <linux/errno.h>
#include <linux/pm.h>
diff --git a/drivers/video/backlight/adp8870_bl.c b/drivers/video/backlight/adp8870_bl.c
index 05a8832..383c4c3 100644
--- a/drivers/video/backlight/adp8870_bl.c
+++ b/drivers/video/backlight/adp8870_bl.c
@@ -7,7 +7,6 @@
*/

#include <linux/module.h>
-#include <linux/version.h>
#include <linux/init.h>
#include <linux/errno.h>
#include <linux/pm.h>
diff --git a/drivers/video/pxa3xx-gcu.c b/drivers/video/pxa3xx-gcu.c
index 0283c70..d8de557 100644
--- a/drivers/video/pxa3xx-gcu.c
+++ b/drivers/video/pxa3xx-gcu.c
@@ -31,8 +31,6 @@
*/

#include <linux/module.h>
-#include <linux/version.h>
-
#include <linux/platform_device.h>
#include <linux/dma-mapping.h>
#include <linux/miscdevice.h>
diff --git a/drivers/video/xilinxfb.c b/drivers/video/xilinxfb.c
index 77dea01..fcb6cd9 100644
--- a/drivers/video/xilinxfb.c
+++ b/drivers/video/xilinxfb.c
@@ -23,7 +23,6 @@
#include <linux/device.h>
#include <linux/module.h>
#include <linux/kernel.h>
-#include <linux/version.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/mm.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:48:58

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 19/37] Remove unneeded version.h includes from drivers/staging/rtl*/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/staging/rtl8187se/,
drivers/staging/rtl8192e/, drivers/staging/rtl8192u/ &
drivers/staging/rtl8712/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/rtl8187se/ieee80211/ieee80211.h | 1 -
.../staging/rtl8187se/ieee80211/ieee80211_crypt.c | 1 -
.../rtl8187se/ieee80211/ieee80211_crypt_ccmp.c | 1 -
.../rtl8187se/ieee80211/ieee80211_crypt_tkip.c | 1 -
.../rtl8187se/ieee80211/ieee80211_crypt_wep.c | 1 -
.../staging/rtl8187se/ieee80211/ieee80211_module.c | 1 -
.../rtl8187se/ieee80211/ieee80211_softmac.c | 1 -
drivers/staging/rtl8192e/ieee80211/ieee80211.h | 1 -
.../staging/rtl8192e/ieee80211/ieee80211_crypt.c | 1 -
.../rtl8192e/ieee80211/ieee80211_crypt_ccmp.c | 1 -
.../rtl8192e/ieee80211/ieee80211_crypt_tkip.c | 1 -
.../rtl8192e/ieee80211/ieee80211_crypt_wep.c | 1 -
.../staging/rtl8192e/ieee80211/ieee80211_module.c | 1 -
drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c | 1 -
.../staging/rtl8192e/ieee80211/ieee80211_softmac.c | 1 -
drivers/staging/rtl8192e/ieee80211/ieee80211_tx.c | 1 -
drivers/staging/rtl8192e/r8192E.h | 1 -
drivers/staging/rtl8192u/ieee80211/ieee80211.h | 1 -
.../staging/rtl8192u/ieee80211/ieee80211_crypt.c | 1 -
.../rtl8192u/ieee80211/ieee80211_crypt_ccmp.c | 1 -
.../rtl8192u/ieee80211/ieee80211_crypt_tkip.c | 1 -
.../rtl8192u/ieee80211/ieee80211_crypt_wep.c | 1 -
.../staging/rtl8192u/ieee80211/ieee80211_module.c | 1 -
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c | 1 -
.../staging/rtl8192u/ieee80211/ieee80211_softmac.c | 1 -
drivers/staging/rtl8192u/r8192U.h | 1 -
drivers/staging/rtl8712/osdep_service.h | 2 --
27 files changed, 0 insertions(+), 28 deletions(-)

diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211.h b/drivers/staging/rtl8187se/ieee80211/ieee80211.h
index 16aa6a8..705c6cc 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211.h
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211.h
@@ -25,7 +25,6 @@
#define IEEE80211_H
#include <linux/if_ether.h> /* ETH_ALEN */
#include <linux/kernel.h> /* ARRAY_SIZE */
-#include <linux/version.h>
#include <linux/jiffies.h>
#include <linux/timer.h>
#include <linux/sched.h>
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c
index c8dbcb9..b3882ae 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c
@@ -12,7 +12,6 @@
*/

//#include <linux/config.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_ccmp.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_ccmp.c
index 731d268..6aaaa2f 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_ccmp.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_ccmp.c
@@ -10,7 +10,6 @@
*/

//#include <linux/config.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_tkip.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_tkip.c
index ee71ee9..da24e43 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_tkip.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_tkip.c
@@ -10,7 +10,6 @@
*/

//#include <linux/config.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_wep.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_wep.c
index f790cd6..58f3eeb 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_wep.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_wep.c
@@ -10,7 +10,6 @@
*/

//#include <linux/config.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_module.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_module.c
index 9d58a42..9422573 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_module.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_module.c
@@ -46,7 +46,6 @@
#include <linux/slab.h>
#include <linux/tcp.h>
#include <linux/types.h>
-#include <linux/version.h>
#include <linux/wireless.h>
#include <linux/etherdevice.h>
#include <asm/uaccess.h>
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
index 736a140..f292478 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
@@ -19,7 +19,6 @@
#include <linux/random.h>
#include <linux/delay.h>
#include <linux/slab.h>
-#include <linux/version.h>
#include <asm/uaccess.h>

#include "dot11d.h"
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211.h b/drivers/staging/rtl8192e/ieee80211/ieee80211.h
index dbe21ab..a58519e 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211.h
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211.h
@@ -25,7 +25,6 @@
#define IEEE80211_H
#include <linux/if_ether.h> /* ETH_ALEN */
#include <linux/kernel.h> /* ARRAY_SIZE */
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/jiffies.h>
#include <linux/timer.h>
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt.c
index ae50379..61fd4ce 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt.c
@@ -12,7 +12,6 @@
*/

//#include <linux/config.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_ccmp.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_ccmp.c
index 9b8533f..48267a0 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_ccmp.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_ccmp.c
@@ -10,7 +10,6 @@
*/

//#include <linux/config.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_tkip.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_tkip.c
index b32b7e6..ed623a9 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_tkip.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_tkip.c
@@ -10,7 +10,6 @@
*/

//#include <linux/config.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_wep.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_wep.c
index e626472..5504391 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_wep.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_crypt_wep.c
@@ -9,7 +9,6 @@
* more details.
*/

-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c
index 663b0b8..c1c294e 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c
@@ -45,7 +45,6 @@
#include <linux/slab.h>
#include <linux/tcp.h>
#include <linux/types.h>
-#include <linux/version.h>
#include <linux/wireless.h>
#include <linux/etherdevice.h>
#include <asm/uaccess.h>
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c
index ed5a380..022086d 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c
@@ -36,7 +36,6 @@
#include <linux/slab.h>
#include <linux/tcp.h>
#include <linux/types.h>
-#include <linux/version.h>
#include <linux/wireless.h>
#include <linux/etherdevice.h>
#include <asm/uaccess.h>
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
index 7d4cba3..45e3cc1 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c
@@ -19,7 +19,6 @@
#include <linux/random.h>
#include <linux/delay.h>
#include <linux/slab.h>
-#include <linux/version.h>
#include <asm/uaccess.h>
#ifdef ENABLE_DOT11D
#include "dot11d.h"
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_tx.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_tx.c
index 995346d..de2ed72 100644
--- a/drivers/staging/rtl8192e/ieee80211/ieee80211_tx.c
+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_tx.c
@@ -46,7 +46,6 @@
#include <linux/slab.h>
#include <linux/tcp.h>
#include <linux/types.h>
-#include <linux/version.h>
#include <linux/wireless.h>
#include <linux/etherdevice.h>
#include <asm/uaccess.h>
diff --git a/drivers/staging/rtl8192e/r8192E.h b/drivers/staging/rtl8192e/r8192E.h
index 0229031..0faa637 100644
--- a/drivers/staging/rtl8192e/r8192E.h
+++ b/drivers/staging/rtl8192e/r8192E.h
@@ -35,7 +35,6 @@
#include <linux/proc_fs.h> // Necessary because we use the proc fs
#include <linux/if_arp.h>
#include <linux/random.h>
-#include <linux/version.h>
#include <asm/io.h>
#include "ieee80211/rtl819x_HT.h"
#include "ieee80211/ieee80211.h"
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
index e716f7b..6f08e51 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
@@ -25,7 +25,6 @@
#define IEEE80211_H
#include <linux/if_ether.h> /* ETH_ALEN */
#include <linux/kernel.h> /* ARRAY_SIZE */
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/jiffies.h>
#include <linux/timer.h>
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c
index 8707eba..a464d11 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c
@@ -12,7 +12,6 @@
*/

//#include <linux/config.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c
index 4b078e5..fec0176 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c
@@ -10,7 +10,6 @@
*/

//#include <linux/config.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c
index a98584c..555eb80 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c
@@ -10,7 +10,6 @@
*/

//#include <linux/config.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c
index 96c2c9d..3801f12 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c
@@ -10,7 +10,6 @@
*/

//#include <linux/config.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
index fe978f3..50167b7 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
@@ -46,7 +46,6 @@
#include <linux/slab.h>
#include <linux/tcp.h>
#include <linux/types.h>
-#include <linux/version.h>
#include <linux/wireless.h>
#include <linux/etherdevice.h>
#include <asm/uaccess.h>
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
index a414303..c9bdc7f 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
@@ -37,7 +37,6 @@
#include <linux/slab.h>
#include <linux/tcp.h>
#include <linux/types.h>
-#include <linux/version.h>
#include <linux/wireless.h>
#include <linux/etherdevice.h>
#include <asm/uaccess.h>
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
index 4ec0a65..e9582bd 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c
@@ -19,7 +19,6 @@
#include <linux/random.h>
#include <linux/delay.h>
#include <linux/slab.h>
-#include <linux/version.h>
#include <asm/uaccess.h>
#include "dot11d.h"

diff --git a/drivers/staging/rtl8192u/r8192U.h b/drivers/staging/rtl8192u/r8192U.h
index 0205079..9b81f26 100644
--- a/drivers/staging/rtl8192u/r8192U.h
+++ b/drivers/staging/rtl8192u/r8192U.h
@@ -37,7 +37,6 @@
#include <linux/proc_fs.h> // Necessary because we use the proc fs
#include <linux/if_arp.h>
#include <linux/random.h>
-#include <linux/version.h>
#include <asm/io.h>
#include "ieee80211/ieee80211.h"

diff --git a/drivers/staging/rtl8712/osdep_service.h b/drivers/staging/rtl8712/osdep_service.h
index 3d3f73c..c2410bd 100644
--- a/drivers/staging/rtl8712/osdep_service.h
+++ b/drivers/staging/rtl8712/osdep_service.h
@@ -5,9 +5,7 @@
#define _FAIL 0

#include "basic_types.h"
-#include <linux/version.h>
#include <linux/spinlock.h>
-
#include <linux/semaphore.h>
#include <linux/sem.h>
#include <linux/netdevice.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:49:57

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 20/37] Remove unneeded version.h includes from drivers/staging/gma500/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/staging/gma500/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/gma500/psb_bl.c | 1 -
drivers/staging/gma500/psb_drv.h | 1 -
drivers/staging/gma500/psb_fb.h | 1 -
3 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/gma500/psb_bl.c b/drivers/staging/gma500/psb_bl.c
index 5dffc71..57423f5 100644
--- a/drivers/staging/gma500/psb_bl.c
+++ b/drivers/staging/gma500/psb_bl.c
@@ -21,7 +21,6 @@
*/

#include <linux/backlight.h>
-#include <linux/version.h>
#include "psb_drv.h"
#include "psb_intel_reg.h"
#include "psb_intel_drv.h"
diff --git a/drivers/staging/gma500/psb_drv.h b/drivers/staging/gma500/psb_drv.h
index e19a454..8e10c1c 100644
--- a/drivers/staging/gma500/psb_drv.h
+++ b/drivers/staging/gma500/psb_drv.h
@@ -20,7 +20,6 @@
#ifndef _PSB_DRV_H_
#define _PSB_DRV_H_

-#include <linux/version.h>
#include <linux/kref.h>

#include <drm/drmP.h>
diff --git a/drivers/staging/gma500/psb_fb.h b/drivers/staging/gma500/psb_fb.h
index c8ec0d6..9499d60 100644
--- a/drivers/staging/gma500/psb_fb.h
+++ b/drivers/staging/gma500/psb_fb.h
@@ -22,7 +22,6 @@
#ifndef _PSB_FB_H_
#define _PSB_FB_H_

-#include <linux/version.h>
#include <drm/drmP.h>
#include <drm/drm_fb_helper.h>

--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:51:07

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 21/37] Remove unneeded version.h includes from drivers/staging/ath6kl/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/staging/ath6kl/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
.../staging/ath6kl/os/linux/include/config_linux.h | 2 --
.../ath6kl/os/linux/include/ieee80211_ioctl.h | 2 --
.../staging/ath6kl/os/linux/include/osapi_linux.h | 1 -
3 files changed, 0 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/ath6kl/os/linux/include/config_linux.h b/drivers/staging/ath6kl/os/linux/include/config_linux.h
index d4030e2..dbbe1a0 100644
--- a/drivers/staging/ath6kl/os/linux/include/config_linux.h
+++ b/drivers/staging/ath6kl/os/linux/include/config_linux.h
@@ -28,8 +28,6 @@
extern "C" {
#endif

-#include <linux/version.h>
-
/*
* Host side Test Command support
*/
diff --git a/drivers/staging/ath6kl/os/linux/include/ieee80211_ioctl.h b/drivers/staging/ath6kl/os/linux/include/ieee80211_ioctl.h
index 769a480..e6e96de 100644
--- a/drivers/staging/ath6kl/os/linux/include/ieee80211_ioctl.h
+++ b/drivers/staging/ath6kl/os/linux/include/ieee80211_ioctl.h
@@ -24,8 +24,6 @@
#ifndef _IEEE80211_IOCTL_H_
#define _IEEE80211_IOCTL_H_

-#include <linux/version.h>
-
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/drivers/staging/ath6kl/os/linux/include/osapi_linux.h b/drivers/staging/ath6kl/os/linux/include/osapi_linux.h
index 07078b4..41f4373 100644
--- a/drivers/staging/ath6kl/os/linux/include/osapi_linux.h
+++ b/drivers/staging/ath6kl/os/linux/include/osapi_linux.h
@@ -29,7 +29,6 @@

#ifdef __KERNEL__

-#include <linux/version.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/string.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:52:07

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 22/37] Remove unneeded version.h include from drivers/staging/bcm/headers.h

It was pointed out by 'make versioncheck' that a include of
linux/version.h is not needed in drivers/staging/bcm/headers.h .
This patch removes it.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/bcm/headers.h | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/bcm/headers.h b/drivers/staging/bcm/headers.h
index 1148e5e..ab0a1db 100644
--- a/drivers/staging/bcm/headers.h
+++ b/drivers/staging/bcm/headers.h
@@ -25,7 +25,6 @@
#include <linux/proc_fs.h>
#include <linux/interrupt.h>

-#include <linux/version.h>
#include <linux/stddef.h>
#include <linux/kernel.h>
#include <linux/stat.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:53:05

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 23/37] Remove unneeded version.h include from drivers/staging/cxd2099/cxd2099.c

It was pointed out by 'make versioncheck' that include of
linux/version.h is not needed in drivers/staging/cxd2099/cxd2099.c .
This patch removes it.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/cxd2099/cxd2099.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/cxd2099/cxd2099.c b/drivers/staging/cxd2099/cxd2099.c
index b49186c..55b1c4a 100644
--- a/drivers/staging/cxd2099/cxd2099.c
+++ b/drivers/staging/cxd2099/cxd2099.c
@@ -22,7 +22,6 @@
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
*/

-#include <linux/version.h>
#include <linux/slab.h>
#include <linux/kernel.h>
#include <linux/module.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:56:39

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 24/37] Remove unneeded version.h include from drivers/staging/cxt1e1/sbecom_inline_linux.h

It was pointed out by 'make versioncheck' that include of
linux/version.h is not needed in
drivers/staging/cxt1e1/sbecom_inline_linux.h
This patch removes it.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/cxt1e1/sbecom_inline_linux.h | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/cxt1e1/sbecom_inline_linux.h b/drivers/staging/cxt1e1/sbecom_inline_linux.h
index 501a331..c0563e6 100644
--- a/drivers/staging/cxt1e1/sbecom_inline_linux.h
+++ b/drivers/staging/cxt1e1/sbecom_inline_linux.h
@@ -47,7 +47,6 @@
#include <sys/types.h>
#else
#include <linux/types.h>
-#include <linux/version.h>
#if defined(CONFIG_SMP) && ! defined(__SMP__)
#define __SMP__
#endif
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 22:50:56

by Mike Frysinger

[permalink] [raw]
Subject: Re: [PATCH 09/37] Remove unneeded version.h includes from drivers/input/

On Thu, Jun 23, 2011 at 18:10, Jesper Juhl wrote:
>  drivers/input/keyboard/adp5588-keys.c |    1 -
>  drivers/input/keyboard/adp5589-keys.c |    1 -
>  drivers/input/misc/bfin_rotary.c      |    1 -

Acked-by: Mike Frysinger <[email protected]>
-mike

2011-06-23 22:51:26

by Mike Frysinger

[permalink] [raw]
Subject: Re: [PATCH 18/37] Remove unneeded version.h includes from drivers/video/

On Thu, Jun 23, 2011 at 18:35, Jesper Juhl wrote:
>  drivers/video/backlight/adp8860_bl.c |    1 -
>  drivers/video/backlight/adp8870_bl.c |    1 -

Acked-by: Mike Frysinger <[email protected]>
-mike

2011-06-23 23:00:09

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 25/37] Remove unneeded version.h includes (and add where needed) for drivers/staging/easycap/

It was pointed out by 'make versioncheck' that linux/version.h was not
always being included where needed and sometimes included needlessly
in drivers/staging/easycap/.
This patch fixes up the includes.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/easycap/easycap.h | 1 -
drivers/staging/easycap/easycap_ioctl.c | 1 +
2 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/easycap/easycap.h b/drivers/staging/easycap/easycap.h
index 1f94e23..efbd61b 100644
--- a/drivers/staging/easycap/easycap.h
+++ b/drivers/staging/easycap/easycap.h
@@ -62,7 +62,6 @@
#include <linux/uaccess.h>

#include <linux/i2c.h>
-#include <linux/version.h>
#include <linux/workqueue.h>
#include <linux/poll.h>
#include <linux/mm.h>
diff --git a/drivers/staging/easycap/easycap_ioctl.c b/drivers/staging/easycap/easycap_ioctl.c
index b3bd11d..f767f2e 100644
--- a/drivers/staging/easycap/easycap_ioctl.c
+++ b/drivers/staging/easycap/easycap_ioctl.c
@@ -25,6 +25,7 @@
*/
/*****************************************************************************/

+#include <linux/version.h>
#include "easycap.h"

/*--------------------------------------------------------------------------*/
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:01:12

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 26/37] Remove unneeded version.h include from drivers/staging/hv/hv_timesource.c

It was pointed out by 'make versioncheck' that include of
linux/version.h is not needed in drivers/staging/hv/hv_timesource.c .
This patch removes it.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/hv/hv_timesource.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/hv/hv_timesource.c b/drivers/staging/hv/hv_timesource.c
index 0efb049..2b0f9aa 100644
--- a/drivers/staging/hv/hv_timesource.c
+++ b/drivers/staging/hv/hv_timesource.c
@@ -22,7 +22,6 @@
*/
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt

-#include <linux/version.h>
#include <linux/clocksource.h>
#include <linux/init.h>
#include <linux/module.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:02:25

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 27/37] Remove unneeded version.h includes from drivers/staging/lirc/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/staging/lirc/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/lirc/lirc_ttusbir.c | 1 -
drivers/staging/lirc/lirc_zilog.c | 2 --
2 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/lirc/lirc_ttusbir.c b/drivers/staging/lirc/lirc_ttusbir.c
index e345ab9..e4b329b 100644
--- a/drivers/staging/lirc/lirc_ttusbir.c
+++ b/drivers/staging/lirc/lirc_ttusbir.c
@@ -30,7 +30,6 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/

-#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
diff --git a/drivers/staging/lirc/lirc_zilog.c b/drivers/staging/lirc/lirc_zilog.c
index dd6a57c..a8efe41 100644
--- a/drivers/staging/lirc/lirc_zilog.c
+++ b/drivers/staging/lirc/lirc_zilog.c
@@ -39,8 +39,6 @@
*
*/

-
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/kmod.h>
#include <linux/kernel.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:03:49

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 28/37] Remove unneeded version.h include from drivers/staging/mei/main.c

It was pointed out by 'make versioncheck' that include of
linux/version.h is not needed in drivers/staging/mei/main.c .
This patch removes it.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/mei/main.c | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/mei/main.c b/drivers/staging/mei/main.c
index bfd1b46..fb918ae 100644
--- a/drivers/staging/mei/main.c
+++ b/drivers/staging/mei/main.c
@@ -14,8 +14,6 @@
*
*/

-
-
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/kernel.h>
@@ -30,7 +28,6 @@
#include <linux/init.h>
#include <linux/ioctl.h>
#include <linux/cdev.h>
-#include <linux/version.h>
#include <linux/sched.h>
#include <linux/uuid.h>
#include <linux/compat.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:05:22

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 29/37] Remove unneeded version.h includes from drivers/staging/msm/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/staging/msm/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/msm/ebi2_lcd.c | 3 +--
drivers/staging/msm/msm_fb.c | 1 -
drivers/staging/msm/msm_fb_bl.c | 1 -
drivers/staging/msm/msm_fb_def.h | 1 -
drivers/staging/msm/msm_fb_panel.c | 1 -
5 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/msm/ebi2_lcd.c b/drivers/staging/msm/ebi2_lcd.c
index b41e123..4834b7b 100644
--- a/drivers/staging/msm/ebi2_lcd.c
+++ b/drivers/staging/msm/ebi2_lcd.c
@@ -29,7 +29,6 @@
#include <linux/uaccess.h>
#include <linux/workqueue.h>
#include <linux/string.h>
-#include <linux/version.h>
#include <linux/proc_fs.h>
#include <linux/vmalloc.h>
#include <linux/debugfs.h>
@@ -247,4 +246,4 @@ static int __init ebi2_lcd_driver_init(void)
return ebi2_lcd_register_driver();
}

-module_init(ebi2_lcd_driver_init);
\ No newline at end of file
+module_init(ebi2_lcd_driver_init);
diff --git a/drivers/staging/msm/msm_fb.c b/drivers/staging/msm/msm_fb.c
index e7ef836..e60f8f9 100644
--- a/drivers/staging/msm/msm_fb.c
+++ b/drivers/staging/msm/msm_fb.c
@@ -32,7 +32,6 @@

#include <linux/workqueue.h>
#include <linux/string.h>
-#include <linux/version.h>
#include <linux/proc_fs.h>
#include <linux/vmalloc.h>
#include <linux/debugfs.h>
diff --git a/drivers/staging/msm/msm_fb_bl.c b/drivers/staging/msm/msm_fb_bl.c
index 2a80775..9c8cb88 100644
--- a/drivers/staging/msm/msm_fb_bl.c
+++ b/drivers/staging/msm/msm_fb_bl.c
@@ -21,7 +21,6 @@
#include <linux/slab.h>
#include <linux/fb.h>
#include <linux/string.h>
-#include <linux/version.h>
#include <linux/backlight.h>

#include "msm_fb.h"
diff --git a/drivers/staging/msm/msm_fb_def.h b/drivers/staging/msm/msm_fb_def.h
index bc7f256..8b4626f 100644
--- a/drivers/staging/msm/msm_fb_def.h
+++ b/drivers/staging/msm/msm_fb_def.h
@@ -28,7 +28,6 @@
#include <linux/uaccess.h>
#include <linux/workqueue.h>
#include <linux/string.h>
-#include <linux/version.h>
#include <linux/proc_fs.h>
#include <linux/vmalloc.h>
#include <linux/debugfs.h>
diff --git a/drivers/staging/msm/msm_fb_panel.c b/drivers/staging/msm/msm_fb_panel.c
index b17a239..651de16 100644
--- a/drivers/staging/msm/msm_fb_panel.c
+++ b/drivers/staging/msm/msm_fb_panel.c
@@ -29,7 +29,6 @@
#include <linux/uaccess.h>
#include <linux/workqueue.h>
#include <linux/string.h>
-#include <linux/version.h>
#include <linux/proc_fs.h>
#include <linux/vmalloc.h>
#include <linux/debugfs.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:07:40

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 30/37] Remove unneeded version.h include from drivers/staging/panel/panel.c

It was pointed out by 'make versioncheck' that include of
linux/version.h is not needed in drivers/staging/panel/panel.c
This patch removes it.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/panel/panel.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/panel/panel.c b/drivers/staging/panel/panel.c
index 6885f9a..b303b7e 100644
--- a/drivers/staging/panel/panel.c
+++ b/drivers/staging/panel/panel.c
@@ -51,7 +51,6 @@
#include <linux/kernel.h>
#include <linux/ctype.h>
#include <linux/parport.h>
-#include <linux/version.h>
#include <linux/list.h>
#include <linux/notifier.h>
#include <linux/reboot.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:09:19

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 31/37] Remove unneeded version.h include from drivers/staging/rts_pstor/rtsx.h

It was pointed out by 'make versioncheck' that include of
linux/version.h is not needed in drivers/staging/rts_pstor/rtsx.h
This patch removes it.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/rts_pstor/rtsx.h | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/rts_pstor/rtsx.h b/drivers/staging/rts_pstor/rtsx.h
index 6afb635..247615b 100644
--- a/drivers/staging/rts_pstor/rtsx.h
+++ b/drivers/staging/rts_pstor/rtsx.h
@@ -29,7 +29,6 @@
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/init.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:10:46

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 32/37] Remove unneeded version.h includes from drivers/staging/speakup/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/staging/speakup/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/speakup/main.c | 1 -
drivers/staging/speakup/speakup.h | 1 -
2 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/speakup/main.c b/drivers/staging/speakup/main.c
index 42fcf7e..8be5604 100644
--- a/drivers/staging/speakup/main.c
+++ b/drivers/staging/speakup/main.c
@@ -23,7 +23,6 @@
*/

#include <linux/kernel.h>
-#include <linux/version.h>
#include <linux/vt.h>
#include <linux/tty.h>
#include <linux/mm.h> /* __get_free_page() and friends */
diff --git a/drivers/staging/speakup/speakup.h b/drivers/staging/speakup/speakup.h
index 46edabe..412b879 100644
--- a/drivers/staging/speakup/speakup.h
+++ b/drivers/staging/speakup/speakup.h
@@ -1,6 +1,5 @@
#ifndef _SPEAKUP_H
#define _SPEAKUP_H
-#include <linux/version.h>

#include "spk_types.h"
#include "i18n.h"
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:02:07

by JD (Jiandong) Zheng

[permalink] [raw]
Subject: Re: [PATCH 07/37] Remove unneeded version.h includes from arch/arm/

On 6/23/2011 3:08 PM, Jesper Juhl wrote:
> It was pointed out by 'make versioncheck' that some includes of
> linux/version.h are not needed in arch/arm/.
> This patch removes them.
>
> Signed-off-by: Jesper Juhl<[email protected]>
> ---
> arch/arm/mach-bcmring/irq.c | 1 -
> arch/arm/mach-bcmring/timer.c | 1 -
> 2 files changed, 0 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-bcmring/irq.c b/arch/arm/mach-bcmring/irq.c
> index c48feaf..437fa68 100644
> --- a/arch/arm/mach-bcmring/irq.c
> +++ b/arch/arm/mach-bcmring/irq.c
> @@ -20,7 +20,6 @@
> #include<linux/stddef.h>
> #include<linux/list.h>
> #include<linux/timer.h>
> -#include<linux/version.h>
> #include<linux/io.h>
>
> #include<mach/hardware.h>
> diff --git a/arch/arm/mach-bcmring/timer.c b/arch/arm/mach-bcmring/timer.c
> index 2d415d2..af9c3d7 100644
> --- a/arch/arm/mach-bcmring/timer.c
> +++ b/arch/arm/mach-bcmring/timer.c
> @@ -12,7 +12,6 @@
> * consent.
> *****************************************************************************/
>
> -#include<linux/version.h>
> #include<linux/types.h>
> #include<linux/module.h>
> #include<csp/tmrHw.h>

Acked-by: Jiandong Zheng <[email protected]>

2011-06-23 23:02:57

by JD (Jiandong) Zheng

[permalink] [raw]
Subject: RE: [PATCH 07/37] Remove unneeded version.h includes from arch/arm/

On 6/23/2011 3:08 PM, Jesper Juhl wrote:
> It was pointed out by 'make versioncheck' that some includes of
> linux/version.h are not needed in arch/arm/.
> This patch removes them.
>
> Signed-off-by: Jesper Juhl<[email protected]>
> ---
> arch/arm/mach-bcmring/irq.c | 1 -
> arch/arm/mach-bcmring/timer.c | 1 -
> 2 files changed, 0 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-bcmring/irq.c b/arch/arm/mach-bcmring/irq.c
> index c48feaf..437fa68 100644
> --- a/arch/arm/mach-bcmring/irq.c
> +++ b/arch/arm/mach-bcmring/irq.c
> @@ -20,7 +20,6 @@
> #include<linux/stddef.h>
> #include<linux/list.h>
> #include<linux/timer.h>
> -#include<linux/version.h>
> #include<linux/io.h>
>
> #include<mach/hardware.h>
> diff --git a/arch/arm/mach-bcmring/timer.c b/arch/arm/mach-bcmring/timer.c
> index 2d415d2..af9c3d7 100644
> --- a/arch/arm/mach-bcmring/timer.c
> +++ b/arch/arm/mach-bcmring/timer.c
> @@ -12,7 +12,6 @@
> * consent.
> *****************************************************************************/
>
> -#include<linux/version.h>
> #include<linux/types.h>
> #include<linux/module.h>
> #include<csp/tmrHw.h>

Acked-by: Jiandong Zheng <[email protected]>

2011-06-23 23:11:51

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 33/37] Remove unneeded version.h include from drivers/staging/tidspbridge/include/dspbridge/host_os.h

It was pointed out by 'make versioncheck' that include of
linux/version.h is not needed in
drivers/staging/tidspbridge/include/dspbridge/host_os.h
This patch removes it.

Signed-off-by: Jesper Juhl <[email protected]>
---
.../tidspbridge/include/dspbridge/host_os.h | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/tidspbridge/include/dspbridge/host_os.h b/drivers/staging/tidspbridge/include/dspbridge/host_os.h
index b1b8acb..1a38896 100644
--- a/drivers/staging/tidspbridge/include/dspbridge/host_os.h
+++ b/drivers/staging/tidspbridge/include/dspbridge/host_os.h
@@ -24,7 +24,6 @@
#include <linux/irq.h>
#include <linux/io.h>
#include <linux/syscalls.h>
-#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/stddef.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:13:28

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 34/37] Remove unneeded version.h includes (and add where needed) for drivers/tm6000/

It was pointed out by 'make versioncheck' that linux/version.h was not
always being included where needed and sometimes included needlessly
in drivers/staging/tm6000/.
This patch fixes up the includes.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/tm6000/tm6000-cards.c | 1 -
drivers/staging/tm6000/tm6000-video.c | 1 -
drivers/staging/tm6000/tm6000.h | 3 +--
3 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/tm6000/tm6000-cards.c b/drivers/staging/tm6000/tm6000-cards.c
index a69c82e..be4b0e3 100644
--- a/drivers/staging/tm6000/tm6000-cards.c
+++ b/drivers/staging/tm6000/tm6000-cards.c
@@ -23,7 +23,6 @@
#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/usb.h>
-#include <linux/version.h>
#include <linux/slab.h>
#include <media/v4l2-common.h>
#include <media/tuner.h>
diff --git a/drivers/staging/tm6000/tm6000-video.c b/drivers/staging/tm6000/tm6000-video.c
index 4264064..576f136 100644
--- a/drivers/staging/tm6000/tm6000-video.c
+++ b/drivers/staging/tm6000/tm6000-video.c
@@ -30,7 +30,6 @@
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/random.h>
-#include <linux/version.h>
#include <linux/usb.h>
#include <linux/videodev2.h>
#include <media/v4l2-ioctl.h>
diff --git a/drivers/staging/tm6000/tm6000.h b/drivers/staging/tm6000/tm6000.h
index ae6369b..c56da62 100644
--- a/drivers/staging/tm6000/tm6000.h
+++ b/drivers/staging/tm6000/tm6000.h
@@ -30,8 +30,7 @@
#include <linux/i2c.h>
#include <linux/mutex.h>
#include <media/v4l2-device.h>
-
-
+#include <linux/version.h>
#include <linux/dvb/frontend.h>
#include "dvb_demux.h"
#include "dvb_frontend.h"
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:14:40

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 35/37] Remove unneeded version.h includes from drivers/staging/wlags49_h2/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/staging/wlags49_h2/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/wlags49_h2/wl_internal.h | 1 -
drivers/staging/wlags49_h2/wl_version.h | 1 -
2 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wlags49_h2/wl_internal.h b/drivers/staging/wlags49_h2/wl_internal.h
index cd129b3..a90c728 100644
--- a/drivers/staging/wlags49_h2/wl_internal.h
+++ b/drivers/staging/wlags49_h2/wl_internal.h
@@ -67,7 +67,6 @@
/*******************************************************************************
* include files
******************************************************************************/
-#include <linux/version.h>
#ifdef BUS_PCMCIA
#include <pcmcia/cistpl.h>
#include <pcmcia/cisreg.h>
diff --git a/drivers/staging/wlags49_h2/wl_version.h b/drivers/staging/wlags49_h2/wl_version.h
index a5e604c..a5faada 100644
--- a/drivers/staging/wlags49_h2/wl_version.h
+++ b/drivers/staging/wlags49_h2/wl_version.h
@@ -66,7 +66,6 @@
* include files
******************************************************************************/
//#include <linux/config.h>
-#include <linux/version.h>

#ifndef CONFIG_MODVERSIONS
#define __NO_VERSION__
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:15:44

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 36/37] Remove unneeded version.h include from drivers/staging/wlan-ng/prism2sta.c

It was pointed out by 'make versioncheck' that include of
linux/version.h is not needed in drivers/staging/wlan-ng/prism2sta.c .
This patch removes it.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/wlan-ng/prism2sta.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/wlan-ng/prism2sta.c b/drivers/staging/wlan-ng/prism2sta.c
index 21f25a2..417aea5 100644
--- a/drivers/staging/wlan-ng/prism2sta.c
+++ b/drivers/staging/wlan-ng/prism2sta.c
@@ -50,7 +50,6 @@
* --------------------------------------------------------------------
*/

-#include <linux/version.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/kernel.h>
--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:17:01

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH 37/37] Remove unneeded version.h includes from drivers/staging/xgifb/

It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/staging/xgifb/.
This patch removes them.

Signed-off-by: Jesper Juhl <[email protected]>
---
drivers/staging/xgifb/XGI_main_26.c | 1 -
drivers/staging/xgifb/vb_ext.c | 1 -
drivers/staging/xgifb/vb_init.c | 1 -
drivers/staging/xgifb/vb_setmode.c | 1 -
4 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/xgifb/XGI_main_26.c b/drivers/staging/xgifb/XGI_main_26.c
index cadec2a..4403e5f 100644
--- a/drivers/staging/xgifb/XGI_main_26.c
+++ b/drivers/staging/xgifb/XGI_main_26.c
@@ -5,7 +5,6 @@
*/

/* #include <linux/config.h> */
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/kernel.h>
diff --git a/drivers/staging/xgifb/vb_ext.c b/drivers/staging/xgifb/vb_ext.c
index 7e1f76a..b1a2573 100644
--- a/drivers/staging/xgifb/vb_ext.c
+++ b/drivers/staging/xgifb/vb_ext.c
@@ -1,4 +1,3 @@
-#include <linux/version.h>
#include <linux/io.h>
#include <linux/types.h>
#include "XGIfb.h"
diff --git a/drivers/staging/xgifb/vb_init.c b/drivers/staging/xgifb/vb_init.c
index 33c6876..493b532 100644
--- a/drivers/staging/xgifb/vb_init.c
+++ b/drivers/staging/xgifb/vb_init.c
@@ -1,6 +1,5 @@
#include "vgatypes.h"

-#include <linux/version.h>
#include <linux/types.h>
#include <linux/delay.h> /* udelay */
#include "XGIfb.h"
diff --git a/drivers/staging/xgifb/vb_setmode.c b/drivers/staging/xgifb/vb_setmode.c
index 2669b1b..dc4d6e6 100644
--- a/drivers/staging/xgifb/vb_setmode.c
+++ b/drivers/staging/xgifb/vb_setmode.c
@@ -2,7 +2,6 @@
#include <linux/io.h>
#include <linux/delay.h>
#include <linux/types.h>
-#include <linux/version.h>
#include "XGIfb.h"


--
1.7.5.2


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-23 23:17:55

by Alan

[permalink] [raw]
Subject: Re: [PATCH 20/37] Remove unneeded version.h includes from drivers/staging/gma500/

On Fri, 24 Jun 2011 00:41:01 +0200 (CEST)
Jesper Juhl <[email protected]> wrote:

> It was pointed out by 'make versioncheck' that some includes of
> linux/version.h are not needed in drivers/staging/gma500/.
> This patch removes them.

Thanks will rebase onto the end of the current patch set and tweak it
to apply.

2011-06-23 23:57:11

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH 19/37] Remove unneeded version.h includes from drivers/staging/rtl*/

On 06/23/2011 05:40 PM, Jesper Juhl wrote:
> It was pointed out by 'make versioncheck' that some includes of
> linux/version.h are not needed in drivers/staging/rtl8187se/,
> drivers/staging/rtl8192e/, drivers/staging/rtl8192u/&
> drivers/staging/rtl8712/.
> This patch removes them.
>
> Signed-off-by: Jesper Juhl<[email protected]>
> ---
> drivers/staging/rtl8187se/ieee80211/ieee80211.h | 1 -
> .../staging/rtl8187se/ieee80211/ieee80211_crypt.c | 1 -
> .../rtl8187se/ieee80211/ieee80211_crypt_ccmp.c | 1 -
> .../rtl8187se/ieee80211/ieee80211_crypt_tkip.c | 1 -
> .../rtl8187se/ieee80211/ieee80211_crypt_wep.c | 1 -
> .../staging/rtl8187se/ieee80211/ieee80211_module.c | 1 -
> .../rtl8187se/ieee80211/ieee80211_softmac.c | 1 -
> drivers/staging/rtl8192e/ieee80211/ieee80211.h | 1 -
> .../staging/rtl8192e/ieee80211/ieee80211_crypt.c | 1 -
> .../rtl8192e/ieee80211/ieee80211_crypt_ccmp.c | 1 -
> .../rtl8192e/ieee80211/ieee80211_crypt_tkip.c | 1 -
> .../rtl8192e/ieee80211/ieee80211_crypt_wep.c | 1 -
> .../staging/rtl8192e/ieee80211/ieee80211_module.c | 1 -
> drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c | 1 -
> .../staging/rtl8192e/ieee80211/ieee80211_softmac.c | 1 -
> drivers/staging/rtl8192e/ieee80211/ieee80211_tx.c | 1 -
> drivers/staging/rtl8192e/r8192E.h | 1 -
> drivers/staging/rtl8192u/ieee80211/ieee80211.h | 1 -
> .../staging/rtl8192u/ieee80211/ieee80211_crypt.c | 1 -
> .../rtl8192u/ieee80211/ieee80211_crypt_ccmp.c | 1 -
> .../rtl8192u/ieee80211/ieee80211_crypt_tkip.c | 1 -
> .../rtl8192u/ieee80211/ieee80211_crypt_wep.c | 1 -
> .../staging/rtl8192u/ieee80211/ieee80211_module.c | 1 -
> drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c | 1 -
> .../staging/rtl8192u/ieee80211/ieee80211_softmac.c | 1 -
> drivers/staging/rtl8192u/r8192U.h | 1 -
> drivers/staging/rtl8712/osdep_service.h | 2 --
> 27 files changed, 0 insertions(+), 28 deletions(-)

ACK for rtl8187se and rtl8712 (r8712u).

Larry Finger

2011-06-24 01:47:04

by David Brown

[permalink] [raw]
Subject: Re: [PATCH 29/37] Remove unneeded version.h includes from drivers/staging/msm/

On Thu, Jun 23 2011, Jesper Juhl wrote:

> It was pointed out by 'make versioncheck' that some includes of
> linux/version.h are not needed in drivers/staging/msm/.
> This patch removes them.
>
> Signed-off-by: Jesper Juhl <[email protected]>
> diff --git a/drivers/staging/msm/msm_fb.c b/drivers/staging/msm/msm_fb.c
> index e7ef836..e60f8f9 100644
> --- a/drivers/staging/msm/msm_fb.c
> +++ b/drivers/staging/msm/msm_fb.c
> @@ -32,7 +32,6 @@
>
> #include <linux/workqueue.h>
> #include <linux/string.h>
> -#include <linux/version.h>
> #include <linux/proc_fs.h>
> #include <linux/vmalloc.h>
> #include <linux/debugfs.h>

Acked-by: David Brown <[email protected]>

--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

2011-06-24 08:18:21

by Paul Mundt

[permalink] [raw]
Subject: Re: [PATCH 18/37] Remove unneeded version.h includes from drivers/video/

On Fri, Jun 24, 2011 at 12:35:17AM +0200, Jesper Juhl wrote:
> It was pointed out by 'make versioncheck' that some includes of
> linux/version.h are not needed in drivers/video/.
> This patch removes them.
>
> Signed-off-by: Jesper Juhl <[email protected]>
> ---
> drivers/video/backlight/adp8860_bl.c | 1 -
> drivers/video/backlight/adp8870_bl.c | 1 -
> drivers/video/pxa3xx-gcu.c | 2 --
> drivers/video/xilinxfb.c | 1 -
> 4 files changed, 0 insertions(+), 5 deletions(-)
>
Applied, thanks.

2011-06-24 08:52:07

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 12/37] Remove unneeded version.h includes (and add where needed) for drivers/media/video/

Hi Jesper,

On Friday 24 June 2011 00:17:01 Jesper Juhl wrote:
> It was pointed out by 'make versioncheck' that linux/version.h was not
> always being included where needed and sometimes included needlessly
> in drivers/media/video/.
> This patch fixes up the includes.
>
> Signed-off-by: Jesper Juhl <[email protected]>

[snip]

> diff --git a/drivers/media/video/uvc/uvc_v4l2.c
> b/drivers/media/video/uvc/uvc_v4l2.c index 543a803..7fbd389 100644
> --- a/drivers/media/video/uvc/uvc_v4l2.c
> +++ b/drivers/media/video/uvc/uvc_v4l2.c
> @@ -12,7 +12,6 @@
> */
>
> #include <linux/kernel.h>
> -#include <linux/version.h>
> #include <linux/list.h>
> #include <linux/module.h>
> #include <linux/slab.h>

uvc_v4l2.c uses KERNEL_VERSION explicitly. It includes linux/version.h through
linux/media.h, but I'd rather keep the explicit include.

> diff --git a/drivers/media/video/uvc/uvcvideo.h
> b/drivers/media/video/uvc/uvcvideo.h index 20107fd..1c0fe5e 100644
> --- a/drivers/media/video/uvc/uvcvideo.h
> +++ b/drivers/media/video/uvc/uvcvideo.h
> @@ -101,6 +101,7 @@ struct uvc_xu_control {
> #include <linux/usb.h>
> #include <linux/usb/video.h>
> #include <linux/uvcvideo.h>
> +#include <linux/version.h>
> #include <media/media-device.h>
> #include <media/v4l2-device.h>

This file doesn't include linux/version.h anymore in 3.0-rc4.

--
Regards,

Laurent Pinchart

2011-06-24 09:13:13

by Jiri Kosina

[permalink] [raw]
Subject: Re: [PATCH 00/37] Remove unneeded version.h includes (and add where needed).

On Thu, 23 Jun 2011, Jesper Juhl wrote:

> This patch series fixes up all reports of unneeded or missing
> linux/version.h includes reported by 'make versioncheck'.
>
> I've manually inspected each file changed and also done build tests of
> 'allnoconfig', 'allmodconfig' and 'allyesconfig' on x86-64 with these
> patches and have encountered no problems.
>
> All patches are against Linus' tree as of a few hours ago and I've tried
> to split the series sensibly by subdirectory and/or maintainer.
>
> Please consider applying them and let me know if there are any issues that
> need to be worked out.
> All patches will be submitted as replies to this mail with additional
> relevant people Cc'ed on each specific patch.

Hi Jesper,

I see that individual maintainers have started picking up the bits for
their subsystems.

Could you please give it a week or two and then check which ones are
missing in linux-next, and resend those to me?

Thanks,

--
Jiri Kosina
SUSE Labs

2011-06-24 09:29:52

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH 01/37] Remove unneeded version.h includes from sound/

At Thu, 23 Jun 2011 23:54:40 +0200 (CEST),
Jesper Juhl wrote:
>
> In the sound/ directory there are two files (flagged by 'make
> versioncheck'); sound/pci/asihpi/asihpi.c and
> sound/soc/codecs/wm8991.c that include linux/version.h although they
> don't need it. This patch removes the unneeded includes.
>
> Signed-off-by: Jesper Juhl <[email protected]>

Thanks, applied to sound git tree now.


Takashi

> ---
> sound/pci/asihpi/asihpi.c | 1 -
> sound/soc/codecs/wm8991.c | 1 -
> 2 files changed, 0 insertions(+), 2 deletions(-)
>
> diff --git a/sound/pci/asihpi/asihpi.c b/sound/pci/asihpi/asihpi.c
> index 2ca6f4f..e3569bd 100644
> --- a/sound/pci/asihpi/asihpi.c
> +++ b/sound/pci/asihpi/asihpi.c
> @@ -27,7 +27,6 @@
> #include "hpioctl.h"
>
> #include <linux/pci.h>
> -#include <linux/version.h>
> #include <linux/init.h>
> #include <linux/jiffies.h>
> #include <linux/slab.h>
> diff --git a/sound/soc/codecs/wm8991.c b/sound/soc/codecs/wm8991.c
> index 3c2ee1b..6af23d0 100644
> --- a/sound/soc/codecs/wm8991.c
> +++ b/sound/soc/codecs/wm8991.c
> @@ -13,7 +13,6 @@
>
> #include <linux/module.h>
> #include <linux/moduleparam.h>
> -#include <linux/version.h>
> #include <linux/kernel.h>
> #include <linux/init.h>
> #include <linux/delay.h>
> --
> 1.7.5.2
>
>
> --
> Jesper Juhl <[email protected]> http://www.chaosbits.net/
> Don't top-post http://www.catb.org/jargon/html/T/top-post.html
> Plain text mails only, please.
>

2011-06-24 09:42:36

by David Miller

[permalink] [raw]
Subject: Re: [PATCH 13/37] Remove unneeded version.h includes from drivers/net/

From: Jesper Juhl <[email protected]>
Date: Fri, 24 Jun 2011 00:21:10 +0200 (CEST)

> It was pointed out by 'make versioncheck' that some includes of
> linux/version.h are not needed in drivers/net/.
> This patch removes them.
>
> Signed-off-by: Jesper Juhl <[email protected]>

Applied, thanks.

2011-06-24 10:57:06

by Jesper Juhl

[permalink] [raw]
Subject: Re: [PATCH 00/37] Remove unneeded version.h includes (and add where needed).

On Fri, 24 Jun 2011, Jiri Kosina wrote:

> On Thu, 23 Jun 2011, Jesper Juhl wrote:
>
> > This patch series fixes up all reports of unneeded or missing
> > linux/version.h includes reported by 'make versioncheck'.
> >
> > I've manually inspected each file changed and also done build tests of
> > 'allnoconfig', 'allmodconfig' and 'allyesconfig' on x86-64 with these
> > patches and have encountered no problems.
> >
> > All patches are against Linus' tree as of a few hours ago and I've tried
> > to split the series sensibly by subdirectory and/or maintainer.
> >
> > Please consider applying them and let me know if there are any issues that
> > need to be worked out.
> > All patches will be submitted as replies to this mail with additional
> > relevant people Cc'ed on each specific patch.
>
> Hi Jesper,
>
> I see that individual maintainers have started picking up the bits for
> their subsystems.
>
> Could you please give it a week or two and then check which ones are
> missing in linux-next, and resend those to me?
>
Sure thing.

--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

2011-06-24 11:21:24

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

Em 23-06-2011 18:58, Jesper Juhl escreveu:
> It was pointed out by 'make versioncheck' that some includes of
> linux/version.h were not needed in include/.
> This patch removes them.
>
> Signed-off-by: Jesper Juhl <[email protected]>
> ---
> include/linux/ceph/messenger.h | 1 -
> include/media/pwc-ioctl.h | 1 -
> 2 files changed, 0 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h
> index 31d91a6..291aa6e 100644
> --- a/include/linux/ceph/messenger.h
> +++ b/include/linux/ceph/messenger.h
> @@ -6,7 +6,6 @@
> #include <linux/net.h>
> #include <linux/radix-tree.h>
> #include <linux/uio.h>
> -#include <linux/version.h>
> #include <linux/workqueue.h>
>
> #include "types.h"
> diff --git a/include/media/pwc-ioctl.h b/include/media/pwc-ioctl.h
> index 0f19779..1ed1e61 100644
> --- a/include/media/pwc-ioctl.h
> +++ b/include/media/pwc-ioctl.h
> @@ -53,7 +53,6 @@
> */
>
> #include <linux/types.h>
> -#include <linux/version.h>
>
> /* Enumeration of image sizes */
> #define PSZ_SQCIF 0x00


The usage of version.h at the Linux media kernel is due to a V4L2 API requirement[1],
where an ioctl query of VIDIOC_QUERYCAP type would return the driver version formatted
with KERNEL_VERSION() macro.

[1] http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-querycap.html

While a few driver maintainers are careful enough to increment it on every new
kernel version where the driver was touched, others simply keep it outdated.

IMHO, it doesn't make much sense on having a per-driver version field: the V4L2 layer
should be enough to abstract hardware differences, and to avoid userspace to have a per
driver list of hacks. I don't think that the userspace applications are really using it.
Module versions should just use the MODULE_VERSION() macro.

So, IMO, the better would be to convert this field into a V4L2 API version field
instead like the enclosed patch. Of course, this also means to change the V4L2 API
Docbook. After that, we can cleanup all those linux/version.h code on all V4L drivers.

The idea is that, every time we add something new at the V4L2 API, we'll increment it
to match the current kernel version.

On a quick look, all drivers, except by one uses versions <= KERNEL_VERSION(3, 0, 0).
The only exception is the pwc driver, with version is KERNEL_VERSION(10, 0, 12). Due to
a bug on it, it also reports its version as: "10.0.14" at module version. The version
10.0.12 is reported there since 2006, even having suffered a major change, due to the
removal of the V4L1 API, on changeset 479567ce3af7b99d645a3c53b8ca2fc65e46efdc.
So, I think it would be safe to change it to 3.0.0, as using the version here, in the favor
of a greater good. We can keep the driver-specific version only at

Comments?

If others are ok with that, I'll prepare the changesets.

Cheers,
Mauro


-

[media] v4l2 core: Use a per-API version instead of a per driver version

Signed-off-by: Mauro Carvalho Chehab <[email protected]>

diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c
index 213ba7d..d8fa571 100644
--- a/drivers/media/video/v4l2-ioctl.c
+++ b/drivers/media/video/v4l2-ioctl.c
@@ -16,6 +16,7 @@
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/kernel.h>diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c
index 213ba7d..b19ad56 100644
--- a/drivers/media/video/v4l2-ioctl.c
+++ b/drivers/media/video/v4l2-ioctl.c
@@ -16,6 +16,7 @@
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/kernel.h>
+#include <linux/version.h>

#include <linux/videodev2.h>

@@ -27,6 +28,8 @@
#include <media/v4l2-device.h>
#include <media/v4l2-chip-ident.h>

+#define V4L2_API_VERSION KERNEL_VERSION(3, 0, 0)
+
#define dbgarg(cmd, fmt, arg...) \
do { \
if (vfd->debug & V4L2_DEBUG_IOCTL_ARG) { \
@@ -606,13 +609,16 @@ static long __video_do_ioctl(struct file *file,
break;

ret = ops->vidioc_querycap(file, fh, cap);
- if (!ret)
+ if (!ret) {
+ cap->version = V4L2_API_VERSION;
+
dbgarg(cmd, "driver=%s, card=%s, bus=%s, "
"version=0x%08x, "
"capabilities=0x%08x\n",
cap->driver, cap->card, cap->bus_info,
cap->version,
cap->capabilities);
+ }
break;
}

2011-06-24 11:30:21

by Hans Verkuil

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

On Friday, June 24, 2011 13:21:14 Mauro Carvalho Chehab wrote:
> Em 23-06-2011 18:58, Jesper Juhl escreveu:
> > It was pointed out by 'make versioncheck' that some includes of
> > linux/version.h were not needed in include/.
> > This patch removes them.
> >
> > Signed-off-by: Jesper Juhl <[email protected]>
> > ---
> > include/linux/ceph/messenger.h | 1 -
> > include/media/pwc-ioctl.h | 1 -
> > 2 files changed, 0 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h
> > index 31d91a6..291aa6e 100644
> > --- a/include/linux/ceph/messenger.h
> > +++ b/include/linux/ceph/messenger.h
> > @@ -6,7 +6,6 @@
> > #include <linux/net.h>
> > #include <linux/radix-tree.h>
> > #include <linux/uio.h>
> > -#include <linux/version.h>
> > #include <linux/workqueue.h>
> >
> > #include "types.h"
> > diff --git a/include/media/pwc-ioctl.h b/include/media/pwc-ioctl.h
> > index 0f19779..1ed1e61 100644
> > --- a/include/media/pwc-ioctl.h
> > +++ b/include/media/pwc-ioctl.h
> > @@ -53,7 +53,6 @@
> > */
> >
> > #include <linux/types.h>
> > -#include <linux/version.h>
> >
> > /* Enumeration of image sizes */
> > #define PSZ_SQCIF 0x00
>
>
> The usage of version.h at the Linux media kernel is due to a V4L2 API requirement[1],
> where an ioctl query of VIDIOC_QUERYCAP type would return the driver version formatted
> with KERNEL_VERSION() macro.
>
> [1] http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-querycap.html
>
> While a few driver maintainers are careful enough to increment it on every new
> kernel version where the driver was touched, others simply keep it outdated.
>
> IMHO, it doesn't make much sense on having a per-driver version field: the V4L2 layer
> should be enough to abstract hardware differences, and to avoid userspace to have a per
> driver list of hacks. I don't think that the userspace applications are really using it.

Applications are certainly using it. I know this for a fact for the ivtv driver where
feature improvements are marked that way.

Without more research on how this is used I am not comfortable with this.

Regards,

Hans

> Module versions should just use the MODULE_VERSION() macro.
>
> So, IMO, the better would be to convert this field into a V4L2 API version field
> instead like the enclosed patch. Of course, this also means to change the V4L2 API
> Docbook. After that, we can cleanup all those linux/version.h code on all V4L drivers.
>
> The idea is that, every time we add something new at the V4L2 API, we'll increment it
> to match the current kernel version.
>
> On a quick look, all drivers, except by one uses versions <= KERNEL_VERSION(3, 0, 0).
> The only exception is the pwc driver, with version is KERNEL_VERSION(10, 0, 12). Due to
> a bug on it, it also reports its version as: "10.0.14" at module version. The version
> 10.0.12 is reported there since 2006, even having suffered a major change, due to the
> removal of the V4L1 API, on changeset 479567ce3af7b99d645a3c53b8ca2fc65e46efdc.
> So, I think it would be safe to change it to 3.0.0, as using the version here, in the favor
> of a greater good. We can keep the driver-specific version only at
>
> Comments?
>
> If others are ok with that, I'll prepare the changesets.
>
> Cheers,
> Mauro
>
>
> -
>
> [media] v4l2 core: Use a per-API version instead of a per driver version
>
> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
>
> diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c
> index 213ba7d..d8fa571 100644
> --- a/drivers/media/video/v4l2-ioctl.c
> +++ b/drivers/media/video/v4l2-ioctl.c
> @@ -16,6 +16,7 @@
> #include <linux/slab.h>
> #include <linux/types.h>
> #include <linux/kernel.h>diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c
> index 213ba7d..b19ad56 100644
> --- a/drivers/media/video/v4l2-ioctl.c
> +++ b/drivers/media/video/v4l2-ioctl.c
> @@ -16,6 +16,7 @@
> #include <linux/slab.h>
> #include <linux/types.h>
> #include <linux/kernel.h>
> +#include <linux/version.h>
>
> #include <linux/videodev2.h>
>
> @@ -27,6 +28,8 @@
> #include <media/v4l2-device.h>
> #include <media/v4l2-chip-ident.h>
>
> +#define V4L2_API_VERSION KERNEL_VERSION(3, 0, 0)
> +
> #define dbgarg(cmd, fmt, arg...) \
> do { \
> if (vfd->debug & V4L2_DEBUG_IOCTL_ARG) { \
> @@ -606,13 +609,16 @@ static long __video_do_ioctl(struct file *file,
> break;
>
> ret = ops->vidioc_querycap(file, fh, cap);
> - if (!ret)
> + if (!ret) {
> + cap->version = V4L2_API_VERSION;
> +
> dbgarg(cmd, "driver=%s, card=%s, bus=%s, "
> "version=0x%08x, "
> "capabilities=0x%08x\n",
> cap->driver, cap->card, cap->bus_info,
> cap->version,
> cap->capabilities);
> + }
> break;
> }
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>

2011-06-24 12:20:31

by Devin Heitmueller

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

> Applications are certainly using it. I know this for a fact for the ivtv driver where
> feature improvements are marked that way.
>
> Without more research on how this is used I am not comfortable with this.
>
> Regards,
>
> ? ? ? ?Hans

MythTV has a bunch of these too (mainly so the code can adapt to
driver bugs that are fixed in later revisions). Putting Mauro's patch
upstream will definitely cause breakage.

Also, it screws up the ability for users to get fixes through the
media_build tree (unless you are increasing the revision constantly
with every merge you do).

Devin

--
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

2011-06-24 13:57:28

by Bob Copeland

[permalink] [raw]
Subject: Re: [PATCH 04/37] Remove unneeded version.h includes from fs/

On Thu, Jun 23, 2011 at 11:59:32PM +0200, Jesper Juhl wrote:
> It was pointed out by 'make versioncheck' that some includes of
> linux/version.h were not needed in fs/ (fs/btrfs/ctree.h and
> fs/omfs/file.c).
> This patch removes them.
>
> Signed-off-by: Jesper Juhl <[email protected]>

Thanks, omfs part was leftover cruft from its time out-of-tree.

FWIW,
Acked-by: Bob Copeland <[email protected]>
--
Bob Copeland %% http://www.bobcopeland.com

2011-06-24 13:29:23

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

Em 24-06-2011 09:20, Devin Heitmueller escreveu:
>> Applications are certainly using it. I know this for a fact for the ivtv driver where
>> feature improvements are marked that way.
>>
>> Without more research on how this is used I am not comfortable with this.
>>
>> Regards,
>>
>> Hans
>
> MythTV has a bunch of these too (mainly so the code can adapt to
> driver bugs that are fixed in later revisions). Putting Mauro's patch
> upstream will definitely cause breakage.

It shouldn't, as ivtv driver version is lower than 3.0.0. All the old bug fixes
aren't needed if version is >= 3.0.0.

Besides that, trusting on a driver revision number to detect that a bug is
there is not the right thing to do, as version numbers are never increased at
the stable kernels (nor distro modified kernels take care of increasing revision
number as patches are backported there).

In other words, relying on it doesn't work fine.

> Also, it screws up the ability for users to get fixes through the
> media_build tree (unless you are increasing the revision constantly
> with every merge you do).

Why? Developers don't increase version numbers on every applied patch
(with is great, as it avoids merge conflicts).

Mauro

2011-06-24 13:46:05

by Devin Heitmueller

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

On Fri, Jun 24, 2011 at 9:29 AM, Mauro Carvalho Chehab
<[email protected]> wrote:
>> MythTV has a bunch of these too (mainly so the code can adapt to
>> driver bugs that are fixed in later revisions). ?Putting Mauro's patch
>> upstream will definitely cause breakage.
>
> It shouldn't, as ivtv driver version is lower than 3.0.0. All the old bug fixes
> aren't needed if version is >= 3.0.0.
>
> Besides that, trusting on a driver revision number to detect that a bug is
> there is not the right thing to do, as version numbers are never increased at
> the stable kernels (nor distro modified kernels take care of increasing revision
> number as patches are backported there).

The versions are increased at the discretion of the driver maintainer,
usually when there is some userland visible change in driver behavior.
I assure you the application developers don't *want* to rely on such
a mechanism, but there have definitely been cases in the past where
there was no easy way to detect the behavior of the driver from
userland.

It lets application developers work around things like violations of
the V4L2 standard which get fixed in newer revisions of the driver.
It provides them the ability to put a hack in their code that says "if
(version < X) then this driver feature is broken and I shouldn't use
it."

> In other words, relying on it doesn't work fine.

It's the best (and really only solution) we have today.

>> Also, it screws up the ability for users to get fixes through the
>> media_build tree (unless you are increasing the revision constantly
>> with every merge you do).
>
> Why? Developers don't increase version numbers on every applied patch
> (with is great, as it avoids merge conflicts).

The driver maintainer doesn't *have* to increase the version - he does
it when he thinks it's appropriate. The point is you are taking that
discretion out of *their* hands, and you yourself are unaware of when
it is actually needed.

You need to stop looking at this from a purist standpoint and think of
how application developers actually use the API. They need tools like
this to allow them to work around driver bugs while having a source
codebase which operates against different kernels (including kernels
that may still have those bugs).

Sure, in a perfect world where drivers don't have bugs and
applications don't have to run against older kernels, what you are
saying is not illogical. But then again, we don't live in a perfect
world.

Devin

--
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

2011-06-24 13:58:16

by Hans Verkuil

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

On Friday, June 24, 2011 15:45:59 Devin Heitmueller wrote:
> On Fri, Jun 24, 2011 at 9:29 AM, Mauro Carvalho Chehab
> <[email protected]> wrote:
> >> MythTV has a bunch of these too (mainly so the code can adapt to
> >> driver bugs that are fixed in later revisions). Putting Mauro's patch
> >> upstream will definitely cause breakage.
> >
> > It shouldn't, as ivtv driver version is lower than 3.0.0. All the old bug fixes
> > aren't needed if version is >= 3.0.0.
> >
> > Besides that, trusting on a driver revision number to detect that a bug is
> > there is not the right thing to do, as version numbers are never increased at
> > the stable kernels (nor distro modified kernels take care of increasing revision
> > number as patches are backported there).
>
> The versions are increased at the discretion of the driver maintainer,
> usually when there is some userland visible change in driver behavior.
> I assure you the application developers don't *want* to rely on such
> a mechanism, but there have definitely been cases in the past where
> there was no easy way to detect the behavior of the driver from
> userland.
>
> It lets application developers work around things like violations of
> the V4L2 standard which get fixed in newer revisions of the driver.
> It provides them the ability to put a hack in their code that says "if
> (version < X) then this driver feature is broken and I shouldn't use
> it."

Indeed. Ideally we shouldn't need it. But reality is different.

What we have right now works and I see no compelling reason to change the
behavior.

Regards,

Hans

> > In other words, relying on it doesn't work fine.
>
> It's the best (and really only solution) we have today.
>
> >> Also, it screws up the ability for users to get fixes through the
> >> media_build tree (unless you are increasing the revision constantly
> >> with every merge you do).
> >
> > Why? Developers don't increase version numbers on every applied patch
> > (with is great, as it avoids merge conflicts).
>
> The driver maintainer doesn't *have* to increase the version - he does
> it when he thinks it's appropriate. The point is you are taking that
> discretion out of *their* hands, and you yourself are unaware of when
> it is actually needed.
>
> You need to stop looking at this from a purist standpoint and think of
> how application developers actually use the API. They need tools like
> this to allow them to work around driver bugs while having a source
> codebase which operates against different kernels (including kernels
> that may still have those bugs).
>
> Sure, in a perfect world where drivers don't have bugs and
> applications don't have to run against older kernels, what you are
> saying is not illogical. But then again, we don't live in a perfect
> world.
>
> Devin
>
>

2011-06-24 14:37:36

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

Em 24-06-2011 10:54, Hans Verkuil escreveu:
> On Friday, June 24, 2011 15:45:59 Devin Heitmueller wrote:
>> On Fri, Jun 24, 2011 at 9:29 AM, Mauro Carvalho Chehab
>> <[email protected]> wrote:
>>>> MythTV has a bunch of these too (mainly so the code can adapt to
>>>> driver bugs that are fixed in later revisions). Putting Mauro's patch
>>>> upstream will definitely cause breakage.
>>>
>>> It shouldn't, as ivtv driver version is lower than 3.0.0. All the old bug fixes
>>> aren't needed if version is >= 3.0.0.
>>>
>>> Besides that, trusting on a driver revision number to detect that a bug is
>>> there is not the right thing to do, as version numbers are never increased at
>>> the stable kernels (nor distro modified kernels take care of increasing revision
>>> number as patches are backported there).
>>
>> The versions are increased at the discretion of the driver maintainer,
>> usually when there is some userland visible change in driver behavior.
>> I assure you the application developers don't *want* to rely on such
>> a mechanism, but there have definitely been cases in the past where
>> there was no easy way to detect the behavior of the driver from
>> userland.
>>
>> It lets application developers work around things like violations of
>> the V4L2 standard which get fixed in newer revisions of the driver.
>> It provides them the ability to put a hack in their code that says "if
>> (version < X) then this driver feature is broken and I shouldn't use
>> it."
>
> Indeed. Ideally we shouldn't need it. But reality is different.
>
> What we have right now works and I see no compelling reason to change the
> behavior.

A per-driver version only works if the user is running a vanilla kernel without
any stable patches applied.

I doubt that this covers the large amount of the users: they'll either use an
stable patched kernel or a distribution-specific one. On both cases, the driver
version is not associated with a bug fix, as the driver maintainers just take
care of increasing the driver version once per each new kernel version (when
they care enough).

Also, a git blame for the V4L2 drivers shows that only a few drivers have their
version increased as changes are applied there. So, relying on cap->version
has a minimal chance of working only with a few drivers, with vanilla *.0 kernels.

Anyway, I think that we should at least apply the enclosed patch, and remove
KERNEL_VERSION and linux/version.h includes for the drivers that didn't change
its version in the past 2 kernel releases.

I'll work later on the linux/version.h cleanup patches.

Cheers,
Mauro

-

[media] v4l2-ioctl: Add a default value for kernel version

Most 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.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>

diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c
index 213ba7d..61ac6bf 100644
--- a/drivers/media/video/v4l2-ioctl.c
+++ b/drivers/media/video/v4l2-ioctl.c
@@ -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, "

2011-06-24 18:26:17

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH] [media] Stop using linux/version.h on most drivers

All 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, s2255, s5p-fimc and sh_vou. The rationale is that the
per-driver version control seems to be actively maintained on
those.

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, pvrusb2, et61x251 and sn9c102.

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 not needed include linux/version.h.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>

---

Note: This patch assumes that cap->version = LINUX_VERSION_CODE is
filled inside v4l2-ioctl [1]

[1] http://www.mail-archive.com/[email protected]/msg33547.html

drivers/media/video/arv.c | 5 ++---
drivers/media/video/au0828/au0828-core.c | 1 +
drivers/media/video/au0828/au0828-video.c | 5 -----
drivers/media/video/bt8xx/bttv-driver.c | 14 ++++----------
drivers/media/video/bt8xx/bttvp.h | 3 ---
drivers/media/video/bw-qcam.c | 3 +--
drivers/media/video/c-qcam.c | 3 +--
drivers/media/video/cpia2/cpia2.h | 5 -----
drivers/media/video/cpia2/cpia2_v4l.c | 12 ++++--------
drivers/media/video/cx231xx/cx231xx-video.c | 14 ++++----------
drivers/media/video/cx231xx/cx231xx.h | 1 -
drivers/media/video/cx23885/altera-ci.c | 1 -
drivers/media/video/cx23885/cx23885-417.c | 1 -
drivers/media/video/cx23885/cx23885-core.c | 13 +++----------
drivers/media/video/cx23885/cx23885-video.c | 1 -
drivers/media/video/cx23885/cx23885.h | 3 +--
drivers/media/video/cx88/cx88-alsa.c | 19 ++++---------------
drivers/media/video/cx88/cx88-blackbird.c | 20 +++-----------------
drivers/media/video/cx88/cx88-dvb.c | 18 +++---------------
drivers/media/video/cx88/cx88-mpeg.c | 11 +++--------
drivers/media/video/cx88/cx88-video.c | 21 +++------------------
drivers/media/video/cx88/cx88.h | 4 ++--
drivers/media/video/em28xx/em28xx-video.c | 14 +++++---------
drivers/media/video/gspca/gl860/gl860.h | 1 -
drivers/media/video/hdpvr/hdpvr-core.c | 1 +
drivers/media/video/hdpvr/hdpvr-video.c | 2 --
drivers/media/video/hdpvr/hdpvr.h | 6 ------
drivers/media/video/mem2mem_testdev.c | 4 +---
drivers/media/video/pms.c | 4 +---
drivers/media/video/pwc/pwc-ioctl.h | 1 -
drivers/media/video/pwc/pwc.h | 8 ++++----
drivers/media/video/saa7134/saa7134-core.c | 12 ++++--------
drivers/media/video/saa7134/saa7134-empress.c | 1 -
drivers/media/video/saa7134/saa7134-video.c | 2 --
drivers/media/video/saa7134/saa7134.h | 3 +--
drivers/media/video/saa7164/saa7164.h | 1 -
drivers/media/video/timblogiw.c | 1 -
drivers/media/video/tlg2300/pd-common.h | 1 -
drivers/media/video/tlg2300/pd-main.c | 1 +
drivers/media/video/tlg2300/pd-radio.c | 2 --
drivers/media/video/usbvision/usbvision-video.c | 12 +-----------
drivers/media/video/vino.c | 5 +----
drivers/media/video/vivi.c | 14 ++++----------
drivers/media/video/w9966.c | 4 +---
drivers/media/video/zoran/zoran.h | 4 ----
drivers/media/video/zoran/zoran_card.c | 7 +++++--
drivers/media/video/zoran/zoran_driver.c | 3 ---
drivers/media/video/zr364xx.c | 6 ++----
48 files changed, 71 insertions(+), 227 deletions(-)

diff --git a/drivers/media/video/arv.c b/drivers/media/video/arv.c
index f989f28..b6ed44a 100644
--- a/drivers/media/video/arv.c
+++ b/drivers/media/video/arv.c
@@ -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);
diff --git a/drivers/media/video/au0828/au0828-core.c b/drivers/media/video/au0828/au0828-core.c
index ca342e4..1e4ce50 100644
--- a/drivers/media/video/au0828/au0828-core.c
+++ b/drivers/media/video/au0828/au0828-core.c
@@ -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");
diff --git a/drivers/media/video/au0828/au0828-video.c b/drivers/media/video/au0828/au0828-video.c
index c03eb29..0b3e481 100644
--- a/drivers/media/video/au0828/au0828-video.c
+++ b/drivers/media/video/au0828/au0828-video.c
@@ -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 |
diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
index a97cf27..696e978 100644
--- a/drivers/media/video/bt8xx/bttv-driver.c
+++ b/drivers/media/video/bt8xx/bttv-driver.c
@@ -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)
diff --git a/drivers/media/video/bt8xx/bttvp.h b/drivers/media/video/bt8xx/bttvp.h
index 9b776fa..318edf2 100644
--- a/drivers/media/video/bt8xx/bttvp.h
+++ b/drivers/media/video/bt8xx/bttvp.h
@@ -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>
diff --git a/drivers/media/video/bw-qcam.c b/drivers/media/video/bw-qcam.c
index c119350..2fc998e 100644
--- a/drivers/media/video/bw-qcam.c
+++ b/drivers/media/video/bw-qcam.c
@@ -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");
diff --git a/drivers/media/video/c-qcam.c b/drivers/media/video/c-qcam.c
index 24fc009..b8d800e 100644
--- a/drivers/media/video/c-qcam.c
+++ b/drivers/media/video/c-qcam.c
@@ -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);
diff --git a/drivers/media/video/cpia2/cpia2.h b/drivers/media/video/cpia2/cpia2.h
index 6d6d184..ab25218 100644
--- a/drivers/media/video/cpia2/cpia2.h
+++ b/drivers/media/video/cpia2/cpia2.h
@@ -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
***/
diff --git a/drivers/media/video/cpia2/cpia2_v4l.c b/drivers/media/video/cpia2/cpia2_v4l.c
index 40eb632..077eb1d 100644
--- a/drivers/media/video/cpia2/cpia2_v4l.c
+++ b/drivers/media/video/cpia2/cpia2_v4l.c
@@ -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 *v
if (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);
-
diff --git a/drivers/media/video/cx231xx/cx231xx-video.c b/drivers/media/video/cx231xx/cx231xx-video.c
index a69c24d..21fa547 100644
--- a/drivers/media/video/cx231xx/cx231xx-video.c
+++ b/drivers/media/video/cx231xx/cx231xx-video.c
@@ -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; */
diff --git a/drivers/media/video/cx231xx/cx231xx.h b/drivers/media/video/cx231xx/cx231xx.h
index b39b85e..c8d0d3d 100644
--- a/drivers/media/video/cx231xx/cx231xx.h
+++ b/drivers/media/video/cx231xx/cx231xx.h
@@ -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
diff --git a/drivers/media/video/cx23885/altera-ci.c b/drivers/media/video/cx23885/altera-ci.c
index 678539b..1fa8927 100644
--- a/drivers/media/video/cx23885/altera-ci.c
+++ b/drivers/media/video/cx23885/altera-ci.c
@@ -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"
diff --git a/drivers/media/video/cx23885/cx23885-417.c b/drivers/media/video/cx23885/cx23885-417.c
index 9a98dc5..67c4a59 100644
--- a/drivers/media/video/cx23885/cx23885-417.c
+++ b/drivers/media/video/cx23885/cx23885-417.c
@@ -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 |
diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c
index 64d9b21..0b44255 100644
--- a/drivers/media/video/cx23885/cx23885-core.c
+++ b/drivers/media/video/cx23885/cx23885-core.c
@@ -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);
-
-/* ----------------------------------------------------------- */
diff --git a/drivers/media/video/cx23885/cx23885-video.c b/drivers/media/video/cx23885/cx23885-video.c
index ee57f6b..896bb32 100644
--- a/drivers/media/video/cx23885/cx23885-video.c
+++ b/drivers/media/video/cx23885/cx23885-video.c
@@ -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 |
diff --git a/drivers/media/video/cx23885/cx23885.h b/drivers/media/video/cx23885/cx23885.h
index c186473..01c3b7b 100644
--- a/drivers/media/video/cx23885/cx23885.h
+++ b/drivers/media/video/cx23885/cx23885.h
@@ -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)

diff --git a/drivers/media/video/cx88/cx88-alsa.c b/drivers/media/video/cx88/cx88-alsa.c
index 423c1af..68d1240 100644
--- a/drivers/media/video/cx88/cx88-alsa.c
+++ b/drivers/media/video/cx88/cx88-alsa.c
@@ -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:
- */
diff --git a/drivers/media/video/cx88/cx88-blackbird.c b/drivers/media/video/cx88/cx88-blackbird.c
index 11e49bb..e46446a 100644
--- a/drivers/media/video/cx88/cx88-blackbird.c
+++ b/drivers/media/video/cx88/cx88-blackbird.c
@@ -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
- */
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c
index 1ed72ce..cf3d33a 100644
--- a/drivers/media/video/cx88/cx88-dvb.c
+++ b/drivers/media/video/cx88/cx88-dvb.c
@@ -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:
- */
diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c
index 1a7b983..ccd8797 100644
--- a/drivers/media/video/cx88/cx88-mpeg.c
+++ b/drivers/media/video/cx88/cx88-mpeg.c
@@ -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);
}

diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c
index cef4f28..1db97f3 100644
--- a/drivers/media/video/cx88/cx88-video.c
+++ b/drivers/media/video/cx88/cx88-video.c
@@ -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
- */
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h
index 5719063..425c9fb 100644
--- a/drivers/media/video/cx88/cx88.h
+++ b/drivers/media/video/cx88/cx88.h
@@ -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)

diff --git a/drivers/media/video/em28xx/em28xx-video.c b/drivers/media/video/em28xx/em28xx-video.c
index 7b6461d..d176dc0 100644
--- a/drivers/media/video/em28xx/em28xx-video.c
+++ b/drivers/media/video/em28xx/em28xx-video.c
@@ -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;
diff --git a/drivers/media/video/gspca/gl860/gl860.h b/drivers/media/video/gspca/gl860/gl860.h
index 49ad4ac..0330a02 100644
--- a/drivers/media/video/gspca/gl860/gl860.h
+++ b/drivers/media/video/gspca/gl860/gl860.h
@@ -18,7 +18,6 @@
*/
#ifndef GL860_DEV_H
#define GL860_DEV_H
-#include <linux/version.h>

#include "gspca.h"

diff --git a/drivers/media/video/hdpvr/hdpvr-core.c b/drivers/media/video/hdpvr/hdpvr-core.c
index a27d93b..5442a17 100644
--- a/drivers/media/video/hdpvr/hdpvr-core.c
+++ b/drivers/media/video/hdpvr/hdpvr-core.c
@@ -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");
diff --git a/drivers/media/video/hdpvr/hdpvr-video.c b/drivers/media/video/hdpvr/hdpvr-video.c
index 514aea7..087f7c0 100644
--- a/drivers/media/video/hdpvr/hdpvr-video.c
+++ b/drivers/media/video/hdpvr/hdpvr-video.c
@@ -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;
diff --git a/drivers/media/video/hdpvr/hdpvr.h b/drivers/media/video/hdpvr/hdpvr.h
index 072f23c..d6439db 100644
--- a/drivers/media/video/hdpvr/hdpvr.h
+++ b/drivers/media/video/hdpvr/hdpvr.h
@@ -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

diff --git a/drivers/media/video/mem2mem_testdev.c b/drivers/media/video/mem2mem_testdev.c
index b03d74e..166bf93 100644
--- a/drivers/media/video/mem2mem_testdev.c
+++ b/drivers/media/video/mem2mem_testdev.c
@@ -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;

diff --git a/drivers/media/video/pms.c b/drivers/media/video/pms.c
index 7551907..e753b5e 100644
--- a/drivers/media/video/pms.c
+++ b/drivers/media/video/pms.c
@@ -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;
}
diff --git a/drivers/media/video/pwc/pwc-ioctl.h b/drivers/media/video/pwc/pwc-ioctl.h
index 8c0cae7..b74fea0 100644
--- a/drivers/media/video/pwc/pwc-ioctl.h
+++ b/drivers/media/video/pwc/pwc-ioctl.h
@@ -52,7 +52,6 @@
*/

#include <linux/types.h>
-#include <linux/version.h>

/* Enumeration of image sizes */
#define PSZ_SQCIF 0x00
diff --git a/drivers/media/video/pwc/pwc.h b/drivers/media/video/pwc/pwc.h
index e947766..78185c6 100644
--- a/drivers/media/video/pwc/pwc.h
+++ b/drivers/media/video/pwc/pwc.h
@@ -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 ": "

diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c
index f9be737..acf83f4 100644
--- a/drivers/media/video/saa7134/saa7134-core.c
+++ b/drivers/media/video/saa7134/saa7134-core.c
@@ -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_LICENSE(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);
}

diff --git a/drivers/media/video/saa7134/saa7134-empress.c b/drivers/media/video/saa7134/saa7134-empress.c
index 18294db..dde361a 100644
--- a/drivers/media/video/saa7134/saa7134-empress.c
+++ b/drivers/media/video/saa7134/saa7134-empress.c
@@ -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 |
diff --git a/drivers/media/video/saa7134/saa7134-video.c b/drivers/media/video/saa7134/saa7134-video.c
index 776ba2d..9cf7914 100644
--- a/drivers/media/video/saa7134/saa7134-video.c
+++ b/drivers/media/video/saa7134/saa7134-video.c
@@ -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;
}
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
index 28eb103..bc8d6bb 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -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>
diff --git a/drivers/media/video/saa7164/saa7164.h b/drivers/media/video/saa7164/saa7164.h
index 16745d2..6678bf1 100644
--- a/drivers/media/video/saa7164/saa7164.h
+++ b/drivers/media/video/saa7164/saa7164.h
@@ -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>
diff --git a/drivers/media/video/timblogiw.c b/drivers/media/video/timblogiw.c
index fc611eb..84cd1b6 100644
--- a/drivers/media/video/timblogiw.c
+++ b/drivers/media/video/timblogiw.c
@@ -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>
diff --git a/drivers/media/video/tlg2300/pd-common.h b/drivers/media/video/tlg2300/pd-common.h
index 46066bd..56564e6 100644
--- a/drivers/media/video/tlg2300/pd-common.h
+++ b/drivers/media/video/tlg2300/pd-common.h
@@ -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>
diff --git a/drivers/media/video/tlg2300/pd-main.c b/drivers/media/video/tlg2300/pd-main.c
index 99c81a9..129f135 100644
--- a/drivers/media/video/tlg2300/pd-main.c
+++ b/drivers/media/video/tlg2300/pd-main.c
@@ -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");
diff --git a/drivers/media/video/tlg2300/pd-radio.c b/drivers/media/video/tlg2300/pd-radio.c
index fae84c2..4fad1df 100644
--- a/drivers/media/video/tlg2300/pd-radio.c
+++ b/drivers/media/video/tlg2300/pd-radio.c
@@ -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;
}
diff --git a/drivers/media/video/usbvision/usbvision-video.c b/drivers/media/video/usbvision/usbvision-video.c
index ea8ea8a..5a74f5e 100644
--- a/drivers/media/video/usbvision/usbvision-video.c
+++ b/drivers/media/video/usbvision/usbvision-video.c
@@ -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 |
diff --git a/drivers/media/video/vino.c b/drivers/media/video/vino.c
index d63e9d9..52a0a37 100644
--- a/drivers/media/video/vino.c
+++ b/drivers/media/video/vino.c
@@ -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;
diff --git a/drivers/media/video/vivi.c b/drivers/media/video/vivi.c
index 2238a61..3b9db8c 100644
--- a/drivers/media/video/vivi.c
+++ b/drivers/media/video/vivi.c
@@ -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;
diff --git a/drivers/media/video/w9966.c b/drivers/media/video/w9966.c
index fa35639..453dbbd 100644
--- a/drivers/media/video/w9966.c
+++ b/drivers/media/video/w9966.c
@@ -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;
}
diff --git a/drivers/media/video/zoran/zoran.h b/drivers/media/video/zoran/zoran.h
index f3f6400..d7166af 100644
--- a/drivers/media/video/zoran/zoran.h
+++ b/drivers/media/video/zoran/zoran.h
@@ -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)
diff --git a/drivers/media/video/zoran/zoran_card.c b/drivers/media/video/zoran/zoran_card.c
index 79b04ac..c3602d6 100644
--- a/drivers/media/video/zoran/zoran_card.c
+++ b/drivers/media/video/zoran/zoran_card.c
@@ -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)
diff --git a/drivers/media/video/zoran/zoran_driver.c b/drivers/media/video/zoran/zoran_driver.c
index 2771d81..d4d05d2 100644
--- a/drivers/media/video/zoran/zoran_driver.c
+++ b/drivers/media/video/zoran/zoran_driver.c
@@ -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_capability
strncpy(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;
diff --git a/drivers/media/video/zr364xx.c b/drivers/media/video/zr364xx.c
index 7dfb01e..c492846 100644
--- a/drivers/media/video/zr364xx.c
+++ b/drivers/media/video/zr364xx.c
@@ -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);

2011-06-24 18:35:45

by Stefan Richter

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

On Jun 24 Mauro Carvalho Chehab wrote:
> Em 24-06-2011 10:54, Hans Verkuil escreveu:
> > On Friday, June 24, 2011 15:45:59 Devin Heitmueller wrote:
> >> The versions are increased at the discretion of the driver maintainer,
> >> usually when there is some userland visible change in driver behavior.
> >> I assure you the application developers don't *want* to rely on such
> >> a mechanism, but there have definitely been cases in the past where
> >> there was no easy way to detect the behavior of the driver from
> >> userland.
> >>
> >> It lets application developers work around things like violations of
> >> the V4L2 standard which get fixed in newer revisions of the driver.
> >> It provides them the ability to put a hack in their code that says "if
> >> (version < X) then this driver feature is broken and I shouldn't use
> >> it."
> >
> > Indeed. Ideally we shouldn't need it. But reality is different.
> >
> > What we have right now works and I see no compelling reason to change the
> > behavior.
>
> A per-driver version only works if the user is running a vanilla kernel without
> any stable patches applied.
>
> I doubt that this covers the large amount of the users: they'll either use an
> stable patched kernel or a distribution-specific one. On both cases, the driver
> version is not associated with a bug fix, as the driver maintainers just take
> care of increasing the driver version once per each new kernel version (when
> they care enough).
>
> Also, a git blame for the V4L2 drivers shows that only a few drivers have their
> version increased as changes are applied there. So, relying on cap->version
> has a minimal chance of working only with a few drivers, with vanilla *.0 kernels.

If the "driver version" is in fact an ABI version, then the driver author
should really increase it only when ABI behavior is changed (and only if
the behavior change can only be communicated by version number --- e.g.
addition of an ioctl is not among such reasons). And the author should
commit behavior changing implementation and version number change in a
single changeset.

And anybody who backmerges such an ABI behavior change into another kernel
branch (stable, longterm, distro...) must backmerge the associated version
number change too.

Of course sometimes people realize this only after the fact. Or driver
authors don't have a clear understanding of ABI versioning to begin with.
I am saying so because I had to learn it too; I certainly wasn't born
with an instinct knowledge how to do it properly.

(Disclaimer: I have no stake in drivers/media/ ABIs. But I am involved
in maintaining a userspace ABI elsewhere in drivers/firewire/, and one of
the userspace libraries that use this ABI.)
--
Stefan Richter
-=====-==-== -==- ==---
http://arcgraph.de/sr/

2011-06-24 18:48:06

by Devin Heitmueller

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

On Fri, Jun 24, 2011 at 2:34 PM, Stefan Richter
<[email protected]> wrote:
> If the "driver version" is in fact an ABI version, then the driver author
> should really increase it only when ABI behavior is changed (and only if
> the behavior change can only be communicated by version number --- e.g.
> addition of an ioctl is not among such reasons). ?And the author should
> commit behavior changing implementation and version number change in a
> single changeset.
>
> And anybody who backmerges such an ABI behavior change into another kernel
> branch (stable, longterm, distro...) must backmerge the associated version
> number change too.
>
> Of course sometimes people realize this only after the fact. ?Or driver
> authors don't have a clear understanding of ABI versioning to begin with.
> I am saying so because I had to learn it too; I certainly wasn't born
> with an instinct knowledge how to do it properly.
>
> (Disclaimer: ?I have no stake in drivers/media/ ABIs. ?But I am involved
> in maintaining a userspace ABI elsewhere in drivers/firewire/, and one of
> the userspace libraries that use this ABI.)

Hi Stefan,

To be clear, I don't think anyone is actually proposing that the
driver version number really be used as any form of formal "ABI
versioning" scheme. In almost all cases, it's so the application can
know to *not* do something is the driver is older than X.

Given all the cases I've seen, it doesn't really hurt anything if the
driver contains a fix from newer than X, aside from the fact that the
application won't take advantage of whatever feature/functionality the
fix made work. In other words, I think from a backport standpoint, it
usually doesn't *hurt* anything if a fix is backported without the
version being incremented, aside from applications not knowing that
the feature/fix is present.

Really, this is all about applications being able to jam a hack into
their code that translates to "don't call this ioctl() with some
particular argument if it's driver W less than version X, because the
driver had a bug that is likely to panic the guy's PC". Sure, it's a
crummy solution, but at this point it's the best that we have got.

Devin

--
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

2011-06-24 21:10:10

by Andy Walls

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

On Fri, 2011-06-24 at 14:48 -0400, Devin Heitmueller wrote:
> On Fri, Jun 24, 2011 at 2:34 PM, Stefan Richter
> <[email protected]> wrote:
> > If the "driver version" is in fact an ABI version, then the driver author
> > should really increase it only when ABI behavior is changed (and only if
> > the behavior change can only be communicated by version number --- e.g.
> > addition of an ioctl is not among such reasons). And the author should
> > commit behavior changing implementation and version number change in a
> > single changeset.
> >
> > And anybody who backmerges such an ABI behavior change into another kernel
> > branch (stable, longterm, distro...) must backmerge the associated version
> > number change too.
> >
> > Of course sometimes people realize this only after the fact. Or driver
> > authors don't have a clear understanding of ABI versioning to begin with.
> > I am saying so because I had to learn it too; I certainly wasn't born
> > with an instinct knowledge how to do it properly.
> >
> > (Disclaimer: I have no stake in drivers/media/ ABIs. But I am involved
> > in maintaining a userspace ABI elsewhere in drivers/firewire/, and one of
> > the userspace libraries that use this ABI.)
>
> Hi Stefan,
>
> To be clear, I don't think anyone is actually proposing that the
> driver version number really be used as any form of formal "ABI
> versioning" scheme. In almost all cases, it's so the application can
> know to *not* do something is the driver is older than X.

MythTV, for example, used to use the driver version to work around old
VBI bugs and MPEG encoder quirks that the older version of the driver
may not have known how to handle:

https://github.com/MythTV/mythtv/blob/b98d3a98e3187000ae652df5ffebe2beb5221ba7/mythtv/libs/libmythtv/mpegrecorder.cpp#L335

But for newer versions, MythTV could avoid using its own odd hacks.
The bleeding edge MythTV now has most of these removed.


> Given all the cases I've seen, it doesn't really hurt anything if the
> driver contains a fix from newer than X, aside from the fact that the
> application won't take advantage of whatever feature/functionality the
> fix made work. In other words, I think from a backport standpoint, it
> usually doesn't *hurt* anything if a fix is backported without the
> version being incremented, aside from applications not knowing that
> the feature/fix is present.

That seems to be the case to me.


> Really, this is all about applications being able to jam a hack into
> their code that translates to "don't call this ioctl() with some
> particular argument if it's driver W less than version X, because the
> driver had a bug that is likely to panic the guy's PC".

Well, not even panics per se, but some thing like the VBI is broken, or
the volume control doesn't work, IR blaster is works for this version,
or something else stupid that is very visible to the end user.

I also use the driver version for troubleshooting problem with users. I
roughly know what wasn't working in what version of the cx18 and ivtv
drivers. If the end user can tell me the driver version (using v4l2-ctl
--log-status) along with his symptoms, it makes my life easier. Being
able to efficiently help the end user is a win for both me and the end
user.


> Sure, it's a
> crummy solution, but at this point it's the best that we have got

Yup. We do have crummier solutions:

Telling the end user to read their kernel source code to figure out what
bugs their driver release has, and to then adjust their application
command line arguments accordingly. ;)


Regards,
Andy

2011-06-24 21:10:49

by Stefan Richter

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

On Jun 24 Devin Heitmueller wrote:
> Really, this is all about applications being able to jam a hack into
> their code that translates to "don't call this ioctl() with some
> particular argument if it's driver W less than version X, because the
> driver had a bug that is likely to panic the guy's PC". Sure, it's a
> crummy solution, but at this point it's the best that we have got.

The second best. The best that we have got is that the user runs a fixed
kernel.

Anyway; if this is the only purpose that this interface version¹ serves,
then Mauro's subsystem-centralized solution has the benefit that it
eliminates mistakes due to oversight by individual driver authors.
Especially because the kind of implementation behavior changes that are
tracked by this type of version datum are sometimes just discovered or
documented in hindsight. On the other hand, Mauro's solution is redundant
to the uname(2) syscall.

¹) Yes, it is still an ABI version, nothing less. With all its backwards
and forwards compatibility ramifications.
--
Stefan Richter
-=====-==-== -==- ==---
http://arcgraph.de/sr/

2011-06-24 21:21:05

by Stefan Richter

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

On Jun 24 Andy Walls wrote:
> I also use the driver version for troubleshooting problem with users. I
> roughly know what wasn't working in what version of the cx18 and ivtv
> drivers. If the end user can tell me the driver version (using v4l2-ctl
> --log-status) along with his symptoms, it makes my life easier.

Easier:
"I run Ubuntu 10.4".
"I run kernel 2.6.32."
One of these is usually already included in the first post or IRC message
from the user.

Separate driver versions are only needed on platforms where drivers are
not distributed by the operating system distributor, or driver source code
is not released within kernel source code.
--
Stefan Richter
-=====-==-== -==- ==---
http://arcgraph.de/sr/

2011-06-24 21:22:55

by Devin Heitmueller

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

On Fri, Jun 24, 2011 at 5:20 PM, Stefan Richter
<[email protected]> wrote:
> Easier:
> ?"I run Ubuntu 10.4".
> ?"I run kernel 2.6.32."
> One of these is usually already included in the first post or IRC message
> from the user.
>
> Separate driver versions are only needed on platforms where drivers are
> not distributed by the operating system distributor, or driver source code
> is not released within kernel source code.

Unfortunately, this doesn't work as all too often the user has "Ubuntu
10.1 but I installed the latest media_build tree a few months ago".
Hence they are not necessarily on a particular binary release from a
distro but rather have a mix of a distro's binary release and a
v4l-dvb tree compiled from source.

Devin

--
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com

2011-06-24 21:45:14

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

Em 24-06-2011 15:34, Stefan Richter escreveu:
> On Jun 24 Mauro Carvalho Chehab wrote:
>> Em 24-06-2011 10:54, Hans Verkuil escreveu:
>>> On Friday, June 24, 2011 15:45:59 Devin Heitmueller wrote:
>>>> The versions are increased at the discretion of the driver maintainer,
>>>> usually when there is some userland visible change in driver behavior.
>>>> I assure you the application developers don't *want* to rely on such
>>>> a mechanism, but there have definitely been cases in the past where
>>>> there was no easy way to detect the behavior of the driver from
>>>> userland.
>>>>
>>>> It lets application developers work around things like violations of
>>>> the V4L2 standard which get fixed in newer revisions of the driver.
>>>> It provides them the ability to put a hack in their code that says "if
>>>> (version < X) then this driver feature is broken and I shouldn't use
>>>> it."
>>>
>>> Indeed. Ideally we shouldn't need it. But reality is different.
>>>
>>> What we have right now works and I see no compelling reason to change the
>>> behavior.
>>
>> A per-driver version only works if the user is running a vanilla kernel without
>> any stable patches applied.
>>
>> I doubt that this covers the large amount of the users: they'll either use an
>> stable patched kernel or a distribution-specific one. On both cases, the driver
>> version is not associated with a bug fix, as the driver maintainers just take
>> care of increasing the driver version once per each new kernel version (when
>> they care enough).
>>
>> Also, a git blame for the V4L2 drivers shows that only a few drivers have their
>> version increased as changes are applied there. So, relying on cap->version
>> has a minimal chance of working only with a few drivers, with vanilla *.0 kernels.
>
> If the "driver version" is in fact an ABI version, then the driver author
> should really increase it only when ABI behavior is changed (and only if
> the behavior change can only be communicated by version number --- e.g.
> addition of an ioctl is not among such reasons). And the author should
> commit behavior changing implementation and version number change in a
> single changeset.

Yes, but "driver version" were never used as such. Several drivers got lots of
updates, ABI change behavior (like the removal of V4L1 API), etc without having
a single "driver version" increment. Other drivers increase it even on minor
changes.

IMO, it makes no sense on keeping it, but removing this field would break
userspace, as a few programs seem to use it.

> And anybody who backmerges such an ABI behavior change into another kernel
> branch (stable, longterm, distro...) must backmerge the associated version
> number change too.

Yes, but, again, this doesn't happen. In general, the drivers that use it either
increment the version number on a separate patch, or integrate it with one of
the patches.

It is easy to take a look at ivtv, as it has a separate file with the version
number:

$ git log --oneline drivers/media/video/ivtv/ivtv-version.h
4359e5b V4L/DVB: ivtv: Increment driver version due to firmware loading changes
c019f90 V4L/DVB (10965): ivtv: bump version
c58dc0b V4L/DVB (8633): ivtv: update ivtv version number
be303e1 V4L/DVB (7930): ivtv: bump version to 1.3.0.
fcbbf6f V4L/DVB (7759): ivtv: increase version number to 1.2.1
0170a48 V4L/DVB (6762): ivtv: update version number to 1.2
612570f V4L/DVB (6091): ivtv: header cleanup
f38a798 V4L/DVB (5909): ivtv: update version to 1.1 to mark ivtv-fb support
1a0adaf V4L/DVB (5345): ivtv driver for Conexant cx23416/cx23415 MPEG encoder/decoder

Looking at the details of the above commits, on several cases there's no explanation
why the version was incremented, or why an userspace application should bother to have
any special treatment for that version or for the previous one.

The date of the commits also don't help much:

Date: Sat Jun 12 13:55:33 2010 -0300
Date: Wed Mar 11 18:50:04 2009 -0300
Date: Wed Sep 3 16:46:58 2008 -0300
Date: Sat May 24 12:43:43 2008 -0300
Date: Sat Apr 26 09:43:22 2008 -0300
Date: Fri Dec 7 20:31:17 2007 -0300
Date: Thu Aug 23 05:42:59 2007 -0300
Date: Sun Jul 22 08:39:43 2007 -0300
Date: Fri Apr 27 12:31:25 2007 -0300

Even when there seems to have a good reason for version bump, like on this example
(from cx18 driver):

commit 9982be8
Author: Andy Walls <[email protected]>
Date: Wed Apr 15 20:49:19 2009 -0300

V4L/DVB (11620): cx18: Increment version due to significant buffer handling changes

Version bump from 1.1.0 to 1.2.0

Signed-off-by: Andy Walls <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

The commit message doesn't help to tell the application developer how version 1.1.0 is
different than version 1.2.0.

Also, as this is on a separate commit, if the buffer changes were backported into a
stable or distro kernel, the application will have no way to detect the differences.

On several cases, the version upgrade is simply due to the addition of a new type of
support, like this one:

commit 437b775
Author: Andy Walls <[email protected]>
Date: Sun Mar 27 00:43:30 2011 -0300

[media] cx18: Bump driver version, since a new class of HVR-1600 is properly supported

Make a user visible driver version change, for the inevitable user support
questions about why newer model HVR-1600's do not work with (older
versions of) the cx18 driver.

For things like that, it would be enough to simply increment MODULE_VERSION().

> Of course sometimes people realize this only after the fact. Or driver
> authors don't have a clear understanding of ABI versioning to begin with.
> I am saying so because I had to learn it too; I certainly wasn't born
> with an instinct knowledge how to do it properly.
>
> (Disclaimer: I have no stake in drivers/media/ ABIs. But I am involved
> in maintaining a userspace ABI elsewhere in drivers/firewire/, and one of
> the userspace libraries that use this ABI.)


Em 24-06-2011 15:48, Devin Heitmueller escreveu:
> To be clear, I don't think anyone is actually proposing that the
> driver version number really be used as any form of formal "ABI
> versioning" scheme. In almost all cases, it's so the application can
> know to *not* do something is the driver is older than X.

As I've explained before, even that is wrong, as the version increment
patch may not have been backported.

> Given all the cases I've seen, it doesn't really hurt anything if the
> driver contains a fix from newer than X, aside from the fact that the
> application won't take advantage of whatever feature/functionality the
> fix made work. In other words, I think from a backport standpoint, it
> usually doesn't *hurt* anything if a fix is backported without the
> version being incremented, aside from applications not knowing that
> the feature/fix is present.

New features could also be backported without version increment. This happens
from time to time at the enterprise distros, and on long duration stable
releases.

> Really, this is all about applications being able to jam a hack into
> their code that translates to "don't call this ioctl() with some
> particular argument if it's driver W less than version X, because the
> driver had a bug that is likely to panic the guy's PC". Sure, it's a
> crummy solution, but at this point it's the best that we have got.

Version number is not enough for that. When there are such panic/OOPS bugs,
they are backported to -stable and to the distro kernels.

An application doing that will be removing a feature that is probably already
fixed.

Mauro.

2011-06-24 21:50:33

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

Em 24-06-2011 18:22, Devin Heitmueller escreveu:
> On Fri, Jun 24, 2011 at 5:20 PM, Stefan Richter
> <[email protected]> wrote:
>> Easier:
>> "I run Ubuntu 10.4".
>> "I run kernel 2.6.32."
>> One of these is usually already included in the first post or IRC message
>> from the user.
>>
>> Separate driver versions are only needed on platforms where drivers are
>> not distributed by the operating system distributor, or driver source code
>> is not released within kernel source code.
>
> Unfortunately, this doesn't work as all too often the user has "Ubuntu
> 10.1 but I installed the latest media_build tree a few months ago".

> Hence they are not necessarily on a particular binary release from a
> distro but rather have a mix of a distro's binary release and a
> v4l-dvb tree compiled from source.


# modprobe vivi
# dmesg
WARNING: You are using an experimental version of the media stack.
As the driver is backported to an older kernel, it doesn't offer
enough quality for its usage in production.
Use it with care.
Latest git patches (needed if you report a bug to [email protected]):
d3302689d697a99d565ea37c8fb9a19a1a5d0f06 [media] rc-core: fix winbond-cir issues
6337ae50f81c99efbf9fa924c9d1b8b51efbcef2 [media] rc/redrat3: dereferencing null pointer
ad0fc4c9ac8bf871b7bf874b2cd34b6b65f099c7 [media] rc: double unlock in rc_register_device()
vivi-000: V4L2 device registered as video0
Video Technology Magazine Virtual Video Capture Board ver 0.8.0 successfully loaded.

The git changeset is a way better than a version number.

Mauro.

2011-06-24 21:53:29

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

Em 24-06-2011 18:10, Stefan Richter escreveu:
> On Jun 24 Devin Heitmueller wrote:
>> Really, this is all about applications being able to jam a hack into
>> their code that translates to "don't call this ioctl() with some
>> particular argument if it's driver W less than version X, because the
>> driver had a bug that is likely to panic the guy's PC". Sure, it's a
>> crummy solution, but at this point it's the best that we have got.
>
> The second best. The best that we have got is that the user runs a fixed
> kernel.
>
> Anyway; if this is the only purpose that this interface version¹ serves,
> then Mauro's subsystem-centralized solution has the benefit that it
> eliminates mistakes due to oversight by individual driver authors.
> Especially because the kind of implementation behavior changes that are
> tracked by this type of version datum are sometimes just discovered or
> documented in hindsight. On the other hand, Mauro's solution is redundant
> to the uname(2) syscall.

Yes. That's why my initial proposal were to add some value to it by not associating
it with the kernel version, but with a number that will be incremented only if
the V4L2 API changes.

>
> ¹) Yes, it is still an ABI version, nothing less. With all its backwards
> and forwards compatibility ramifications.

2011-06-24 22:16:47

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

Em 24-06-2011 18:04, Andy Walls escreveu:
> On Fri, 2011-06-24 at 14:48 -0400, Devin Heitmueller wrote:
>> On Fri, Jun 24, 2011 at 2:34 PM, Stefan Richter
>> <[email protected]> wrote:
>>> If the "driver version" is in fact an ABI version, then the driver author
>>> should really increase it only when ABI behavior is changed (and only if
>>> the behavior change can only be communicated by version number --- e.g.
>>> addition of an ioctl is not among such reasons). And the author should
>>> commit behavior changing implementation and version number change in a
>>> single changeset.
>>>
>>> And anybody who backmerges such an ABI behavior change into another kernel
>>> branch (stable, longterm, distro...) must backmerge the associated version
>>> number change too.
>>>
>>> Of course sometimes people realize this only after the fact. Or driver
>>> authors don't have a clear understanding of ABI versioning to begin with.
>>> I am saying so because I had to learn it too; I certainly wasn't born
>>> with an instinct knowledge how to do it properly.
>>>
>>> (Disclaimer: I have no stake in drivers/media/ ABIs. But I am involved
>>> in maintaining a userspace ABI elsewhere in drivers/firewire/, and one of
>>> the userspace libraries that use this ABI.)
>>
>> Hi Stefan,
>>
>> To be clear, I don't think anyone is actually proposing that the
>> driver version number really be used as any form of formal "ABI
>> versioning" scheme. In almost all cases, it's so the application can
>> know to *not* do something is the driver is older than X.
>
> MythTV, for example, used to use the driver version to work around old
> VBI bugs and MPEG encoder quirks that the older version of the driver
> may not have known how to handle:
>
> https://github.com/MythTV/mythtv/blob/b98d3a98e3187000ae652df5ffebe2beb5221ba7/mythtv/libs/libmythtv/mpegrecorder.cpp#L335
>
> But for newer versions, MythTV could avoid using its own odd hacks.
> The bleeding edge MythTV now has most of these removed.

Removing it is a good thing.

>> Really, this is all about applications being able to jam a hack into
>> their code that translates to "don't call this ioctl() with some
>> particular argument if it's driver W less than version X, because the
>> driver had a bug that is likely to panic the guy's PC".
>
> Well, not even panics per se, but some thing like the VBI is broken, or
> the volume control doesn't work, IR blaster is works for this version,
> or something else stupid that is very visible to the end user.
>
> I also use the driver version for troubleshooting problem with users. I
> roughly know what wasn't working in what version of the cx18 and ivtv
> drivers. If the end user can tell me the driver version (using v4l2-ctl
> --log-status) along with his symptoms, it makes my life easier. Being
> able to efficiently help the end user is a win for both me and the end
> user.

If you add it to MODULE_VERSION, you can get the version with:

$ modinfo -F version vivi
0.8.1

Mauro.

2011-06-24 22:39:48

by Stefan Richter

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

On Jun 24 Devin Heitmueller wrote:
> On Fri, Jun 24, 2011 at 5:20 PM, Stefan Richter
> <[email protected]> wrote:
> > Easier:
> >  "I run Ubuntu 10.4".
> >  "I run kernel 2.6.32."
> > One of these is usually already included in the first post or IRC message
> > from the user.
> >
> > Separate driver versions are only needed on platforms where drivers are
> > not distributed by the operating system distributor, or driver source code
> > is not released within kernel source code.
>
> Unfortunately, this doesn't work as all too often the user has "Ubuntu
> 10.1 but I installed the latest media_build tree a few months ago".
> Hence they are not necessarily on a particular binary release from a
> distro but rather have a mix of a distro's binary release and a
> v4l-dvb tree compiled from source.

If you release out-of-kernel-source driver sources for compilation against
binary kernels, and you have got users who go through this procedure, then
the user can for sure tell you the SCM version of the driver.

Besides, isn't this outdated practice in times where Joe Enduser can get
the very latest -rc kernel prepackaged on many distributions, including
ones like Ubuntu?

[Sorry, I'm getting perhaps a bit off-topic.]
--
Stefan Richter
-=====-==-== -==- ==--=
http://arcgraph.de/sr/

2011-06-24 22:57:32

by Andy Walls

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

On Fri, 2011-06-24 at 19:16 -0300, Mauro Carvalho Chehab wrote:
> Em 24-06-2011 18:04, Andy Walls escreveu:
> > On Fri, 2011-06-24 at 14:48 -0400, Devin Heitmueller wrote:
> >> On Fri, Jun 24, 2011 at 2:34 PM, Stefan Richter
> >> <[email protected]> wrote:
> >>> If the "driver version" is in fact an ABI version, then the driver author
> >>> should really increase it only when ABI behavior is changed (and only if
> >>> the behavior change can only be communicated by version number --- e.g.
> >>> addition of an ioctl is not among such reasons). And the author should
> >>> commit behavior changing implementation and version number change in a
> >>> single changeset.
> >>>
> >>> And anybody who backmerges such an ABI behavior change into another kernel
> >>> branch (stable, longterm, distro...) must backmerge the associated version
> >>> number change too.
> >>>
> >>> Of course sometimes people realize this only after the fact. Or driver
> >>> authors don't have a clear understanding of ABI versioning to begin with.
> >>> I am saying so because I had to learn it too; I certainly wasn't born
> >>> with an instinct knowledge how to do it properly.
> >>>
> >>> (Disclaimer: I have no stake in drivers/media/ ABIs. But I am involved
> >>> in maintaining a userspace ABI elsewhere in drivers/firewire/, and one of
> >>> the userspace libraries that use this ABI.)
> >>
> >> Hi Stefan,
> >>
> >> To be clear, I don't think anyone is actually proposing that the
> >> driver version number really be used as any form of formal "ABI
> >> versioning" scheme. In almost all cases, it's so the application can
> >> know to *not* do something is the driver is older than X.
> >
> > MythTV, for example, used to use the driver version to work around old
> > VBI bugs and MPEG encoder quirks that the older version of the driver
> > may not have known how to handle:
> >
> > https://github.com/MythTV/mythtv/blob/b98d3a98e3187000ae652df5ffebe2beb5221ba7/mythtv/libs/libmythtv/mpegrecorder.cpp#L335
> >
> > But for newer versions, MythTV could avoid using its own odd hacks.
> > The bleeding edge MythTV now has most of these removed.
>
> Removing it is a good thing.
>
> >> Really, this is all about applications being able to jam a hack into
> >> their code that translates to "don't call this ioctl() with some
> >> particular argument if it's driver W less than version X, because the
> >> driver had a bug that is likely to panic the guy's PC".
> >
> > Well, not even panics per se, but some thing like the VBI is broken, or
> > the volume control doesn't work, IR blaster is works for this version,
> > or something else stupid that is very visible to the end user.
> >
> > I also use the driver version for troubleshooting problem with users. I
> > roughly know what wasn't working in what version of the cx18 and ivtv
> > drivers. If the end user can tell me the driver version (using v4l2-ctl
> > --log-status) along with his symptoms, it makes my life easier. Being
> > able to efficiently help the end user is a win for both me and the end
> > user.
>
> If you add it to MODULE_VERSION, you can get the version with:
>
> $ modinfo -F version vivi
> 0.8.1

Well, since you mention it....

http://git.linuxtv.org/media_tree.git?a=blob;f=drivers/media/video/cx18/cx18-driver.c;h=9e2f870f4258665ae6093c762f752d45147a8c98;hb=staging/for_v3.1#l252
http://git.linuxtv.org/media_tree.git?a=blob;f=drivers/media/video/ivtv/ivtv-driver.c;h=0fb75524484d909af4925c3c33c9f12cf6d6519e;hb=staging/for_v3.1#l280

However, since I often must ask for the output of v4l2-ctl --log-status,
which already has the version number, I never need to ask the user to
run /sbin/modinfo for the version.

Regards,
Andy


2011-06-24 23:03:16

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [RFC] Don't use linux/version.h anymore to indicate a per-driver version - Was: Re: [PATCH 03/37] Remove unneeded version.h includes from include/

Em 24-06-2011 19:39, Stefan Richter escreveu:
> On Jun 24 Devin Heitmueller wrote:
>> On Fri, Jun 24, 2011 at 5:20 PM, Stefan Richter
>> <[email protected]> wrote:
>>> Easier:
>>> "I run Ubuntu 10.4".
>>> "I run kernel 2.6.32."
>>> One of these is usually already included in the first post or IRC message
>>> from the user.
>>>
>>> Separate driver versions are only needed on platforms where drivers are
>>> not distributed by the operating system distributor, or driver source code
>>> is not released within kernel source code.
>>
>> Unfortunately, this doesn't work as all too often the user has "Ubuntu
>> 10.1 but I installed the latest media_build tree a few months ago".
>> Hence they are not necessarily on a particular binary release from a
>> distro but rather have a mix of a distro's binary release and a
>> v4l-dvb tree compiled from source.
>
> If you release out-of-kernel-source driver sources for compilation against
> binary kernels, and you have got users who go through this procedure, then
> the user can for sure tell you the SCM version of the driver.

Yes, and this is currently provided. The dmesg will show the last 3 git commits.
A developer can just use git diff or git log to discover what changed since those
commits.

> Besides, isn't this outdated practice in times where Joe Enduser can get
> the very latest -rc kernel prepackaged on many distributions, including
> ones like Ubuntu?

Perhaps, but the cost to maintain the out-of-tree driver git tree is cheap. We provide
just a small building system, with a script that downloads a daily tarball
with just drivers/media and the corresponding includes (and a few drivers/staging).
The building system has a couple patches to allow backport compilation since 2.6.32.

Mauro.

2011-06-25 10:13:14

by Hans Verkuil

[permalink] [raw]
Subject: Re: [PATCH] [media] Stop using linux/version.h on most drivers

On Friday, June 24, 2011 20:25:26 Mauro Carvalho Chehab wrote:
> All 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, s2255, s5p-fimc and sh_vou. The rationale is that the
> per-driver version control seems to be actively maintained on
> those.
>
> 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, pvrusb2, et61x251 and sn9c102.
>
> 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 not needed include linux/version.h.
>
> Signed-off-by: Mauro Carvalho Chehab <[email protected]>

Sorry, but I have to say NACK to this.

If we do this, then we should do this consistently.

I thought it over and filling it with the current kernel version would work
well with one exception: the pwc driver has a major number of 10 which is
larger than the kernel's major number. (cpia2 has a version of 3.0.0, so that
just works).

I am inclined to sort of close my eyes for that one and just replace it as
well, but that's just me :-)

The only thing that needs to be done is that media_build needs some hack to
set the version field to the source git tree kernel version instead of the
target's kernel version.

To simplify that and to accomodate the four ioctl-legacy drivers we can
make a simple include/media/version.h header that defines a V4L2_API_VERSION
define.

An alternative is to just add an api_version field to v4l2_querycap.
That would work fine too.

One reason for doing that may be to help out-of-tree drivers: for those a
driver version *does* make sense. I know, we shouldn't have to care about
out-of-tree drivers, but on the other hand why make life hard for them without
a good reason?

The more I think about it, the more I like the idea of an api_version field.
It would keep pwc happy, it wouldn't require many changes to drivers, and it
will not affect out-of-tree drivers.

Regards,

Hans

>
> ---
>
> Note: This patch assumes that cap->version = LINUX_VERSION_CODE is
> filled inside v4l2-ioctl [1]
>
> [1] http://www.mail-archive.com/[email protected]/msg33547.html
>
> drivers/media/video/arv.c | 5 ++---
> drivers/media/video/au0828/au0828-core.c | 1 +
> drivers/media/video/au0828/au0828-video.c | 5 -----
> drivers/media/video/bt8xx/bttv-driver.c | 14 ++++----------
> drivers/media/video/bt8xx/bttvp.h | 3 ---
> drivers/media/video/bw-qcam.c | 3 +--
> drivers/media/video/c-qcam.c | 3 +--
> drivers/media/video/cpia2/cpia2.h | 5 -----
> drivers/media/video/cpia2/cpia2_v4l.c | 12 ++++--------
> drivers/media/video/cx231xx/cx231xx-video.c | 14 ++++----------
> drivers/media/video/cx231xx/cx231xx.h | 1 -
> drivers/media/video/cx23885/altera-ci.c | 1 -
> drivers/media/video/cx23885/cx23885-417.c | 1 -
> drivers/media/video/cx23885/cx23885-core.c | 13 +++----------
> drivers/media/video/cx23885/cx23885-video.c | 1 -
> drivers/media/video/cx23885/cx23885.h | 3 +--
> drivers/media/video/cx88/cx88-alsa.c | 19 ++++---------------
> drivers/media/video/cx88/cx88-blackbird.c | 20 +++-----------------
> drivers/media/video/cx88/cx88-dvb.c | 18 +++---------------
> drivers/media/video/cx88/cx88-mpeg.c | 11 +++--------
> drivers/media/video/cx88/cx88-video.c | 21 +++------------------
> drivers/media/video/cx88/cx88.h | 4 ++--
> drivers/media/video/em28xx/em28xx-video.c | 14 +++++---------
> drivers/media/video/gspca/gl860/gl860.h | 1 -
> drivers/media/video/hdpvr/hdpvr-core.c | 1 +
> drivers/media/video/hdpvr/hdpvr-video.c | 2 --
> drivers/media/video/hdpvr/hdpvr.h | 6 ------
> drivers/media/video/mem2mem_testdev.c | 4 +---
> drivers/media/video/pms.c | 4 +---
> drivers/media/video/pwc/pwc-ioctl.h | 1 -
> drivers/media/video/pwc/pwc.h | 8 ++++----
> drivers/media/video/saa7134/saa7134-core.c | 12 ++++--------
> drivers/media/video/saa7134/saa7134-empress.c | 1 -
> drivers/media/video/saa7134/saa7134-video.c | 2 --
> drivers/media/video/saa7134/saa7134.h | 3 +--
> drivers/media/video/saa7164/saa7164.h | 1 -
> drivers/media/video/timblogiw.c | 1 -
> drivers/media/video/tlg2300/pd-common.h | 1 -
> drivers/media/video/tlg2300/pd-main.c | 1 +
> drivers/media/video/tlg2300/pd-radio.c | 2 --
> drivers/media/video/usbvision/usbvision-video.c | 12 +-----------
> drivers/media/video/vino.c | 5 +----
> drivers/media/video/vivi.c | 14 ++++----------
> drivers/media/video/w9966.c | 4 +---
> drivers/media/video/zoran/zoran.h | 4 ----
> drivers/media/video/zoran/zoran_card.c | 7 +++++--
> drivers/media/video/zoran/zoran_driver.c | 3 ---
> drivers/media/video/zr364xx.c | 6 ++----
> 48 files changed, 71 insertions(+), 227 deletions(-)
>
> diff --git a/drivers/media/video/arv.c b/drivers/media/video/arv.c
> index f989f28..b6ed44a 100644
> --- a/drivers/media/video/arv.c
> +++ b/drivers/media/video/arv.c
> @@ -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);
> diff --git a/drivers/media/video/au0828/au0828-core.c b/drivers/media/video/au0828/au0828-core.c
> index ca342e4..1e4ce50 100644
> --- a/drivers/media/video/au0828/au0828-core.c
> +++ b/drivers/media/video/au0828/au0828-core.c
> @@ -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");
> diff --git a/drivers/media/video/au0828/au0828-video.c b/drivers/media/video/au0828/au0828-video.c
> index c03eb29..0b3e481 100644
> --- a/drivers/media/video/au0828/au0828-video.c
> +++ b/drivers/media/video/au0828/au0828-video.c
> @@ -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 |
> diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
> index a97cf27..696e978 100644
> --- a/drivers/media/video/bt8xx/bttv-driver.c
> +++ b/drivers/media/video/bt8xx/bttv-driver.c
> @@ -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)
> diff --git a/drivers/media/video/bt8xx/bttvp.h b/drivers/media/video/bt8xx/bttvp.h
> index 9b776fa..318edf2 100644
> --- a/drivers/media/video/bt8xx/bttvp.h
> +++ b/drivers/media/video/bt8xx/bttvp.h
> @@ -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>
> diff --git a/drivers/media/video/bw-qcam.c b/drivers/media/video/bw-qcam.c
> index c119350..2fc998e 100644
> --- a/drivers/media/video/bw-qcam.c
> +++ b/drivers/media/video/bw-qcam.c
> @@ -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");
> diff --git a/drivers/media/video/c-qcam.c b/drivers/media/video/c-qcam.c
> index 24fc009..b8d800e 100644
> --- a/drivers/media/video/c-qcam.c
> +++ b/drivers/media/video/c-qcam.c
> @@ -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);
> diff --git a/drivers/media/video/cpia2/cpia2.h b/drivers/media/video/cpia2/cpia2.h
> index 6d6d184..ab25218 100644
> --- a/drivers/media/video/cpia2/cpia2.h
> +++ b/drivers/media/video/cpia2/cpia2.h
> @@ -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
> ***/
> diff --git a/drivers/media/video/cpia2/cpia2_v4l.c b/drivers/media/video/cpia2/cpia2_v4l.c
> index 40eb632..077eb1d 100644
> --- a/drivers/media/video/cpia2/cpia2_v4l.c
> +++ b/drivers/media/video/cpia2/cpia2_v4l.c
> @@ -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 *v
> if (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);
> -
> diff --git a/drivers/media/video/cx231xx/cx231xx-video.c b/drivers/media/video/cx231xx/cx231xx-video.c
> index a69c24d..21fa547 100644
> --- a/drivers/media/video/cx231xx/cx231xx-video.c
> +++ b/drivers/media/video/cx231xx/cx231xx-video.c
> @@ -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; */
> diff --git a/drivers/media/video/cx231xx/cx231xx.h b/drivers/media/video/cx231xx/cx231xx.h
> index b39b85e..c8d0d3d 100644
> --- a/drivers/media/video/cx231xx/cx231xx.h
> +++ b/drivers/media/video/cx231xx/cx231xx.h
> @@ -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
> diff --git a/drivers/media/video/cx23885/altera-ci.c b/drivers/media/video/cx23885/altera-ci.c
> index 678539b..1fa8927 100644
> --- a/drivers/media/video/cx23885/altera-ci.c
> +++ b/drivers/media/video/cx23885/altera-ci.c
> @@ -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"
> diff --git a/drivers/media/video/cx23885/cx23885-417.c b/drivers/media/video/cx23885/cx23885-417.c
> index 9a98dc5..67c4a59 100644
> --- a/drivers/media/video/cx23885/cx23885-417.c
> +++ b/drivers/media/video/cx23885/cx23885-417.c
> @@ -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 |
> diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c
> index 64d9b21..0b44255 100644
> --- a/drivers/media/video/cx23885/cx23885-core.c
> +++ b/drivers/media/video/cx23885/cx23885-core.c
> @@ -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);
> -
> -/* ----------------------------------------------------------- */
> diff --git a/drivers/media/video/cx23885/cx23885-video.c b/drivers/media/video/cx23885/cx23885-video.c
> index ee57f6b..896bb32 100644
> --- a/drivers/media/video/cx23885/cx23885-video.c
> +++ b/drivers/media/video/cx23885/cx23885-video.c
> @@ -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 |
> diff --git a/drivers/media/video/cx23885/cx23885.h b/drivers/media/video/cx23885/cx23885.h
> index c186473..01c3b7b 100644
> --- a/drivers/media/video/cx23885/cx23885.h
> +++ b/drivers/media/video/cx23885/cx23885.h
> @@ -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)
>
> diff --git a/drivers/media/video/cx88/cx88-alsa.c b/drivers/media/video/cx88/cx88-alsa.c
> index 423c1af..68d1240 100644
> --- a/drivers/media/video/cx88/cx88-alsa.c
> +++ b/drivers/media/video/cx88/cx88-alsa.c
> @@ -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:
> - */
> diff --git a/drivers/media/video/cx88/cx88-blackbird.c b/drivers/media/video/cx88/cx88-blackbird.c
> index 11e49bb..e46446a 100644
> --- a/drivers/media/video/cx88/cx88-blackbird.c
> +++ b/drivers/media/video/cx88/cx88-blackbird.c
> @@ -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
> - */
> diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c
> index 1ed72ce..cf3d33a 100644
> --- a/drivers/media/video/cx88/cx88-dvb.c
> +++ b/drivers/media/video/cx88/cx88-dvb.c
> @@ -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:
> - */
> diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c
> index 1a7b983..ccd8797 100644
> --- a/drivers/media/video/cx88/cx88-mpeg.c
> +++ b/drivers/media/video/cx88/cx88-mpeg.c
> @@ -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);
> }
>
> diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c
> index cef4f28..1db97f3 100644
> --- a/drivers/media/video/cx88/cx88-video.c
> +++ b/drivers/media/video/cx88/cx88-video.c
> @@ -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
> - */
> diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h
> index 5719063..425c9fb 100644
> --- a/drivers/media/video/cx88/cx88.h
> +++ b/drivers/media/video/cx88/cx88.h
> @@ -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)
>
> diff --git a/drivers/media/video/em28xx/em28xx-video.c b/drivers/media/video/em28xx/em28xx-video.c
> index 7b6461d..d176dc0 100644
> --- a/drivers/media/video/em28xx/em28xx-video.c
> +++ b/drivers/media/video/em28xx/em28xx-video.c
> @@ -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;
> diff --git a/drivers/media/video/gspca/gl860/gl860.h b/drivers/media/video/gspca/gl860/gl860.h
> index 49ad4ac..0330a02 100644
> --- a/drivers/media/video/gspca/gl860/gl860.h
> +++ b/drivers/media/video/gspca/gl860/gl860.h
> @@ -18,7 +18,6 @@
> */
> #ifndef GL860_DEV_H
> #define GL860_DEV_H
> -#include <linux/version.h>
>
> #include "gspca.h"
>
> diff --git a/drivers/media/video/hdpvr/hdpvr-core.c b/drivers/media/video/hdpvr/hdpvr-core.c
> index a27d93b..5442a17 100644
> --- a/drivers/media/video/hdpvr/hdpvr-core.c
> +++ b/drivers/media/video/hdpvr/hdpvr-core.c
> @@ -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");
> diff --git a/drivers/media/video/hdpvr/hdpvr-video.c b/drivers/media/video/hdpvr/hdpvr-video.c
> index 514aea7..087f7c0 100644
> --- a/drivers/media/video/hdpvr/hdpvr-video.c
> +++ b/drivers/media/video/hdpvr/hdpvr-video.c
> @@ -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;
> diff --git a/drivers/media/video/hdpvr/hdpvr.h b/drivers/media/video/hdpvr/hdpvr.h
> index 072f23c..d6439db 100644
> --- a/drivers/media/video/hdpvr/hdpvr.h
> +++ b/drivers/media/video/hdpvr/hdpvr.h
> @@ -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
>
> diff --git a/drivers/media/video/mem2mem_testdev.c b/drivers/media/video/mem2mem_testdev.c
> index b03d74e..166bf93 100644
> --- a/drivers/media/video/mem2mem_testdev.c
> +++ b/drivers/media/video/mem2mem_testdev.c
> @@ -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;
>
> diff --git a/drivers/media/video/pms.c b/drivers/media/video/pms.c
> index 7551907..e753b5e 100644
> --- a/drivers/media/video/pms.c
> +++ b/drivers/media/video/pms.c
> @@ -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;
> }
> diff --git a/drivers/media/video/pwc/pwc-ioctl.h b/drivers/media/video/pwc/pwc-ioctl.h
> index 8c0cae7..b74fea0 100644
> --- a/drivers/media/video/pwc/pwc-ioctl.h
> +++ b/drivers/media/video/pwc/pwc-ioctl.h
> @@ -52,7 +52,6 @@
> */
>
> #include <linux/types.h>
> -#include <linux/version.h>
>
> /* Enumeration of image sizes */
> #define PSZ_SQCIF 0x00
> diff --git a/drivers/media/video/pwc/pwc.h b/drivers/media/video/pwc/pwc.h
> index e947766..78185c6 100644
> --- a/drivers/media/video/pwc/pwc.h
> +++ b/drivers/media/video/pwc/pwc.h
> @@ -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 ": "
>
> diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c
> index f9be737..acf83f4 100644
> --- a/drivers/media/video/saa7134/saa7134-core.c
> +++ b/drivers/media/video/saa7134/saa7134-core.c
> @@ -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_LICENSE(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);
> }
>
> diff --git a/drivers/media/video/saa7134/saa7134-empress.c b/drivers/media/video/saa7134/saa7134-empress.c
> index 18294db..dde361a 100644
> --- a/drivers/media/video/saa7134/saa7134-empress.c
> +++ b/drivers/media/video/saa7134/saa7134-empress.c
> @@ -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 |
> diff --git a/drivers/media/video/saa7134/saa7134-video.c b/drivers/media/video/saa7134/saa7134-video.c
> index 776ba2d..9cf7914 100644
> --- a/drivers/media/video/saa7134/saa7134-video.c
> +++ b/drivers/media/video/saa7134/saa7134-video.c
> @@ -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;
> }
> diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
> index 28eb103..bc8d6bb 100644
> --- a/drivers/media/video/saa7134/saa7134.h
> +++ b/drivers/media/video/saa7134/saa7134.h
> @@ -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>
> diff --git a/drivers/media/video/saa7164/saa7164.h b/drivers/media/video/saa7164/saa7164.h
> index 16745d2..6678bf1 100644
> --- a/drivers/media/video/saa7164/saa7164.h
> +++ b/drivers/media/video/saa7164/saa7164.h
> @@ -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>
> diff --git a/drivers/media/video/timblogiw.c b/drivers/media/video/timblogiw.c
> index fc611eb..84cd1b6 100644
> --- a/drivers/media/video/timblogiw.c
> +++ b/drivers/media/video/timblogiw.c
> @@ -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>
> diff --git a/drivers/media/video/tlg2300/pd-common.h b/drivers/media/video/tlg2300/pd-common.h
> index 46066bd..56564e6 100644
> --- a/drivers/media/video/tlg2300/pd-common.h
> +++ b/drivers/media/video/tlg2300/pd-common.h
> @@ -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>
> diff --git a/drivers/media/video/tlg2300/pd-main.c b/drivers/media/video/tlg2300/pd-main.c
> index 99c81a9..129f135 100644
> --- a/drivers/media/video/tlg2300/pd-main.c
> +++ b/drivers/media/video/tlg2300/pd-main.c
> @@ -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");
> diff --git a/drivers/media/video/tlg2300/pd-radio.c b/drivers/media/video/tlg2300/pd-radio.c
> index fae84c2..4fad1df 100644
> --- a/drivers/media/video/tlg2300/pd-radio.c
> +++ b/drivers/media/video/tlg2300/pd-radio.c
> @@ -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;
> }
> diff --git a/drivers/media/video/usbvision/usbvision-video.c b/drivers/media/video/usbvision/usbvision-video.c
> index ea8ea8a..5a74f5e 100644
> --- a/drivers/media/video/usbvision/usbvision-video.c
> +++ b/drivers/media/video/usbvision/usbvision-video.c
> @@ -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 |
> diff --git a/drivers/media/video/vino.c b/drivers/media/video/vino.c
> index d63e9d9..52a0a37 100644
> --- a/drivers/media/video/vino.c
> +++ b/drivers/media/video/vino.c
> @@ -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;
> diff --git a/drivers/media/video/vivi.c b/drivers/media/video/vivi.c
> index 2238a61..3b9db8c 100644
> --- a/drivers/media/video/vivi.c
> +++ b/drivers/media/video/vivi.c
> @@ -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;
> diff --git a/drivers/media/video/w9966.c b/drivers/media/video/w9966.c
> index fa35639..453dbbd 100644
> --- a/drivers/media/video/w9966.c
> +++ b/drivers/media/video/w9966.c
> @@ -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;
> }
> diff --git a/drivers/media/video/zoran/zoran.h b/drivers/media/video/zoran/zoran.h
> index f3f6400..d7166af 100644
> --- a/drivers/media/video/zoran/zoran.h
> +++ b/drivers/media/video/zoran/zoran.h
> @@ -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)
> diff --git a/drivers/media/video/zoran/zoran_card.c b/drivers/media/video/zoran/zoran_card.c
> index 79b04ac..c3602d6 100644
> --- a/drivers/media/video/zoran/zoran_card.c
> +++ b/drivers/media/video/zoran/zoran_card.c
> @@ -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)
> diff --git a/drivers/media/video/zoran/zoran_driver.c b/drivers/media/video/zoran/zoran_driver.c
> index 2771d81..d4d05d2 100644
> --- a/drivers/media/video/zoran/zoran_driver.c
> +++ b/drivers/media/video/zoran/zoran_driver.c
> @@ -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_capability
> strncpy(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;
> diff --git a/drivers/media/video/zr364xx.c b/drivers/media/video/zr364xx.c
> index 7dfb01e..c492846 100644
> --- a/drivers/media/video/zr364xx.c
> +++ b/drivers/media/video/zr364xx.c
> @@ -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);
>
>

2011-06-25 12:15:11

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [PATCH] [media] Stop using linux/version.h on most drivers

Em 25-06-2011 07:09, Hans Verkuil escreveu:
> On Friday, June 24, 2011 20:25:26 Mauro Carvalho Chehab wrote:
>> All 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, s2255, s5p-fimc and sh_vou. The rationale is that the
>> per-driver version control seems to be actively maintained on
>> those.
>>
>> 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, pvrusb2, et61x251 and sn9c102.
>>
>> 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 not needed include linux/version.h.
>>
>> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
>
> Sorry, but I have to say NACK to this.
>
> If we do this, then we should do this consistently.

IMO, all drivers should stop reporting its own version via V4L2 API:
people forget to maintain it on a consistent way. That was my original
proposal, and it can still be implemented later.

This patch does it on a consistent way: on places were version is not updated
for more than 6 months (2 kernel releases) and use video_ioctl2, the version
string were replaced by a number that it is greater than the previous value.

My original proposal were to replace it on every place, but you and Devin
argued against. So, this approach is a mid-term: let's do it initially
where it makes more sense, and discuss what will be done with the remaining
drivers that implement their own version control.

With the mid-term approach taken by this patch, we warrant that, when newer
V4L2 core API changes are applied, the version number will also be incremented,
reflecting that changes could have affected the driver.

> I thought it over and filling it with the current kernel version would work
> well with one exception: the pwc driver has a major number of 10 which is
> larger than the kernel's major number. (cpia2 has a version of 3.0.0, so that
> just works).

That's what I've explained on my first email about this subject: the only driver that has
a numbering > 3.0.0 is the pwc driver, and it does that on a not consistent way:
when you've removed the V4L1 API, you've incremented the version string, but you forgot
to upgrade the caps->version. So, if any application is relying on it for pwc, the
check is currently broken.

> I am inclined to sort of close my eyes for that one and just replace it as
> well, but that's just me :-)

I like the idea of replacing pwc version to 3.0.0. We moved it into drivers/media
at 2006-03-25. On that time, the version was: 9.0.2-unofficial, and only the V4L1 API
was implemented.

In other words, the pwc driver never returned version 3.0.0 to VIDIOC_QUERYCAP.
So, it is safe to just use 3.x.y. Assuming that we'll be incrementing Kernel major
versions on every 10 years, the namespace conflicts will happen 70 years from now ;)
Seriously, I don't think we need to be concerned with a conflict with 10.0.x. numbering
that will happen on lots of years in the future (also, because we probably won't use
the extraver numbering).

> The only thing that needs to be done is that media_build needs some hack to
> set the version field to the source git tree kernel version instead of the
> target's kernel version.

Yes. After applying those patches, we'll need to fix the out-of-tree media_build.
It shouldn't be hard: a patch can just add a logic that uses a V4L2_VERSION
version defined on v4l/v4l2-version.h, for example.

> To simplify that and to accomodate the four ioctl-legacy drivers we can
> make a simple include/media/version.h header that defines a V4L2_API_VERSION
> define.

I would not care much about those. The current situation is:
- et61x251: only one USB ID is currently supported there: 102c:6251, using
the TAS5130D1B sensor. The gspca etoms driver supports the same USB ID with the
same sensor. IMO, we can just move this driver to staging and remove it.
- sn9c102: I think that there are still a few USB ID's there that aren't yet
at the gspca/sonix* drivers, but Jean-Fran?ois/Hans could give us a better status.
Anyway, no new features or bug fixes are added there for a long time, and core changes
should likely not affect this driver, as it doesn't use the subdev layer nor
video_ioctl2. So, we can just keep its version there until its removal;
- pvrusb2: Mike Isely said on a reply to one of your patches that he's finally
migrating it to use video_ioctl2.
- uvcvideo: not sure about its current status about its migration to video_ioctl2.
If Laurent is not doing a migration to video_ioctl2 any time soon, a simple patch for it
could make it act consistently. In any case, I don't think we should create a
include/media/version.h just due to uvcvideo.

> An alternative is to just add an api_version field to v4l2_querycap.
> That would work fine too.
>
> One reason for doing that may be to help out-of-tree drivers: for those a
> driver version *does* make sense. I know, we shouldn't have to care about
> out-of-tree drivers, but on the other hand why make life hard for them without
> a good reason?

Adding anything at the V4L2 API in order to accommodate a need for an out-of-tree
driver is out of the question. While we have some reserved space there, we should not
waste it due to out-of-tree drivers.

> The more I think about it, the more I like the idea of an api_version field.
> It would keep pwc happy, it wouldn't require many changes to drivers, and it
> will not affect out-of-tree drivers.

As I've explained before, pwc will work with 3.0.0, because there are no namespace
conflicts in any predictable future. The _only_ version that it ever reported with
V4L2 since April, 2006 is 10.0.12 (see commit 2b455db6d456ef2d44808a8377fd3bc832e08317).
For sure, no application is currently checking for its version, as it reports the
same version. So, 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).

Removing the driver-specific version reported via V4L2 API is a good thing, due to a
series of reasons:
1) every time include/linux/version.h changes, all media drivers need to be
recompiled;
2) eventually, this macro will be changed at 3.0 times;
3) developers are lazy on updating it at a per-driver basis; The information
there is not consistent;
4) a check for LINUX_VERSION_CODE (and its equivalent media_build replacement)
will be changed on a consistent way, being incremented when new features are
added at the Kernel;
5) An userspace application could use it in order to check if unsupported ioctl's
will return -ENOIOCTLCMD (see my patch adding this change to V4L2 API);
6) From time to time, people do the wrong thing, including version.h where it is
not needed, and spending Kernel Janitor's time to cleanup the mess.

Anyway, the approach I'm taking is to:

1) apply a patch making optional for the drivers to fill it;

2) removing it were it is clearly an improvement. The drivers that
still keeps its own version control are basically:
- the 4 drivers that don't use video-ioctl2;
- the SoC drivers;
- 4 drivers that are currently using it at regular basis: gspca, s2255, cx18 and ivtv;
- pwc;
- radio drivers;

3) If you agree, I would also do the same for pwc, as it makes sense to me;

4) double-check with the SoC driver developers and with the other maintainers that use the
version control, if using LINUX_VERSION_CODE (and its equivalent media_build replacement)
would fit for them;

5) Do the same change for the radio drivers;

6) If a per-API version control fits to everybody, change v4l2-ioctl to enforce it via
video_ioctl2, updating the V4L2 API accordingly.

Cheers,
Mauro.

2011-06-27 00:59:39

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH] [media] Stop using linux/version.h on most drivers

Hi Mauro,

On Saturday 25 June 2011 14:14:50 Mauro Carvalho Chehab wrote:
> Em 25-06-2011 07:09, Hans Verkuil escreveu:
> > On Friday, June 24, 2011 20:25:26 Mauro Carvalho Chehab wrote:

[snip]

> - uvcvideo: not sure about its current status about its migration to
> video_ioctl2. If Laurent is not doing a migration to video_ioctl2 any time
> soon, a simple patch for it could make it act consistently. In any case, I
> don't think we should create a include/media/version.h just due to
> uvcvideo.

That's not on my todo-list for now, -EBUSY :-)

I bump the uvcvideo driver version whenever the userspace API changes. Using
the kernel version number applications could find out whether the API they
need is implemented, but detecting API changes would become more difficult.
That might not be a real issue though, as applications usually don't care.

--
Regards,

Laurent Pinchart

2011-06-27 07:11:24

by Hennerich, Michael

[permalink] [raw]
Subject: RE: [PATCH 09/37] Remove unneeded version.h includes from drivers/input/

Jesper Juhl wrote on 2011-06-24:
> It was pointed out by 'make versioncheck' that some includes of
> linux/version.h are not needed in drivers/input/.
> This patch removes them.
>
> Signed-off-by: Jesper Juhl <[email protected]>
> ---
> drivers/input/keyboard/adp5588-keys.c | 1 -
> drivers/input/keyboard/adp5589-keys.c | 1 -

Acked-by: Michael Hennerich <[email protected]>

Greetings,
Michael

--
Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen
Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB 40368; Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. Martin, Margaret Seif

2011-06-27 08:21:23

by Felipe Balbi

[permalink] [raw]
Subject: Re: [PATCH 16/37] Remove unneeded version.h includes (and add where needed) for drivers/usb/

Hi,

On Fri, Jun 24, 2011 at 12:31:43AM +0200, Jesper Juhl wrote:
> It was pointed out by 'make versioncheck' that linux/version.h was not
> always being included where needed and sometimes included needlessly
> in drivers/usb/.
> This patch fixes up the includes.
>
> Signed-off-by: Jesper Juhl <[email protected]>

Laurent, I guess Jesper needs your Ack for the uvc part. It looks good
to me, but I'll leave it to you.

> ---
> drivers/usb/gadget/uvc.h | 1 +
> drivers/usb/gadget/uvc_v4l2.c | 1 -
> drivers/usb/storage/realtek_cr.c | 1 -
> 3 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/gadget/uvc.h b/drivers/usb/gadget/uvc.h
> index 5b79194..81971fb 100644
> --- a/drivers/usb/gadget/uvc.h
> +++ b/drivers/usb/gadget/uvc.h
> @@ -56,6 +56,7 @@ struct uvc_event
> #include <linux/usb.h> /* For usb_endpoint_* */
> #include <linux/usb/gadget.h>
> #include <linux/videodev2.h>
> +#include <linux/version.h>
> #include <media/v4l2-fh.h>
>
> #include "uvc_queue.h"
> diff --git a/drivers/usb/gadget/uvc_v4l2.c b/drivers/usb/gadget/uvc_v4l2.c
> index 5e807f0..a715805 100644
> --- a/drivers/usb/gadget/uvc_v4l2.c
> +++ b/drivers/usb/gadget/uvc_v4l2.c
> @@ -16,7 +16,6 @@
> #include <linux/errno.h>
> #include <linux/list.h>
> #include <linux/mutex.h>
> -#include <linux/version.h>
> #include <linux/videodev2.h>
> #include <linux/vmalloc.h>
> #include <linux/wait.h>
> diff --git a/drivers/usb/storage/realtek_cr.c b/drivers/usb/storage/realtek_cr.c
> index d509a4a..fe21104 100644
> --- a/drivers/usb/storage/realtek_cr.c
> +++ b/drivers/usb/storage/realtek_cr.c
> @@ -26,7 +26,6 @@
> #include <linux/sched.h>
> #include <linux/workqueue.h>
> #include <linux/kernel.h>
> -#include <linux/version.h>
>
> #include <scsi/scsi.h>
> #include <scsi/scsi_cmnd.h>
> --
> 1.7.5.2
>
>
> --
> Jesper Juhl <[email protected]> http://www.chaosbits.net/
> Don't top-post http://www.catb.org/jargon/html/T/top-post.html
> Plain text mails only, please.
>

--
balbi


Attachments:
(No filename) (1.99 kB)
signature.asc (490.00 B)
Digital signature
Download all attachments

2011-06-27 08:51:30

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 16/37] Remove unneeded version.h includes (and add where needed) for drivers/usb/

Hi Felipe,

On Monday 27 June 2011 10:20:37 Felipe Balbi wrote:
> On Fri, Jun 24, 2011 at 12:31:43AM +0200, Jesper Juhl wrote:
> > It was pointed out by 'make versioncheck' that linux/version.h was not
> > always being included where needed and sometimes included needlessly
> > in drivers/usb/.
> > This patch fixes up the includes.
> >
> > Signed-off-by: Jesper Juhl <[email protected]>
>
> Laurent, I guess Jesper needs your Ack for the uvc part. It looks good
> to me, but I'll leave it to you.

For the UVC gadget driver,

Acked-by: Laurent Pinchart <[email protected]>

Sorry for the delay.

> > ---
> >
> > drivers/usb/gadget/uvc.h | 1 +
> > drivers/usb/gadget/uvc_v4l2.c | 1 -
> > drivers/usb/storage/realtek_cr.c | 1 -
> > 3 files changed, 1 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/usb/gadget/uvc.h b/drivers/usb/gadget/uvc.h
> > index 5b79194..81971fb 100644
> > --- a/drivers/usb/gadget/uvc.h
> > +++ b/drivers/usb/gadget/uvc.h
> > @@ -56,6 +56,7 @@ struct uvc_event
> >
> > #include <linux/usb.h> /* For usb_endpoint_* */
> > #include <linux/usb/gadget.h>
> > #include <linux/videodev2.h>
> >
> > +#include <linux/version.h>
> >
> > #include <media/v4l2-fh.h>
> >
> > #include "uvc_queue.h"
> >
> > diff --git a/drivers/usb/gadget/uvc_v4l2.c
> > b/drivers/usb/gadget/uvc_v4l2.c index 5e807f0..a715805 100644
> > --- a/drivers/usb/gadget/uvc_v4l2.c
> > +++ b/drivers/usb/gadget/uvc_v4l2.c
> > @@ -16,7 +16,6 @@
> >
> > #include <linux/errno.h>
> > #include <linux/list.h>
> > #include <linux/mutex.h>
> >
> > -#include <linux/version.h>
> >
> > #include <linux/videodev2.h>
> > #include <linux/vmalloc.h>
> > #include <linux/wait.h>
> >
> > diff --git a/drivers/usb/storage/realtek_cr.c
> > b/drivers/usb/storage/realtek_cr.c index d509a4a..fe21104 100644
> > --- a/drivers/usb/storage/realtek_cr.c
> > +++ b/drivers/usb/storage/realtek_cr.c
> > @@ -26,7 +26,6 @@
> >
> > #include <linux/sched.h>
> > #include <linux/workqueue.h>
> > #include <linux/kernel.h>
> >
> > -#include <linux/version.h>
> >
> > #include <scsi/scsi.h>
> > #include <scsi/scsi_cmnd.h>

--
Regards,

Laurent Pinchart

2011-06-27 19:03:00

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH 09/37] Remove unneeded version.h includes from drivers/input/

On Fri, Jun 24, 2011 at 12:10:37AM +0200, Jesper Juhl wrote:
> It was pointed out by 'make versioncheck' that some includes of
> linux/version.h are not needed in drivers/input/.
> This patch removes them.
>
> Signed-off-by: Jesper Juhl <[email protected]>

Applied, thanks Jesper.

--
Dmitry