Re: [build bug] uvc_status_cleanup(): undefined reference to `input_unregister_device'

From: Laurent Pinchart
Date: Sat Feb 14 2009 - 19:16:34 EST


Hi Mauro,

On Wednesday 11 February 2009 13:56:00 Mauro Carvalho Chehab wrote:
> On Wed, 11 Feb 2009 12:47:39 +0100
>
> Laurent Pinchart <laurent.pinchart@xxxxxxxxx> wrote:
> > Hi Mauro,
> >
> > On Wednesday 11 February 2009 09:29:33 Mauro Carvalho Chehab wrote:
[snip]
> > That's even worse. The following configurations would then be valid
> >
> > INPUT = m/y
> > USB_VIDEO_CLASS = n
> > USB_VIDEO_CLASS_INPUT_EVDEV = m/y
> >
> > USB_VIDEO_CLASS_INPUT_EVDEV must depend on USB_VIDEO_CLASS to be
> > displayed as a child of USB_VIDEO_CLASS in the configuration menu.
>
> USB_VIDEO_CLASS_INPUT_EVDEV can't be m, since it is bool.

Oops, sorry, my bad.

> But, you're right: we'll loose the dependency of USB_VIDEO_CLASS_INPUT_EVDEV
> and USB_VIDEO_CLASS.
>
> There's another alternative, if we consider that all systems but a few
> embedded ones have input defined.
>
> We may do something like:
>
> diff --git a/drivers/media/video/uvc/Kconfig
> b/drivers/media/video/uvc/Kconfig index c2d9760..14e7537 100644 ---
> a/drivers/media/video/uvc/Kconfig
> +++ b/drivers/media/video/uvc/Kconfig
> @@ -1,5 +1,6 @@
> config USB_VIDEO_CLASS
> tristate "USB Video Class (UVC)"
> + depends on INPUT
> ---help---
> Support for the USB Video Class (UVC). Currently only video
> input devices, such as webcams, are supported.
>
> I suspect that this will work fine for all practical usages.

Then we could as well remove the USB_VIDEO_CLASS_INPUT_EVDEV option. Its sole
purpose was to remove the hard dependency of USB_VIDEO_CLASS on INPUT.

> Another option would be to have a generic option at V4L for evdev
> interfaces (config MEDIA_EVDEV), that is independent of uvc (the same kind
> of dependency exists on other drivers at the subsystem, like cx88, saa7134,
> etc). It will be a larger changeset, but maybe useful, since someone may
> disable EVDEV interface for other V4L/DVB drivers as well.

What I need here is a way to express the following in Kconfig:

- USB_VIDEO_CLASS_INPUT_EVDEV is a boolean sub-option of USB_VIDEO_CLASS
- It can only be selected if the USB_VIDEO_CLASS and INPUT options "match"
- Ideally, the options should always be visible (otherwise people would only
notice the option if INPUT support is enabled), but should not be selectable
if USB_VIDEO_CLASS and INPUT don't match.

Is this possible ?

Best regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/