17 May, 2016

1 commit


10 May, 2016

1 commit

  • commit e7ec014a47e4 ("Input: twl6040-vibra - update for device tree support")

    made the separate vibra DT node to a subnode of the twl6040.

    It now calls of_find_node_by_name() to locate the "vibra" subnode.
    This function has a side effect to call of_node_put on() for the twl6040
    parent node passed in as a parameter. This causes trouble later on.

    Solution: we must call of_node_get() before of_find_node_by_name()

    Signed-off-by: H. Nikolaus Schaller
    Signed-off-by: Dmitry Torokhov

    H. Nikolaus Schaller
     

26 Apr, 2016

2 commits

  • The mutex does not seem to be needed. twl4030-vibra doesn't
    use one either.

    Signed-off-by: H. Nikolaus Schaller
    Signed-off-by: Dmitry Torokhov

    H. Nikolaus Schaller
     
  • commit c6f39257c952 ("mfd: twl6040: Use regmap for register cache")

    did remove the private cache for the vibra control registers and replaced
    access within twl6040_get_vibralr_status() by calls to regmap. This is OK,
    as long as twl6040_get_vibralr_status() uses already cached values or is
    not called from interrupt context. But we call this in vibra_play() for
    checking that the vibrator is not configured for audio mode.

    The result is a "BUG: scheduling while atomic" if the first use of the
    twl6040 is a vibra effect, because the first fetch is by reading the
    twl6040 registers through (blocking) i2c and not from the cache.

    As soon as the regmap has cached the status, further calls are fine.

    The solution is to move the condition to the work() function which
    runs in context that can block.

    The original code returns -EBUSY, but the return value of ->play()
    functions is ignored anyways. Hence, we do not loose functionality
    by not returning an error but just reporting the issue to INFO loglevel.

    Tested-on: Pyra (omap5) prototype
    Signed-off-by: H. Nikolaus Schaller
    Signed-off-by: Dmitry Torokhov

    H. Nikolaus Schaller
     

21 Apr, 2016

1 commit


20 Apr, 2016

2 commits


16 May, 2015

1 commit

  • Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject
    bogus threaded irq requests") threaded IRQs without a primary handler
    need to be requested with IRQF_ONESHOT, otherwise the request will fail.

    So pass the IRQF_ONESHOT flag in this case.

    The semantic patch that makes this change is available
    in scripts/coccinelle/misc/irqf_oneshot.cocci.

    Signed-off-by: Fabio Estevam
    Signed-off-by: Dmitry Torokhov

    Fabio Estevam
     

18 Dec, 2014

1 commit

  • Pull input subsystem updates from Dmitry Torokhov:
    "Two new drivers for Elan hardware (for I2C touchpad and touchscreen
    found in several Chromebooks and other devices), a driver for Goodix
    touch panel, and small fixes to Cypress I2C trackpad and other input
    drivers.

    Also we switched to use __maybe_unused instead of gating suspend/
    resume code with #ifdef guards to get better compile coverage"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (27 commits)
    Input: gpio_keys - fix warning regarding uninitialized 'button' variable
    Input: add support for Elan eKTH I2C touchscreens
    Input: gpio_keys - fix warning regarding uninitialized 'irq' variable
    Input: cyapa - use 'error' for error codes
    Input: cyapa - fix resuming the device
    Input: gpio_keys - add device tree support for interrupt only keys
    Input: amikbd - allocate temporary keymap buffer on the stack
    Input: amikbd - fix build if !CONFIG_HW_CONSOLE
    Input: lm8323 - missing error check in lm8323_set_disable()
    Input: initialize device counter variables with -1
    Input: initialize input_no to -1 to avoid subtraction
    Input: i8042 - do not try to load on Intel NUC D54250WYK
    Input: atkbd - correct MSC_SCAN events for force_release keys
    Input: cyapa - switch to using managed resources
    Input: lifebook - use "static inline" instead of "inline" in lifebook.h
    Input: touchscreen - use __maybe_unused instead of ifdef around suspend/resume
    Input: mouse - use __maybe_unused instead of ifdef around suspend/resume
    Input: misc - use __maybe_unused instead of ifdef around suspend/resume
    Input: cap11xx - support for irq-active-high option
    Input: cap11xx - add support for various cap11xx devices
    ...

    Linus Torvalds
     

02 Nov, 2014

1 commit


20 Oct, 2014

1 commit


15 May, 2014

1 commit


07 Jan, 2014

1 commit


04 Jan, 2014

1 commit


13 Aug, 2013

1 commit


25 Jan, 2013

2 commits


24 Nov, 2012

3 commits


12 Jun, 2012

1 commit

  • The twl6040 DT support implementation has been changed from the
    originally planned. None of the child devices going to have
    compatible_of property which means that the child devices of twl6040
    will be created as traditional MFD devices. The mfd core driver will
    decide (based on the DT blob) to create a device for the twl6040-vibra
    or not. If the DT blob has 'vibra' section the device will be created
    without pdata. In this case the vibra driver will reach up to the
    parent node to get the needed properties.

    With DT booted kernel we no longer be able to link the regulators to
    the vibra driver, they can be only linked to the MFD device (probed
    via DT). From the vibra driver we ned to use pdev->dev.parent to get
    the regulators.

    Signed-off-by: Peter Ujfalusi
    Signed-off-by: Dmitry Torokhov

    Peter Ujfalusi
     

11 May, 2012

1 commit

  • Enable DT based probing of the vibra driver.

    Example of dts section to load the twl6040-vibra driver:
    twl6040: twl6040@4b {
    ...
    twl6040_vibra: twl6040@1 {
    compatible = "ti,twl6040-vibra";
    interrupts = ;
    vddvibl-supply = ;
    vddvibr-supply = ;
    vibldrv_res = ;
    vibrdrv_res = ;
    viblmotor_res = ;
    vibrmotor_res = ;
    };
    };

    [Sasha Levin : fixed build error]
    Signed-off-by: Peter Ujfalusi
    Signed-off-by: Dmitry Torokhov

    Peter Ujfalusi
     

16 Apr, 2012

1 commit

  • Complete the separation of the twl6040 from the twl core since
    it is a separate chip, not part of the twl6030 PMIC.

    Make the needed Kconfig changes for the depending drivers at the
    same time to avoid breaking the kernel build (vibra, ASoC components).

    Signed-off-by: Peter Ujfalusi
    Reviewed-by: Mark Brown
    Acked-by: Tony Lindgren
    Acked-by: Dmitry Torokhov
    Signed-off-by: Samuel Ortiz

    Peter Ujfalusi
     

01 Dec, 2011

1 commit


29 Oct, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (549 commits)
    ALSA: hda - Fix ADC input-amp handling for Cx20549 codec
    ALSA: hda - Keep EAPD turned on for old Conexant chips
    ALSA: hda/realtek - Fix missing volume controls with ALC260
    ASoC: wm8940: Properly set codec->dapm.bias_level
    ALSA: hda - Fix pin-config for ASUS W90V
    ALSA: hda - Fix surround/CLFE headphone and speaker pins order
    ALSA: hda - Fix typo
    ALSA: Update the sound git tree URL
    ALSA: HDA: Add new revision for ALC662
    ASoC: max98095: Convert codec->hw_write to snd_soc_write
    ASoC: keep pointer to resource so it can be freed
    ASoC: sgtl5000: Fix wrong mask in some snd_soc_update_bits calls
    ASoC: wm8996: Fix wrong mask for setting WM8996_AIF_CLOCKING_2
    ASoC: da7210: Add support for line out and DAC
    ASoC: da7210: Add support for DAPM
    ALSA: hda/realtek - Fix DAC assignments of multiple speakers
    ASoC: Use SGTL5000_LINREG_VDDD_MASK instead of hardcoded mask value
    ASoC: Set sgtl5000->ldo in ldo_regulator_register
    ASoC: wm8996: Use SND_SOC_DAPM_AIF_OUT for AIF2 Capture
    ASoC: wm8994: Use SND_SOC_DAPM_AIF_OUT for AIF3 Capture
    ...

    Linus Torvalds
     

12 Oct, 2011

2 commits


20 Sep, 2011

1 commit


10 Sep, 2011

1 commit

  • Fix warning from Geert's build summary emails by changing "if" to
    "ifdef". Thsi should fix the following:

    drivers/input/misc/twl6040-vibra.c:231:5: warning: "CONFIG_PM_SLEEP" is not defined

    Builds cleanly with CONFIG_PM_SLEEP enabled or disabled.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Dmitry Torokhov

    Randy Dunlap
     

07 Jul, 2011

1 commit


05 Jul, 2011

1 commit