1. 26 7月, 2014 1 次提交
    • D
      [media] rc-core: remove protocol arrays · c5540fbb
      David Härdeman 提交于
      The basic API of rc-core used to be:
      
      	dev = rc_allocate_device();
      	dev->x = a;
      	dev->y = b;
      	dev->z = c;
      	rc_register_device();
      
      which is a pretty common pattern in the kernel, after the introduction of
      protocol arrays the API looks something like:
      
      	dev = rc_allocate_device();
      	dev->x = a;
      	rc_set_allowed_protocols(dev, RC_BIT_X);
      	dev->z = c;
      	rc_register_device();
      
      There's no real need for the protocols to be an array, so change it
      back to be consistent (and in preparation for the following patches).
      
      [m.chehab@samsung.com: added missing changes at some files]
      Signed-off-by: NDavid Härdeman <david@hardeman.nu>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      c5540fbb
  2. 24 7月, 2014 4 次提交
  3. 22 7月, 2014 1 次提交
  4. 18 7月, 2014 3 次提交
  5. 17 7月, 2014 2 次提交
    • L
      [media] v4l: Support extending the v4l2_pix_format structure · d52e2381
      Laurent Pinchart 提交于
      The v4l2_pix_format structure has no reserved field. It is embedded in
      the v4l2_framebuffer structure which has no reserved fields either, and
      in the v4l2_format structure which has reserved fields that were not
      previously required to be zeroed out by applications.
      
      To allow extending v4l2_pix_format, inline it in the v4l2_framebuffer
      structure, and use the priv field as a magic value to indicate that the
      application has set all v4l2_pix_format extended fields and zeroed all
      reserved fields following the v4l2_pix_format field in the v4l2_format
      structure.
      
      The availability of this API extension is reported to userspace through
      the new V4L2_CAP_EXT_PIX_FORMAT capability flag. Just checking that the
      priv field is still set to the magic value at [GS]_FMT return wouldn't
      be enough, as older kernels don't zero the priv field on return.
      
      To simplify the internal API towards drivers zero the extended fields
      and set the priv field to the magic value for applications not aware of
      the extensions.
      Signed-off-by: NLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      d52e2381
    • H
      [media] v4l2-ctrls: use ptrs for all but the s32 type · 2a9ec373
      Hans Verkuil 提交于
      Rather than having two unions for all types just keep 'val' and
      'cur.val' and use the p_cur and p_new unions to access all others.
      
      The only reason for keeping 'val' and 'cur.val' is that it is used
      all over, so converting this as well would be a huge job.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      2a9ec373
  6. 05 7月, 2014 3 次提交
  7. 20 6月, 2014 1 次提交
  8. 17 6月, 2014 2 次提交
    • M
      [media] dib7000: export just one symbol · 8abe4a0a
      Mauro Carvalho Chehab 提交于
      Exporting multiple symbols don't work as it causes compilation
      breakages, due to the way dvb_attach() works.
      
      This were reported several times, like:
      
         drivers/built-in.o: In function `cxusb_dualdig4_rev2_tuner_attach':
      >> cxusb.c:(.text+0x27d4b5): undefined reference to `dib7000p_get_i2c_master'
         drivers/built-in.o: In function `dib7070_set_param_override':
         cxusb.c:(.text+0x27d5a5): undefined reference to `dib0070_wbd_offset'
      >> cxusb.c:(.text+0x27d5be): undefined reference to `dib7000p_set_wbd_ref'
         drivers/built-in.o: In function `dib7070_tuner_reset':
      >> cxusb.c:(.text+0x27d5f9): undefined reference to `dib7000p_set_gpio'
         drivers/built-in.o: In function `cxusb_dualdig4_rev2_frontend_attach':
      >> cxusb.c:(.text+0x27df5c): undefined reference to `dib7000p_i2c_enumeration'
      
      In this specific report:
      	CONFIG_DVB_USB_CXUSB=y
      	CONFIG_DVB_DIB7000P=m
      
      But the same type of bug can happen if:
      	CONFIG_DVB_DIB7000P=m
      and one of the bridge drivers is compiled builtin (cxusb, cx23885-dvb
      and/or dib0700).
      
      As a bonus, dib7000p won't be loaded anymore if the device uses
      a different frontend, reducing the memory footprint.
      
      Tested with Hauppauge Nova-TD (2 frontends).
      Reported-by: NFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      8abe4a0a
    • M
      [media] dib7000p: rename dib7000p_attach to dib7000p_init · 7f67d96a
      Mauro Carvalho Chehab 提交于
      Well, what we call as "foo_attach" is the method that should
      be called by the dvb_attach() macro.
      
      It should be noticed that the name "dvb_attach" is really a
      bad name and don't express what it does.
      
      dvb_attach() basically does three things, if the frontend is
      compiled as a module:
      - It lookups for the module that it is known to have the
        given symbol name and requests such module;
      - It increments the module usage (anonymously - so lsmod
        doesn't print who loaded the module);
      - after loading the module, it runs the function associated
        with the dynamic symbol.
      
      When compiled as builtin, it just calls the function given to it.
      
      As dvb_attach() increments refcount, it can't be (easily)
      called more than once for the same module, or the kernel
      will deny to remove the module, because refcount will never
      be zeroed.
      
      In other words, the function name given to dvb_attach()
      should be one single symbol that will always be called
      before any other function on that module to be used.
      
      For almost all DVB frontends, there's just one function.
      
      However, the dib7000p initialization can require up to 3
      functions to be called:
      	- dib7000p_get_i2c_master;
      	- dib7000p_i2c_enumeration;
      	- dib7000p_init (before this patch dib7000_attach).
      
      (plus a bunch of other functions that the bridge driver will
      need to call).
      
      As we need to get rid of all those direct calls, because they
      cause compilation breakages when bridge is builtin and
      frontend is module, we'll need to add a new function that
      will be the first one to be called, whatever initialization
      is needed.
      
      So, let's rename the function that probes and init the hardware
      to dib7000p_init.
      
      A latter patch will add a new dib7000p_attach that will be
      used as originally conceived by dvb_attach() way.
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      7f67d96a
  9. 25 5月, 2014 1 次提交
  10. 24 5月, 2014 5 次提交
  11. 23 5月, 2014 3 次提交
  12. 14 5月, 2014 8 次提交
  13. 23 4月, 2014 1 次提交
  14. 17 4月, 2014 1 次提交
    • D
      [media] bttv: Add support for PCI-8604PW · c8204930
      Daniel Glöckner 提交于
      This patch adds support for the PCI-8604PW card equipped with four 878A.
      It is unknown who the manufacturer of this card is and no drivers were
      available during development of the patch. According to images found
      online, the card is originally sold with Linux DVR software.
      
      A CPLD on the card prevents the 878A from requesting access to the
      bus until an initialization sequence has been issued via GPIOs. The
      implemented sequence uses the minimum number of GPIOs needed to
      successfully unlock bus access. As there are many more GPIOs connected
      to the CPLD, it is very likely that some of the others have an influence
      on the bus arbitration scheduling. This should be investigated further
      in case of performance issues.
      
      The tested card contains an EEPROM on one of the 878A, but it is
      completely empty (i.e. contains only 0xff), so it is not possible
      to detect the card.
      Signed-off-by: NDaniel Glöckner <daniel-gl@gmx.net>
      Tested-by: NRobert Longbottom <rongblor@googlemail.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      c8204930
  15. 29 3月, 2014 1 次提交
  16. 12 3月, 2014 3 次提交