23 Mar, 2011

1 commit


19 Jan, 2011

1 commit

  • The core.s_config op was meant for legacy drivers that needed to work with old
    pre-2.6.26 kernels. This is no longer relevant. Unfortunately, this op was
    incorrectly called from several drivers.

    Replace those occurences with proper i2c_board_info structs and call
    v4l2_i2c_new_subdev_board.

    After these changes v4l2_i2c_new_subdev_cfg() was no longer used, so remove
    that function as well.

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

    Hans Verkuil
     

30 Dec, 2010

1 commit


22 Nov, 2010

1 commit


21 Oct, 2010

1 commit


19 May, 2010

1 commit

  • v4l2_prio_init/open/close returned an int when in fact they would
    always return 0. Make these void functions.

    v4l2_prio_close and v4l2_prio_check pass an enum v4l2_priority as a
    pointer for no good reason. Replace with a normal enum v4l2_priority
    argument.

    These changes will simplify the work of moving priority handling into
    the v4l core.

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

    Hans Verkuil
     

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
     

16 Dec, 2009

1 commit


19 Sep, 2009

1 commit


23 Jun, 2009

2 commits

  • Most hardware has limits on minimum and maximum image dimensions and also
    requirements about alignment. For example, image width must be even or a
    multiple of four. Some hardware has requirements that the total image size
    (width * height) be a multiple of some power of two.

    v4l_bound_align_image() will enforce min and max width and height, power of
    two alignment on width and height, and power of two alignment on total
    image size.

    It uses an efficient algorithm that will try to find the "closest" image
    size that meets the requirements.

    Signed-off-by: Trent Piepho
    Signed-off-by: Mauro Carvalho Chehab

    Trent Piepho
     
  • Add a new s_config core ops call: this is called with the irq and platform
    data to be used to initialize the subdev.

    Added new v4l2_i2c_new_subdev_cfg and v4l2_i2c_new_subdev_board calls
    that allows you to pass these new arguments.

    The existing v4l2_i2c_new_subdev functions were modified to also call
    s_config.

    In the future the existing v4l2_i2c_new_subdev functions will be replaced
    by a single v4l2_i2c_new_subdev function similar to v4l2_i2c_new_subdev_cfg
    but without the irq and platform_data arguments.

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

    Hans Verkuil
     

07 Apr, 2009

4 commits


30 Mar, 2009

5 commits


03 Jan, 2009

1 commit

  • Since the i2c driver ID will be removed in the near future we have to
    modify the v4l2 debugging API to use the driver name instead of driver ID.

    Note that this API is not used in applications other than v4l2-dbg.cpp
    as it is for debugging and testing only.

    Should anyone use the old VIDIOC_G_CHIP_IDENT, then this will be logged
    with a warning that it is deprecated and will be removed in 2.6.30.

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

    Hans Verkuil
     

30 Dec, 2008

1 commit


12 Oct, 2008

3 commits


24 Jul, 2008

2 commits


30 Apr, 2008

1 commit

  • Based on earlier work by Jon Smirl and Jochen Friedrich.

    This patch allows new-style i2c chip drivers to have alias names using
    the official kernel aliasing system and MODULE_DEVICE_TABLE(). At this
    point, the old i2c driver binding scheme (driver_name/type) is still
    supported.

    Signed-off-by: Jean Delvare
    Cc: Jochen Friedrich
    Cc: Jon Smirl
    Cc: Kay Sievers

    Jean Delvare
     

18 Feb, 2008

1 commit

  • As pointed by Adrian Bunk, with I2C=m and VIDEO_DEV=y, videodev brokes.

    This patch moves the functions that videodev needs from v4l2-common. It also
    fixes some Kconfig changes.

    After this patch, I2C=m / VIDEO_DEV=y will make v4l2 core statically linked
    into kernel. v4l2-common will be m, and all V4L drivers will also be m.

    This approach is very conservative, since it is possible to have V4L drivers
    that don't need I2C or v4l2-common. The better is to map what drivers really
    need v4l2-common, making them to select v4l2-common, and allowing the others to
    be 'y', 'm' and 'n'.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

26 Jan, 2008

2 commits

  • Two new headers were added: one for I2C drivers that are only used
    by V4L2 drivers converted to the new bus-based I2C API, and one that
    can be used by both converted and unconverted drivers (at the expense of
    some additional overhead).

    To support the legacy I2C API a helper function was added to v4l2-common.c.

    These headers take care of all the 'boilerplate' code that all V4L2 I2C drivers
    have in common and will automatically support the bus-based I2C API introduced
    in kernel 2.6.22.

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

    Hans Verkuil
     
  • Currently, the only tuner-specific device that allows special
    configurations is tda9887. However, tea5767 also may require some
    special configurations (for example, to specify a different Xtal freq).

    This patch replaces TDA9887_SET_CONFIG by a more generic internal ioctl
    (TUNER_SET_CONFIG). The newer one allows specifying what tuner is
    appliable to a configuration set, and allows an arbitrary configuration
    struct.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

28 Apr, 2007

2 commits

  • VIDIOC_G_CHIP_IDENT improves debugging of card problems: it can be
    used to detect which chips are on the board and based on that information
    selected register dumps can be made, making it easy to debug complicated
    media chips containing tens or hundreds of registers.
    This ioctl replaces the internal VIDIOC_INT_G_CHIP_IDENT ioctl.

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

    Hans Verkuil
     
  • Added VIDIOC_INT_G_STD_OUTPUT and VIDIOC_INT_S_STD_OUTPUT to allow drivers
    to set the TV standard for video output separately from the video capture.
    This is needed for cx23415 support where the decoder is separate from the
    encoder and can have a different TV standard.
    Modified the saa7127 module to listen to VIDIOC_INT_G/S_STD_OUTPUT instead
    of VIDIOC_G/S_STD.

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

    Hans Verkuil
     

01 Mar, 2007

1 commit


21 Feb, 2007

2 commits

  • Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Mauro Carvalho Chehab

    Adrian Bunk
     
  • The direct register access ioctls were defined as kernel internal only,
    but they are very useful for debugging hardware from userspace and are
    used as such. Officially export them.

    VIDIOC_INT_[SG]_REGISTER is renamed to VIDIOC_DBG_[SG]_REGISTER
    Definition of ioctl and struct v4l2_register is moved from v4l2-common.h
    to videodev2.h.

    Types used in struct v4l2_register are changed to the userspace
    exportable versions (u32 -> __u32, etc).

    Use of VIDIOC_DBG_S_REGISTER requires CAP_SYS_ADMIN permission, so move
    the check into the video_ioctl2() dispatcher so it doesn't need to be
    duplicated in each driver's call-back function. CAP_SYS_ADMIN check is
    added to pvrusb2 (which doesn't use video_ioctl2).

    Signed-off-by: Trent Piepho
    Signed-off-by: Mauro Carvalho Chehab

    Trent Piepho
     

10 Dec, 2006

2 commits


26 Sep, 2006

2 commits