From: Jean-Francois Moine <moinejf@free.fr>
To: linux-media@vger.kernel.org,
Douglas Schilling Landgraf <dougsland@redhat.com>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Subject: Re: [hg:v4l-dvb] gspca - main: Fix a compile error when CONFIG_INPUT is not set
Date: Wed, 3 Mar 2010 09:51:23 +0100 [thread overview]
Message-ID: <20100303095123.047a4d1e@tele> (raw)
In-Reply-To: <E1Nmblu-0007t3-Dm@www.linuxtv.org>
[-- Attachment #1: Type: text/plain, Size: 3206 bytes --]
On Wed, 03 Mar 2010 00:45:02 +0100
Patch from Jean-Fran?ois Moine <hg-commit@linuxtv.org> wrote:
> The patch number 14343 was added via Douglas Schilling Landgraf
> <dougsland@redhat.com> to http://linuxtv.org/hg/v4l-dvb master
> development tree.
>
> Kernel patches in this development tree may be modified to be backward
> compatible with older kernels. Compatibility modifications will be
> removed before inclusion into the mainstream Kernel
>
> If anyone has any objections, please let us know by sending a message
> to: Linux Media Mailing List <linux-media@vger.kernel.org>
>
> ------
>
> From: Jean-Fran?ois Moine <moinejf@free.fr>
> gspca - main: Fix a compile error when CONFIG_INPUT is not set
>
>
> Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
>
> Priority: normal
>
> [dougsland@redhat.com: patch backported to hg tree]
> Signed-off-by: Jean-Fran?ois Moine <moinejf@free.fr>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
>
>
> ---
>
> linux/drivers/media/video/gspca/gspca.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff -r c533329e3c41 -r 6519c63ecf6d
> linux/drivers/media/video/gspca/gspca.c ---
> a/linux/drivers/media/video/gspca/gspca.c Tue Mar 02 20:16:17
> 2010 -0300 +++ b/linux/drivers/media/video/gspca/gspca.c Tue
> Mar 02 20:38:01 2010 -0300 @@ -44,10 +44,12 @@
> #include "gspca.h"
>
> +#ifdef CONFIG_INPUT
> #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
> #include <linux/input.h>
> #include <linux/usb/input.h>
> #endif
> +#endif
>
> /* global values */
> #define DEF_NURBS 3 /* default number of URBs */
> @@ -2371,9 +2373,11 @@
> void gspca_disconnect(struct usb_interface *intf)
> {
> struct gspca_dev *gspca_dev = usb_get_intfdata(intf);
> +#ifdef CONFIG_INPUT
> #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
> struct input_dev *input_dev;
> #endif
> +#endif
>
> PDEBUG(D_PROBE, "%s disconnect",
> video_device_node_name(&gspca_dev->vdev));
> @@ -2385,6 +2389,7 @@
> wake_up_interruptible(&gspca_dev->wq);
> }
>
> +#ifdef CONFIG_INPUT
> #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
> gspca_input_destroy_urb(gspca_dev);
> input_dev = gspca_dev->input_dev;
> @@ -2393,6 +2398,7 @@
> input_unregister_device(input_dev);
> }
> #endif
> +#endif
>
> /* the device is freed at exit of this function */
> gspca_dev->dev = NULL;
>
>
> ---
>
> Patch is available at:
> http://linuxtv.org/hg/v4l-dvb/rev/6519c63ecf6d4e7e2c1c3d46ac2a161da8d6c6f4
Hello Douglas,
I do not understand your patch. Do you mean that the input events
cannot be used with kernel < 2.6.19, while CONFIG_INPUT can be set?
Anyway, this patch seems complex. It would have been easier to simply
unset CONFIG_INPUT when kernel < 2.6.19.
I join the diff of gspca.c between v4l-dvb and my repository. This last
one is closer to the git version and there are still other changes done
in git. How do you think I should merge?
Cheers.
--
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef | http://moinejf.free.fr/
[-- Attachment #2: gspca.dif --]
[-- Type: application/octet-stream, Size: 3596 bytes --]
--- /tmp/gspca.c~other.0wSSrD 2010-03-03 09:17:29.000000000 +0100
+++ linux/drivers/media/video/gspca/gspca.c 2010-03-03 09:17:29.000000000 +0100
@@ -45,11 +45,9 @@
#include "gspca.h"
#ifdef CONFIG_INPUT
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
#include <linux/input.h>
#include <linux/usb/input.h>
#endif
-#endif
/* global values */
#define DEF_NURBS 3 /* default number of URBs */
@@ -126,8 +124,11 @@
* Input and interrupt endpoint handling functions
*/
#ifdef CONFIG_INPUT
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19)
+static void int_irq(struct urb *urb, struct pt_regs *regs)
+#else
static void int_irq(struct urb *urb)
+#endif
{
struct gspca_dev *gspca_dev = (struct gspca_dev *) urb->context;
int ret;
@@ -306,7 +307,6 @@
#define gspca_input_create_urb(gspca_dev) 0
#define gspca_input_destroy_urb(gspca_dev)
#endif
-#endif
/* get the current input frame buffer */
struct gspca_frame *gspca_get_i_frame(struct gspca_dev *gspca_dev)
@@ -695,21 +695,13 @@
i, ep->desc.bEndpointAddress);
gspca_dev->alt = i; /* memorize the current alt setting */
if (gspca_dev->nbalt > 1) {
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
gspca_input_destroy_urb(gspca_dev);
-#endif
ret = usb_set_interface(gspca_dev->dev, gspca_dev->iface, i);
if (ret < 0) {
err("set alt %d err %d", i, ret);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
ep = NULL;
-#else
- return NULL;
-#endif
}
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
gspca_input_create_urb(gspca_dev);
-#endif
}
return ep;
}
@@ -920,13 +912,9 @@
if (gspca_dev->sd_desc->stopN)
gspca_dev->sd_desc->stopN(gspca_dev);
destroy_urbs(gspca_dev);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
gspca_input_destroy_urb(gspca_dev);
-#endif
gspca_set_alt0(gspca_dev);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
gspca_input_create_urb(gspca_dev);
-#endif
}
/* always call stop0 to free the subdriver's resources */
@@ -2350,11 +2338,9 @@
usb_set_intfdata(intf, gspca_dev);
PDEBUG(D_PROBE, "%s created", video_device_node_name(&gspca_dev->vdev));
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
ret = gspca_input_connect(gspca_dev);
if (ret == 0)
ret = gspca_input_create_urb(gspca_dev);
-#endif
return 0;
out:
@@ -2374,10 +2360,8 @@
{
struct gspca_dev *gspca_dev = usb_get_intfdata(intf);
#ifdef CONFIG_INPUT
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
struct input_dev *input_dev;
#endif
-#endif
PDEBUG(D_PROBE, "%s disconnect",
video_device_node_name(&gspca_dev->vdev));
@@ -2390,7 +2374,6 @@
}
#ifdef CONFIG_INPUT
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
gspca_input_destroy_urb(gspca_dev);
input_dev = gspca_dev->input_dev;
if (input_dev) {
@@ -2398,7 +2381,6 @@
input_unregister_device(input_dev);
}
#endif
-#endif
/* the device is freed at exit of this function */
gspca_dev->dev = NULL;
@@ -2425,9 +2407,7 @@
if (gspca_dev->sd_desc->stopN)
gspca_dev->sd_desc->stopN(gspca_dev);
destroy_urbs(gspca_dev);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
gspca_input_destroy_urb(gspca_dev);
-#endif
gspca_set_alt0(gspca_dev);
if (gspca_dev->sd_desc->stop0)
gspca_dev->sd_desc->stop0(gspca_dev);
@@ -2441,9 +2421,7 @@
gspca_dev->frozen = 0;
gspca_dev->sd_desc->init(gspca_dev);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
gspca_input_create_urb(gspca_dev);
-#endif
if (gspca_dev->streaming)
return gspca_init_transfer(gspca_dev);
return 0;
next parent reply other threads:[~2010-03-03 8:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E1Nmblu-0007t3-Dm@www.linuxtv.org>
2010-03-03 8:51 ` Jean-Francois Moine [this message]
2010-03-03 16:19 ` [hg:v4l-dvb] gspca - main: Fix a compile error when CONFIG_INPUT is not set Douglas Schilling Landgraf
2010-03-04 8:55 ` Douglas Schilling Landgraf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100303095123.047a4d1e@tele \
--to=moinejf@free.fr \
--cc=dougsland@redhat.com \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.