1. 12 6月, 2012 1 次提交
  2. 04 9月, 2011 1 次提交
    • J
      [media] bt8xx: Use current logging styles · 8af443e5
      Joe Perches 提交于
      This converts some messages that were emitted at
      KERN_INFO to KERN_DEBUG.  All of these messages
      were guarded by bttv_debug tests.
      
      Add pr_fmt.
      Convert printks to pr_<level>
      Convert printks without KERN_<level> to appropriate pr_<level>.
      Removed embedded prefixes when pr_fmt was added.
      Whitespace cleanups when around other conversions.
      Macros coded with if statements should be do { if... } while (0)
      so the macros can be used in other if tests.
      Use ##__VA_ARGS__ for variadic macro as well.
      Coalesce format strings.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      8af443e5
  3. 28 7月, 2011 1 次提交
    • M
      [media] Stop using linux/version.h on most video drivers · 1990d50b
      Mauro Carvalho Chehab 提交于
      All the modified drivers didn't have any version increment since
      Jan, 1 2011. Several of them didn't have any version increment
      for a long time, even having new features and important bug fixes
      happening.
      
      As we're now filling the QUERYCAP version with the current Kernel
      Release, we don't need to maintain a per-driver version control
      anymore. So, let's just use the default.
      
      In order to preserve the Kernel module version history, a
      KERNEL_VERSION() macro were added to all modified drivers, and
      the extraver number were incremented.
      
      I opted to preserve the per-driver version control to a few
      pwc, pvrusb2, s2255, s5p-fimc and sh_vou.
      
      A few drivers are still using the legacy way to handle ioctl's.
      So, we can't do such change on them, otherwise, they'll break.
      Those are: uvc, et61x251 and sn9c102.
      
      The rationale is that the per-driver version control seems to be
      actively maintained on those.
      
      Yet, I think that the better for them would be to just use the
      default version numbering, instead of doing that by themselves.
      
      While here, removed a few uneeded include linux/version.h
      Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      1990d50b
  4. 29 12月, 2010 6 次提交
  5. 21 10月, 2010 1 次提交
  6. 19 2月, 2010 1 次提交
  7. 07 4月, 2009 1 次提交
  8. 30 3月, 2009 7 次提交
    • H
      V4L/DVB (11278): bttv: convert to v4l2_subdev since i2c autoprobing will disappear. · 859f0277
      Hans Verkuil 提交于
      Since i2c autoprobing will disappear bttv needs to be converted to use
      v4l2_subdev instead.
      
      Without autoprobing the autoload module option has become obsolete. A warning
      is generated if it is set, but it is otherwise ignored.
      
      Since the bttv card definitions are of questionable value a new option was
      introduced to allow the user to control which audio module is selected:
      msp3400, tda7432 or tvaudio (or none at all).
      
      By default bttv will use the card definitions and fallback on tvaudio as the
      last resort.
      
      If no audio device was found a warning is printed.
      
      The saa6588 RDS device is now also explicitly probed since it is no longer
      possible to autoprobe it. A new saa6588 module option was added to override
      the card definition since I suspect more cards have this device than one
      would guess from the card definitions.
      
      Note that the probe addresses of the i2c modules are hardcoded in this
      driver. Once all v4l drivers are converted to v4l2_subdev this will be
      cleaned up. Such data belongs in an i2c driver header.
      Signed-off-by: NHans Verkuil <hverkuil@xs4all.nl>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      859f0277
    • H
      74fc7bd9
    • M
    • T
      V4L/DVB (10568): bttv: dynamically allocate device data · 4b10d3b6
      Trent Piepho 提交于
      The bttv driver had static array of structures for up to 16 possible bttv
      devices, even though few users have more than one or two.  The structures
      were quite large and this resulted in a huge BSS segment.
      
      Change the driver to allocate the bttv device data dynamically, which
      changes "struct bttv bttvs[BTTV_MAX]" to "struct bttv *bttvs[BTTV_MAX]".
      It would be nice to get ride of "bttvs" entirely but there are some
      complications with gpio access from the audio & mpeg drivers.
      
      To help bttvs removal along anyway, I changed the open() methods use the
      video device's drvdata to get the driver data instead of looking it up in
      the bttvs array.  This is also more efficient.  Some WARN_ON()s are added
      in cases the device node exists by the bttv device doesn't, which I don't
      think should be possible.
      
      The gpio access functions need to check if bttvs[card] is NULL now.  Though
      calling them on a non-existent card in the first place is wrong, but hard
      to solve given the fundamental problems in how the gpio access code works.
      
      This patch reduces the bss size by 66560 bytes on ia32.  Overall change is a
      reduction of 66398 bytes, as the WARN_ON()s add some 198 bytes.
      Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      4b10d3b6
    • T
      V4L/DVB (10567): bttv: shrink muxsel data in card database · 6f98700a
      Trent Piepho 提交于
      Over half of the card database was used to store muxsel data.  64 bytes
      were used to store one 32 bit word for each of up to 16 inputs.
      
      The Bt8x8 only has two bits to control its mux, so muxsel data for 16
      inputs will fit into a single 32 bit word.  There were a couple cards that
      had special muxsel data that didn't fit in two bits, but I cleaned them up
      in earlier patches.
      
      Unfortunately, C doesn't allow us to have an array of bit fields.  This
      makes initializing the structure more of a pain.  But with some cpp magic,
      we can do it by changing:
      	.muxsel = { 2, 3, 0, 1 },
      	.muxsel = { 2, 2, 2, 2, 3, 3, 3, 3, 1, 1 },
      Into:
      	.muxsel = MUXSEL(2, 3, 0, 1),
      	.muxsel = MUXSEL(2, 2, 2, 2, 3, 3, 3, 3, 1, 1),
      
      That's not so bad.  MUXSEL is a fancy macro that packs the arguments (of
      which there can be one to sixteen!) into a single word two bits at a time.
      It's a compile time constant (a variadic function wouldn't be) so we can
      use it to initialize the structure.  It's important the the arguments to
      the macro only be plain decimal integers.  Stuff like "0x01", "(2)", or
      "MUX3" won't work properly.
      
      I also created an accessor function, bttv_muxsel(btv, input), that gets the
      mux bits for the selected input.  It makes it cleaner to change the way the
      muxsel data is stored.
      
      This patch doesn't change the code size and decreases the datasegment by
      9440 bytes.
      Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      6f98700a
    • T
      V4L/DVB (10562): bttv: rework the way digital inputs are indicated · 5221e21e
      Trent Piepho 提交于
      The code was using a muxsel value of -1U to indicate a digital input.  A
      couple places in were checking of muxsel < 0 to detect this, which doesn't
      work of course because muxsel is unsigned and can't be negative.
      
      Only a couple cards had digital inputs and it was always the last one, so
      for the card database create a one bit field that indicates the last input
      is digital.  On init, this is used to set a new field in the bttv struct to
      the digital input's number or UNSET for none.  This makes it easier to
      check if the current input is digital.
      Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      5221e21e
    • T
      V4L/DVB (10558): bttv: norm value should be unsigned · 4ef2ccc2
      Trent Piepho 提交于
      The norm value in the driver is an index into an array and the the driver
      doesn't allow it to be negative or otherwise invalid.  It should be
      unsigned but wasn't in all places.
      
      Fix some structs and functions to have the norm be unsigned.  Get rid of
      useless checks for "< 0".  Most of the driver code can't handle a norm
      value that's out of range, so change some ">= BTTV_TVNORMS" checks to
      BUG_ON().  There's no point in silently ignoring invalid driver state just
      to crash because of it later.
      Reported-by: NRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      4ef2ccc2
  9. 30 12月, 2008 1 次提交
  10. 04 9月, 2008 1 次提交
  11. 20 7月, 2008 2 次提交
  12. 30 4月, 2008 1 次提交
  13. 25 4月, 2008 1 次提交
  14. 26 1月, 2008 6 次提交
  15. 02 11月, 2007 1 次提交
  16. 10 10月, 2007 1 次提交
  17. 21 7月, 2007 1 次提交
  18. 19 7月, 2007 1 次提交
  19. 28 4月, 2007 1 次提交
  20. 21 2月, 2007 2 次提交
    • M
      V4L/DVB (5077): Bttv cropping support · e5bd0260
      Michael Schimek 提交于
      Adds the missing VIDIOC_CROPCAP, G_CROP and S_CROP ioctls, permitting 
      applications to capture or overlay a subsection of the picture or to 
      extend the capture window beyond active video, into the VBI area and the 
      horizontal blanking. VBI capturing can start and end on any line, 
      including the picture area, and apps can capture different lines of each 
      field and single fields.
      For compatibility with existing applications, the open() function
      resets the cropping and VBI capturing parameters and a VIDIOC_S_CROP
      call is necessary to actually enable cropping. 
      Regrettably in PAL-M, PAL-N, PAL-Nc and NTSC-JP mode the maximum image 
      width will increase from 640 and 768 to 747 and 923 pixels respectively.
      Like the VBI changes however, this should only affect applications which 
      depend on former driver limitations, such as never getting more than 640 
      pixels regardless of the requested width. 
      Also, new freedoms require additional checks for conflicts and some 
      applications may not expect an EBUSY error from the VIDIOC_QBUF and 
      VIDIOCMCAPTURE ioctls. These errors should be rare though.
      So far, the patch has been tested on a UP machine with a bt878 in PAL-
      BGHI and NTSC-M mode using xawtv, tvtime, mplayer/mencoder, zapping/
      libzvbi and these tools: http://zapping.sf.net/bttv-crop-test.tar.bz2
      I'd be grateful about comments or bug reports.
      Signed-off-by: NMichael H. Schimek <mschimek@gmx.at>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      e5bd0260
    • H
      V4L/DVB (4961): Add support for the ASUS P7131 remote control · 9160723e
      Hermann Pitton 提交于
      Besides adding the board specific code, this patch moves
      the RC5 decoding code from bt8xx to ir-functions.c to make it available 
      for all drivers.
      
      Signed-off-by: Marc Fargas <telenieko.telenieko.com>
      Signed-off-by: NHermann Pitton <hermann-pitton@arcor.de>
      Signed-off-by: NHartmut Hackmann <hartmut.hackmann@t-online.de>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      9160723e
  21. 01 7月, 2006 1 次提交
  22. 25 6月, 2006 1 次提交