1. 17 4月, 2014 1 次提交
  2. 07 4月, 2014 1 次提交
  3. 06 4月, 2014 1 次提交
  4. 25 3月, 2014 1 次提交
    • A
      [media] e4000: make VIDEO_V4L2 dependency optional · 320c6387
      Antti Palosaari 提交于
      That tuner driver is mainly for DVB API, but there is some V4L2 API
      controls for SDR usage. Make driver compile conditional so that V4L2
      is not mandatory. Without the V4L2 support driver is build as a DVB
      only, without SDR controls.
      
      Fixes following errors reported by kbuild test robot:
      ERROR: "v4l2_ctrl_auto_cluster" [drivers/media/tuners/e4000.ko] undefined!
      ERROR: "v4l2_ctrl_new_std" [drivers/media/tuners/e4000.ko] undefined!
      ERROR: "v4l2_ctrl_handler_init_class" [drivers/media/tuners/e4000.ko] undefined!
      ERROR: "v4l2_ctrl_handler_free" [drivers/media/tuners/e4000.ko] undefined!
      Reported-by: Nkbuild test robot <fengguang.wu@intel.com>
      Cc: Hans Verkuil <hverkuil@xs4all.nl>
      Signed-off-by: NAntti Palosaari <crope@iki.fi>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      320c6387
  5. 15 3月, 2014 1 次提交
  6. 14 3月, 2014 7 次提交
  7. 06 3月, 2014 1 次提交
    • A
      [media] xc2028: silence compiler warnings · 96a5b3a8
      Antti Palosaari 提交于
      There is now new tuner types which are not handled on that switch-case.
      Print error if unknown tuner type is meet.
      
      drivers/media/tuners/tuner-xc2028.c: In function ‘generic_set_freq’:
      drivers/media/tuners/tuner-xc2028.c:1037:2: warning: enumeration value ‘V4L2_TUNER_ADC’ not handled in switch [-Wswitch]
        switch (new_type) {
        ^
      drivers/media/tuners/tuner-xc2028.c:1037:2: warning: enumeration value ‘V4L2_TUNER_RF’ not handled in switch [-Wswitch]
      
      Cc: Mauro Carvalho Chehab <m.chehab@samsung.com>
      Signed-off-by: NAntti Palosaari <crope@iki.fi>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      96a5b3a8
  8. 05 3月, 2014 1 次提交
  9. 07 2月, 2014 1 次提交
  10. 10 1月, 2014 2 次提交
    • M
      [media] tuner-xc2028: Don't read status if device is powered down · 2276bf70
      Mauro Carvalho Chehab 提交于
      That removes those timeout errors:
      
      [ 3675.930940] xc2028 19-0061: Device is Xceive 3028 version 1.0, firmware version 2.7
      [ 3676.060487] xc2028 19-0061: divisor= 00 00 8d d0 (freq=567.250)
      [ 3676.349449] xc2028 19-0061: Putting xc2028/3028 into poweroff mode.
      [ 3698.247645] xc2028 19-0061: xc2028_get_reg 0002 called
      [ 3698.253276] em2860 #0: I2C transfer timeout on writing to addr 0xc2
      [ 3698.253301] xc2028 19-0061: i2c input error: rc = -121 (should be 2)
      [ 3698.253327] xc2028 19-0061: xc2028_signal called
      [ 3698.253339] xc2028 19-0061: xc2028_get_reg 0002 called
      [ 3698.259283] em2860 #0: I2C transfer timeout on writing to addr 0xc2
      [ 3698.259312] xc2028 19-0061: i2c input error: rc = -121 (should be 2)
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      2276bf70
    • M
      [media] tuner-xc2028: Don't try to sleep twice · ebf044f4
      Mauro Carvalho Chehab 提交于
      Only send a power down command for the device if it is not already
      in power down state. That prevents a timeout when trying to talk
      with the device.
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      ebf044f4
  11. 07 1月, 2014 1 次提交
  12. 05 1月, 2014 1 次提交
  13. 19 12月, 2013 5 次提交
  14. 10 12月, 2013 1 次提交
  15. 30 11月, 2013 1 次提交
  16. 08 11月, 2013 3 次提交
    • M
      [media] tuner-xc2028: Don't use dynamic static allocation · 56ac0337
      Mauro Carvalho Chehab 提交于
      Dynamic static allocation is evil, as Kernel stack is too low, and
      compilation complains about it on some archs:
      	drivers/media/tuners/tuner-xc2028.c:651:1: warning: 'load_firmware' uses dynamic stack allocation [enabled by default]
      Instead, let's enforce a limit for the buffer.
      In the specific case of this driver, the maximum limit is 80, used only
      on tm6000 driver. This limit is due to the size of the USB control URBs.
      Ok, it would be theoretically possible to use a bigger size on PCI
      devices, but the firmware load time is already good enough. Anyway,
      if some usage requires more, it is just a matter of also increasing
      the buffer size at load_firmware().
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      Reviewed-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      56ac0337
    • M
      [media] tuners: Don't use dynamic static allocation · f1baab87
      Mauro Carvalho Chehab 提交于
      Dynamic static allocation is evil, as Kernel stack is too low, and
      compilation complains about it on some archs:
      	drivers/media/tuners/e4000.c:50:1: warning: 'e4000_wr_regs' uses dynamic stack allocation [enabled by default]
      	drivers/media/tuners/e4000.c:83:1: warning: 'e4000_rd_regs' uses dynamic stack allocation [enabled by default]
      	drivers/media/tuners/fc2580.c:66:1: warning: 'fc2580_wr_regs.constprop.1' uses dynamic stack allocation [enabled by default]
      	drivers/media/tuners/fc2580.c:98:1: warning: 'fc2580_rd_regs.constprop.0' uses dynamic stack allocation [enabled by default]
      	drivers/media/tuners/tda18212.c:57:1: warning: 'tda18212_wr_regs' uses dynamic stack allocation [enabled by default]
      	drivers/media/tuners/tda18212.c:90:1: warning: 'tda18212_rd_regs.constprop.0' uses dynamic stack allocation [enabled by default]
      	drivers/media/tuners/tda18218.c:60:1: warning: 'tda18218_wr_regs' uses dynamic stack allocation [enabled by default]
      	drivers/media/tuners/tda18218.c:92:1: warning: 'tda18218_rd_regs.constprop.0' uses dynamic stack allocation [enabled by default]
      Instead, let's enforce a limit for the buffer. Considering that I2C
      transfers are generally limited, and that devices used on USB has a
      max data length of 64 bytes for	the control URBs.
      So, it seem safe to use 64 bytes as the hard limit for all those devices.
       On most cases, the limit is a way lower than that, but	this limit
      is small enough to not affect the Kernel stack, and it is a no brain
      limit, as using smaller ones would require to either carefully each
      driver or to take a look on each datasheet.
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      Reviewed-by: NHans Verkuil <hans.verkuil@cisco.com>
      Reviewed-by: NAntti Palosaari <crope@iki.fi>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      f1baab87
    • M
      [media] tda9887: remove an warning when compiling for alpha · 408679cd
      Mauro Carvalho Chehab 提交于
      There's no need to zero the buffer, as if the routine gets an error,
      rc will be different than one.
      That fixes the following warning:
      	drivers/media/tuners/tda9887.c: In function 'tda9887_status':
      	drivers/media/tuners/tda9887.c:539:2: warning: value computed is not used [-Wunused-value]
      While here, make fix the CodingStyle on this function.
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      Reviewed-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      408679cd
  17. 31 10月, 2013 1 次提交
    • A
      [media] r820t: add support for R828D · 7315b933
      Antti Palosaari 提交于
      Small changes in order to support tuner version R828D @ 16 MHz clock.
      There was 'vco_fine_tune' check, which seems to adjust synthesizer
      output divider (mixer dix / LO div / Rout) by one. R828D seems to
      return vco_fine_tune=1 every time and that condition causes tuning
      fail as output divider was increased by one.
      Resolve problem by skipping whole condition in case of R828D tuner.
      Just to mention, other tuner, R820T, seems to return 2 here.
      Synthesizer maximum frequency check was hard coded to check synthesizer N
      and thus worked correctly only for clock frequencies around 30 MHz.
      As whole test is quite useless in any case, I removed it totally.
      Signed-off-by: NAntti Palosaari <crope@iki.fi>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      7315b933
  18. 15 10月, 2013 1 次提交
  19. 02 10月, 2013 1 次提交
  20. 25 9月, 2013 1 次提交
  21. 18 8月, 2013 4 次提交
  22. 20 6月, 2013 1 次提交
    • M
      [media] Fix build when drivers are builtin and frontend modules · bb69ee27
      Mauro Carvalho Chehab 提交于
      There are a large number of reports that the media build is
      not compiling when some drivers are compiled as builtin, while
      the needed frontends are compiled as module.
      
      On the last one of such reports:
      	From: kbuild test robot <fengguang.wu@intel.com>
      	Subject: saa7134-dvb.c:undefined reference to `zl10039_attach'
      
      The .config file has:
      
      	CONFIG_VIDEO_SAA7134=y
      	CONFIG_VIDEO_SAA7134_DVB=y
      	# CONFIG_MEDIA_ATTACH is not set
      	CONFIG_DVB_ZL10039=m
      
      And it produces all those errors:
      
         drivers/built-in.o: In function `set_type':
         tuner-core.c:(.text+0x2f263e): undefined reference to `tea5767_attach'
         tuner-core.c:(.text+0x2f273e): undefined reference to `tda9887_attach'
         drivers/built-in.o: In function `tuner_probe':
         tuner-core.c:(.text+0x2f2d20): undefined reference to `tea5767_autodetection'
         drivers/built-in.o: In function `av7110_attach':
         av7110.c:(.text+0x330bda): undefined reference to `ves1x93_attach'
         av7110.c:(.text+0x330bf7): undefined reference to `stv0299_attach'
         av7110.c:(.text+0x330c63): undefined reference to `tda8083_attach'
         av7110.c:(.text+0x330d09): undefined reference to `ves1x93_attach'
         av7110.c:(.text+0x330d33): undefined reference to `tda8083_attach'
         av7110.c:(.text+0x330d5d): undefined reference to `stv0297_attach'
         av7110.c:(.text+0x330dbe): undefined reference to `stv0299_attach'
         drivers/built-in.o: In function `tuner_attach_dtt7520x':
         ngene-cards.c:(.text+0x3381cb): undefined reference to `dvb_pll_attach'
         drivers/built-in.o: In function `demod_attach_lg330x':
         ngene-cards.c:(.text+0x33828a): undefined reference to `lgdt330x_attach'
         drivers/built-in.o: In function `demod_attach_stv0900':
         ngene-cards.c:(.text+0x3383d5): undefined reference to `stv090x_attach'
         drivers/built-in.o: In function `cineS2_probe':
         ngene-cards.c:(.text+0x338b7f): undefined reference to `drxk_attach'
         drivers/built-in.o: In function `configure_tda827x_fe':
         saa7134-dvb.c:(.text+0x346ae7): undefined reference to `tda10046_attach'
         drivers/built-in.o: In function `dvb_init':
         saa7134-dvb.c:(.text+0x347283): undefined reference to `mt352_attach'
         saa7134-dvb.c:(.text+0x3472cd): undefined reference to `mt352_attach'
         saa7134-dvb.c:(.text+0x34731c): undefined reference to `tda10046_attach'
         saa7134-dvb.c:(.text+0x34733c): undefined reference to `tda10046_attach'
         saa7134-dvb.c:(.text+0x34735c): undefined reference to `tda10046_attach'
         saa7134-dvb.c:(.text+0x347378): undefined reference to `tda10046_attach'
         saa7134-dvb.c:(.text+0x3473db): undefined reference to `tda10046_attach'
         drivers/built-in.o:saa7134-dvb.c:(.text+0x347502): more undefined references to `tda10046_attach' follow
         drivers/built-in.o: In function `dvb_init':
         saa7134-dvb.c:(.text+0x347812): undefined reference to `mt352_attach'
         saa7134-dvb.c:(.text+0x347951): undefined reference to `mt312_attach'
         saa7134-dvb.c:(.text+0x3479a9): undefined reference to `mt312_attach'
      >> saa7134-dvb.c:(.text+0x3479c1): undefined reference to `zl10039_attach'
      
      This is happening because a builtin module can't use directly a symbol
      found on a module. By enabling CONFIG_MEDIA_ATTACH, the configuration
      becomes valid, as dvb_attach() macro loads the module if needed, making
      the symbol available to the builtin module.
      
      While this bug started to appear after the patches that use IS_DEFINED
      macro (like changeset 7b34be71), this
      bug is a way ancient than that.
      
      The thing is that, before the IS_DEFINED() patches, the logic used to be:
      
             && defined(MODULE))
      struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe,
      					u8 i2c_addr,
      					struct i2c_adapter *i2c);
      static inline struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe,
      					u8 i2c_addr,
      					struct i2c_adapter *i2c)
      {
      	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
      	return NULL;
      }
      
      The above code, with the .config file used, was evoluting to FALSE
      (instead of TRUE as it should be, as CONFIG_DVB_ZL10039 is 'm'),
      and were adding the static inline code at saa7134-dvb, instead
      of the external call. So, while it weren't producing any compilation
      error, the code weren't working either.
      
      So, as the overhead for using CONFIG_MEDIA_ATTACH is minimal, just
      enable it, if MODULES is defined.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      bb69ee27
  23. 19 6月, 2013 2 次提交