16 Jan, 2012

1 commit

  • * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (655 commits)
    [media] revert patch: HDIC HD29L2 DMB-TH USB2.0 reference design driver
    mb86a20s: Add a few more register settings at the init seq
    mb86a20s: Group registers into the same line
    [media] [PATCH] don't reset the delivery system on DTV_CLEAR
    [media] [BUG] it913x-fe fix typo error making SNR levels unstable
    [media] cx23885: Query the CX25840 during enum_input for status
    [media] cx25840: Add support for g_input_status
    [media] rc-videomate-m1f.c Rename to match remote controler name
    [media] drivers: media: au0828: Fix dependency for VIDEO_AU0828
    [media] convert drivers/media/* to use module_platform_driver()
    [media] drivers: video: cx231xx: Fix dependency for VIDEO_CX231XX_DVB
    [media] Exynos4 JPEG codec v4l2 driver
    [media] doc: v4l: selection: choose pixels as units for selection rectangles
    [media] v4l: s5p-tv: mixer: fix setup of VP scaling
    [media] v4l: s5p-tv: mixer: add support for selection API
    [media] v4l: emulate old crop API using extended crop/compose API
    [media] doc: v4l: add documentation for selection API
    [media] doc: v4l: add binary images for selection API
    [media] v4l: add support for selection api
    [media] hd29l2: fix review findings
    ...

    Linus Torvalds
     

15 Jan, 2012

1 commit

  • * 'fbdev-next' of git://github.com/schandinat/linux-2.6: (175 commits)
    module_param: make bool parameters really bool (drivers/video/i810)
    Revert "atmel_lcdfb: Adjust HFP calculation so it matches the manual."
    OMAPDSS: HDMI: Disable DDC internal pull up
    OMAPDSS: HDMI: Move duplicate code from boardfile
    OMAPDSS: add OrtusTech COM43H4M10XTC display support
    OMAP: DSS2: Support for UMSH-8173MD TFT panel
    ASoC: OMAP: HDMI: Move HDMI codec trigger function to generic HDMI driver
    OMAPDSS: HDMI: Create function to enable HDMI audio
    ASoC: OMAP: HDMI: Correct signature of ASoC functions
    ASoC: OMAP: HDMI: Introduce driver data for audio codec
    grvga: fix section mismatch warnings
    video: s3c-fb: Don't keep device runtime active when open
    video: s3c-fb: Hold runtime PM references when touching registers
    video: s3c-fb: Take a runtime PM reference when unblanked
    video: s3c-fb: Disable runtime PM in error paths from probe
    video: s3c-fb: Use s3c_fb_enable() to enable the framebuffer
    video: s3c-fb: Make runtime PM functional again
    drivers/video: fsl-diu-fb: merge fsl_diu_alloc() into map_video_memory()
    drivers/video: fsl-diu-fb: add default platform ops functions
    drivers/video: fsl-diu-fb: remove broken reference count enabling the display
    ...

    Linus Torvalds
     

13 Jan, 2012

2 commits


11 Jan, 2012

25 commits

  • We can pass a NO_SIGNAL video decoder state back to applications
    if it's available.

    Signed-off-by: Steven Toth
    Signed-off-by: Mauro Carvalho Chehab

    Steven Toth
     
  • Allow bridge drivers to query status.

    Signed-off-by: Steven Toth
    Signed-off-by: Mauro Carvalho Chehab

    Steven Toth
     
  • This remote was added with support for card Compro VideoMate M1F.

    This remote is shipped with various Compro cards, not this one only.

    Furthermore this remote can be bought separately under name Compro
    VideoMate K100.
    http://compro.com.tw/en/product/k100/k100.html

    So give it a proper name.

    [mchehab@redhat.com: Fix the Makefile]
    Signed-off-by: Samuel Rakitničan
    Signed-off-by: Mauro Carvalho Chehab

    Samuel Rakitnican
     
  • Fix the following build warning:

    warning: (VIDEO_AU0828) selects DVB_AU8522 which has unmet direct dependencies (MEDIA_SUPPORT && DVB_CAPTURE_DRIVERS && DVB_CORE && I2C && VIDEO_V4L2)

    Signed-off-by: Fabio Estevam
    Signed-off-by: Mauro Carvalho Chehab

    Fabio Estevam
     
  • This patch converts the drivers in drivers/media/* to use the
    module_platform_driver() macro which makes the code smaller and a bit
    simpler.

    Cc: Mauro Carvalho Chehab
    Cc: Laurent Pinchart
    Cc: Kyungmin Park
    Cc: Hans Verkuil
    Cc: "Richard Röjfors"
    Cc: "Matti J. Aaltonen"
    Cc: Lucas De Marchi
    Cc: Manjunath Hadli
    Cc: Muralidharan Karicheri
    Cc: Anatolij Gustschin
    Cc: Guennadi Liakhovetski
    Cc: Marek Szyprowski
    Cc: Robert Jarzmik
    Cc: Jonathan Corbet
    Cc: Daniel Drake
    Signed-off-by: Axel Lin
    Acked-by: Laurent Pinchart
    Acked-by: Guennadi Liakhovetski
    Acked-by: Marek Szyprowski
    Acked-by: Matti J. Aaltonen
    Signed-off-by: Mauro Carvalho Chehab

    Axel Lin
     
  • Fix the following build warning:

    warning: (VIDEO_CX231XX_DVB) selects DVB_MB86A20S which has unmet direct dependencies (MEDIA_SUPPORT && DVB_CAPTURE_DRIVERS && DVB_CORE && I2C)

    Signed-off-by: Fabio Estevam
    Signed-off-by: Mauro Carvalho Chehab

    Fabio Estevam
     
  • Add driver for the JPEG codec IP block available in Samsung Exynos SoC series.

    The driver is implemented as a V4L2 mem-to-mem device. It exposes two video
    nodes to user space, one for the encoding part, and one for the decoding part.

    Signed-off-by: Andrzej Pietrasiewicz
    Signed-off-by: Kyungmin Park
    Reviewed-by: Sakari Ailus
    Reviewed-by: Sylwester Nawrocki
    Reviewed-by: Tomasz Stanislawski
    Signed-off-by: Marek Szyprowski
    Signed-off-by: Mauro Carvalho Chehab

    Andrzej Pietrasiewicz
     
  • Adjusting of Video Processor's scaling factors was flawed. It bounded scaling
    to range 1/16 to 1/1. The correct range should be 1/4 to 4/1. This patch fixes
    this bug.

    Signed-off-by: Tomasz Stanislawski
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Tomasz Stanislawski
     
  • This patch add support for V4L2 selection API to s5p-tv driver. Moreover it
    removes old API for cropping. Old applications would still work because the
    crop ioctls are emulated using the selection API.

    Signed-off-by: Tomasz Stanislawski
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Tomasz Stanislawski
     
  • This patch allows new video drivers to work correctly with applications that
    use the old-style crop API. The old crop ioctl is emulated by using selection
    callbacks.

    Signed-off-by: Tomasz Stanislawski
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Tomasz Stanislawski
     
  • This patch introduces new api for a precise control of cropping and composing
    features for video devices. The new ioctls are VIDIOC_S_SELECTION and
    VIDIOC_G_SELECTION.

    Signed-off-by: Tomasz Stanislawski
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Tomasz Stanislawski
     
  • The card definition of the Terratec Cinergy 200 USB uses the
    wrong tuner type. Therefore some channels are currently missing.
    Attached patch fixes this problem.

    Signed-off-by: Sascha Sommer
    Signed-off-by: Mauro Carvalho Chehab

    Sascha Sommer
     
  • The MaxPacketSize for em2800 based devices is too small to capture at full resolution.
    Therefore scale down when the maximum frame size is selected.
    The previous workaround that simply reduced the X resolution cannot be used
    because it crops a part of the input as
    the em2800 can only scale down with a factor of 0.5.

    reverts commits 1ca31892e and fb3de0398ab.

    [mchehab@redhat.com: Fix CodingStyle]
    Signed-off-by: Sascha Sommer
    Signed-off-by: Mauro Carvalho Chehab

    Sascha Sommer
     
  • writing the EM28XX_R06_I2C_CLK register leads to the problem that the
    i2c bus on the Terratec Cinergy 200 USB is no longer usable when the
    system is rebooted.

    The device needs to be unplugged in order to bring it back to life.
    Attached patch conditionally disables the write in
    em28xx_pre_card_setup() like it is already done in em28xx_card_setup().

    Signed-off-by: Sascha Sommer
    Signed-off-by: Mauro Carvalho Chehab

    Sascha Sommer
     
  • It looks like the return value check that is done after setting the I2C
    speed checks the wrong return code.

    Signed-off-by: Sascha Sommer
    Signed-off-by: Mauro Carvalho Chehab

    Sascha Sommer
     
  • The 'struct em28xx *' pointer was passed by reference to the
    em28xx_init_dev() function, for no reason. Instead, just pass it by
    value, which is much more logical and simple.

    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Mauro Carvalho Chehab

    Thomas Petazzoni
     
  • URBs allocated with usb_alloc_urb() are allocated from DMA-coherent
    areas, and therefore it is not necessary to call dma_map_single() on
    such buffers. Worst, on ARM, calling dma_map_single() on a
    DMA-coherent buffer will trigger a BUG_ON() in
    arch/arm/mm/dma-mapping.c.

    Therefore, we mark all URBs allocated with usb_alloc_urb() with the
    URB_NO_TRANSFER_DMA_MAP transfer_flags, so that the USB core does not
    do dma_map_single()/dma_unmap_single() on those buffers.

    This is similar to 882787ff8fdeb0be790547ee9b22b281095e95da for the
    gspca driver, and has already been discussed on the linux-media list
    in the past:
    http://www.mail-archive.com/linux-media@vger.kernel.org/msg37086.html.

    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Mauro Carvalho Chehab

    Thomas Petazzoni
     
  • The 'struct cx231xx *' pointer was passed by reference to the
    cx231xx_init_dev() function, for no reason. Instead, just pass it by
    value, which is much more logical and simple.

    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Mauro Carvalho Chehab

    Thomas Petazzoni
     
  • The driver were using DEV_MISCONFIGURED on some places, and
    DEV_DISCONNECTED on others. In a matter of fact, DEV_MISCONFIGURED
    were set only during the usb disconnect callback, with
    was confusing.

    Also, the alsa driver never checks if the device is present,
    before doing some dangerous things.

    Remove DEV_MISCONFIGURED, replacing it by DEV_DISCONNECTED.

    Also, fixes the other usecases for DEV_DISCONNECTED.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • cx231xx_devused is racy. Re-implement it in a proper way,
    to remove the risk of mangling it.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • There are several weirdness at the unregister logic.

    First of all, IR has a poll thread. This thread needs to be
    removed, as it uses some resources associated to the main driver.
    So, the driver needs to explicitly unregister the I2C client for
    ir-kbd-i2c.

    If, for some reason, the driver needs to wait for a close()
    to happen, not all memories will be freed, because the free
    logic were in the wrong place.

    Also, v4l2_device_unregister() seems to be called too early,
    as devices are still using it.

    Finally, even with the device disconnected, there is one
    USB function call that will still try to talk with it.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • If the device got removed, stops polling it. Also, un-registers
    it at input/evdev, as it won't work anymore. We can't free the
    IR structure yet, as the ir_remove method will be called later.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Now that we set the intfdata on the right interface, the 'lif'
    variable is useless.

    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Mauro Carvalho Chehab

    Thomas Petazzoni
     
  • The following sequence of commands was triggering a kernel crash in
    cdev_get():

    modprobe cx231xx
    rmmod cx231xx
    modprobe cx231xx
    v4l2grab -n 1

    The problem was that cx231xx_usb_disconnect() was not doing anything
    because the test:

    if (!dev->udev)
    return;

    was reached (i.e, dev->udev was NULL).

    This is due to the fact that the 'dev' pointer placed as intfdata into
    the usb_interface structure had the wrong value, because
    cx231xx_probe() was doing the usb_set_intfdata() on the wrong
    usb_interface structure. For some reason, cx231xx_probe() was doing
    the following:

    static int cx231xx_usb_probe(struct usb_interface *interface,
    const struct usb_device_id *id)
    {
    struct usb_interface *lif = NULL;
    [...]
    /* store the current interface */
    lif = interface;
    [...]
    /* store the interface 0 back */
    lif = udev->actconfig->interface[0];
    [...]
    usb_set_intfdata(lif, dev);
    [...]
    retval = v4l2_device_register(&interface->dev, &dev->v4l2_dev);
    [...]
    }

    So, the usb_set_intfdata() was done on udev->actconfig->interface[0]
    and not on the 'interface' passed as argument to the ->probe() and
    ->disconnect() hooks. Later on, v4l2_device_register() was
    initializing the intfdata of the correct usb_interface structure as a
    pointer to the v4l2_device structure.

    Upon unregistration, the ->disconnect() hook was getting the intfdata
    of the usb_interface passed as argument... and casted it to a 'struct
    cx231xx *' while it was in fact a 'struct v4l2_device *'.

    The correct fix seems to just be to set the intfdata on the proper
    interface from the beginning. Now, loading/unloading/reloading the
    driver allows to use the device properly.

    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Mauro Carvalho Chehab

    Thomas Petazzoni
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (53 commits)
    iommu/amd: Set IOTLB invalidation timeout
    iommu/amd: Init stats for iommu=pt
    iommu/amd: Remove unnecessary cache flushes in amd_iommu_resume
    iommu/amd: Add invalidate-context call-back
    iommu/amd: Add amd_iommu_device_info() function
    iommu/amd: Adapt IOMMU driver to PCI register name changes
    iommu/amd: Add invalid_ppr callback
    iommu/amd: Implement notifiers for IOMMUv2
    iommu/amd: Implement IO page-fault handler
    iommu/amd: Add routines to bind/unbind a pasid
    iommu/amd: Implement device aquisition code for IOMMUv2
    iommu/amd: Add driver stub for AMD IOMMUv2 support
    iommu/amd: Add stat counter for IOMMUv2 events
    iommu/amd: Add device errata handling
    iommu/amd: Add function to get IOMMUv2 domain for pdev
    iommu/amd: Implement function to send PPR completions
    iommu/amd: Implement functions to manage GCR3 table
    iommu/amd: Implement IOMMUv2 TLB flushing routines
    iommu/amd: Add support for IOMMUv2 domain mode
    iommu/amd: Add amd_iommu_domain_direct_map function
    ...

    Linus Torvalds
     

10 Jan, 2012

1 commit

  • Cleanups on various subarchitectures

    Cleanup patches for various ARM platforms and some of their associated
    drivers, the bulk of these is for mach-91.

    Arnd ended up pulling in the restart branch from Russell in order to
    fix up some simple but annoying merge conflicts.

    * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
    arm/at91: fix build of stamp9g20
    ARM: u300: delete memory.h
    MAINTAINERS: add maintainer entry for Picochip picoxcell
    ARM: picoxcell: move io mappings to common.c
    ARM: picoxcell: don't reserve irq_descs
    ARM: picoxcell: remove mach/memory.h
    ARM: at91: delete the pcontrol_g20_defconfig
    arm/tegra: Remove code that's ifndef CONFIG_ARM_GIC
    arm/tegra: remove unused defines
    arm/tegra: fix variable formatting in makefile
    ARM: davinci: vpif: move code to driver core header from platform
    ARM: at91/gpio: fix display of number of irq setuped
    ARM: at91/gpio: drop PIN_BASE
    ARM: at91/udc: use gpio_is_valid to check the gpio
    ARM: at91/ohci: use gpio_is_valid to check the gpio
    ARM: at91/nand: use gpio_is_valid to check the gpio
    ARM: at91/mmc: use gpio_is_valid to check the gpio
    ARM: at91/ide: use gpio_is_valid to check the gpio
    ARM: at91/pata: use gpio_is_valid to check the gpio
    ARM: at91/soc: use gpio_is_valid to check the gpio
    ...

    Linus Torvalds
     

09 Jan, 2012

2 commits

  • Conflicts:
    drivers/pci/hotplug/acpiphp_glue.c

    Joerg Roedel
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)
    Kconfig: acpi: Fix typo in comment.
    misc latin1 to utf8 conversions
    devres: Fix a typo in devm_kfree comment
    btrfs: free-space-cache.c: remove extra semicolon.
    fat: Spelling s/obsolate/obsolete/g
    SCSI, pmcraid: Fix spelling error in a pmcraid_err() call
    tools/power turbostat: update fields in manpage
    mac80211: drop spelling fix
    types.h: fix comment spelling for 'architectures'
    typo fixes: aera -> area, exntension -> extension
    devices.txt: Fix typo of 'VMware'.
    sis900: Fix enum typo 'sis900_rx_bufer_status'
    decompress_bunzip2: remove invalid vi modeline
    treewide: Fix comment and string typo 'bufer'
    hyper-v: Update MAINTAINERS
    treewide: Fix typos in various parts of the kernel, and fix some comments.
    clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR
    gpio: Kconfig: drop unknown symbol 'CS5535_GPIO'
    leds: Kconfig: Fix typo 'D2NET_V2'
    sound: Kconfig: drop unknown symbol ARCH_CLPS7500
    ...

    Fix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new
    kconfig additions, close to removed commented-out old ones)

    Linus Torvalds
     

07 Jan, 2012

8 commits