20 Dec, 2011

1 commit

  • When enumerating an entity, assign the entire entity specification
    instead of only the first two words. (This requires giving the
    specification union a name.)

    So far, no driver actually uses more than two words, but this will
    be needed for ALSA entities.

    Signed-off-by: Clemens Ladisch
    [laurent.pinchart@ideasonboard.com: Rename specification to info]
    Signed-off-by: Laurent Pinchart
    Signed-off-by: Mauro Carvalho Chehab

    Clemens Ladisch
     

07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

04 Nov, 2011

1 commit


01 Nov, 2011

1 commit


22 Sep, 2011

1 commit


28 Jul, 2011

1 commit


05 May, 2011

1 commit


23 Mar, 2011

2 commits

  • The video_device struct has proper ref counting and its release function
    will be called when the last user releases it. But no such support was
    available for struct v4l2_device. This made it hard to determine when a
    USB driver can release the device if it has multiple device nodes.

    With one device node it is easy of course, since when the device node is
    released, the whole device can be released.

    This patch adds refcounting to v4l2_device. When registering device nodes
    the v4l2_device refcount will be increased, when releasing device nodes
    it will be decreased. The (optional) release function will be called when
    the last device node was released.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • Integrate the v4l2_prio_state into the core, ready for use.

    One struct v4l2_prio_state is added to v4l2_device and a pointer
    to a prio state is added to video_device.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

22 Mar, 2011

3 commits

  • V4L2 subdevices are media entities. As such they need to inherit from
    (include) the media_entity structure.

    When registering/unregistering the subdevice, the media entity is
    automatically registered/unregistered. The entity is acquired on device
    open and released on device close.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Sakari Ailus
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Laurent Pinchart
     
  • The pointer will later be used to register/unregister media entities
    when registering/unregistering a v4l2_subdev or a video_device.

    With the introduction of media devices, device drivers need to store a
    pointer to a driver-specific structure in the device's drvdata.
    v4l2_device can't claim ownership of the drvdata anymore.

    To maintain compatibility with drivers that rely on v4l2_device storing
    a pointer to itself in the device's drvdata, v4l2_device_register() will
    keep doing so if the drvdata is NULL.

    Signed-off-by: Laurent Pinchart
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Laurent Pinchart
     
  • Create a device node named subdevX for every registered subdev.

    As the device node is registered before the subdev core::s_config
    function is called, return -EGAIN on open until initialization
    completes.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Vimarsh Zutshi
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Laurent Pinchart
     

19 Jan, 2011

2 commits

  • Fix a bug in v4l2_device_unregister where the sd pointer can be dereferenced
    after it was freed.

    Normally the i2c adapter is removed before this function is called. Removing
    the adapter will also unregister all subdevs on that adapter, so generally
    v4l2_device_unregister has nothing to do. However, in the case of a platform
    i2c bus that bus is generally not freed.

    In that case, after freeing the i2c subdevice the code will fall into the
    second block when it tests if the subdev is a SPI device. But by that time
    the subdev is already freed and the kernel oopses.

    The fix is trivial: continue with the loop after freeing the i2c or spi
    subdevice.

    Signed-off-by: Hans Verkuil
    Reported-by: Daniel Drake
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • Some subdevs need to call into the board code after they are registered
    and have a valid struct v4l2_device pointer. The s_config op was abused
    for this, but now that it is removed we need a cleaner way of solving this.

    So this patch adds a struct with internal ops that the v4l2 core can call.

    Currently only two ops exist: register and unregister. Subdevs can implement
    these to call the board code and pass it the v4l2_device pointer, which the
    board code can then use to get access to the struct that embeds the
    v4l2_device.

    It is expected that in the future open and close ops will also be added.

    Signed-off-by: Hans Verkuil
    Acked-by: Laurent Pinchart
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

02 Dec, 2010

1 commit

  • The BKL replacement mutex had some serious performance side-effects on
    V4L drivers. It is replaced by a better heuristic that works around the
    worst of the side-effects.

    Read the v4l2-dev.c comments for the whole sorry story. This is a
    temporary measure only until we can convert all v4l drivers to use
    unlocked_ioctl.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

09 Aug, 2010

1 commit


18 May, 2010

1 commit

  • Add support SPI bus to v4l2. Useful for control some device with SPI bus like
    hardware MPEG2 encoders and etc.

    Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Dmitri Belimov
     

17 Jun, 2009

4 commits


30 Mar, 2009

3 commits


25 Mar, 2009

1 commit


08 Jan, 2009

1 commit


30 Dec, 2008

1 commit