1. 06 Jul, 2012 30 commits
  2. 05 Jul, 2012 10 commits
    • Ezequiel García's avatar
      [media] staging: solo6x10: Fix TODO file with proper maintainer · 7985a90d
      Ezequiel García authored
      Mauro Carvalho Chehab is the current maintainer of staging/media.
      Signed-off-by: default avatarEzequiel Garcia <elezegarcia@gmail.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      7985a90d
    • Mauro Carvalho Chehab's avatar
      [media] media: only show V4L devices based on device type selection · 724f4a32
      Mauro Carvalho Chehab authored
      After this patch, the MEDIA*_SUPPORT will be used as a filter,
      exposing only devices that are pertinent to one of the 3
      V4L types: webcam/grabber, radio, analog TV.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      724f4a32
    • Mauro Carvalho Chehab's avatar
      [media] media: Remove VIDEO_MEDIA Kconfig option · 8cfd9dcc
      Mauro Carvalho Chehab authored
      In the past, it was possible to have either DVB or V4L2 core
      as module and the other as builtin. Such config never make much
      sense, and created several issues in order to make the Kconfig
      dependency to work, as all drivers that depend on both (most
      TV drivers) would need to be compiled as 'm'. Due to that,
      the VIDEO_MEDIA config option were added.
      
      Instead of such weird approach, let's just use the MEDIA_SUPPORT
      =y or =m to select if the media subsystem core will be either
      builtin or module, simplifying the building system logic.
      
      Also, fix the tuners configuration, by enabling them only if
      a tuner is required. So, if just webcam/grabbers support is
      selected, no tuner option will be selected. Also, if only digital
      TV is selected, no analog tuner support is selected.
      
      That removes the need of using EXPERT customise options, when
      analog TV is not selected.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      8cfd9dcc
    • Mauro Carvalho Chehab's avatar
      [media] media: reorganize the main Kconfig items · b4c184e5
      Mauro Carvalho Chehab authored
      Change the main items to:
      
      <m> Multimedia support  --->
         [ ]   Cameras/video grabbers support
         [ ]   Analog TV support
         [ ]   Digital TV support
         [ ]   AM/FM radio receivers/transmitters support
         [ ]   Remote Controller support
      
      This provides an interface that is clearer to end users that
      are compiling the Kernel, and will allow the building system
      to automatically unselect drivers for unused functions.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      b4c184e5
    • Mauro Carvalho Chehab's avatar
      [media] videobuf-core.h: remove input fields · 31361fc4
      Mauro Carvalho Chehab authored
      Now that the input fields got removed from the userspace API,
      there's no sense to keep there at the VB struct. Remove it.
      
      Cc: Sakari Ailus <sakari.ailus@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      31361fc4
    • Sakari Ailus's avatar
      [media] v4l: drop v4l2_buffer.input and V4L2_BUF_FLAG_INPUT · 2b719d7b
      Sakari Ailus authored
      Remove input field in struct v4l2_buffer and flag V4L2_BUF_FLAG_INPUT which
      tells the former is valid. The flag is used by no driver currently.
      
      Also change the documentation accordingly.
      Signed-off-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      2b719d7b
    • Mauro Carvalho Chehab's avatar
      [media] xc5000: Add support for DMB-TH and ISDB-T · 5cf73ce1
      Mauro Carvalho Chehab authored
      xc5000 is just a tuner, not a decoder, so both DMB-TH and ISDB-T should
      work properly there: it is just a matter of teaching the driver what
      saw filter should be used and how to calculate the center frequency.
      Requested-by: default avatarChoi Wing Chan <chanchoiwing@gmail.com>
      Cc: Steven Toth <stoth@linuxtv.org>
      Cc: Devin Heitmueller <dheitmueller@kernellabs.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      5cf73ce1
    • Dmitry Lifshitz's avatar
      [media] tvp5150: fix kernel crash if chip is unavailable · 8cd0d4ca
      Dmitry Lifshitz authored
      tvp5150 driver probe function doesn't check if the chip is present.
      Thus the driver can be loaded without having a device.
      This is dangerous and can cause kernel crash like this:
      
      Kernel BUG at c03c0964 [verbose debug info unavailable]
      Internal error: Oops - BUG: 0 [#1] PREEMPT ARM
      Modules linked in:
      CPU: 0    Tainted: G        W     (3.4.0-cm-t3730+ #2)
      PC is at media_entity_create_link+0xe4/0xf4
      LR is at isp_register_entities+0x228/0x2f4
      pc : [<c03c0964>]    lr : [<c03f3b30>]    psr: 60000013
      sp : cf02de50  ip : 00000000  fp : c079405c
      r10: 00000000  r9 : 00000000  r8 : cf33c800
      r7 : c0794834  r6 : 00000000  r5 : 00000000  r4 : cf365b48
      r3 : 00000000  r2 : cf365b48  r1 : 00000000  r0 : cf33c800
      Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c5387d  Table: 80004019  DAC: 00000015
      Process swapper (pid: 1, stack limit = 0xcf02c2f0)
      Stack: (0xcf02de50 to 0xcf02e000)
      de40:                                     cf360000 cf366f28 cf366218 c0794834
      de60: cf365b48 00000000 cf33c800 c03f3b30 00000000 00000000 cf360890 cf3668a0
      de80: 00000003 cf360000 c0785a58 00000000 cf360528 00000000 00000000 00003fff
      dea0: cf360500 c03f4cdc c06cc1f4 cf360000 c0785a58 c0d27808 c07d55ec c0785a58
      dec0: c031f0e0 c07d55ec c0776900 000000bb 00000000 c032040c c03203f4 c031ef0c
      dee0: c0785a58 c07d55ec c0785a8c c031f0e0 c075e670 c031f0c8 cf02deb8 c0785a58
      df00: c07d55ec c031f174 c07d55ec 00000000 cf02df18 c031d7a0 cf01d4a8 cf068b10
      df20: 00000000 c07d55ec c07c74d0 cf34bcc0 00000000 c031ded8 c0672340 c054cd38
      df40: 00000000 c07e68c0 c07d55ec 00000000 00000000 c075e670 c0776900 000000bb
      df60: 00000000 c031f770 c07e68c0 00000007 c07e68c0 00000000 c075e670 c0008790
      df80: 000000bb 00000006 00000006 c066e650 cf02dfa4 c07689b8 c07689b8 00000007
      dfa0: c07e68c0 c073f2e8 c07689c0 000000bb 00000000 c073f2bc 00000006 00000006
      dfc0: c073f2e8 00000000 c077649c c077649c c00150cc 00000013 00000000 00000000
      dfe0: 00000000 c073f3cc cf02dfe8 00000000 c073f368 c00150cc 00000000 00000000
      [<c03c0964>] (media_entity_create_link+0xe4/0xf4) from [<c03f3b30>] (isp_register_entities+0x228/0x2f4)
      [<c03f3b30>] (isp_register_entities+0x228/0x2f4) from [<c03f4cdc>] (isp_probe+0x7ac/0x9b8)
      [<c03f4cdc>] (isp_probe+0x7ac/0x9b8) from [<c032040c>] (platform_drv_probe+0x18/0x1c)
      [<c032040c>] (platform_drv_probe+0x18/0x1c) from [<c031ef0c>] (really_probe+0x64/0x1d8)
      [<c031ef0c>] (really_probe+0x64/0x1d8) from [<c031f0c8>] (driver_probe_device+0x48/0x60)
      [<c031f0c8>] (driver_probe_device+0x48/0x60) from [<c031f174>] (__driver_attach+0x94/0x98)
      [<c031f174>] (__driver_attach+0x94/0x98) from [<c031d7a0>] (bus_for_each_dev+0x54/0x80)
      [<c031d7a0>] (bus_for_each_dev+0x54/0x80) from [<c031ded8>] (bus_add_driver+0xac/0x2a8)
      [<c031ded8>] (bus_add_driver+0xac/0x2a8) from [<c031f770>] (driver_register+0x78/0x180)
      [<c031f770>] (driver_register+0x78/0x180) from [<c0008790>] (do_one_initcall+0x34/0x184)
      [<c0008790>] (do_one_initcall+0x34/0x184) from [<c073f2bc>] (do_basic_setup+0x9c/0xc8)
      [<c073f2bc>] (do_basic_setup+0x9c/0xc8) from [<c073f3cc>] (kernel_init+0x64/0xec)
      [<c073f3cc>] (kernel_init+0x64/0xec) from [<c00150cc>] (kernel_thread_exit+0x0/0x8)
      Code: e1c812b6 e8bd87f0 e7f001f2 eafffffe (e7f001f2)
      
      ---[ end trace 3ed3c618b26ff3e8 ]---
      Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
      
      This patch fixes the tvp5150_read() function to return an error in case
      the I2C transaction fails.
      tvp5150_probe() and other relevant driver callbacks changed to check the
      status of the I2C read operations.
      In case of a read error throw an error message with v4l2_err()
      instead of v4l2_dbg().
      
      [mchehab@redhat.com: Fix a small typo breaking compilation]
      Signed-off-by: default avatarDmitry Lifshitz <lifshitz@compulab.co.il>
      Signed-off-by: default avatarIgor Grinberg <grinberg@compulab.co.il>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      8cd0d4ca
    • Tomasz Moń's avatar
      [media] v4l: mem2mem_testdev: Add horizontal and vertical flip · 80072871
      Tomasz Moń authored
      Add horizontal and vertical flip to the mem2mem_testdev driver.
      Flip modes can be enabled either separately or simultaneously.
      Signed-off-by: default avatarTomasz Moń <desowin@gmail.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      80072871
    • Peter Meerwald's avatar