16 Jan, 2015

10 commits


09 Jan, 2015

1 commit

  • commit 1a5fb99de4850cba710d91becfa2c65653048589 upstream.

    Some boards with TC6393XB chip require full state restore during system
    resume thanks to chip's VCC being cut off during suspend (Sharp SL-6000
    tosa is one of them). Failing to do so would result in ohci Oops on
    resume due to internal memory contentes being changed. Fail ohci suspend
    on tc6393xb is full state restore is required.

    Recommended workaround is to unbind tmio-ohci driver before suspend and
    rebind it after resume.

    Signed-off-by: Dmitry Eremin-Solenikov
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Dmitry Eremin-Solenikov
     

15 Nov, 2014

3 commits

  • commit 5152970538a5e16c03bbcb9f1c780489a795ed40 upstream.

    pci_enable_msi() can return failure with both positive and negative
    integers -- it returns 0 for success -- but is only tested here for
    "if (ret < 0)". This causes us to try to use MSI on the RTS5249 SD
    reader in the Dell XPS 11 when enabling MSI failed, causing:

    [ 1.737110] rtsx_pci: probe of 0000:05:00.0 failed with error -110

    Reported-by: D. Jared Dominguez
    Tested-by: D. Jared Dominguez
    Signed-off-by: Chris Ball
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Chris Ball
     
  • commit 6a71f38dd87f255a0586104ce2a14d5a3ddf3401 upstream.

    In the resume path, the ADC invokes am335x_tsc_se_set_cache() with 0 as
    the steps argument if continous mode is not in use. This in turn disables
    all steps and so the TSC is not working until one ADC sampling is
    performed.

    This patch fixes it by writing the current cached mask instead of the
    passed steps.

    Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADCA
    synchronization")
    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Sebastian Andrzej Siewior
     
  • commit 6ac734d2242949f41eb1346ca0fd4ed010c937aa upstream.

    After enabling and disabling ADC continuous mode via sysfs, ts_print_raw
    fails to return any data. This is because when ADC is configured for
    continuous mode, it disables touch screen steps.These steps are not
    re-enabled when ADC continuous mode is disabled. Therefore existing values
    of REG_SE needs to be cached before enabling continuous mode and
    disabling touch screen steps and enabling ADC steps. The cached value
    are to be restored to REG_SE once ADC is disabled.

    Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADC synchronization")

    Signed-off-by: Vignesh R
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Vignesh R
     

18 Sep, 2014

1 commit

  • commit 46de8ff8e80a6546aa3d2fdf58c6776666301a0c upstream.

    single-ulpi-bypass is a flag used for older OMAP3 silicon.

    The flag when set, can excite code that improperly uses the
    OMAP_UHH_HOSTCONFIG_UPLI_BYPASS define to clear the corresponding bit.
    Instead it clears all of the other bits disabling all of the ports in
    the process.

    Signed-off-by: Michael Welling
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Michael Welling
     

06 May, 2014

12 commits

  • commit 56816b700c8c773270f3aaf4c92be53e359a03fd upstream.

    There are some unused registers in twl4030 at I2C address 0x49 and function
    twl4030_49_nop_reg() is used to check accessibility of that registers. These
    registers are written in decimal format but the values are correct in
    hexadecimal format. (It can be checked few lines above the patched code -
    these registers are marked as unused there.)

    As a consequence three registers of audio submodule are treated as
    inaccessible (preamplifier carkit right and both handsfree registers).

    Signed-off-by: Tomas Novotny
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Tomas Novotny
     
  • commit 204747c970c0d568721c76ab8a57dde0e5dcf0d5 upstream.

    On PXT and COMe-cPC2 boards it is observed that the hardware
    mutex is acquired but not being released during initialization.
    This can result in a hang-up during boot if the driver is built
    into the kernel.

    Releasing the mutex twice if it was acquired fixes the problem.
    Subsequent request/release cycles work as expected, so the fix is
    only needed during initialization.

    Reviewed-by: Michael Brunner
    Tested-by: Michael Brunner
    Signed-off-by: Guenter Roeck
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Guenter Roeck
     
  • commit 483e2dfdbc94751430e41db9973985f5b054d322 upstream.

    Fixes: 4aab3fadad32 ("mfd: tps65910: Move interrupt implementation code to mfd file")

    tps65910_irq_init() sets 'tps65910->chip_irq' before calling
    regmap_add_irq_chip(). If the regmap_add_irq_chip() call fails in
    memory allocation of regmap_irq_chip_data members then:

    1. The 'tps65910->chip_irq' will still hold some value
    2. 'tps65910->irq_data' will be pointing to already freed memory
    (because regmap_add_irq_chip() will free it on error)

    This results in invalid memory access during driver remove because the
    tps65910_irq_exit() tests whether 'tps65910->chip_irq' is not zero.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Kozlowski
     
  • commit 97dc4ed3fa377ec91bb60ba98b70d645c2099384 upstream.

    During probe the driver allocates dummy I2C devices for RTC, haptic and
    MUIC with i2c_new_dummy() but it does not check the return value of this
    calls.

    In case of error (i2c_new_device(): memory allocation failure or I2C
    address cannot be used) this function returns NULL which is later used
    by i2c_unregister_device().

    If i2c_new_dummy() fails for RTC, haptic or MUIC devices, fail also the
    probe for main MFD driver.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Kozlowski
     
  • commit ed26f87b9f71693a1d1ee85f5e6209601505080f upstream.

    During probe the driver allocates dummy I2C device for RTC with i2c_new_dummy() but it does not check the return value of this call.

    In case of error (i2c_new_device(): memory allocation failure or I2C
    address cannot be used) this function returns NULL which is later used
    by i2c_unregister_device().

    If i2c_new_dummy() fails for RTC device, fail also the probe for
    main MFD driver.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Kozlowski
     
  • commit 96cf3dedc491d2f1f66cc26217f2b06b0c7b6797 upstream.

    During probe the driver allocates dummy I2C devices for RTC and ADC
    with i2c_new_dummy() but it does not check the return value of this
    calls.

    In case of error (i2c_new_device(): memory allocation failure or I2C
    address cannot be used) this function returns NULL which is later used
    by i2c_unregister_device().

    If i2c_new_dummy() fails for RTC or ADC devices, fail also the probe
    for main MFD driver.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Kozlowski
     
  • commit ad09dd6a1f5d6244bd89314015af506ba7f9810a upstream.

    During probe the driver allocates dummy I2C devices for MUIC and haptic
    with i2c_new_dummy() but it does not check the return value of this
    calls.

    In case of error (i2c_new_device(): memory allocation failure or I2C
    address cannot be used) this function returns NULL which is later used
    by devm_regmap_init_i2c() and i2c_unregister_device().

    If i2c_new_dummy() fails for MUIC or haptic devices, fail also the probe
    for main MFD driver.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Kozlowski
     
  • commit b9e183a1d495cd65412abe0f9df19b151716bfe7 upstream.

    During probe the driver allocates dummy I2C device for RTC with
    i2c_new_dummy() but it does not check the return value of this call.

    In case of error (i2c_new_device(): memory allocation failure or I2C
    address cannot be used) this function returns NULL which is later used
    by i2c_unregister_device().

    If i2c_new_dummy() fails for RTC device, fail also the probe for main
    MFD driver.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Kozlowski
     
  • commit 141050cf3d84fc303df58796d68dc1376b0e8f67 upstream.

    During probe the driver allocates two dummy I2C devices for subchips in
    function pm800_pages_init(). Additionally this function allocates
    regmaps for these subchips. If any of these steps fail then these dummy
    I2C devices are not freed and resources leak.

    On pm800_pages_init() fail the driver must call pm800_pages_exit() to
    unregister dummy I2C devices.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Kozlowski
     
  • commit a7ab1c8b261305af583ce26bb4a14f555fdaa73e upstream.

    During probe the driver allocates dummy I2C device for companion chip
    and then allocates a regmap for it. If regmap_init_i2c() fails then the
    I2C driver (allocated with i2c_new_dummy()) is not freed and this
    resource leaks.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Kozlowski
     
  • commit 159ce52a6b777fc82fa0b51c7440e25f9e4c6feb upstream.

    During probe the driver allocates dummy I2C device for companion chip
    with i2c_new_dummy() but it does not check the return value of this call.

    In case of error (i2c_new_device(): memory allocation failure or I2C
    address cannot be used) this function returns NULL which is later used
    by regmap_init_i2c().

    If i2c_new_dummy() fails for companion device, fail also the probe for
    main MFD driver.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Kozlowski
     
  • commit 65aba1e04916d72b30c028730a1e31860c225412 upstream.

    During probe the sec-core driver allocates dummy I2C device for RTC with
    i2c_new_dummy() but return value is not checked. In case of error
    (i2c_new_device(): memory allocation failure or I2C address cannot be
    used) this function returns NULL which is later used by
    devm_regmap_init_i2c() or i2c_unregister_device().

    If i2c_new_dummy() fails for RTC device, fail also the probe for main
    MFD driver.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Kozlowski
     

22 Feb, 2014

1 commit

  • Pull sound fixes from Takashi Iwai:
    "This time we got a slightly higher volume than previous times, but all
    device-specific good fixes. Noticeable changes are fixes in davinci,
    and the removal of open-codes in HD-audio ca0132 driver. The rest are
    all small fixes and/or quirks"

    * tag 'sound-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Enable front audio jacks on one HP desktop model
    ALSA: hda/ca0132 - Fix recording from mode id 0x8
    ALSA: hda/ca0132 - setup/cleanup streams
    ALSA: hda - add headset mic detect quirks for two Dell laptops
    ALSA: usb-audio: work around KEF X300A firmware bug
    ASoC: max98090: make REVISION_ID readable
    ASoC: txx9aclc_ac97: Fix kernel crash on probe
    ASoC: max98090: sync regcache on entering STANDBY
    ASoC: blackfin: Fix machine driver Kconfig dependencies
    ASoC: da9055: Fix device registration of PMIC and CODEC devices
    ASoC: fsl-esai: fix ESAI TDM slot setting
    ASoC: fsl: fix pm support of machine drivers
    ASoC: rt5640: Add ACPI ID for Intel Baytrail
    ASoC: davinci-evm: Add pm callbacks to platform driver
    ASoC: davinci-mcasp: Consolidate pm_runtime_get/put() use in the driver
    ASoC: davinci-mcasp: Configure xxTDM, xxFMT and xxFMCT registers synchronously
    ASoC: davinci-mcasp: Harmonize the sub hw_params function names
    ASoC: samsung: Fix trivial typo
    ASoC: samsung: Remove invalid dependencies
    ASoC: wm8993: drop regulator_bulk_free of devm_ allocated data

    Linus Torvalds
     

19 Feb, 2014

6 commits


10 Feb, 2014

1 commit

  • Currently the I2C device Ids conflict for the MFD and CODEC so
    cannot be both instantiated on one platform. This patch updates
    the Ids and names to make them unique from each other.

    It should be noted that the I2C addresses for both PMIC and CODEC
    are modifiable so instantiation of the two are kept as separate
    devices, rather than instantiating the CODEC from the MFD code.

    Signed-off-by: Adam Thomson
    Acked-by: Mark Brown
    Signed-off-by: Mark Brown
    Cc: stable@vger.kernel.org

    Adam Thomson
     

26 Jan, 2014

1 commit

  • Pull regulator updates from Mark Brown:
    "A respin of the merges in the previous pull request with one extra
    fix.

    A quiet release for the regulator API, quite a large number of small
    improvements all over but other than the addition of new drivers for
    the AS3722 and MAX14577 there is nothing of substantial non-local
    impact"

    * tag 'regulator-v3.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (47 commits)
    regulator: pfuze100-regulator: Improve dev_info() message
    regulator: pfuze100-regulator: Fix some checkpatch complaints
    regulator: twl: Fix checkpatch issue
    regulator: core: Fix checkpatch issue
    regulator: anatop-regulator: Remove unneeded memset()
    regulator: s5m8767: Update LDO index in s5m8767-regulator.txt
    regulator: as3722: set enable time for SD0/1/6
    regulator: as3722: detect SD0 low-voltage mode
    regulator: tps62360: Fix up a pointer-integer size mismatch warning
    regulator: anatop-regulator: Remove unneeded kstrdup()
    regulator: act8865: Fix build error when !OF
    regulator: act8865: register all regulators regardless of how many are used
    regulator: wm831x-dcdc: Remove unneeded 'err' label
    regulator: anatop-regulator: Add MODULE_ALIAS()
    regulator: act8865: fix incorrect devm_kzalloc for act8865
    regulator: act8865: Remove set_suspend_[en|dis]able implementation
    regulator: act8865: Remove unneeded regulator_unregister() calls
    regulator: s2mps11: Clean up redundant code
    regulator: tps65910: Simplify setting enable_mask for regulators
    regulator: act8865: add device tree binding doc
    ...

    Linus Torvalds
     

24 Jan, 2014

2 commits


23 Jan, 2014

2 commits