1. 03 Jun, 2013 4 commits
  2. 27 May, 2013 25 commits
  3. 21 May, 2013 11 commits
    • Jakob Normark's avatar
      [media] Missing break statement added in smsdvb-main.c · 250a51ca
      Jakob Normark authored
      Fix missing break that so that n_layers are not accidentally incorrect
      Kernel version: v3.10-rc1
      Signed-off-by: default avatarJakob Normark <jakobnormark@gmail.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      250a51ca
    • Mauro Carvalho Chehab's avatar
      [media] saa7115: Don't use a dynamic array · 6a084d6b
      Mauro Carvalho Chehab authored
      At least on s390, gcc complains about that:
          drivers/media/i2c/saa7115.c: In function 'saa711x_detect_chip.constprop.2':
          drivers/media/i2c/saa7115.c:1647:1: warning: 'saa711x_detect_chip.constprop.2' uses dynamic stack allocation [enabled by default]
      
      While for me the above report seems utterly bogus, as the
      compiler should be optimizing saa711x_detect_chip, merging
      it with saa711x_detect_chip and changing:
      	char chip_ver[size - 1];
      to
      	char chip_ver[16];
      
      because this function is only called on this code snippet:
      	char name[17];
      	...
      	ident = saa711x_detect_chip(client, id, name, sizeof(name));
      
      It seems that gcc is not optimizing it, at least on s390.
      
      As getting rid of it is easy, let's do it.
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      6a084d6b
    • Mauro Carvalho Chehab's avatar
      [media] videobuf-dma-contig: use vm_iomap_memory() · 2a848b2c
      Mauro Carvalho Chehab authored
      vm_iomap_memory() provides a better end user interface than
      remap_pfn_range(), as it does the needed tests before doing
      mmap.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      2a848b2c
    • Roberto Alcântara's avatar
      [media] smscoreapi: Make Siano firmware load more verbose · 4c8d558a
      Roberto Alcântara authored
      If firmware load fails, report it as an error.
      Signed-off-by: default avatarRoberto Alcantara <roberto@eletronica.org>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      4c8d558a
    • Al Viro's avatar
      [media] videobuf_vm_{open,close} race fixes · a242f426
      Al Viro authored
      just use videobuf_queue_lock(map->q) to protect map->count; vm_area_operations
      ->open() and ->close() are called just under vma->vm_mm->mmap_sem, which
      doesn't help the drivers at all, since clonal VMAs are normally in different
      address spaces...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      a242f426
    • Reinhard Nissl's avatar
      [media] stb0899: remove commented value from IQ_SWAP_ON/OFF usages · 0735647c
      Reinhard Nissl authored
      As the enum values have changed recently, the comments are void.
      Signed-off-by: default avatarReinhard Nißl <rnissl@gmx.de>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      0735647c
    • Randy Dunlap's avatar
      [media] media/usb: fix kconfig dependencies · a0f9354b
      Randy Dunlap authored
      (a.k.a. Kconfig bool depending on a tristate considered harmful)
      Fix various build errors when CONFIG_USB=m and media USB drivers
      are builtin.  In this case, CONFIG_USB_ZR364XX=y,
      CONFIG_VIDEO_PVRUSB2=y, and CONFIG_VIDEO_STK1160=y.
      This is caused by (from drivers/media/usb/Kconfig):
      menuconfig MEDIA_USB_SUPPORT
      	bool "Media USB Adapters"
      	depends on USB && MEDIA_SUPPORT
      	           =m     =y
      so MEDIA_USB_SUPPORT=y and all following Kconfig 'source' lines
      are included.  By adding an "if USB" guard around most of this file,
      the needed dependencies are enforced.
      drivers/built-in.o: In function `zr364xx_start_readpipe':
      zr364xx.c:(.text+0xc726a): undefined reference to `usb_alloc_urb'
      zr364xx.c:(.text+0xc72bb): undefined reference to `usb_submit_urb'
      drivers/built-in.o: In function `zr364xx_stop_readpipe':
      zr364xx.c:(.text+0xc72fd): undefined reference to `usb_kill_urb'
      zr364xx.c:(.text+0xc7309): undefined reference to `usb_free_urb'
      drivers/built-in.o: In function `read_pipe_completion':
      zr364xx.c:(.text+0xc7acc): undefined reference to `usb_submit_urb'
      drivers/built-in.o: In function `send_control_msg.constprop.12':
      zr364xx.c:(.text+0xc7d2f): undefined reference to `usb_control_msg'
      drivers/built-in.o: In function `pvr2_ctl_timeout':
      pvrusb2-hdw.c:(.text+0xcadb6): undefined reference to `usb_unlink_urb'
      pvrusb2-hdw.c:(.text+0xcadcb): undefined reference to `usb_unlink_urb'
      drivers/built-in.o: In function `pvr2_hdw_create':
      (.text+0xcc42c): undefined reference to `usb_alloc_urb'
      drivers/built-in.o: In function `pvr2_hdw_create':
      (.text+0xcc448): undefined reference to `usb_alloc_urb'
      drivers/built-in.o: In function `pvr2_hdw_create':
      (.text+0xcc5f9): undefined reference to `usb_set_interface'
      drivers/built-in.o: In function `pvr2_hdw_create':
      (.text+0xcc65a): undefined reference to `usb_free_urb'
      drivers/built-in.o: In function `pvr2_hdw_create':
      (.text+0xcc666): undefined reference to `usb_free_urb'
      drivers/built-in.o: In function `pvr2_send_request_ex.part.22':
      pvrusb2-hdw.c:(.text+0xccbe3): undefined reference to `usb_submit_urb'
      pvrusb2-hdw.c:(.text+0xccc83): undefined reference to `usb_submit_urb'
      drivers/built-in.o: In function `pvr2_hdw_remove_usb_stuff.part.25':
      pvrusb2-hdw.c:(.text+0xcd3f9): undefined reference to `usb_kill_urb'
      pvrusb2-hdw.c:(.text+0xcd405): undefined reference to `usb_free_urb'
      pvrusb2-hdw.c:(.text+0xcd421): undefined reference to `usb_kill_urb'
      pvrusb2-hdw.c:(.text+0xcd42d): undefined reference to `usb_free_urb'
      drivers/built-in.o: In function `pvr2_hdw_device_reset':
      (.text+0xcd658): undefined reference to `usb_lock_device_for_reset'
      drivers/built-in.o: In function `pvr2_hdw_device_reset':
      (.text+0xcd664): undefined reference to `usb_reset_device'
      drivers/built-in.o: In function `pvr2_hdw_cpureset_assert':
      (.text+0xcd6f9): undefined reference to `usb_control_msg'
      drivers/built-in.o: In function `pvr2_hdw_cpufw_set_enabled':
      (.text+0xcd84e): undefined reference to `usb_control_msg'
      drivers/built-in.o: In function `pvr2_upload_firmware1':
      pvrusb2-hdw.c:(.text+0xcda47): undefined reference to `usb_clear_halt'
      pvrusb2-hdw.c:(.text+0xcdb04): undefined reference to `usb_control_msg'
      drivers/built-in.o: In function `pvr2_upload_firmware2':
      (.text+0xce7dc): undefined reference to `usb_bulk_msg'
      drivers/built-in.o: In function `pvr2_stream_buffer_count':
      pvrusb2-io.c:(.text+0xd2e05): undefined reference to `usb_alloc_urb'
      pvrusb2-io.c:(.text+0xd2e5b): undefined reference to `usb_kill_urb'
      pvrusb2-io.c:(.text+0xd2e9f): undefined reference to `usb_free_urb'
      drivers/built-in.o: In function `pvr2_stream_internal_flush':
      pvrusb2-io.c:(.text+0xd2f9b): undefined reference to `usb_kill_urb'
      drivers/built-in.o: In function `pvr2_buffer_queue':
      (.text+0xd3328): undefined reference to `usb_kill_urb'
      drivers/built-in.o: In function `pvr2_buffer_queue':
      (.text+0xd33ea): undefined reference to `usb_submit_urb'
      drivers/built-in.o: In function `stk1160_read_reg':
      (.text+0xd3efa): undefined reference to `usb_control_msg'
      drivers/built-in.o: In function `stk1160_write_reg':
      (.text+0xd3f4f): undefined reference to `usb_control_msg'
      drivers/built-in.o: In function `stop_streaming':
      stk1160-v4l.c:(.text+0xd4997): undefined reference to `usb_set_interface'
      drivers/built-in.o: In function `start_streaming':
      stk1160-v4l.c:(.text+0xd4a9f): undefined reference to `usb_set_interface'
      stk1160-v4l.c:(.text+0xd4afa): undefined reference to `usb_submit_urb'
      stk1160-v4l.c:(.text+0xd4ba3): undefined reference to `usb_set_interface'
      drivers/built-in.o: In function `stk1160_isoc_irq':
      stk1160-video.c:(.text+0xd509b): undefined reference to `usb_submit_urb'
      drivers/built-in.o: In function `stk1160_cancel_isoc':
      (.text+0xd50ef): undefined reference to `usb_kill_urb'
      drivers/built-in.o: In function `stk1160_free_isoc':
      (.text+0xd5155): undefined reference to `usb_free_coherent'
      drivers/built-in.o: In function `stk1160_free_isoc':
      (.text+0xd515d): undefined reference to `usb_free_urb'
      drivers/built-in.o: In function `stk1160_alloc_isoc':
      (.text+0xd5278): undefined reference to `usb_alloc_urb'
      drivers/built-in.o: In function `stk1160_alloc_isoc':
      (.text+0xd52c2): undefined reference to `usb_alloc_coherent'
      drivers/built-in.o: In function `stk1160_alloc_isoc':
      (.text+0xd53c4): undefined reference to `usb_free_urb'
      drivers/built-in.o: In function `zr364xx_driver_init':
      zr364xx.c:(.init.text+0x463e): undefined reference to `usb_register_driver'
      drivers/built-in.o: In function `pvr_init':
      pvrusb2-main.c:(.init.text+0x4662): undefined reference to `usb_register_driver'
      drivers/built-in.o: In function `stk1160_usb_driver_init':
      stk1160-core.c:(.init.text+0x467d): undefined reference to `usb_register_driver'
      drivers/built-in.o: In function `zr364xx_driver_exit':
      zr364xx.c:(.exit.text+0x1377): undefined reference to `usb_deregister'
      drivers/built-in.o: In function `pvr_exit':
      pvrusb2-main.c:(.exit.text+0x1389): undefined reference to `usb_deregister'
      drivers/built-in.o: In function `stk1160_usb_driver_exit':
      stk1160-core.c:(.exit.text+0x13a0): undefined reference to `usb_deregister'
      Suggested-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      a0f9354b
    • Jon Arne Jørgensen's avatar
      [media] saa7115: Add register setup and config for gm7113c · 241d89fc
      Jon Arne Jørgensen authored
      The gm7113c chip is similar to the original saa7113 chip, so I try to
      re-use most of the saa7113 specific setup-/configuration registers.
      According to the datasheet, the gm7113c chip has not implemented
      any register-addresses after 0x1f, so I add a new entry to for the chip
      to the saa711x_has_reg function.
      The devices I've seen using this chip will fail to get stable video-sync
      if these registers are not zeroed:
      	R_14_ANAL_ADC_COMPAT_CNTL
      	R_15_VGATE_START_FID_CHG
      	R_16_VGATE_STOP
      	R_17_MISC_VGATE_CONF_AND_MSB
      The saa711x_set_v4lstd is updated to send a simpler configuration-table
      to avoid setting these registers.
      Signed-off-by: default avatarJon Arne Jørgensen <jonarne@jonarne.no>
      Tested-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      241d89fc
    • Mauro Carvalho Chehab's avatar
      [media] saa7115: add detection code for gm7113c · b11460b0
      Mauro Carvalho Chehab authored
      Adds a code that (auto)detects gm7113c clones. The auto-detection
      here is not perfect, as, on contrary to what it would be expected
      by looking into its datasheets some devices would return, instead:
      	saa7115 0-0025: chip 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 @ 0x4a is unknown
      (found on a device labeled as GM7113C 1145 by Ezequiel Garcia)
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      Tested-by: default avatarJon Arne Jørgensen <jonarne@jonarne.no>
      Tested-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      b11460b0
    • Mauro Carvalho Chehab's avatar
      [media] saa7115: move the autodetection code out of the probe function · e090901e
      Mauro Carvalho Chehab authored
      As we're now seeing other variants from chinese clones, like
      gm1113c, we'll need to add more bits at the detection code.
      So, move it into a separate function.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      Tested-by: default avatarJon Arne Jørgensen <jonarne@jonarne.no>
      Tested-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      e090901e
    • Alexey Khoroshilov's avatar
      [media] wl128x: do not call copy_to_user() while holding spinlocks · 5255e4d9
      Alexey Khoroshilov authored
      copy_to_user() must not be called with spinlocks held, but it is in
      fmc_transfer_rds_from_internal_buff().
      The patch copies data to tmpbuf, releases spinlock and then passes it to userspace.
      By the way there is a small unification: replace a couple of hardcoded constants by a macro.
      Found by Linux Driver Verification project (linuxtesting.org).
      Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      5255e4d9