Re: [RFC/PATCH] sysfs'ify video4linux

From: Gerd Knorr (kraxel@bytesex.org)
Date: Thu Jul 17 2003 - 07:01:21 EST


On Wed, Jul 16, 2003 at 02:08:00PM -0700, Greg KH wrote:
> On Wed, Jul 16, 2003 at 10:20:18PM +0200, Gerd Knorr wrote:
> > Yes, it is allocated/freed by the driver, most seem to simply include
> > one ore more "struct video_device" somewhere in the per-device struct.
>
> So you CAN NOT just blindly put a kobject (meaning a class_device)
> structure inside of there.

Why not ...

> > which want add private properties and rely on video_device->priv
> > for finding the per-device data. Problem isn't solved but justed
> > moved to the next corner ...
>
> No, just have the video drivers have a release callback to do the
> freeing.

... if a ->release() callback is required anyway to fix it? I see two
ways to handle it:

  (1) mandatory ->release() callback, drivers must make sure the stuff
      is not freed before the callback was called. In that case the
      class_device can be left embedded inside the drivers provate
      structs.
  (2) optional ->release() callback (for those drivers which want add
      private attributes), "struct video_device" must be moved out of
      the drivers private structs then and released in a new function
      (which also calls the drivers ->release callback if present).
      Should probably also be allocated by videodev.c for symmetry.

Both approaches require touching all v4l drivers in non-trivial ways
through, not sure whenever it is a good idea to do that now. Any chance
to get that in before 2.6.0? Or should I better make that change in
2.7.x and live with /proc for the time being?

  Gerd

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



This archive was generated by hypermail 2b29 : Wed Jul 23 2003 - 22:00:28 EST