26 Jan, 2017

1 commit

  • commit c0026c7bfb95c250c3e34fde59f96ad72fd730d6 upstream.

    Clock control indirectly requires access to MFC device, so call it only
    if we are sure that the device exists in s5p_mfc_release function.
    s5p_mfc_remove() calls s5p_mfc_final_pm(), which releases all PM related
    resources, including clocks, so any call to clocks related functions
    is not valid after s5p_mfc_final_pm().

    Fixes: d695c12 ("[media] media: s5p-mfc fix invalid memory access from
    s5p_mfc_release()")

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Greg Kroah-Hartman

    Marek Szyprowski
     

09 Jan, 2017

1 commit

  • commit 3467c9a7e7f9209a9ecd8f9db65b04a323a13932 upstream.

    s5p_mfc_alloc_memdev() function lacks proper releasing
    of allocated device in case of reserved memory initialization
    failure. This results in NULL pointer dereference:

    [ 2.828457] Unable to handle kernel NULL pointer dereference at virtual address 00000001
    [ 2.835089] pgd = c0004000
    [ 2.837752] [00000001] *pgd=00000000
    [ 2.844696] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
    [ 2.848680] Modules linked in:
    [ 2.851722] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.8.0-rc6-00002-gafa1b97 #878
    [ 2.859357] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
    [ 2.865433] task: ef080000 task.stack: ef06c000
    [ 2.869952] PC is at strcmp+0x0/0x30
    [ 2.873508] LR is at platform_match+0x84/0xac
    [ 2.877847] pc : [] lr : [] psr: 20000013
    [ 2.877847] sp : ef06dea0 ip : 00000000 fp : 00000000
    [ 2.889303] r10: 00000000 r9 : c0b34848 r8 : c0b1e968
    [ 2.894511] r7 : 00000000 r6 : 00000001 r5 : c086e7fc r4 : eeb8e010
    [ 2.901021] r3 : 0000006d r2 : 00000000 r1 : c086e7fc r0 : 00000001
    [ 2.907533] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
    [ 2.914649] Control: 10c5387d Table: 4000404a DAC: 00000051
    [ 2.920378] Process swapper/0 (pid: 1, stack limit = 0xef06c210)
    [ 2.926367] Stack: (0xef06dea0 to 0xef06e000)
    [ 2.930711] dea0: eeb8e010 c0c2d91c c03f4a6c c03f4a8c 00000000 c0c2d91c c03f4a6c c03f2fc8
    [ 2.938870] dec0: ef003274 ef10c4c0 c0c2d91c ef10cc80 c0c21270 c03f3fa4 c09c1be8 c0c2d91c
    [ 2.947028] dee0: 00000006 c0c2d91c 00000006 c0b3483c c0c47000 c03f5314 c0c2d908 c0b5fed8
    [ 2.955188] df00: 00000006 c010178c 60000013 c0a4ef14 00000000 c06feaa0 ef080000 60000013
    [ 2.963347] df20: 00000000 c0c095c8 efffca76 c0816b8c 000000d5 c0134098 c0b34848 c09d6cdc
    [ 2.971506] df40: c0a4de70 00000000 00000006 00000006 c0c09568 efffca40 c0b5fed8 00000006
    [ 2.979665] df60: c0b3483c c0c47000 000000d5 c0b34848 c0b005a4 c0b00d84 00000006 00000006
    [ 2.987824] df80: 00000000 c0b005a4 00000000 c06fb4d8 00000000 00000000 00000000 00000000
    [ 2.995983] dfa0: 00000000 c06fb4e0 00000000 c01079b8 00000000 00000000 00000000 00000000
    [ 3.004142] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 3.012302] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 ffffffff ffffffff
    [ 3.020469] [] (strcmp) from [] (platform_match+0x84/0xac)
    [ 3.027672] [] (platform_match) from [] (__driver_attach+0x20/0xb0)
    [ 3.035654] [] (__driver_attach) from [] (bus_for_each_dev+0x54/0x88)
    [ 3.043812] [] (bus_for_each_dev) from [] (bus_add_driver+0xe8/0x1f4)
    [ 3.051971] [] (bus_add_driver) from [] (driver_register+0x78/0xf4)
    [ 3.059958] [] (driver_register) from [] (do_one_initcall+0x3c/0x16c)
    [ 3.068123] [] (do_one_initcall) from [] (kernel_init_freeable+0x120/0x1ec)
    [ 3.076802] [] (kernel_init_freeable) from [] (kernel_init+0x8/0x118)
    [ 3.084958] [] (kernel_init) from [] (ret_from_fork+0x14/0x3c)
    [ 3.092506] Code: 1afffffb e12fff1e e1a03000 eafffff7 (e4d03001)
    [ 3.098618] ---[ end trace 511bf9d750810709 ]---
    [ 3.103207] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

    This patch fixes this issue.

    Fixes: c79667dd93b084fe412bcfe7fbf0ba43f7dec520 ("media: s5p-mfc: replace custom
    reserved memory handling code with generic one")

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Greg Kroah-Hartman

    Marek Szyprowski
     

25 Aug, 2016

5 commits

  • alloc_workqueue replaces deprecated create_singlethread_workqueue().

    The MFC device driver is a v4l2 driver which can encode/decode video
    raw/elementary streams and has support for all popular video codecs.

    The driver's watchdog_workqueue has been replaced with system_wq since
    it queues a single work item, &dev->watchdog_work, which calls for no
    ordering requirement. The work item is involved in running the watchdog
    timer and is not being used on a memory reclaim path.

    Work item has been flushed in s5p_mfc_remove() to ensure
    that there are no pending tasks while disconnecting the driver.

    Signed-off-by: Bhaktipriya Shridhar
    Acked-by: Tejun Heo
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Bhaktipriya Shridhar
     
  • Removed unnecessary error message as appropriate error code is returned.
    Changed error message into a debug.

    Signed-off-by: Shuah Khan
    Reviewed-by: Javier Martinez Canillas
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Shuah Khan
     
  • Remove unneeded error handling on the result of a call
    to platform_get_resource() when the value is passed to
    devm_ioremap_resource().

    Signed-off-by: Wei Yongjun
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Wei Yongjun
     
  • Remove void function return statement

    Signed-off-by: Shuah Khan
    Reviewed-by: Javier Martinez Canillas
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Shuah Khan
     
  • If s5p_mfc_release() runs after s5p_mfc_remove(), the former will access
    invalid s5p_mfc_dev pointer saved in the s5p_mfc_ctx and runs into kernel
    paging request errors.

    Clear ctx dev pointer in s5p_mfc_remove() and change s5p_mfc_release() to
    avoid work that requires ctx->dev.

    odroid kernel: Unable to handle kernel paging request at virtual address
    f17c1104
    odroid kernel: pgd = ebca4000
    odroid kernel: [f17c1104] *pgd=6e23d811, *pte=00000000, *ppte=00000000
    odroid kernel: Internal error: Oops: 807 [#1] PREEMPT SMP ARM
    odroid kernel: Modules linked in: cpufreq_userspace cpufreq_powersave
    cpufreq_conservative s5p_mfc s5p_jpeg v4l2_mem2mem
    videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 videobuf2_core
    v4l2_common videodev media
    odroid kernel: Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
    odroid kernel: task: c2241400 ti: e7018000 task.ti: e7018000
    odroid kernel: PC is at s5p_mfc_reset+0x40/0x28c [s5p_mfc]
    odroid kernel: LR is at s5p_mfc_reset+0x34/0x28c [s5p_mfc]
    odroid kernel: pc : [] lr : [] psr: 60010013
    odroid kernel: [] (s5p_mfc_reset [s5p_mfc]) from []
    (s5p_mfc_deinit_hw+0x14/0x3c [s5p_mfc])
    odroid kernel: [] (s5p_mfc_deinit_hw [s5p_mfc]) from []
    (s5p_mfc_release+0xac/0x1c4 [s5p_mfc])
    odroid kernel: [] (s5p_mfc_release [s5p_mfc]) from []
    (v4l2_release+0x38/0x74 [videodev])
    odroid kernel: [] (v4l2_release [videodev]) from []
    (__fput+0x80/0x1c8)
    odroid kernel: [] (__fput) from []
    (task_work_run+0x94/0xc8)
    odroid kernel: [] (task_work_run) from []
    (do_work_pending+0x7c/0xa4)
    odroid kernel: [] (do_work_pending) from []
    (slow_work_pending+0xc/0x20)
    odroid kernel: Code: eb3edacc e5953078 e3a06000 e2833c11 (e5836004)

    Signed-off-by: Shuah Khan
    Tested-by: Luis de Bethencourt
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Shuah Khan
     

09 Jul, 2016

5 commits

  • Stop using alloc_ctx and just fill in the device pointer.

    Signed-off-by: Hans Verkuil
    Cc: Kyungmin Park
    Cc: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • According to the V4L2 documentation the driver and card fields should be
    used to identify the driver and the device but the s5p-mfc driver fills
    those field using the platform device name, which in turn is the name of
    the device DT node.

    So not only the filled information isn't correct but also the same values
    are used in all the fields for both the encoder and decoder video devices.

    Before this patch:

    Driver Info (not using libv4l2):
    Driver name : 11000000.codec
    Card type : 11000000.codec
    Bus info : platform:11000000.codec
    Driver version: 4.7.0

    Driver Info (not using libv4l2):
    Driver name : 11000000.codec
    Card type : 11000000.codec
    Bus info : platform:11000000.codec
    Driver version: 4.7.0

    After this patch:

    Driver Info (not using libv4l2):
    Driver name : s5p-mfc
    Card type : s5p-mfc-dec
    Bus info : platform:11000000.codec
    Driver version: 4.7.0

    Driver Info (not using libv4l2):
    Driver name : s5p-mfc
    Card type : s5p-mfc-enc
    Bus info : platform:11000000.codec
    Driver version: 4.7.0

    Signed-off-by: Javier Martinez Canillas
    Acked-by: Hans Verkuil
    Signed-off-by: Kamil Debski
    Signed-off-by: Mauro Carvalho Chehab

    Javier Martinez Canillas
     
  • This patch fixes the error path in the driver probe, so in case of
    any failure, the resources are not leaked.

    Reported-by: Liviu Dudau
    Signed-off-by: Marek Szyprowski
    Acked-by: Liviu Dudau
    Signed-off-by: Kamil Debski
    Signed-off-by: Mauro Carvalho Chehab

    Marek Szyprowski
     
  • s5p_mfc_remove() fails to release encoder and decoder video devices.

    Signed-off-by: Shuah Khan
    Reviewed-by: Javier Martinez Canillas
    Signed-off-by: Kamil Debski
    Signed-off-by: Mauro Carvalho Chehab

    Shuah Khan
     
  • Fix Decoder and encoder video device double release in probe error path.
    video_device_release(dev->vfd_dec) get called twice if decoder register
    fails. Also, video_device_release(dev->vfd_enc) get called twice if encoder
    register fails.

    Signed-off-by: Shuah Khan
    Signed-off-by: Kamil Debski
    Signed-off-by: Mauro Carvalho Chehab

    Shuah Khan
     

03 Jun, 2016

6 commits

  • This patch adds support for IOMMU to s5p-mfc device driver. MFC firmware
    is limited and it cannot use the default configuration. If IOMMU is
    available, the patch disables the default DMA address space
    configuration and creates a new address space of size limited to 256M
    and base address set to 0x20000000.

    For now the same address space is shared by both 'left' and 'right'
    memory channels, because the DMA/IOMMU frameworks do not support
    configuring them separately. This is not optimal, but besides limiting
    total address space available has no other drawbacks (MFC firmware
    supports 256M of address space per each channel).

    Signed-off-by: Marek Szyprowski
    Reviewed-by: Javier Martinez Canillas
    Tested-by: Javier Martinez Canillas
    Signed-off-by: Sylwester Nawrocki

    Marek Szyprowski
     
  • This patch removes custom code for initialization and handling of
    reserved memory regions in s5p-mfc driver and replaces it with generic
    reserved memory regions api.

    s5p-mfc driver now handles two reserved memory regions defined by
    generic reserved memory bindings. Support for non-dt platform has been
    removed, because all supported platforms have been already converted to
    device tree.

    Signed-off-by: Marek Szyprowski
    Reviewed-by: Javier Martinez Canillas
    Tested-by: Javier Martinez Canillas
    Signed-off-by: Sylwester Nawrocki

    Marek Szyprowski
     
  • All multimedia devices found on Exynos SoCs support only contiguous
    buffers, so set DMA max segment size to DMA_BIT_MASK(32) to let memory
    allocator to correctly create contiguous memory mappings.

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Sylwester Nawrocki

    Marek Szyprowski
     
  • The s5p_mfc_probe() function registers the video devices before all the
    resources needed by s5p_mfc_open() are correctly initalized.

    So if s5p_mfc_open() function is called before s5p_mfc_probe() finishes
    (since the video dev is already registered), a NULL pointer dereference
    will happen due s5p_mfc_open() accessing uninitialized vars such as the
    struct s5p_mfc_dev .watchdog_timer and .mfc_ops fields.

    An example is following BUG caused by add_timer() getting a NULL pointer:

    [ 45.765374] kernel BUG at kernel/time/timer.c:790!
    [ 45.765381] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
    ...
    [ 45.766149] [] (mod_timer) from [] (s5p_mfc_open+0x274/0x4d4 [s5p_mfc])
    [ 45.766416] [] (s5p_mfc_open [s5p_mfc]) from [] (v4l2_open+0x9c/0x100 [videodev])
    [ 45.766547] [] (v4l2_open [videodev]) from [] (chrdev_open+0x9c/0x178)
    [ 45.766575] [] (chrdev_open) from [] (do_dentry_open+0x1e0/0x300)
    [ 45.766595] [] (do_dentry_open) from [] (path_openat+0x800/0x10d4)
    [ 45.766610] [] (path_openat) from [] (do_filp_open+0x5c/0xc0)
    [ 45.766624] [] (do_filp_open) from [] (do_sys_open+0x10c/0x1bc)
    [ 45.766642] [] (do_sys_open) from [] (ret_fast_syscall+0x0/0x3c)
    [ 45.766655] Code: eaffffe3 e3a00001 e28dd008 e8bd81f0 (e7f001f2)

    Fix it by registering the video devs as the last step in s5p_mfc_probe().

    Signed-off-by: Javier Martinez Canillas
    Tested-by: Marek Szyprowski
    Signed-off-by: Sylwester Nawrocki

    Javier Martinez Canillas
     
  • When s5p_mfc_remove() calls put_device() for the reserved memory region
    devs, the driver core warns that the dev doesn't have a release callback:

    WARNING: CPU: 0 PID: 591 at drivers/base/core.c:251 device_release+0x8c/0x90
    Device 's5p-mfc-l' does not have a release() function, it is broken and must be fixed.

    Also, the declared DMA memory using dma_declare_coherent_memory() isn't
    relased so add a dev .release that calls dma_release_declared_memory().

    Cc:
    Fixes: 6e83e6e25eb4 ("[media] s5p-mfc: Fix kernel warning on memory init")
    Signed-off-by: Javier Martinez Canillas
    Tested-by: Marek Szyprowski
    Signed-off-by: Sylwester Nawrocki

    Javier Martinez Canillas
     
  • The devices don't have a name set, so makes dev_name() returns NULL which
    makes harder to identify the devices that are causing issues, for example:

    WARNING: CPU: 2 PID: 616 at drivers/base/core.c:251 device_release+0x8c/0x90
    Device '(null)' does not have a release() function, it is broken and must be fixed.

    And after setting the device name:

    WARNING: CPU: 0 PID: 591 at drivers/base/core.c:251 device_release+0x8c/0x90
    Device 's5p-mfc-l' does not have a release() function, it is broken and must be fixed.

    Cc:
    Fixes: 6e83e6e25eb4 ("[media] s5p-mfc: Fix kernel warning on memory init")
    Signed-off-by: Javier Martinez Canillas
    Tested-by: Marek Szyprowski
    Signed-off-by: Sylwester Nawrocki

    Javier Martinez Canillas
     

14 Apr, 2016

1 commit


23 Dec, 2015

4 commits


18 Dec, 2015

1 commit

  • Move timestamp from struct vb2_v4l2_buffer to struct vb2_buffer
    for common use, and change its type to u64 in order to handling
    y2038 problem. This patch also includes all device drivers' changes related to
    this restructuring.

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     

21 Oct, 2015

2 commits


01 Oct, 2015

2 commits

  • Remove v4l2 stuff - v4l2_buf, v4l2_plane - from struct vb2_buffer.

    Add new member variables - bytesused, length, offset, userptr, fd,
    data_offset - to struct vb2_plane in order to cover all information
    of v4l2_plane.
    struct vb2_plane {

    unsigned int bytesused;
    unsigned int length;
    union {
    unsigned int offset;
    unsigned long userptr;
    int fd;
    } m;
    unsigned int data_offset;
    }

    Replace v4l2_buf with new member variables - index, type, memory - which
    are common fields for buffer management.
    struct vb2_buffer {

    unsigned int index;
    unsigned int type;
    unsigned int memory;
    unsigned int num_planes;
    struct vb2_plane planes[VIDEO_MAX_PLANES];

    };

    v4l2 specific fields - flags, field, timestamp, timecode,
    sequence - are moved to vb2_v4l2_buffer in videobuf2-v4l2.c
    struct vb2_v4l2_buffer {
    struct vb2_buffer vb2_buf;

    __u32 flags;
    __u32 field;
    struct timeval timestamp;
    struct v4l2_timecode timecode;
    __u32 sequence;
    };

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     
  • Make videobuf2-v4l2 as a wrapper of videobuf2-core for v4l2-use.
    And replace videobuf2-core.h with videobuf2-v4l2.h.
    This renaming change should be accompanied by the modifications
    of all device drivers that include videobuf2-core.h.
    It can be done with just running this shell script.

    replace()
    {
    str1=$1
    str2=$2
    dir=$3
    for file in $(find $dir -name *.h -o -name *.c -o -name Makefile)
    do
    echo $file
    sed "s/$str1/$str2/g" $file > $file.out
    mv $file.out $file
    done
    }

    replace "videobuf2-core" "videobuf2-v4l2" "include/media/"
    replace "videobuf2-core" "videobuf2-v4l2" "drivers/media/"
    replace "videobuf2-core" "videobuf2-v4l2" "drivers/usb/gadget/"
    replace "videobuf2-core" "videobuf2-v4l2" "drivers/staging/media/"

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     

12 May, 2015

2 commits


01 May, 2015

1 commit

  • As reported by smatch:
    drivers/media/platform/s5p-mfc/s5p_mfc.c:1340 s5p_mfc_runtime_resume() warn: this array is probably non-NULL. 'm_dev->alloc_ctx'

    alloc_ctx can never be NULL, as it is embeeded inside the struct
    s5p_mfc_dev.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

21 Apr, 2015

1 commit

  • * patchwork: (404 commits)
    [media] uvcvideo: add support for VIDIOC_QUERY_EXT_CTRL
    [media] uvcvideo: fix cropcap v4l2-compliance failure
    [media] media: omap3isp: remove unused clkdev
    [media] coda: Add tracing support
    [media] coda: drop dma_sync_single_for_device in coda_bitstream_queue
    [media] coda: fix fill bitstream errors in nonstreaming case
    [media] coda: call SEQ_END when the first queue is stopped
    [media] coda: fail to start streaming if userspace set invalid formats
    [media] coda: remove duplicate error messages for buffer allocations
    [media] coda: move parameter buffer in together with context buffer allocation
    [media] coda: allocate bitstream buffer from REQBUFS, size depends on the format
    [media] coda: allocate per-context buffers from REQBUFS
    [media] coda: use strlcpy instead of snprintf
    [media] coda: bitstream payload is unsigned
    [media] coda: fix double call to debugfs_remove
    [media] coda: check kasprintf return value in coda_open
    [media] coda: bitrate can only be set in kbps steps
    [media] v4l2-mem2mem: no need to initialize b in v4l2_m2m_next_buf and v4l2_m2m_buf_remove
    [media] s5p-mfc: set allow_zero_bytesused flag for vb2_queue_init
    [media] coda: set allow_zero_bytesused flag for vb2_queue_init
    ...

    Mauro Carvalho Chehab
     

10 Apr, 2015

1 commit

  • The s5p-mfc driver interprets a buffer with bytesused equal to 0 as a
    special case indicating end-of-stream. After vb2: fix bytesused == 0
    handling (8a75ffb) patch videobuf2 modified the value of bytesused if it
    was 0. The allow_zero_bytesused flag was added to videobuf2 to keep
    backward compatibility.

    Signed-off-by: Kamil Debski
    Signed-off-by: Mauro Carvalho Chehab

    Kamil Debski
     

04 Mar, 2015

1 commit

  • The patch "media: s5p-mfc: use vb2_ops_wait_prepare/finish helper"
    (654a731be1a0b6f606f3f3d12b50db08f2ae3c3) introduced a kernel panic.
    The q->lock was set for just one queue, the other was not set thus causing
    a NULL pointer dereference.

    Reported-by: Marek Szyprowski
    Signed-off-by: Kamil Debski
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Kamil Debski
     

23 Dec, 2014

1 commit

  • This patch drops driver specific wait_prepare() and
    wait_finish() callbacks from vb2_ops and instead uses
    the the helpers vb2_ops_wait_prepare/finish() provided
    by the vb2 core, the lock member of the queue needs
    to be initalized to a mutex so that vb2 helpers
    vb2_ops_wait_prepare/finish() can make use of it.

    Signed-off-by: Lad, Prabhakar
    Cc: Kyungmin Park
    Cc: Kamil Debski
    Cc: Jeongtae Park
    Signed-off-by: Kamil Debski
    Signed-off-by: Mauro Carvalho Chehab

    Prabhakar Lad
     

15 Dec, 2014

1 commit

  • Pull driver core update from Greg KH:
    "Here's the set of driver core patches for 3.19-rc1.

    They are dominated by the removal of the .owner field in platform
    drivers. They touch a lot of files, but they are "simple" changes,
    just removing a line in a structure.

    Other than that, a few minor driver core and debugfs changes. There
    are some ath9k patches coming in through this tree that have been
    acked by the wireless maintainers as they relied on the debugfs
    changes.

    Everything has been in linux-next for a while"

    * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
    Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
    fs: debugfs: add forward declaration for struct device type
    firmware class: Deletion of an unnecessary check before the function call "vunmap"
    firmware loader: fix hung task warning dump
    devcoredump: provide a one-way disable function
    device: Add dev__once variants
    ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
    ath: use seq_file api for ath9k debugfs files
    debugfs: add helper function to create device related seq_file
    drivers/base: cacheinfo: remove noisy error boot message
    Revert "core: platform: add warning if driver has no owner"
    drivers: base: support cpu cache information interface to userspace via sysfs
    drivers: base: add cpu_device_create to support per-cpu devices
    topology: replace custom attribute macros with standard DEVICE_ATTR*
    cpumask: factor out show_cpumap into separate helper function
    driver core: Fix unbalanced device reference in drivers_probe
    driver core: fix race with userland in device_add()
    sysfs/kernfs: make read requests on pre-alloc files use the buffer.
    sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
    fs: sysfs: return EGBIG on write if offset is larger than file size
    ...

    Linus Torvalds
     

12 Dec, 2014

1 commit

  • Pull media updates from Mauro Carvalho Chehab:
    - Two new dvb frontend drivers: mn88472 and mn88473
    - A new driver for some PCIe DVBSky cards
    - A new remote controller driver: meson-ir
    - One LIRC staging driver got rewritten and promoted to mainstream:
    igorplugusb
    - A new tuner driver (m88rs6000t)
    - The old omap2 media driver got removed from staging. This driver
    uses an old DMA API and it is likely broken on recent kernels.
    Nobody cared enough to fix it
    - Media bus format moved to a separate header, as DRM will also use the
    definitions there
    - mem2mem_testdev were renamed to vim2m, in order to use the same
    naming convention taken by the other virtual test driver (vivid)
    - Added a new driver for coda SoC (coda-jpeg)
    - The cx88 driver got converted to use videobuf2 core
    - Make DMABUF export buffer to work with DMA Scatter/Gather and Vmalloc
    cores
    - Lots of other fixes, improvements and cleanups on the drivers.

    * tag 'media/v3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (384 commits)
    [media] mn88473: One function call less in mn88473_init() after error
    [media] mn88473: Remove uneeded check before release_firmware()
    [media] lirc_zilog: Deletion of unnecessary checks before vfree()
    [media] MAINTAINERS: Add myself as img-ir maintainer
    [media] img-ir: Don't set driver's module owner
    [media] img-ir: Depend on METAG or MIPS or COMPILE_TEST
    [media] img-ir/hw: Drop [un]register_decoder declarations
    [media] img-ir/hw: Fix potential deadlock stopping timer
    [media] img-ir/hw: Always read data to clear buffer
    [media] redrat3: ensure dma is setup properly
    [media] ddbridge: remove unneeded check before dvb_unregister_device()
    [media] si2157: One function call less in si2157_init() after error
    [media] tuners: remove uneeded checks before release_firmware()
    [media] arm: omap2: rx51-peripherals: fix build warning
    [media] stv090x: add an extra protetion against buffer overflow
    [media] stv090x: Remove an unreachable code
    [media] stv090x: Some whitespace cleanups
    [media] em28xx: checkpatch cleanup: whitespaces/new lines cleanups
    [media] si2168: add support for firmware files in new format
    [media] si2168: debug printout for firmware version
    ...

    Linus Torvalds
     

05 Dec, 2014

1 commit

  • After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
    selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks
    depending on CONFIG_PM_RUNTIME may now be changed to depend on
    CONFIG_PM.

    The alternative of CONFIG_PM_SLEEP and CONFIG_PM_RUNTIME may be
    replaced with CONFIG_PM too.

    Make these changes everywhere under drivers/media/.

    Acked-by: Sylwester Nawrocki
    Acked-by: Philipp Zabel
    Acked-by: Kamil Debski
    Acked-by: Mauro Carvalho Chehab
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     

05 Nov, 2014

1 commit


29 Oct, 2014

1 commit