1. 11 Dec, 2013 1 commit
  2. 10 Dec, 2013 29 commits
  3. 09 Dec, 2013 10 commits
    • Mauro Carvalho Chehab's avatar
      [media] radio-bcm2048: fix signal of value · 356ba021
      Mauro Carvalho Chehab authored
      As value can be initialized with a value lower than zero, change it
      to int, to avoid those warnings:
      
      drivers/staging/media/bcm2048/radio-bcm2048.c: In function 'bcm2048_rds_pi_read':
      drivers/staging/media/bcm2048/radio-bcm2048.c:1989:9: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
        struct bcm2048_device *bdev = dev_get_drvdata(dev);  \
               ^
      drivers/staging/media/bcm2048/radio-bcm2048.c:2070:1: note: in expansion of macro 'property_read'
       property_read(rds_pi, unsigned int, "%x")
       ^
      drivers/staging/media/bcm2048/radio-bcm2048.c: In function 'bcm2048_fm_rds_flags_read':
      drivers/staging/media/bcm2048/radio-bcm2048.c:1989:9: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
        struct bcm2048_device *bdev = dev_get_drvdata(dev);  \
               ^
      drivers/staging/media/bcm2048/radio-bcm2048.c:2074:1: note: in expansion of macro 'property_read'
       property_read(fm_rds_flags, unsigned int, "%u")
       ^
      drivers/staging/media/bcm2048/radio-bcm2048.c: In function 'bcm2048_region_bottom_frequency_read':
      drivers/staging/media/bcm2048/radio-bcm2048.c:1989:9: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
        struct bcm2048_device *bdev = dev_get_drvdata(dev);  \
               ^
      drivers/staging/media/bcm2048/radio-bcm2048.c:2077:1: note: in expansion of macro 'property_read'
       property_read(region_bottom_frequency, unsigned int, "%u")
       ^
      drivers/staging/media/bcm2048/radio-bcm2048.c: In function 'bcm2048_region_top_frequency_read':
      drivers/staging/media/bcm2048/radio-bcm2048.c:1989:9: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
        struct bcm2048_device *bdev = dev_get_drvdata(dev);  \
               ^
      drivers/staging/media/bcm2048/radio-bcm2048.c:2078:1: note: in expansion of macro 'property_read'
       property_read(region_top_frequency, unsigned int, "%u")
      
      Cc: Hans Verkuil <hverkuil@xs4all.nl>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      356ba021
    • Ricardo Ribalda's avatar
      [media] videobuf2-dma-sg: Support io userptr operations on io memory · 50ac952d
      Ricardo Ribalda authored
      Memory exported via remap_pfn_range cannot be remapped via
      get_user_pages.
      Other videobuf2 methods (like the dma-contig) supports io memory.
      This patch adds support for this kind of memory.
      v2: Comments by Marek Szyprowski
      -Use vb2_get_vma and vb2_put_vma
      Signed-off-by: default avatarRicardo Ribalda Delgado <ricardo.ribalda@gmail.com>
      Acked-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      50ac952d
    • Ricardo Ribalda's avatar
      [media] videobuf2: Add missing lock held on vb2_fop_release · 1380f575
      Ricardo Ribalda authored
      vb2_fop_release does not hold the lock although it is modifying the
      queue->owner field.
      This could lead to race conditions on the vb2_perform_io function
      when multiple applications are accessing the video device via
      read/write API:
      [ 308.297741] BUG: unable to handle kernel NULL pointer dereference at
      0000000000000260
      [ 308.297759] IP: [<ffffffffa07a9fd2>] vb2_perform_fileio+0x372/0x610
      [videobuf2_core]
      [ 308.297794] PGD 159719067 PUD 158119067 PMD 0
      [ 308.297812] Oops: 0000 #1 SMP
      [ 308.297826] Modules linked in: qt5023_video videobuf2_dma_sg
      qtec_xform videobuf2_vmalloc videobuf2_memops videobuf2_core
      qtec_white qtec_mem gpio_xilinx qtec_cmosis qtec_pcie fglrx(PO)
      spi_xilinx spi_bitbang qt5023
      [ 308.297888] CPU: 1 PID: 2189 Comm: java Tainted: P O 3.11.0-qtec-standard #1
      [ 308.297919] Hardware name: QTechnology QT5022/QT5022, BIOS
      PM_2.1.0.309 X64 05/23/2013
      [ 308.297952] task: ffff8801564e1690 ti: ffff88014dc02000 task.ti:
      ffff88014dc02000
      [ 308.297962] RIP: 0010:[<ffffffffa07a9fd2>] [<ffffffffa07a9fd2>]
      vb2_perform_fileio+0x372/0x610 [videobuf2_core]
      [ 308.297985] RSP: 0018:ffff88014dc03df8 EFLAGS: 00010202
      [ 308.297995] RAX: 0000000000000000 RBX: ffff880158a23000 RCX: dead000000100100
      [ 308.298003] RDX: 0000000000000000 RSI: dead000000200200 RDI: 0000000000000000
      [ 308.298012] RBP: ffff88014dc03e58 R08: 0000000000000000 R09: 0000000000000001
      [ 308.298020] R10: ffffea00051e8380 R11: ffff88014dc03fd8 R12: ffff880158a23070
      [ 308.298029] R13: ffff8801549040b8 R14: 0000000000198000 R15: 0000000001887e60
      [ 308.298040] FS: 00007f65130d5700(0000) GS:ffff88015ed00000(0000)
      knlGS:0000000000000000
      [ 308.298049] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 308.298057] CR2: 0000000000000260 CR3: 0000000159630000 CR4: 00000000000007e0
      [ 308.298064] Stack:
      [ 308.298071] ffff880156416c00 0000000000198000 0000000000000000
      ffff880100000001
      [ 308.298087] ffff88014dc03f50 00000000810a79ca 0002000000000001
      ffff880154904718
      [ 308.298101] ffff880156416c00 0000000000198000 ffff880154904338
      ffff88014dc03f50
      [ 308.298116] Call Trace:
      [ 308.298143] [<ffffffffa07aa3c4>] vb2_read+0x14/0x20 [videobuf2_core]
      [ 308.298198] [<ffffffffa07aa494>] vb2_fop_read+0xc4/0x120 [videobuf2_core]
      [ 308.298252] [<ffffffff8154ee9e>] v4l2_read+0x7e/0xc0
      [ 308.298296] [<ffffffff8116e639>] vfs_read+0xa9/0x160
      [ 308.298312] [<ffffffff8116e882>] SyS_read+0x52/0xb0
      [ 308.298328] [<ffffffff81784179>] tracesys+0xd0/0xd5
      [ 308.298335] Code: e5 d6 ff ff 83 3d be 24 00 00 04 89 c2 4c 8b 45 b0
      44 8b 4d b8 0f 8f 20 02 00 00 85 d2 75 32 83 83 78 03 00 00 01 4b 8b
      44 c5 48 <8b> 88 60 02 00 00 85 c9 0f 84 b0 00 00 00 8b 40 58 89 c2 41
      89
      [ 308.298487] RIP [<ffffffffa07a9fd2>] vb2_perform_fileio+0x372/0x610
      [videobuf2_core]
      [ 308.298507] RSP <ffff88014dc03df8>
      [ 308.298514] CR2: 0000000000000260
      [ 308.298526] ---[ end trace e8f01717c96d1e41 ]---
      Signed-off-by: default avatarRicardo Ribalda <ricardo.ribalda@gmail.com>
      Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Acked-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      1380f575
    • Seung-Woo Kim's avatar
      [media] videobuf2: Add log for size checking error in __qbuf_dmabuf · 77c0782e
      Seung-Woo Kim authored
      __qbuf_dmabuf checks whether size of provided dmabuf is large
      enough, and it returns error without any log. So this patch adds
      error log in the case.
      Signed-off-by: default avatarSeung-Woo Kim <sw0312.kim@samsung.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      77c0782e
    • Ricardo Ribalda's avatar
      [media] vb2: Return 0 when streamon and streamoff are already on/off · f956035c
      Ricardo Ribalda authored
      According to the doc:
      If VIDIOC_STREAMON is called when streaming is already in progress,
      or if VIDIOC_STREAMOFF is called when streaming is already stopped,
      then the ioctl does nothing and 0 is returned.
      The current implementation was returning -EINVAL instead.
      Signed-off-by: default avatarRicardo Ribalda Delgado <ricardo.ribalda@gmail.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      f956035c
    • Ricardo Ribalda's avatar
      [media] videobuf2-dma-sg: Fix typo on debug message · 202dfbdc
      Ricardo Ribalda authored
      num_pages_from_user and buf->num_pages were swapped.
      Signed-off-by: default avatarRicardo Ribalda Delgado <ricardo.ribalda@gmail.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      202dfbdc
    • Daniel Jeong's avatar
      [media] media: i2c: lm3560: fix missing unlock on error, fault handling · e1c759bd
      Daniel Jeong authored
      Correct reference of reading values. (rval -> reg_val)
      Add the missing unlock before return from function lm3560_get_ctrl()
      to avoid deadlock.
      Thank you Dan Carpenter & Sakari.
      Signed-off-by: default avatarDaniel Jeong <gshark.jeong@gmail.com>
      Signed-off-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      e1c759bd
    • Ricardo Ribalda Delgado's avatar
      [media] smiapp: Fix BUG_ON() on an impossible condition · dc793175
      Ricardo Ribalda Delgado authored
      internal_csi_format_idx and csi_format_idx are unsigned integers,
      therefore they can never be nevative.
      CC      drivers/media/i2c/smiapp/smiapp-core.o
      In file included from include/linux/err.h:4:0,
                       from include/linux/clk.h:15,
                       from drivers/media/i2c/smiapp/smiapp-core.c:29:
      drivers/media/i2c/smiapp/smiapp-core.c: In function ‘smiapp_update_mbus_formats’:
      include/linux/kernel.h:669:20: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
       #define min(x, y) ({    \
                          ^
      include/linux/compiler.h:153:42: note: in definition of macro ‘unlikely’
       # define unlikely(x) __builtin_expect(!!(x), 0)
                                                ^
      drivers/media/i2c/smiapp/smiapp-core.c:402:2: note: in expansion of macro ‘BUG_ON’
        BUG_ON(min(internal_csi_format_idx, csi_format_idx) < 0);
        ^
      drivers/media/i2c/smiapp/smiapp-core.c:402:9: note: in expansion of macro ‘min’
        BUG_ON(min(internal_csi_format_idx, csi_format_idx) < 0);
               ^
      Signed-off-by: default avatarRicardo Ribalda Delgado <ricardo.ribalda@gmail.com>
      Signed-off-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      dc793175
    • Hans Verkuil's avatar
      [media] bcm2048: add TODO file for this staging driver · d44250fd
      Hans Verkuil authored
      Describe the tasks to be done for this driver to be promoted to a
      non-staging one.
      
      [m.chehab@samsung.com: Add a patch description; add a note about the
       CodingStyle issues and make sure that the README lines are not bigger
       than 80 cols.]
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      d44250fd
    • Hans Verkuil's avatar
      [media] This adds support for the BCM2048 radio module found in Nokia N900 · 899127b6
      Hans Verkuil authored
      Add suport for Nokia N900 radio. This driver is far from being ready
      to be added at the main tree, as it creates its own sysfs interface,
      and violates lots of Coding Style rules, doing even evil things like
      returning from a function inside a macro.
      
      So, it is being added at staging with the condition that it will be
      soon be fixed.
      
      [m.chehab@samsung.com: added a description for the patch]
      Signed-off-by: default avatarEero Nurkkala <ext-eero.nurkkala@nokia.com>
      Signed-off-by: default avatarNils Faerber <nils.faerber@kernelconcepts.de>
      Signed-off-by: default avatarJoni Lapilainen <joni.lapilainen@gmail.com>
      Signed-off-by: default avatarPali Rohár <pali.rohar@gmail.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      [hans.verkuil@cisco.com: moved to staging, added slab.h include]
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      899127b6