Re: [PATCH] v4l: fix build error for et61x251 driver

From: Luca Risolia
Date: Thu Sep 13 2007 - 21:53:55 EST


On Friday 14 September 2007 02:09:01 Linus Torvalds wrote:
> On Fri, 14 Sep 2007, Luca Risolia wrote:
> > Hacked-by: Luca Risolia <luca.risolia@xxxxxxxxxxxxxxx>
> >
> > On Friday 14 September 2007 00:27:17 Andreas Herrmann wrote:
> > > This fixes a kernel build problem and
> > > should make it into 2.6.23, I think.
> > >
> > >
> > > Regards,
> > >
> > > Andreas
> > >
> > > --
> > >
> > > Get rid of some v4l1 remainders to avoid kernel build errors if
> > > V4L1_COMPAT is not selected:
> > >
> > > drivers/media/video/et61x251/et61x251_core.c: In et61x251_show_:
> > > drivers/media/video/et61x251/et61x251_core.c:718: error: implicit
> > > declaration of to_video_device
> > >
> > > Fix as suggested by Luca Risolia <luca.risolia@xxxxxxxxxxxxxxx>
>
> This patch is really ugly.
>
> Why can't the "to_video_device()" macro be used? Just move it to a place
> where it's usable! IOW, what's wrong with the *much* simpler patch below?

There's nothing wtong in my opinion. I do not know the exact reason why Mauro
moved "to_video_device()" into CONFIG_VIDEO_V4L1_COMPAT. Pheraps he can give
more details about this change.


> That "to_video_device()" macro has absolutely _nothing_ to do with
> CONFIG_VIDEO_V4L1_COMPAT, as far as I can tell!
>
> Linus
> ---
> diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h
> index d62847f..17f8f3a 100644
> --- a/include/media/v4l2-dev.h
> +++ b/include/media/v4l2-dev.h
> @@ -337,6 +337,9 @@ void *priv;
> struct class_device class_dev; /* sysfs */
> };
>
> +/* Class-dev to video-device */
> +#define to_video_device(cd) container_of(cd, struct video_device,
> class_dev) +
> /* Version 2 functions */
> extern int video_register_device(struct video_device *vfd, int type, int
> nr); void video_unregister_device(struct video_device *);
> @@ -354,11 +357,9 @@ extern int video_usercopy(struct inode *inode, struct
> file *file, int (*func)(struct inode *inode, struct file *file,
> unsigned int cmd, void *arg));
>
> -
> #ifdef CONFIG_VIDEO_V4L1_COMPAT
> #include <linux/mm.h>
>
> -#define to_video_device(cd) container_of(cd, struct video_device,
> class_dev) static inline int __must_check
> video_device_create_file(struct video_device *vfd,
> struct class_device_attribute *attr)

Best regards
Luca Risolia
-
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/