1. 07 7月, 2014 11 次提交
  2. 17 6月, 2014 2 次提交
    • M
      [media] dib8000: export just one symbol · d44913c1
      Mauro Carvalho Chehab 提交于
      Exporting multiple symbols don't work as it causes compilation
      breakages, due to the way dvb_attach() works.
      
      The bug happens when:
              CONFIG_DVB_DIB8000=m
      	CONFIG_DVB_USB_DIB0700=y
      
      As a bonus, dib8000 won't be loaded anymore if the device uses
      a different frontend, reducing the memory footprint.
      
      Tested with both Pixelview PV-D231 and MyGica S870.
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      d44913c1
    • M
      [media] dib8000: rename dib8000_attach to dib8000_init · b9bc7d59
      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,
      but, on dib8000, there are several exported symbols.
      
      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 this function, in order to prepare for
      a next patch that will add a new attach() function that
      will be the only one exported by this module.
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      b9bc7d59
  3. 14 1月, 2014 2 次提交
  4. 20 12月, 2013 1 次提交
  5. 19 12月, 2013 11 次提交
  6. 10 12月, 2013 1 次提交
  7. 30 11月, 2013 1 次提交
  8. 09 6月, 2013 1 次提交
  9. 26 4月, 2013 2 次提交
    • M
      [media] dib8000: fix a warning · 13122f98
      Mauro Carvalho Chehab 提交于
      drivers/media/dvb-frontends/dib8000.c: In function 'dib8000_wait_lock':
      drivers/media/dvb-frontends/dib8000.c:3972:1: warning: 'value' may be used uninitialized in this function [-Wmaybe-uninitialized]
      drivers/media/dvb-frontends/dib8000.c:2419:6: note: 'value' was declared here
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      13122f98
    • M
      [media] dib8000: Fix sub-channel range · 746f7ae0
      Mauro Carvalho Chehab 提交于
      isdbt_sb_subchannel is unsigned with 8 bits. So, it will
      never be -1. Instead, any value bigger than 13 is invalid.
      
      As is, the current code generates the following warnings:
      
      drivers/media/dvb-frontends/dib8000.c: In function 'dib8000_set_isdbt_common_channel':
      drivers/media/dvb-frontends/dib8000.c:2358:3: warning: comparison is always true due to limited range of data type [-Wtype-limits]
      drivers/media/dvb-frontends/dib8000.c: In function 'dib8000_tune':
      drivers/media/dvb-frontends/dib8000.c:3107:8: warning: comparison is always false due to limited range of data type [-Wtype-limits]
      drivers/media/dvb-frontends/dib8000.c:3153:9: warning: comparison is always false due to limited range of data type [-Wtype-limits]
      drivers/media/dvb-frontends/dib8000.c:3160:5: warning: comparison is always false
      
      It should also be noticed that ARIB STD-B31, item
      "3.15.6.8 Number of segments" at TMCC table defines the
      value 15 for unused segment, and 14 as reserved.
      
      So, better to change the check to consider any value
      bigger than 13 to mean that sub-channels should be
      disabled, fixing the warning and doing the right thing
      even if an invalid value is filled by userspace.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      746f7ae0
  10. 25 4月, 2013 2 次提交
  11. 23 4月, 2013 1 次提交
  12. 14 8月, 2012 1 次提交
  13. 31 7月, 2012 1 次提交
  14. 05 1月, 2012 1 次提交
  15. 31 12月, 2011 2 次提交
    • M
      [media] dvb: don't require a parameter for get_frontend · 7c61d80a
      Mauro Carvalho Chehab 提交于
      Just like set_frontend, use the dvb cache properties for get_frontend.
      This is more consistent, as both functions are now symetric. Also,
      at the places get_frontend is called, it makes sense to update the
      cache.
      
      Most of this patch were generated by this small perl script:
      
      	while (<>) { $file .= $_; }
      	if ($file =~ m/\.get_frontend\s*=\s*([\d\w_]+)/) {
      		my $get = $1;
      		$file =~ s/($get)(\s*\([^\,\)]+)\,\s*struct\s+dtv_frontend_properties\s*\*\s*([_\d\w]+)\)\s*\{/\1\2)\n{\n\tstruct dtv_frontend_properties *\3 = &fe->dtv_property_cache;/g;
      	}
      	print $file;
      
      Of course, the changes at dvb_frontend.[ch] were made by hand,
      as well as the changes on a few other places, where get_frontend()
      is called internally inside the driver.
      
      On some places, get_frontend() were just a void function. Those
      occurrences were removed, as the DVB core handles such cases.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      7c61d80a
    • M
      [media] dib8000: Remove the old DVBv3 struct from it and add delsys · 490ecd63
      Mauro Carvalho Chehab 提交于
      This driver only uses the DVBv5 struct. All it needs is to remove
      the non-used params var, and to add the ISDB-T to the delivery
      systems.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      490ecd63