1. 11 Nov, 2014 16 commits
    • Hans Verkuil's avatar
      [media] saa7164: fix sparse warnings · 065e1477
      Hans Verkuil authored
      Fix many sparse warnings:
      
      drivers/media/pci/saa7164/saa7164-core.c:97:18: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-core.c:122:31: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-core.c:122:31: warning: incorrect type in initializer (different address spaces)
      drivers/media/pci/saa7164/saa7164-core.c:122:31:    expected unsigned char [noderef] [usertype] <asn:2>*bufcpu
      drivers/media/pci/saa7164/saa7164-core.c:122:31:    got unsigned char [usertype] *<noident>
      drivers/media/pci/saa7164/saa7164-core.c:282:44: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-core.c:286:38: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-core.c:286:35: warning: incorrect type in assignment (different address spaces)
      drivers/media/pci/saa7164/saa7164-core.c:286:35:    expected unsigned char [noderef] [usertype] <asn:2>*p
      drivers/media/pci/saa7164/saa7164-core.c:286:35:    got unsigned char [usertype] *<noident>
      drivers/media/pci/saa7164/saa7164-core.c:352:44: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-core.c:527:53: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-core.c:129:30: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:133:38: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:133:72: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:134:35: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:287:61: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:288:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:289:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:290:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:291:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:292:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:293:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:294:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-fw.c:548:52: warning: incorrect type in argument 5 (different address spaces)
      drivers/media/pci/saa7164/saa7164-fw.c:548:52:    expected unsigned char [usertype] *dst
      drivers/media/pci/saa7164/saa7164-fw.c:548:52:    got unsigned char [noderef] [usertype] <asn:2>*
      drivers/media/pci/saa7164/saa7164-fw.c:579:44: warning: incorrect type in argument 5 (different address spaces)
      drivers/media/pci/saa7164/saa7164-fw.c:579:44:    expected unsigned char [usertype] *dst
      drivers/media/pci/saa7164/saa7164-fw.c:579:44:    got unsigned char [noderef] [usertype] <asn:2>*
      drivers/media/pci/saa7164/saa7164-fw.c:597:44: warning: incorrect type in argument 5 (different address spaces)
      drivers/media/pci/saa7164/saa7164-fw.c:597:44:    expected unsigned char [usertype] *dst
      drivers/media/pci/saa7164/saa7164-fw.c:597:44:    got unsigned char [noderef] [usertype] <asn:2>*
      drivers/media/pci/saa7164/saa7164-bus.c:36:36: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-bus.c:41:36: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-bus.c:151:19: warning: incorrect type in assignment (different base types)
      drivers/media/pci/saa7164/saa7164-bus.c:151:19:    expected unsigned short [unsigned] [usertype] size
      drivers/media/pci/saa7164/saa7164-bus.c:151:19:    got restricted __le16 [usertype] <noident>
      drivers/media/pci/saa7164/saa7164-bus.c:152:22: warning: incorrect type in assignment (different base types)
      drivers/media/pci/saa7164/saa7164-bus.c:152:22:    expected unsigned int [unsigned] [usertype] command
      drivers/media/pci/saa7164/saa7164-bus.c:152:22:    got restricted __le32 [usertype] <noident>
      drivers/media/pci/saa7164/saa7164-bus.c:153:30: warning: incorrect type in assignment (different base types)
      drivers/media/pci/saa7164/saa7164-bus.c:153:30:    expected unsigned short [unsigned] [usertype] controlselector
      drivers/media/pci/saa7164/saa7164-bus.c:153:30:    got restricted __le16 [usertype] <noident>
      drivers/media/pci/saa7164/saa7164-bus.c:172:20: warning: cast to restricted __le32
      drivers/media/pci/saa7164/saa7164-bus.c:173:20: warning: cast to restricted __le32
      drivers/media/pci/saa7164/saa7164-bus.c:206:28: warning: cast to restricted __le32
      drivers/media/pci/saa7164/saa7164-bus.c:287:9: warning: incorrect type in argument 1 (different base types)
      drivers/media/pci/saa7164/saa7164-bus.c:287:9:    expected unsigned int [unsigned] val
      drivers/media/pci/saa7164/saa7164-bus.c:287:9:    got restricted __le32 [usertype] <noident>
      drivers/media/pci/saa7164/saa7164-bus.c:339:20: warning: cast to restricted __le32
      drivers/media/pci/saa7164/saa7164-bus.c:340:20: warning: cast to restricted __le32
      drivers/media/pci/saa7164/saa7164-bus.c:463:9: warning: incorrect type in argument 1 (different base types)
      drivers/media/pci/saa7164/saa7164-bus.c:463:9:    expected unsigned int [unsigned] val
      drivers/media/pci/saa7164/saa7164-bus.c:463:9:    got restricted __le32 [usertype] <noident>
      drivers/media/pci/saa7164/saa7164-bus.c:466:21: warning: cast to restricted __le16
      drivers/media/pci/saa7164/saa7164-bus.c:467:24: warning: cast to restricted __le32
      drivers/media/pci/saa7164/saa7164-bus.c:468:32: warning: cast to restricted __le16
      drivers/media/pci/saa7164/saa7164-buffer.c:122:18: warning: incorrect type in assignment (different address spaces)
      drivers/media/pci/saa7164/saa7164-buffer.c:122:18:    expected unsigned long long [noderef] [usertype] <asn:2>*cpu
      drivers/media/pci/saa7164/saa7164-buffer.c:122:18:    got void *
      drivers/media/pci/saa7164/saa7164-buffer.c:127:21: warning: incorrect type in assignment (different address spaces)
      drivers/media/pci/saa7164/saa7164-buffer.c:127:21:    expected unsigned long long [noderef] [usertype] <asn:2>*pt_cpu
      drivers/media/pci/saa7164/saa7164-buffer.c:127:21:    got void *
      drivers/media/pci/saa7164/saa7164-buffer.c:134:20: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-buffer.c:156:63: warning: incorrect type in argument 3 (different address spaces)
      drivers/media/pci/saa7164/saa7164-buffer.c:156:63:    expected void *vaddr
      drivers/media/pci/saa7164/saa7164-buffer.c:156:63:    got unsigned long long [noderef] [usertype] <asn:2>*cpu
      drivers/media/pci/saa7164/saa7164-buffer.c:179:57: warning: incorrect type in argument 3 (different address spaces)
      drivers/media/pci/saa7164/saa7164-buffer.c:179:57:    expected void *vaddr
      drivers/media/pci/saa7164/saa7164-buffer.c:179:57:    got unsigned long long [noderef] [usertype] <asn:2>*cpu
      drivers/media/pci/saa7164/saa7164-buffer.c:180:56: warning: incorrect type in argument 3 (different address spaces)
      drivers/media/pci/saa7164/saa7164-buffer.c:180:56:    expected void *vaddr
      drivers/media/pci/saa7164/saa7164-buffer.c:180:56:    got unsigned long long [noderef] [usertype] <asn:2>*pt_cpu
      drivers/media/pci/saa7164/saa7164-buffer.c:84:17: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-buffer.c:147:31: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-buffer.c:148:17: warning: dereference of noderef expression
      
      Most are caused by pointers marked as __iomem when they aren't or not marked as
      __iomem when they should.
      
      Also note that readl/writel already do endian conversion, so there is no need to
      do it again.
      
      saa7164_bus_set/get were a bit tricky: you have to make sure the msg endian
      conversion is done at the right time, and that the code isn't using fields that
      are still little endian instead of cpu-endianness.
      
      The approach chosen is to convert just before writing to the ring buffer
      and to convert it back right after reading from the ring buffer.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Cc: Steven Toth <stoth@kernellabs.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      065e1477
    • Hans Verkuil's avatar
      [media] adv7604: Correct G/S_EDID behaviour · dd9ac11a
      Hans Verkuil authored
      In order to have v4l2-compliance tool pass the G/S_EDID some modifications
      where needed in the driver.
      In particular, the edid.reserved zone must be blanked.
      
      Based on a patch from Jean-Michel Hautbois <jean-michel.hautbois@vodalys.com>,
      but reworked it a bit. It should use 'data' (which depends on edid.present)
      instead of edid.blocks as the check whether edid data is present.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      dd9ac11a
    • Hans Verkuil's avatar
      [media] adv7511: fix G/S_EDID behavior · c81285ae
      Hans Verkuil authored
      This fixes the v4l2-compliance failures.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      c81285ae
    • Hans Verkuil's avatar
      [media] adv7842: fix G/S_EDID behavior · c909e5ba
      Hans Verkuil authored
      Make this pass the v4l2-compliance test.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      c909e5ba
    • Sudip Mukherjee's avatar
      [media] media: davinci: vpbe: missing clk_put · 47efeb52
      Sudip Mukherjee authored
      we are getting struct clk using clk_get before calling
      clk_prepare_enable. but if clk_prepare_enable fails, then we are
      jumping to fail_mutex_unlock where we are just unlocking the mutex,
      but we are not freeing the clock source.
      this patch just adds a call to clk_put before jumping to
      fail_mutex_unlock.
      Signed-off-by: default avatarSudip Mukherjee <sudip@vectorindia.org>
      Acked-by: default avatarLad, Prabhakar <prabhakar.csengg@gmail.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      47efeb52
    • Hans Verkuil's avatar
      [media] vivid: add test array controls · 24c4942d
      Hans Verkuil authored
      Add array controls to test support for such controls. There is one
      array with just one element, one 8x16 matrix control and one 4 dimensional
      2x3x4x5 control.
      
      This makes it possible to experiment with such controls without requiring
      hard-to-get hardware.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      24c4942d
    • sensoray-dev's avatar
      [media] s2255drv: fix spinlock issue · 9694fbec
      sensoray-dev authored
      qlock spinlock controls access to buf_list and sequence.
      qlock spinlock should not be locked during a copy to video buffers, an
      operation that may sleep.
      Signed-off-by: default avatarDean Anderson <linux-dev@sensoray.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      9694fbec
    • Andrey Utkin's avatar
      [media] solo6x10: don't turn off/on encoder interrupt in processing loop · 6db47fa1
      Andrey Utkin authored
      It makes no sense to block the SOLO_IRQ_ENCODER interrupt from being sent while
      processing an earlier interrupt. New interrupts will just kick the thread
      again once it is done processing.
      Signed-off-by: default avatarAndrey Utkin <andrey.krieger.utkin@gmail.com>
      [hans.verkuil@cisco.com: fix commit description]
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      6db47fa1
    • Andrey Utkin's avatar
      [media] solo6x10: bind start & stop of encoded frames processing thread to device (de)init · 670390c2
      Andrey Utkin authored
      Before, it was called from individual encoder (de)init procedures, which
      lead to spare threads running (which were actually lost, leaked).
      The current fix uses trivial approach, and the downside is that the
      processing thread is working always, even when there's no consumer.
      Signed-off-by: default avatarAndrey Utkin <andrey.krieger.utkin@gmail.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      670390c2
    • Andrey Utkin's avatar
      [media] solo6x10: free DMA allocation when releasing encoder · 0cb2df38
      Andrey Utkin authored
      Fixes this warning:
      
      [  956.730136] ------------[ cut here ]------------
      [  956.730143] WARNING: CPU: 1 PID: 10134 at lib/dma-debug.c:963 dma_debug_device_change+0x191/0x1f0()
      [  956.730146] pci 0000:07:05.0: DMA-API: device driver has pending DMA allocations while released from device [count=8]
      One of leaked entries details: [device address=0x00000000d3d57000] [size=512 bytes] [mapped with DMA_BIDIRECTIONAL] [mapped as coherent]
      [  956.730147] Modules linked in: solo6x10(-) videobuf2_dma_contig videobuf2_dma_sg videobuf2_memops videobuf2_core ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 nf_nat videobuf_vmalloc videobuf_core v4l2_common videodev rt2800usb rt2800lib rt2x00usb rt2x00lib mac80211 cfg80211 crc_ccitt usbkbd hid_a4tech hid_generic usbhid snd_hda_codec_hdmi snd_hda_codec_via snd_hda_codec_generic snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_pcm x86_pkg_temp_thermal snd_timer snd soundcore
      [  956.730172] CPU: 1 PID: 10134 Comm: rmmod Not tainted 3.18.0-rc1-next-20141023-zver-dirty #24
      [  956.730173] Hardware name: System manufacturer System Product Name/P8H77-V, BIOS 0501 02/28/2012
      [  956.730175]  0000000000000009 ffff8801df9e3c58 ffffffff817ffe6b 0000000000000001
      [  956.730177]  ffff8801df9e3ca8 ffff8801df9e3c98 ffffffff81091ec7 0000000000000046
      [  956.730180]  ffff880215457e90 0000000000000008 ffffffff81cbb10f ffff880215570098
      [  956.730183] Call Trace:
      [  956.730188]  [<ffffffff817ffe6b>] dump_stack+0x4f/0x7c
      [  956.730192]  [<ffffffff81091ec7>] warn_slowpath_common+0x87/0xb0
      [  956.730194]  [<ffffffff81091f91>] warn_slowpath_fmt+0x41/0x50
      [  956.730197]  [<ffffffff81412558>] ? dma_debug_device_change+0xb8/0x1f0
      [  956.730199]  [<ffffffff81412631>] dma_debug_device_change+0x191/0x1f0
      [  956.730203]  [<ffffffff810b14ad>] notifier_call_chain+0x4d/0x70
      [  956.730205]  [<ffffffff810b15f9>] __blocking_notifier_call_chain+0x59/0x80
      [  956.730207]  [<ffffffff810b1631>] blocking_notifier_call_chain+0x11/0x20
      [  956.730211]  [<ffffffff815873af>] __device_release_driver+0xcf/0xf0
      [  956.730213]  [<ffffffff81587ee8>] driver_detach+0xc8/0xd0
      [  956.730215]  [<ffffffff81587147>] bus_remove_driver+0x57/0xd0
      [  956.730218]  [<ffffffff815887e9>] driver_unregister+0x29/0x60
      [  956.730221]  [<ffffffff81420131>] pci_unregister_driver+0x21/0x90
      [  956.730225]  [<ffffffffa03219d7>] solo_pci_driver_exit+0x10/0x12 [solo6x10]
      [  956.730228]  [<ffffffff81112ee0>] SyS_delete_module+0x170/0x1f0
      [  956.730232]  [<ffffffff813eb76e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
      [  956.730234]  [<ffffffff8180abd2>] system_call_fastpath+0x12/0x17
      [  956.730235] ---[ end trace e730af02713a6c53 ]---
      [  956.730237] Mapped at:
      [  956.730238]  [<ffffffff8141186c>] debug_dma_alloc_coherent+0x3c/0xb0
      [  956.730240]  [<ffffffffa03203f6>] solo_enc_v4l2_init+0x706/0xba0 [solo6x10]
      [  956.730243]  [<ffffffffa03165b3>] solo_pci_probe+0x503/0x700 [solo6x10]
      [  956.730245]  [<ffffffff81420459>] local_pci_probe+0x49/0xa0
      [  956.730248]  [<ffffffff814207a1>] pci_device_probe+0xd1/0x120
      Signed-off-by: default avatarAndrey Utkin <andrey.krieger.utkin@gmail.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      0cb2df38
    • Andrey Utkin's avatar
      [media] solo6x10: clean up properly in stop_streaming · 9ccd1809
      Andrey Utkin authored
      This fixes warning from drivers/media/v4l2-core/videobuf2-core.c,
      WARN_ON(atomic_read(&q->owned_by_drv_count)).
      Signed-off-by: default avatarAndrey Utkin <andrey.krieger.utkin@gmail.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      9ccd1809
    • Joe Perches's avatar
      [media] cx25840/cx18: Use standard ordering of mask and shift · 85273c38
      Joe Perches authored
      Precedence of & and >> is not the same and is not left to right.
      shift has higher precedence and should be done after the mask.
      
      This use has a mask then shift which is not the normal style.
      
      Move the shift before the mask to match nearly all the other
      uses in kernel.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      85273c38
    • Prabhakar Lad's avatar
      [media] media: davinci: vpbe: add support for VIDIOC_CREATE_BUFS · 7041bc99
      Prabhakar Lad authored
      this patch adds support for vidioc_create_bufs. Along side
      remove unneeded member numbuffers.
      Signed-off-by: default avatarLad, Prabhakar <prabhakar.csengg@gmail.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      7041bc99
    • Jose Alberto Reguero's avatar
      [media] [PATH,2/2] mxl5007 move loop_thru to attach · 02f9cf96
      Jose Alberto Reguero authored
      This patch move the loop_thru configuration to the attach function,
      because with dual tuners until loop_tru configuration the other tuner
      don't work.
      Signed-off-by: default avatarJose Alberto Reguero <jareguero@telefonica.net>
      Reviewed-by: default avatarAntti Palosaari <crope@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      02f9cf96
    • Jose Alberto Reguero's avatar
      [media] [PATH,1/2] mxl5007 move reset to attach · fe4860af
      Jose Alberto Reguero authored
      This patch move the soft reset to the attach function because with dual
      tuners, when one tuner do reset, the other one is perturbed, and the
      stream has errors.
      Signed-off-by: default avatarJose Alberto Reguero <jareguero@telefonica.net>
      Reviewed-by: default avatarAntti Palosaari <crope@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      fe4860af
    • Mauro Carvalho Chehab's avatar
      Merge tag 'v3.18-rc4' into patchwork · 47a09af6
      Mauro Carvalho Chehab authored
      Needed due to some important regression fixes at RC core.
      
      * commit 'v3.18-rc4': (587 commits)
        Linux 3.18-rc4
        ARM: dts: zynq: Enable PL clocks for Parallella
        tiny: rename ENABLE_DEV_COREDUMP to ALLOW_DEV_COREDUMP
        tiny: reverse logic for DISABLE_DEV_COREDUMP
        i2c: core: Dispose OF IRQ mapping at client removal time
        i2c: at91: don't account as iowait
        i2c: remove FSF address
        USB: Update default usb-storage delay_use value in kernel-parameters.txt
        sysfs: driver core: Fix glue dir race condition by gdp_mutex
        MIPS: Fix build with binutils 2.24.51+
        xfs: track bulkstat progress by agino
        xfs: bulkstat error handling is broken
        xfs: bulkstat main loop logic is a mess
        xfs: bulkstat chunk-formatter has issues
        xfs: bulkstat chunk formatting cursor is broken
        xfs: bulkstat btree walk doesn't terminate
        mm: Fix comment before truncate_setsize()
        USB: cdc-acm: add quirk for control-line state requests
        tty: Fix pty master poll() after slave closes v2
        MIPS: R3000: Fix debug output for Virtual page number
        ...
      
      Conflicts:
      	drivers/media/rc/rc-main.c
      47a09af6
  2. 09 Nov, 2014 10 commits
  3. 08 Nov, 2014 4 commits
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · fe606dff
      Linus Torvalds authored
      Pull i2c bugfixes from Wolfram Sang:
       "One bigger cleanup (FSF address removal) and two bugfixes for I2C"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: core: Dispose OF IRQ mapping at client removal time
        i2c: at91: don't account as iowait
        i2c: remove FSF address
      fe606dff
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a50d7156
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "Two fixlets for the armada SoC interrupt controller"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip: armada-370-xp: Fix MPIC interrupt handling
        irqchip: armada-370-xp: Fix MSI interrupt handling
      a50d7156
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · ae04e1ca
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
       "For:
         - some regression fixes at the Remote Controller core and imon driver
         - a build fix for certain randconfigs with ir-hix5hd2
         - don't feed power to satellite system at ds3000 driver init
      
        It also contains some fixes for drivers added for Kernel 3.18:
         - some fixes at the new ISDB-S driver, and the corresponding bits to
           fix some descriptors for this Japanese TV standard at the DVB core
         - two warning cleanups for sp2 driver if PM is disabled
         - change the default mode for the new vivid driver"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        [media] sp2: sp2_init() can be static
        [media] dvb:tc90522: fix always-false expression
        [media] dvb-core: set default properties of ISDB-S
        [media] dvb:tc90522: fix stats report
        [media] vivid: default to single planar device instances
        [media] imon: fix other RC type protocol support
        [media] ir-hix5hd2 fix build warning
        [media] ds3000: fix LNB supply voltage on Tevii S480 on initialization
        [media] rc5-decoder: BZ#85721: Fix RC5-SZ decoding
        [media] rc-core: fix protocol_change regression in ir_raw_event_register
      ae04e1ca
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 6ac94d3a
      Linus Torvalds authored
      Pull MIPS updates from Ralf Baechle:
       "This weeks' round of MIPS bug fixes for 3.18:
      
         - wire up the bpf syscall
         - fix TLB dump output for R3000 class TLBs
         - fix strnlen_user return value if no NUL character was found.
         - fix build with binutils 2.24.51+.  While there is no binutils 2.25
           release yet, toolchains derived from binutils 2.24.51+ are already
           in common use.
         - the Octeon GPIO code forgot to offline GPIO IRQs.
         - fix build error for XLP.
         - fix possible BUG assertion with EVA for CMA"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: Fix build with binutils 2.24.51+
        MIPS: R3000: Fix debug output for Virtual page number
        MIPS: Fix strnlen_user() return value in case of overlong strings.
        MIPS: CMA: Do not reserve memory if not required
        MIPS: Wire up bpf syscall.
        MIPS/Xlp: Remove the dead function destroy_irq() to fix build error
        MIPS: Octeon: Make Octeon GPIO IRQ chip CPU hotplug-aware
      6ac94d3a
  4. 07 Nov, 2014 10 commits
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-3.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 661b99e9
      Linus Torvalds authored
      Pull xfs fixes from Dave Chinner:
       "This update fixes a warning in the new pagecache_isize_extended() and
        updates some related comments, another fix for zero-range
        misbehaviour, and an unforntuately large set of fixes for regressions
        in the bulkstat code.
      
        The bulkstat fixes are large but necessary.  I wouldn't normally push
        such a rework for a -rcX update, but right now xfsdump can silently
        create incomplete dumps on 3.17 and it's possible that even xfsrestore
        won't notice that the dumps were incomplete.  Hence we need to get
        this update into 3.17-stable kernels ASAP.
      
        In more detail, the refactoring work I committed in 3.17 has exposed a
        major hole in our QA coverage.  With both xfsdump (the major user of
        bulkstat) and xfsrestore silently ignoring missing files in the
        dump/restore process, incomplete dumps were going unnoticed if they
        were being triggered.  Many of the dump/restore filesets were so small
        that they didn't evenhave a chance of triggering the loop iteration
        bugs we introduced in 3.17, so we didn't exercise the code
        sufficiently, either.
      
        We have already taken steps to improve QA coverage in xfstests to
        avoid this happening again, and I've done a lot of manual verification
        of dump/restore on very large data sets (tens of millions of inodes)
        of the past week to verify this patch set results in bulkstat behaving
        the same way as it does on 3.16.
      
        Unfortunately, the fixes are not exactly simple - in tracking down the
        problem historic API warts were discovered (e.g xfsdump has been
        working around a 20 year old bug in the bulkstat API for the past 10
        years) and so that complicated the process of diagnosing and fixing
        the problems.  i.e. we had to fix bugs in the code as well as
        discover and re-introduce the userspace visible API bugs that we
        unwittingly "fixed" in 3.17 that xfsdump relied on to work correctly.
      
        Summary:
      
         - incorrect warnings about i_mutex locking in pagecache_isize_extended()
           and updates comments to match expected locking
         - another zero-range bug fix for stray file size updates
         - a bunch of fixes for regression in the bulkstat code introduced in
           3.17"
      
      * tag 'xfs-for-linus-3.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs:
        xfs: track bulkstat progress by agino
        xfs: bulkstat error handling is broken
        xfs: bulkstat main loop logic is a mess
        xfs: bulkstat chunk-formatter has issues
        xfs: bulkstat chunk formatting cursor is broken
        xfs: bulkstat btree walk doesn't terminate
        mm: Fix comment before truncate_setsize()
        xfs: rework zero range to prevent invalid i_size updates
        mm: Remove false WARN_ON from pagecache_isize_extended()
        xfs: Check error during inode btree iteration in xfs_bulkstat()
        xfs: bulkstat doesn't release AGI buffer on error
      661b99e9
    • Linus Torvalds's avatar
      Merge tag 'regulator-v3.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 51f83ef0
      Linus Torvalds authored
      Pull regulator fixes from Mark Brown:
       "More changes than I'd like here, most of them for a single bug
        repeated in a bunch of drivers with data not being initialized
        correctly, plus a fix to lower the severity of a warning introduced in
        the last merge window which can legitimately go off so we don't want
        to alarm users excessively"
      
      * tag 'regulator-v3.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: s2mpa01: zero-initialize regulator match table array
        regulator: max8660: zero-initialize regulator match table array
        regulator: max77802: zero-initialize regulator match table
        regulator: max77686: zero-initialize regulator match table
        regulator: max1586: zero-initialize regulator match table array
        regulator: max77693: Fix use of uninitialized regulator config
        regulator: of: Lower the severity of the error with no container
      51f83ef0
    • Linus Torvalds's avatar
      Merge tag 'spi-v3.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 1395b9cf
      Linus Torvalds authored
      Pull spi bugfixes from Mark Brown:
       "A couple of small driver fixes for v3.18, both quite problematic if
        you hit a use case that's affected"
      
      * tag 'spi-v3.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: pxa2xx: toggle clocks on suspend if not disabled by runtime PM
        spi: fsl-dspi: Fix CTAR selection
      1395b9cf
    • Johannes Berg's avatar
      tiny: rename ENABLE_DEV_COREDUMP to ALLOW_DEV_COREDUMP · cd3d9ea1
      Johannes Berg authored
      The ENABLE_DEV_COREDUMP option is misleading as it implies that
      it gets the framework enabled, this isn't true it just allows it
      to get enabled if a driver needs it.
      
      Rename it to ALLOW_DEV_COREDUMP to better capture its semantics.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
      Acked-by: default avatarAristeu Rozanski <aris@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cd3d9ea1
    • Aristeu Rozanski's avatar
      tiny: reverse logic for DISABLE_DEV_COREDUMP · 9c602699
      Aristeu Rozanski authored
      It's desirable for allnconfig and tinyconfig targets to result in the
      least amount of code possible. DISABLE_DEV_COREDUMP exists as a way to
      switch off DEV_COREDUMP regardless if any drivers select
      WANT_DEV_COREDUMP.
      
      This patch renames the option to ENABLE_DEV_COREDUMP and setting it to
      'n' (as in allnconfig or tinyconfig) will effectively disable device
      coredump.
      
      Cc: Josh Triplett <josh@joshtriplett.org>
      Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
      Signed-off-by: default avatarAristeu Rozanski <arozansk@redhat.com>
      Reviewed-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Acked-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9c602699
    • Laurent Pinchart's avatar
      i2c: core: Dispose OF IRQ mapping at client removal time · e4df3a0b
      Laurent Pinchart authored
      Clients instantiated from OF get an IRQ mapping created at device
      registration time. Dispose the mapping when the client is removed.
      Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      Cc: stable@kernel.org
      e4df3a0b
    • Wolfram Sang's avatar
      i2c: at91: don't account as iowait · 11cfbfb0
      Wolfram Sang authored
      iowait is for blkio [1]. I2C shouldn't use it.
      
      [1] https://lkml.org/lkml/2014/11/3/317Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      Acked-by: default avatarLudovic Desroches <ludovic.desroches@atmel.com>
      Cc: stable@kernel.org
      11cfbfb0
    • Wolfram Sang's avatar
      i2c: remove FSF address · ca1f8da9
      Wolfram Sang authored
      We have a central copy of the GPL for that. Some addresses were already
      outdated.
      Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
      ca1f8da9
    • Mark Knibbs's avatar
      USB: Update default usb-storage delay_use value in kernel-parameters.txt · 19101954
      Mark Knibbs authored
      Back in 2010 the default usb-storage delay_use time was reduced from 5 to 1
      second (commit a4a47bc0), but
      kernel-parameters.txt wasn't updated to reflect that.
      Signed-off-by: default avatarMark Knibbs <markk@clara.co.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      19101954
    • Yijing Wang's avatar
      sysfs: driver core: Fix glue dir race condition by gdp_mutex · e4a60d13
      Yijing Wang authored
      There is a race condition when removing glue directory.
      It can be reproduced in following test:
      
      path 1: Add first child device
      device_add()
          get_device_parent()
                  /*find parent from glue_dirs.list*/
                  list_for_each_entry(k, &dev->class->p->glue_dirs.list, entry)
                          if (k->parent == parent_kobj) {
                                  kobj = kobject_get(k);
                                  break;
                          }
                  ....
                  class_dir_create_and_add()
      
      path2: Remove last child device under glue dir
      device_del()
          cleanup_device_parent()
                  cleanup_glue_dir()
                          kobject_put(glue_dir);
      
      If path2 has been called cleanup_glue_dir(), but not
      call kobject_put(glue_dir), the glue dir is still
      in parent's kset list. Meanwhile, path1 find the glue
      dir from the glue_dirs.list. Path2 may release glue dir
      before path1 call kobject_get(). So kernel will report
      the warning and bug_on.
      
      This is a "classic" problem we have of a kref in a list
      that can be found while the last instance could be removed
      at the same time.
      
      This patch reuse gdp_mutex to fix this race condition.
      
      The following calltrace is captured in kernel 3.4, but
      the latest kernel still has this bug.
      
      -----------------------------------------------------
      <4>[ 3965.441471] WARNING: at ...include/linux/kref.h:41 kobject_get+0x33/0x40()
      <4>[ 3965.441474] Hardware name: Romley
      <4>[ 3965.441475] Modules linked in: isd_iop(O) isd_xda(O)...
      ...
      <4>[ 3965.441605] Call Trace:
      <4>[ 3965.441611]  [<ffffffff8103717a>] warn_slowpath_common+0x7a/0xb0
      <4>[ 3965.441615]  [<ffffffff810371c5>] warn_slowpath_null+0x15/0x20
      <4>[ 3965.441618]  [<ffffffff81215963>] kobject_get+0x33/0x40
      <4>[ 3965.441624]  [<ffffffff812d1e45>] get_device_parent.isra.11+0x135/0x1f0
      <4>[ 3965.441627]  [<ffffffff812d22d4>] device_add+0xd4/0x6d0
      <4>[ 3965.441631]  [<ffffffff812d0dbc>] ? dev_set_name+0x3c/0x40
      ....
      <2>[ 3965.441912] kernel BUG at ..../fs/sysfs/group.c:65!
      <4>[ 3965.441915] invalid opcode: 0000 [#1] SMP
      ...
      <4>[ 3965.686743]  [<ffffffff811a677e>] sysfs_create_group+0xe/0x10
      <4>[ 3965.686748]  [<ffffffff810cfb04>] blk_trace_init_sysfs+0x14/0x20
      <4>[ 3965.686753]  [<ffffffff811fcabb>] blk_register_queue+0x3b/0x120
      <4>[ 3965.686756]  [<ffffffff812030bc>] add_disk+0x1cc/0x490
      ....
      -------------------------------------------------------
      Signed-off-by: default avatarYijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarWeng Meiling <wengmeiling.weng@huawei.com>
      Cc: <stable@vger.kernel.org> #3.4+
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e4a60d13