23 Mar, 2011

2 commits


20 Mar, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (64 commits)
    Input: tsc2005 - remove 'disable' sysfs attribute
    Input: tsc2005 - add open/close
    Input: tsc2005 - handle read errors from SPI layer
    Input: tsc2005 - do not rearm timer in hardirq handler
    Input: tsc2005 - don't use work for 'pen up' handling
    Input: tsc2005 - do not use 0 in place of NULL
    Input: tsc2005 - use true/false for boolean variables
    Input: tsc2005 - hide selftest attribute if we can't reset
    Input: tsc2005 - rework driver initialization code
    Input: tsc2005 - set up bus type in input device
    Input: tsc2005 - set up parent device
    Input: tsc2005 - clear driver data after unbinding
    Input: tsc2005 - add module description
    Input: tsc2005 - remove driver banner message
    Input: tsc2005 - remove incorrect module alias
    Input: tsc2005 - convert to using dev_pm_ops
    Input: tsc2005 - use spi_get/set_drvdata()
    Input: introduce tsc2005 driver
    Input: xen-kbdfront - move to drivers/input/misc
    Input: xen-kbdfront - add grant reference for shared page
    ...

    Linus Torvalds
     

17 Mar, 2011

1 commit

  • * 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6: (21 commits)
    tty: serial: altera_jtaguart: Add device tree support
    tty: serial: altera_uart: Add devicetree support
    dt: eliminate of_platform_driver shim code
    dt: Eliminate of_platform_{,un}register_driver
    dt/serial: Eliminate users of of_platform_{,un}register_driver
    dt/usb: Eliminate users of of_platform_{,un}register_driver
    dt/video: Eliminate users of of_platform_{,un}register_driver
    dt/net: Eliminate users of of_platform_{,un}register_driver
    dt/sound: Eliminate users of of_platform_{,un}register_driver
    dt/spi: Eliminate users of of_platform_{,un}register_driver
    dt: uartlite: merge platform and of_platform driver bindings
    dt: xilinx_hwicap: merge platform and of_platform driver bindings
    ipmi: convert OF driver to platform driver
    leds/leds-gpio: merge platform_driver with of_platform_driver
    dt/sparc: Eliminate users of of_platform_{,un}register_driver
    dt/powerpc: Eliminate users of of_platform_{,un}register_driver
    dt/powerpc: move of_bus_type infrastructure to ibmebus
    drivercore/dt: add a match table pointer to struct device
    dt: Typo fix.
    altera_ps2: Add devicetree support
    ...

    Linus Torvalds
     

11 Mar, 2011

1 commit

  • * 'media_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:
    [media] mantis_pci: remove asm/pgtable.h include
    [media] tda829x: fix regression in probe functions
    [media] mceusb: don't claim multifunction device non-IR parts
    [media] nuvoton-cir: fix wake from suspend
    [media] cx18: Add support for Hauppauge HVR-1600 models with s5h1411
    [media] ivtv: Fix corrective action taken upon DMA ERR interrupt to avoid hang
    [media] cx25840: fix probing of cx2583x chips
    [media] cx23885: Remove unused 'err:' labels to quiet compiler warning
    [media] cx23885: Revert "Check for slave nack on all transactions"
    [media] DiB7000M: add pid filtering
    [media] Fix sysfs rc protocol lookup for rc-5-sz
    [media] au0828: fix VBI handling when in V4L2 streaming mode
    [media] ir-raw: Properly initialize the IR event (BZ#27202)
    [media] s2255drv: firmware re-loading changes
    [media] Fix double free of video_device in mem2mem_testdev
    [media] DM04/QQBOX memcpy to const char fix

    Linus Torvalds
     

03 Mar, 2011

11 commits

  • mantis_pci.c is including asm/pgtable.h and it's leading to a build failure on
    arm. It has been noticed here :

    https://buildd.debian.org/fetch.cgi?pkg=linux-2.6&arch=armel&ver=2.6.38~rc6-1~experimental.1&stamp=1298430952&file=log&as=raw

    As this header doesn't seem to be used, I'm removing it. I've build tested it
    with arm and x86.

    Signed-off-by: Arnaud Patard
    Signed-off-by: Mauro Carvalho Chehab

    Arnaud Patard (Rtp)
     
  • In commit 567aba0b7997dad5fe3fb4aeb174ee9018df8c5b, the probe address
    for tda8290_probe and tda8295_probe was hard-coded to 0x4b, which is the
    default i2c address for those devices, but its possible for the device
    to be at an alternate address, 0x42, which is the case for the HVR-1950.
    If we probe the wrong address, probe fails and we have a non-working
    device. We have the actual address passed into the function by way of
    i2c_props, we just need to use it. Also fix up some copy/paste comment
    issues and streamline debug spew a touch. Verified to restore my
    HVR-1950 to full working order.

    Special thanks to Ken Bass for reporting the issue in the first place,
    and to both he and Gary Buhrmaster for aiding in debugging and analysis
    of the problem.

    Reported-by: Ken Bass
    Tested-by: Jarod Wilson
    Signed-off-by: Jarod Wilson
    Signed-off-by: Mauro Carvalho Chehab

    Jarod Wilson
     
  • There's a Realtek combo card reader and IR receiver device with multiple
    usb interfaces on it. The mceusb driver is incorrectly grabbing all of
    them. This change should make it bind to only interface 2 (patch based
    on lsusb output on the linux-media list from Lucian Muresan).

    Tested regression-free with the six mceusb devices I have myself.

    Reported-by: Patrick Boettcher
    Reported-by: Lucian Muresan
    Signed-off-by: Jarod Wilson
    Signed-off-by: Mauro Carvalho Chehab

    Jarod Wilson
     
  • The CIR Wake FIFO is 67 bytes long, but the stock remote appears to only
    populate 65 of them. Limit comparison to 65 bytes, and wake from suspend
    works a whole lot better (it wasn't working at all for most folks).

    Fix based on comparison with the old lirc_wb677 driver from Nuvoton,
    debugging and testing done by Dave Treacy by way of the lirc mailing
    list.

    Reported-by: Dave Treacy
    Signed-off-by: Jarod Wilson
    Signed-off-by: Mauro Carvalho Chehab

    Jarod Wilson
     
  • The newest variants of the HVR-1600 have an s5h1411/tda18271 for the digital
    frontend. Add support for these boards.

    Thanks to Hauppauge Computer Works for providing sample hardware.

    [awalls@md.metrocast.net: Changed an additional log message to clarify for
    the end user that the driver is defaulting to an original HVR-1600 for
    unknown model numbers.]

    Signed-off-by: Devin Heitmueller
    Signed-off-by: Andy Walls
    Signed-off-by: Mauro Carvalho Chehab

    Devin Heitmueller
     
  • After upgrading the kernel from stock Ubuntu 7.10 to
    10.04, with no hardware changes, I started getting the dreaded DMA
    TIMEOUT errors, followed by inability to encode until the machine was
    rebooted.

    I came across a post from Andy in March
    (http://www.gossamer-threads.com/lists/ivtv/users/40943#40943) where he
    speculates that perhaps the corrective actions being taken after a DMA
    ERROR are not sufficient to recover the situation. After some testing
    I suspect that this is indeed the case, and that in fact the corrective
    action may be what hangs the card's DMA engine, rather than the
    original error.

    Specifically these DMA ERROR IRQs seem to present with two different
    values in the IVTV_REG_DMASTATUS register: 0x11 and 0x13. The current
    corrective action is to clear that status register back to 0x01 or
    0x03, and then issue the next DMA request. In the case of a 0x13 this
    seems to result in a minor glitch in the encoded stream due to the
    failed transfer that was not retried, but otherwise things continue OK.
    In the case of a 0x11 the card's DMA write engine is never heard from
    again, and a DMA TIMEOUT follows shortly after. 0x11 is the killer.

    I suspect that the two cases need to be handled differently. The
    difference is in bit 1 (0x02), which is set when the error is about to
    be successfully recovered, and clear when things are about to go bad.

    Bit 1 of DMASTATUS is described differently in different places either
    as a positive "write finished", or an inverted "write busy". If we
    take the first definition, then when an error arises with state 0x11,
    it means that the write did not complete. It makes sense to start a
    new transfer, as in the current code. But if we take the second
    definition, then 0x11 means "an error but the write engine is still
    busy". Trying to feed it a new transfer in this situation might not be
    a good idea.

    As an experiment, I added code to ignore the DMA ERROR IRQ if DMASTATUS
    is 0x11. I.e., don't start a new transfer, don't clear our flags, etc.
    The hope was that the card would complete the transfer and issue a ENC
    DMA COMPLETE, either successfully or with an error condition there.
    However the card still hung.

    The only remaining corrective action being taken with a 0x11 status was
    then the write back to the status register to clear the error, i.e.
    DMASTATUS = DMASTATUS & ~3. This would have the effect of clearing the
    error bit 4, while leaving the lower bits indicating DMA write busy.

    Strangely enough, removing this write to the status register solved the
    problem! If the DMA ERROR IRQ with DMASTATUS=0x11 is completely
    ignored, with no corrective action at all, then the card will complete
    the transfer and issue a new IRQ. If the status register is written to
    when it has the value 0x11, then the DMA engine hangs. Perhaps it's
    illegal to write to
    DMASTATUS while the read or write busy bit is set? At any rate, it
    appears that the current corrective action is indeed making things
    worse rather than better.

    I put together a patch that modifies ivtv_irq_dma_err to do the
    following:

    - Don't write back to IVTV_REG_DMASTATUS.
    - If write-busy is asserted, leave the card alone. Just extend the
    timeout slightly.
    - If write-busy is de-asserted, retry the current transfer.

    This has completely fixed my DMA TIMEOUT woes. DMA ERR events still
    occur, but now they seem to be correctly handled. 0x11 events no
    longer hang the card, and 0x13 events no longer result in a glitch in
    the stream, as the failed transfer is retried. I'm happy.

    I've inlined the patch below in case it is of interest. As described
    above, I have a theory about why it works (based on a different
    interpretation of bit 1 of DMASTATUS), but I can't guarantee that my
    theory is correct. There may be another explanation, or it may be a
    fluke. Maybe ignoring that IRQ entirely would be equally effective?
    Maybe the status register read/writeback sequence is race condition if
    the card changes it in the mean time? Also as I am using a PVR-150
    only, I have not been able to test it on other cards, which may be
    especially relevant for 350s that support concurrent decoding.
    Hopefully the patch does not break the DMA READ path.

    Mike

    [awalls@md.metrocast.net: Modified patch to add a verbose comment, make minor
    brace reformats, and clear the error flags in the IVTV_REG_DMASTATUS iff both
    read and write DMA were not in progress. Mike's conjecture about a race
    condition with the writeback is correct; it can confuse the DMA engine.]

    [Comment and analysis from the ML post by Michael ]
    Signed-off-by: Andy Walls
    Cc: stable@kernel.org
    Signed-off-by: Mauro Carvalho Chehab

    Michael
     
  • Fix the probing of cx2583x chips, because two controls were clustered
    that are not created for these chips.

    This regression was introduced in 2.6.36.

    Signed-off-by: Sven Barth
    Signed-off-by: Andy Walls
    Cc: stable@kernel.org
    Signed-off-by: Mauro Carvalho Chehab

    Sven Barth
     
  • The previous revert-commit, that affected cx23885-i2c.c, left some
    unused labels that the compiler griped about. Clean them up.

    Signed-off-by: Andy Walls
    Signed-off-by: Mauro Carvalho Chehab

    Andy Walls
     
  • This reverts commit 44835f197bf1e3f57464f23dfb239fef06cf89be.

    With the CX23885 hardware I2C master, checking for I2C slave ACK/NAK
    is not valid when the I2C_EXTEND or I2C_NOSTOP bits are set.
    Revert the commit that checks for I2C slave ACK/NAK on all transactions,
    so that XC5000 tuners work with the CX23885 again.

    Thanks go to Mark Zimmerman for reporting and bisecting this problem.

    Bisected-by: Mark Zimmerman

    Reported-by: Mark Zimmerman
    Signed-off-by: Andy Walls
    Cc: stable@kernel.org
    Signed-off-by: Mauro Carvalho Chehab

    Andy Walls
     
  • This patch adds the pid filtering for the dib7000M demod. It also
    corrects the pid filtering for the dib7700 based board. It should
    prevent an oops, when using dib7700p based board.

    References: https://bugzilla.novell.com/show_bug.cgi?id=644807

    Signed-off-by: Olivier Grenie
    Signed-off-by: Patrick Boettcher
    Tested-by: Pavel SKARKA
    Cc: stable@kernel.org
    Signed-off-by: Mauro Carvalho Chehab

    Olivier Grenie
     
  • With the current matching rules the lookup for rc protocol named rc-5-sz matches with "rc-5" before finding "rc-5-sz". Thus one is able to never enable/disable the rc-5-sz protocol via sysfs.

    Fix the lookup to require an exact match which allows the manipulation of sz protocol.

    Signed-off-by: Antti Seppälä
    Cc: stable@kernel.org
    Signed-off-by: Mauro Carvalho Chehab

    Antti Seppälä
     

01 Mar, 2011

1 commit


03 Feb, 2011

1 commit

  • * 'media_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:
    [media] fix saa7111 non-detection
    [media] rc/streamzap: fix reporting response times
    [media] mceusb: really fix remaining keybounce issues
    [media] rc: use time unit conversion macros correctly
    [media] rc/ir-lirc-codec: add back debug spew
    [media] ir-kbd-i2c: improve remote behavior with z8 behind usb
    [media] lirc_zilog: z8 on usb doesn't like back-to-back i2c_master_send
    [media] hdpvr: fix up i2c device registration
    [media] rc/mce: add mappings for missing keys
    [media] gspca - zc3xx: Discard the partial frames
    [media] gspca - zc3xx: Fix bad images with the sensor hv7131r
    [media] gspca - zc3xx: Bad delay when given by a table

    Linus Torvalds
     

02 Feb, 2011

5 commits


01 Feb, 2011

3 commits


31 Jan, 2011

11 commits


22 Jan, 2011

1 commit

  • * 'media_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (101 commits)
    [media] staging/lirc: fix mem leaks and ptr err usage
    [media] hdpvr: reduce latency of i2c read/write w/recycled buffer
    [media] hdpvr: enable IR part
    [media] rc/mceusb: timeout should be in ns, not us
    [media] v4l2-device: fix 'use-after-freed' oops
    [media] v4l2-dev: don't memset video_device.dev
    [media] zoran: use video_device_alloc instead of kmalloc
    [media] w9966: zero device state after a detach
    [media] v4l: Fix a use-before-set in the control framework
    [media] v4l: Include linux/videodev2.h in media/v4l2-ctrls.h
    [media] DocBook/v4l: update V4L2 revision and update copyright years
    [media] DocBook/v4l: fix validation error in dev-rds.xml
    [media] v4l2-ctrls: queryctrl shouldn't attempt to replace V4L2_CID_PRIVATE_BASE IDs
    [media] v4l2-ctrls: fix missing 'read-only' check
    [media] pvrusb2: Provide more information about IR units to lirc_zilog and ir-kbd-i2c
    [media] ir-kbd-i2c: Add back defaults setting for Zilog Z8's at addr 0x71
    [media] lirc_zilog: Update TODO.lirc_zilog
    [media] lirc_zilog: Add Andy Walls to copyright notice and authors list
    [media] lirc_zilog: Remove useless struct i2c_driver.command function
    [media] lirc_zilog: Remove unneeded tests for existence of the IR Tx function
    ...

    Linus Torvalds
     

21 Jan, 2011

1 commit

  • The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
    is used to configure any non-standard kernel with a much larger scope than
    only small devices.

    This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
    references to the option throughout the kernel. A new CONFIG_EMBEDDED
    option is added that automatically selects CONFIG_EXPERT when enabled and
    can be used in the future to isolate options that should only be
    considered for embedded systems (RISC architectures, SLOB, etc).

    Calling the option "EXPERT" more accurately represents its intention: only
    expert users who understand the impact of the configuration changes they
    are making should enable it.

    Reviewed-by: Ingo Molnar
    Acked-by: David Woodhouse
    Signed-off-by: David Rientjes
    Cc: Greg KH
    Cc: "David S. Miller"
    Cc: Jens Axboe
    Cc: Arnd Bergmann
    Cc: Robin Holt
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     

19 Jan, 2011

1 commit

  • The current hdpvr code kmalloc's a new buffer for every i2c read and
    write. Rather than do that, lets allocate a buffer in the driver's
    device struct and just use that every time.

    The size I've chosen for the buffer is the maximum size I could
    ascertain might be used by either ir-kbd-i2c or lirc_zilog, plus a bit
    of padding (lirc_zilog may use up to 100 bytes on tx, rounded that up
    to 128).

    Note that this might also remedy user reports of very sluggish behavior
    of IR receive with hdpvr hardware.

    v2: make sure (len i2c_buf)) [Jean Delvare]

    Reported-by: Jean Delvare
    Acked-by: Jean Delvare
    Signed-off-by: Jarod Wilson
    Signed-off-by: Mauro Carvalho Chehab

    Jarod Wilson