V4L: v4l2-common: remove incorrect MODULE test
PATCH 1/1 V4L: v4l2-common: remove incorrect MODULE test
Quoted 1 line
From
ba6b8068cf8f428f296762146cef6aafc4686f81Mon Sep 17 00:00:00 2001
From: Hans Verkuil <[email protected]>
Date: Wed, 18 Mar 2009 15:48:01 -0300
Subject: [PATCH] V4L: v4l2-common: remove incorrect MODULE test
v4l2-common doesn't have to be a module for it to call request_module(). Just remove that test.
Without this patch loading ivtv as a module while v4l2-common is compiled into the kernel will cause a delayed load of the i2c modules that ivtv needs since request_module is never called directly.
While it is nice to see the delayed load in action, it is not so nice in that ivtv fails to do a lot of necessary i2c initializations and will oops later on with a division-by-zero.
Thanks to Mark Lord for reporting this and helping me figure out what was wrong.
Thanks-to: Guennadi Liakhovetski <[email protected]>
Thanks-to: Mark Lord <[email protected]>
--- drivers/media/video/v4l2-common.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
drivers/media/video/v4l2-common.c +4 -4
@@ -910,10 +910,10 @@ struct v4l2_subdev *v4l2_i2c_new_subdev(struct i2c_adapter *adapter,struct i2c_board_info info;BUG_ON (!dev); -#ifdef MODULE +if (module_name)request_module (module_name); -#endif +/* Setup the i2c board info with the device type and the device address. */ memset (&info,0 ,sizeof (info));
@@ -958,10 +958,10 @@ struct v4l2_subdev *v4l2_i2c_new_probed_subdev(struct i2c_adapter *adapter,struct i2c_board_info info;BUG_ON (!dev); -#ifdef MODULE +if (module_name)request_module (module_name); -#endif +/* Setup the i2c board info with the device type and the device address. */ memset (&info,0 ,sizeof (info));
Signature · 1 line
1.5.4.3
patch v4l-v4l2-common-remove-incorrect-module-test.patch queued to 2.6.29.y-stable tree
This is a note to let you know that we have just queued up the patch titled
Subject: V4L: v4l2-common: remove incorrect MODULE test
to the 2.6.29.y-stable tree. Its filename is
v4l-v4l2-common-remove-incorrect-module-test.patch
A git repo of this tree can be found at
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
Quoted 1 line
From [email protected] Wed Apr 1 23:18:58 2009
Message-ID: <[email protected]>
Date: Tue, 31 Mar 2009 09:23:04 -0400
From: Michael Krufky <[email protected]>
To: [email protected]
Cc: Hans Verkuil <[email protected]>, Linux Media Mailing List <[email protected]>
Subject: V4L: v4l2-common: remove incorrect MODULE test
From: Hans Verkuil <[email protected]>
upstream commit: d64260d58865004c6354e024da3450fdd607ea07
v4l2-common doesn't have to be a module for it to call request_module(). Just remove that test.
Without this patch loading ivtv as a module while v4l2-common is compiled into the kernel will cause a delayed load of the i2c modules that ivtv needs since request_module is never called directly.
While it is nice to see the delayed load in action, it is not so nice in that ivtv fails to do a lot of necessary i2c initializations and will oops later on with a division-by-zero.
Thanks to Mark Lord for reporting this and helping me figure out what was wrong.
Thanks-to: Guennadi Liakhovetski <[email protected]>
Thanks-to: Mark Lord <[email protected]>
--- drivers/media/video/v4l2-common.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/media/video/v4l2-common.c +4 -4
@@ -910,10 +910,10 @@ struct v4l2_subdev *v4l2_i2c_new_subdev(struct i2c_board_info info;BUG_ON (!dev); -#ifdef MODULE +if (module_name)request_module (module_name); -#endif +/* Setup the i2c board info with the device type and the device address. */ memset (&info,0 ,sizeof (info));
@@ -958,10 +958,10 @@ struct v4l2_subdev *v4l2_i2c_new_probed_struct i2c_board_info info;BUG_ON (!dev); -#ifdef MODULE +if (module_name)request_module (module_name); -#endif +/* Setup the i2c board info with the device type and the device address. */ memset (&info,0 ,sizeof (info));
Patches currently in stable-queue which might be from [email protected] are