1. 06 12月, 2009 1 次提交
    • S
      V4L/DVB (13400): firedtv: port to new firewire core · 87918334
      Stefan Richter 提交于
      The firedtv DVB driver will now work not only on top of the old ieee1394
      driver stack but also on the new firewire driver stack.
      
      Alongside to the firedtv-1394.c backend for driver binding and I/O, the
      firedtv-fw.c backend is added.  Depending on which of the two 1394
      stacks is configured, one or the other or both backends will be built
      into the firedtv driver.
      
      This has been tested with a DVB-T and a DVB-C box on x86-64 and x86-32
      together with a few different controllers (Agere FW323, a NEC chip, TI
      TSB82AA2, TSB43AB22/A, VIA VT6306).
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      87918334
  2. 24 2月, 2009 4 次提交
    • S
      firedtv: massive refactoring · 15490795
      Stefan Richter 提交于
      Combination of the following changes:
      
      Mon, 23 Feb 2009 14:21:10 +0100 (CET)
      firedtv: reinstate debug logging option
      
          Henrik Kurelid tells me that FCP debug logging (which I removed during
          cleanups) is still useful when working on driver issues together with
          end users.  So bring it back in an updated form with only 60% of the
          original code footprint.
      
          Logging can be enabled with
          # echo -1 > /sys/module/firedtv/parameters/debug
      
          1 instead of -1 enables only FCP header logging,
          2 instead of -1 enables only hexdumps of the entire FCP frames.
          0 switches logging off again.
      
      Fri, 20 Feb 2009 20:54:27 +0100 (CET)
      firedtv: build fix for INPUT=m and DVB_FIREDTV=y
      
      Thu, 19 Feb 2009 20:40:39 +0100
      firedtv: use msecs_to_jiffies
      
          Pointed out by Mauro Carvalho Chehab.
      
      Sun Feb 15 20:50:46 CET 2009
      firedtv: some more housekeeping
      
          Fix an old checkpatch warning and a new compiler warning.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: rename a file once more
      
          At the moment, about a third of avc.c is specific to FireDTVs rather
          than generic AV/C code.  Rename it to firedtv-avc.c.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: more compact channels backing store
      
          Replace struct firedtv_channel { bool active; int pid; } channel[16];
          by unsigned long channel_active; u16 channel_pid[16];.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: some simplifications
      
          c->active was unnecessarily cleared twice.
      
          Also, by marking the channel inactive before the for loop,
          the loop becomes identical with fdtv_channel_collect().
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: remove a bogus loop
      
          This loop is unnecessary because
            - only active channel[].pid's will be sent to the device,
            - when a channel is activated, its pid is set to dvbdmxfeed->pid.
      
          Perhaps the original code was there because it was initially not fully
          covered by the fdtv->demux_mutex.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: fix mutex protection
      
          fdtv_start_feed() accessed the channel list unsafely.
          Fully serialize it with itself and fdtv_stop_feed().
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: dvb demux: fix missing braces
      
          Original code was:
                  ...
                  case DMX_TS_PES_OTHER:
                          //Dirty fix to keep firesat->channel pid-list up to date
                          for(k=0;k<16;k++){
                                  if(firesat->channel[k].active == 0)
                                          firesat->channel[k].pid =
                                                  dvbdmxfeed->pid;
                                          break;
                          }
                          channel = firesat_channel_allocate(firesat);
                          break;
                  default:
                  ...
      
          Looks bogus in several respects. For now let's just add braces to the if
          because that seems to be what the author meant.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: allow build without input subsystem
      
          !CONFIG_INPUT is very unlikely on systems on which firedtv is of
          interest.  But we can easily support it.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: replace EXTRA_CFLAGS by ccflags
      
          The former are deprecated.
          The latter can depend on Kconfig variables.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: concentrate ieee1394 dependencies
      
          Move the entire interface with drivers/ieee1394 to firedtv-1394.c.
          Move 1394-independent module initialization code to firedtv-dvb.c.
      
          This prepares interfacing with drivers/firewire.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: amend Kconfig menu prompt
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: remove kernel version compatibility macro
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: combine header files
      
          avc.h and firedtv-*.h are small and currently not shared with other
          drivers, hence concatenate them all into firedtv.h.
      
      Sun Feb 15 15:33:17 CET 2009
      firedtv: misc style touch-ups
      
          Standardize on lower-case hexadecimal constants.  Adjust whitespace.
          Omit unnecessary pointer type casts and an unnecessary list head
          initialization.  Use dev_printk.
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc, ci: remove unused constants
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc: remove bitfields from read descriptor response operands
      
          Don't use bitfields in struct types of on-the-wire data.
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc: remove bitfields from DSD command operands
      
          Don't use bitfields in struct types of on-the-wire data.
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc: header file cleanup
      
          Remove unused constants and declarations.
          Move privately used constants into .c files.
      
      Wed Feb 11 21:21:04 CET 2009
      firedtv: avc: remove bitfields from FCP frame types
      
          Don't use bitfields in struct types of on-the-wire data.
      
          Also move many privately used constants from avc.h to avc.c
          and remove some unused constants.
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: avc: fix offset in avc_tuner_get_ts
      
          The parentheses were wrong.  It didn't matter though because this code
          only writes a 0 into an area which is already initialized to 0.
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: avc: reduce stack usage, remove two typedefs
      
          It is safe to share a memory buffer for command frame and response frame
          because the response data come in after the command frame was last used.
      
          Even less stack would be required if only the actual required frame size
          instead of the entire FCP register size was allocated.
      
          Also, rename the defined types AVCCmdFrm and AVCRspFrm to
          struct avc_command_frame and struct avc_response_frame.
          TODO:  Remove the bitfields in these types.
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: cmp: move code to avc
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: iso: move code to firedtv-1394
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: iso: remove unnecessary struct type definitions
      
      Sun, 18 Jan 2009 16:30:00 +0100 (CET)
      firedtv: iso: style changes and fixlets
      
          Add cleanup after failure in setup_iso_channel.
          Replace printk() by dv_err().
          Decrease indentation level in rawiso_activity_cb().
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      15490795
    • R
      firedtv: rename files, variables, functions from firesat to firedtv · a70f81c1
      Rambaldi 提交于
      Combination of the following changes:
      
      Sat, 17 Jan 2009 14:47:34 +0100
      firedtv: rename variables and functions from firesat to firedtv
      Signed-off-by: NRambaldi <Rambaldi@xs4all.nl>
      
          Additional changes by Stefan Richter:
      
          Renamed struct firedtv *firedtv to struct firedtv *fdtv and
          firedtv_foo_bar() to fdtv_foo_bar() for brevity.
      
      Sat, 17 Jan 2009 13:07:44 +0100
      firedtv: rename files from firesat to firedtv
      Signed-off-by: NRambaldi <Rambaldi@xs4all.nl>
      
          Additional changes by Stefan Richter:
      
          Name the directory "firewire" instead of "firedtv".
          Standardize on "-" instead of "_" in file names, because that's what
          drivers/firewire/ and drivers/media/dvb/dvb-usb/ use too.
          Build fix.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      a70f81c1
    • S
      firesat: copyrights, rename to firedtv, API conversions, fix remote control input · 612262a5
      Stefan Richter 提交于
      Combination of the following changes:
      
      Tue, 26 Aug 2008 00:17:30 +0200 (CEST)
      firedtv: fix remote control input
      
          and update the scancode-to-keycode mapping to a current model.  Per
          default, various media key keycodes are emitted which closely match what
          is printed on the remote.  Userland can modify the mapping by means of
          evdev ioctls.  (Not tested.)
      
          The old scancode-to-keycode mapping is left in the driver but cannot be
          modified by ioctls.  This preserves status quo for old remotes.
      
      Tue, 26 Aug 2008 00:11:28 +0200 (CEST)
      firedtv: replace tasklet by workqueue job
      
          Non-atomic context is a lot nicer to work with.
      
      Sun, 24 Aug 2008 23:30:00 +0200 (CEST)
      firedtv: move some code back to ieee1394 core
      
          Partially reverts "ieee1394: remove unused code" of Linux 2.6.25.
      
      Sun, 24 Aug 2008 23:29:30 +0200 (CEST)
      firedtv: replace semaphore by mutex
      
          firesat->avc_sem and ->demux_sem have been used exactly like a mutex.
          The only exception is the schedule_remotecontrol tasklet which did a
          down_trylock in atomic context.  This is not possible with
          mutex_trylock; however the whole remote control related code is
          non-functional anyway at the moment.  This should be fixed eventually,
          probably by turning the tasklet into a worqueue job.
      
          Convert everything else from semaphore to mutex.
      
          Also rewrite a few of the affected functions to unlock the mutex at a
          single exit point, instead of in several branches.
      
      Sun, 24 Aug 2008 23:28:45 +0200 (CEST)
      firedtv: some header cleanups
      
          Unify #ifndef/#define/#endif guards against multiple inclusion.
          Drop extern keyword from function declarations.
          Remove #include's into header files where struct declarations suffice.
      
          Remove unused ohci1394 interface and related unused ieee1394 interfaces.
      
          Add a few missing #include's and remove a few apparently obsolete ones.
          Sort them alphabetically.
      
      Sun, 24 Aug 2008 23:27:45 +0200 (CEST)
      firedtv: nicer registration message and some initialization fixes
      
          Print the correct name in dvb_register_adapter().
      
          While we are at it, replace two switch cascades by one for loop, remove
          a superfluous member of struct firesat and of two unused arguments of
          AVCIdentifySubunit(), and fix bogus kfree's in firesat_dvbdev_init().
      
      Tue, 26 Aug 2008 14:24:17 +0200 (CEST)
      firesat: rename to firedtv
      
          Suggested by Andreas Monitzer.  Besides DVB-S/-S2 receivers, the driver
          also supports DVB-C and DVB-T receivers, hence the previous project name
          is too narrow now.
      
          Not yet done:  Rename source directory, files, types, variables...
      
      Sun, 24 Aug 2008 23:26:23 +0200 (CEST)
      firesat: add missing copyright notes
      
          Reported by Andreas Monitzer and Christian Dolzer.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      612262a5
    • G
      DVB: add firesat driver · c81c8b68
      Greg Kroah-Hartman 提交于
      Original code written by Christian Dolzer <c.dolzer@digital-everywhere.com>
      
      Cleaned up by Greg.
      
      Major cleanup and reorg by Manu Abraham <manu@linuxtv.org>
      
      Additions also by Ben Backx <ben@bbackx.com>
      
      Cc: Christian Dolzer <c.dolzer@digital-everywhere.com>
      Cc: Andreas Monitzer <andy@monitzer.com>
      Cc: Manu Abraham <manu@linuxtv.org>
      Cc: Fabio De Lorenzo <delorenzo.fabio@gmail.com>
      Cc: Robert Berger <robert.berger@reliableembeddedsystems.com>
      Signed-off-by: NBen Backx <ben@bbackx.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      Added missing dependency to dvb/firesat/Kconfig,
      Reported-by: NRandy Dunlap <randy.dunlap@oracle.com>
      
      Tweaked dvb/Makefile.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      c81c8b68