1. 20 Mar, 2012 28 commits
  2. 19 Mar, 2012 12 commits
    • Malcolm Priestley's avatar
      [media] m88rs2000 ver 1.13 Correct deseqc and tuner gain functions · 593a2ce0
      Malcolm Priestley authored
      Remove incorrect SEC_MINI_B settings-TODO complete this section.
      
      Correct break and remove return -EINVAL within set tone. It appears
      there is a bug that occasionally something other than ON/OFF is
      sent stalling the driver. Just continue and write back registers.
      
      Set register b2 in setup. This is the set voltage pin which
      isn't used in lmedm04 driver but it is always set to 0x1.
      
      Correct the if statements in set_tuner_rf.
      Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      593a2ce0
    • Antti Palosaari's avatar
      [media] af9015: fix i2c failures for dual-tuner devices - part 2 · 6d535bd8
      Antti Palosaari authored
      Some changes for previous patch I liked to do.
      Just move tuner init and sleep to own functions from the demod
      init and sleep functions.  Functionality remains still almost the same.
      Signed-off-by: default avatarAntti Palosaari <crope@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      6d535bd8
    • Gordon Hecker's avatar
      [media] af9015: fix i2c failures for dual-tuner devices · be4a5e7f
      Gordon Hecker authored
      The i2c failures were caused by enabling both i2c gates
      at the same time while putting the tuners asleep.
      
      This patch removes the init() and sleep() callbacks from the tuner,
      to prevent frontend.c from calling
        i2c_gate_ctrl
        tuner init / sleep
        i2c_gate_ctrl
      without holding the lock.
      tuner init() and sleep() are instead called in frontend init() and
      sleep().
      Signed-off-by: default avatarGordon Hecker <ghecker@gmx.de>
      Signed-off-by: default avatarAntti Palosaari <crope@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      be4a5e7f
    • Jean Delvare's avatar
      [media] dib0700: Fix memory leak during initialization · d3db22e1
      Jean Delvare authored
      Reported by kmemleak.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Devin Heitmueller <dheitmueller@kernellabs.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      d3db22e1
    • Jean Delvare's avatar
      [media] dib0700: Drop useless check when remote key is pressed · 3ef76759
      Jean Delvare authored
      struct dvb_usb_device *d can never be NULL so don't waste time
      checking for this.
      
      Rationale: the urb's context is set when usb_fill_bulk_urb() is called
      in dib0700_rc_setup(), and never changes after that. d is dereferenced
      unconditionally in dib0700_rc_setup() so it can't be NULL or the
      driver would crash right away.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Devin Heitmueller <dheitmueller@kernellabs.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      3ef76759
    • Ezequiel García's avatar
      [media] media: em28xx: Paranoic stack save · 401a582f
      Ezequiel García authored
      This patch saves 255 bytes of stack on usb_probe() by removing
      a char array. In some platforms this is represents a substantial save.
      Signed-off-by: default avatarEzequiel Garcia <elezegarcia@gmail.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      401a582f
    • Michael Krufky's avatar
      [media] au8522: bug-fix: enable modulation AFTER tune (instead of before tuning) · ef3d2dc3
      Michael Krufky authored
      The au8522 driver programs the tuner after programming the demodulator,
      but the tuner should be programmed first. This patch fixes this behavior.
      
      EDIT: Apparantly Devin created a similar patch some time ago, but hasn't
      submitted it for merge.  I never saw his patch, but I thank him anyhow
      for his efforts.  In addition, Devin pointed out a flaw in my patch:
      
      This newly generated patch takes Devin's comments into account.
      
      Thanks-to: Devin Heitmueller <dheitmueller@kernellabs.com>
      Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
      Cc: stable@kernel.org
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      ef3d2dc3
    • Jarod Wilson's avatar
      [media] mceusb: add Formosa device ID 0xe042 · 22f1732f
      Jarod Wilson authored
      Yet another device ID that has started showing up in the wild.
      Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      22f1732f
    • Laurent Pinchart's avatar
      [media] media: Initialize the media core with subsys_initcall() · ff732d28
      Laurent Pinchart authored
      Media-related drivers living outside drivers/media/ (such as the UVC
      gadget driver in drivers/usb/gadget/) rely on the media core being
      initialized before they're probed. As drivers/usb/ is linked before
      drivers/media/, this is currently not the case and will lead to crashes
      if the drivers are not compiled as modules.
      
      Register media_devnode_init() as a subsys_initcall() instead of
      module_init() to fix this.
      Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Acked-by: default avatarBhupesh Sharma <bhupesh.sharma@st.com>
      Acked-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
      Tested-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      ff732d28
    • Bhupesh Sharma's avatar
      [media] V4L/v4l2-dev: Make 'videodev_init' as a subsys initcall · ee981c6f
      Bhupesh Sharma authored
      As the V4L2 based UVC webcam gadget (g_webcam) expects the
      'videodev' to present when the 'webcam_bind' routine is called,
      so 'videodev' should be available as early as possible.
      
      Now, when 'g_webcam' is built as a module (i.e. not a part of
      kernel) the late availability of 'videodev' is OK, but if
      'g_webcam' is built statically as a part of the kernel,
      the kernel crashes (a sample crash dump using Designware 2.0 UDC
      is provided below).
      
      To solve the same, this patch makes 'videodev_init' as a subsys initcall.
      
      Kernel Crash Dump:
      
      ------------------
      
      designware_udc designware_udc: Device Synopsys UDC probed csr 90810000: plug 90812000
      g_webcam gadget: uvc_function_bind
      Unable to handle kernel NULL pointer dereference at virtual address 000000e4
      pgd = 80004000
      [000000e4] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP
      Modules linked in:
      CPU: 0    Not tainted  (3.3.0-rc3-13888-ge774c03-dirty #20)
      PC is at do_raw_spin_lock+0x10/0x16c
      LR is at _raw_spin_lock+0x10/0x14
      pc : [<8019e344>]    lr : [<804095c0>]    psr: 60000013
      sp : 8f839d20  ip : 8f839d50  fp : 8f839d4c
      r10: 80760a94  r9 : 8042de98  r8 : 00000154
      r7 : 80760e94  r6 : 805cfc10  r5 : 8fb6a008  r4 : 8fb6a008
      r3 : 805dd0c8  r2 : 8f839d48  r1 : 805cfc08  r0 : 000000e0
      Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c5387d  Table: 0000404a  DAC: 00000015
      Process swapper/0 (pid: 1, stack limit = 0x8f8382f0)
      Stack: (0x8f839d20 to 0x8f83a000)
      9d20: ffffffff ffffffff 8fb6a008 8fb6a008 805cfc10 80760e94 00000154 8042de98
      9d40: 8f839d5c 8f839d50 804095c0 8019e340 8f839d7c 8f839d60 80222b28 804095bc
      9d60: 8fb12b80 8fb6a008 8fb6a010 805cfc08 8f839dc4 8f839d80 80223db8 80222adc
      9d80: 8f839dac 8f839d90 8022baa0 8019e2e8 8fb6a008 8075e7f4 8fb6a008 8fb6a008
      9da0: 00000000 8fb6a008 80760e94 00000154 8042de98 80760a94 8f839ddc 8f839dc8
      9dc0: 802242a8 80223d1c 8fb12b80 8fb6a000 8f839e1c 8f839de0 8030132c 80224298
      9de0: 80223ce8 803f2ee8 00000001 804f7750 8f839e1c 8f824008 805cff20 8f824000
      9e00: 8fb6a000 ffffffff 00000000 8f8d4880 8f839e4c 8f839e20 80562e3c 80301100
      9e20: 00000000 8fb13140 8f824008 805cff20 8042aa68 8f824000 8042aa8c 805e4d40
      9e40: 8f839e64 8f839e50 802d20c4 80562ba8 805d0058 805cff20 8f839e8c 8f839e68
      9e60: 80563034 802d206c 8042aa8c 805cff20 8f8d4880 00000000 805cfc08 8fb12a40
      9e80: 8f839e9c 8f839e90 805630c4 80562ec4 8f839ebc 8f839ea0 802d2364 805630b0
      9ea0: 805cfeac 8f8d4880 805cfbe8 807605e8 8f839ed4 8f839ec0 80562b3c 802d22cc
      9ec0: 80562ac4 8f8d4880 8f839f04 8f839ed8 802d0b40 80562ad0 8f839ef4 805cff90
      9ee0: 805cff90 805cfb98 00000000 00000000 805cfbe8 805e4d40 8f839f3c 8f839f08
      9f00: 802cd078 802d0a18 00000000 802d0a0c 00000000 8fb9ba00 802d0a0c 805cff90
      9f20: 00000013 00000000 00000000 805e4d40 8f839f5c 8f839f40 802cf390 802ccff0
      9f40: 00000003 00000003 804fb598 00000000 8f839f74 8f839f60 802d2554 802cf2a0
      9f60: 8f838000 8057731c 8f839f84 8f839f78 80562b90 802d24d0 8f839fdc 8f839f88
      9f80: 800085d4 80562b84 805af2ac 805af2ac 80562b78 00000000 00000013 00000000
      9fa0: 00000000 00000000 8f839fc4 8f839fb8 80043dd0 8057706c 8057731c 8002875c
      9fc0: 00000013 00000000 00000000 00000000 8f839ff4 8f839fe0 805468d4 800085a0
      9fe0: 00000000 80546840 00000000 8f839ff8 8002875c 8054684c 51155555 55545555
      Backtrace:
      [<8019e334>] (do_raw_spin_lock+0x0/0x16c) from [<804095c0>] (_raw_spin_lock+0x10/0x14)
       r9:8042de98 r8:00000154 r7:80760e94 r6:805cfc10 r5:8fb6a008
      r4:8fb6a008
      [<804095b0>] (_raw_spin_lock+0x0/0x14) from [<80222b28>] (get_device_parent+0x58/0x1c0)
      [<80222ad0>] (get_device_parent+0x0/0x1c0) from [<80223db8>] (device_add+0xa8/0x57c)
       r6:805cfc08 r5:8fb6a010 r4:8fb6a008 r3:8fb12b80
      [<80223d10>] (device_add+0x0/0x57c) from [<802242a8>] (device_register+0x1c/0x20)
      [<8022428c>] (device_register+0x0/0x20) from [<8030132c>] (__video_register_device+0x238/0x484)
       r4:8fb6a000 r3:8fb12b80
      [<803010f4>] (__video_register_device+0x0/0x484) from [<80562e3c>] (uvc_function_bind+0x2a0/0x31c)
      [<80562b9c>] (uvc_function_bind+0x0/0x31c) from [<802d20c4>] (usb_add_function+0x64/0x118)
      [<802d2060>] (usb_add_function+0x0/0x118) from [<80563034>] (uvc_bind_config+0x17c/0x1ec)
       r5:805cff20 r4:805d0058
      [<80562eb8>] (uvc_bind_config+0x0/0x1ec) from [<805630c4>] (webcam_config_bind+0x20/0x28)
       r8:8fb12a40 r7:805cfc08 r6:00000000 r5:8f8d4880 r4:805cff20
      r3:8042aa8c
      [<805630a4>] (webcam_config_bind+0x0/0x28) from [<802d2364>] (usb_add_config+0xa4/0x124)
      [<802d22c0>] (usb_add_config+0x0/0x124) from [<80562b3c>] (webcam_bind+0x78/0xb4)
       r6:807605e8 r5:805cfbe8 r4:8f8d4880 r3:805cfeac
      [<80562ac4>] (webcam_bind+0x0/0xb4) from [<802d0b40>] (composite_bind+0x134/0x308)
       r4:8f8d4880 r3:80562ac4
      [<802d0a0c>] (composite_bind+0x0/0x308) from [<802cd078>] (dw_udc_start+0x94/0x2bc)
      [<802ccfe4>] (dw_udc_start+0x0/0x2bc) from [<802cf390>] (usb_gadget_probe_driver+0xfc/0x180)
      [<802cf294>] (usb_gadget_probe_driver+0x0/0x180) from [<802d2554>] (usb_composite_probe+0x90/0xb4)
       r6:00000000 r5:804fb598 r4:00000003 r3:00000003
      [<802d24c4>] (usb_composite_probe+0x0/0xb4) from [<80562b90>] (webcam_init+0x18/0x24)
       r5:8057731c r4:8f838000
      [<80562b78>] (webcam_init+0x0/0x24) from [<800085d4>] (do_one_initcall+0x40/0x184)
      [<80008594>] (do_one_initcall+0x0/0x184) from [<805468d4>] (kernel_init+0x94/0x134)
      [<80546840>] (kernel_init+0x0/0x134) from [<8002875c>] (do_exit+0x0/0x6f8)
       r5:80546840 r4:00000000
      Code: e1a0c00d e92ddbf0 e24cb004 e24dd008 (e5902004)
      ---[ end trace 7ecca37f36fbdc06 ]---
      Signed-off-by: default avatarBhupesh Sharma <bhupesh.sharma@st.com>
      Tested-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      ee981c6f
    • Martin Hostettler's avatar
      [media] v4l: Add driver for Micron MT9M032 camera sensor · 251cb88e
      Martin Hostettler authored
      The MT9M032 is a parallel 1.6MP sensor from Micron controlled through I2C.
      
      The driver creates a V4L2 subdevice. It currently supports cropping, gain,
      exposure and v/h flipping controls in monochrome mode with an
      external pixel clock.
      
      [Lots of clean up, fixes and enhancements]
      Signed-off-by: default avatarMartin Hostettler <martin@neutronstar.dyndns.org>
      Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Reviewed-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
      Acked-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      251cb88e
    • Laurent Pinchart's avatar
      [media] mt9p031: Use generic PLL setup code · 08cd43cc
      Laurent Pinchart authored
      Compute the PLL parameters at runtime using the generic Aptina PLL
      helper.
      Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Acked-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      08cd43cc