15 Apr, 2015

3 commits

  • Pull MFD updates from Lee Jones:
    "Changes to existing drivers:

    - Rename child driver [axp288_battery => axp288_fuel_gauge]; axp20x
    - Rename child driver [max77693-flash => max77693-led]; max77693
    - Error handling fixes; intel_soc_pmic
    - GPIO tweaking; intel_soc_pmic
    - Remove non-DT code; vexpress-sysreg, tc3589x
    - Remove unused/legacy code; ti_am335x_tscadc, rts5249, rtsx_gops, rtsx_pcr,
    rtc-s5m, sec-core, max77693, menelaus,
    wm5102-tables
    - Trivial fixups; rtsx_pci, da9150-core, sec-core, max7769, max77693,
    mc13xxx-core, dln2, hi6421-pmic-core, rk808, twl4030-power,
    lpc_ich, menelaus, twl6040
    - Update register/address values; rts5227, rts5249
    - DT and/or binding document fixups; arizona, da9150, mt6397, axp20x,
    qcom-rpm, qcom-spmi-pmic
    - Couple of trivial core Kconfig fixups
    - Remove use of seq_printf return value; ab8500-debugfs
    - Remove __exit markups; menelaus, tps65010
    - Fix platform-device name collisions; mfd-core

    New drivers/supported devices:

    - Add support for wm8280/wm8281 into arizona
    - Add support for COMe-cBL6 into kempld-core
    - Add support for rts524a and rts525a into rts5249
    - Add support for ipq8064 into qcom_rpm
    - Add support for extcon into axp20x
    - New MediaTek MT6397 PMIC driver
    - New Maxim MAX77843 PMIC dirver
    - New Intel Quark X1000 I2C-GPIO driver
    - New Skyworks SKY81452 driver"

    * tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (76 commits)
    mfd: sec: Fix RTC alarm interrupt number on S2MPS11
    mfd: wm5102: Remove registers for output 3R from readable list
    mfd: tps65010: Remove incorrect __exit markups
    mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes
    mfd: axp20x: Add support for extcon cell
    mfd: lpc_ich: Sort IDs
    mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias
    mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI PMIC's
    mfd: axp20x: Fix duplicate const for model names
    mfd: menelaus: Use macro for magic number
    mfd: menelaus: Drop support for SW controller VCORE
    mfd: menelaus: Delete omap_has_menelaus
    mfd: arizona: Correct type of gpio_defaults
    mfd: lpc_ich: Sort IDs
    mfd: Fix a typo in Kconfig
    mfd: qcom_rpm: Add support for IPQ8064
    mfd: devicetree: qcom_rpm: Document IPQ8064 resources
    mfd: core: Fix platform-device name collisions
    mfd: intel_quark_i2c_gpio: Don't crash if !DMI
    dt-bindings: Add vendor-prefix for X-Powers
    ...

    Linus Torvalds
     
  • Pull vfs update from Al Viro:
    "Part one:

    - struct filename-related cleanups

    - saner iov_iter_init() replacements (and switching the syscalls to
    use of those)

    - ntfs switch to ->write_iter() (Anton)

    - aio cleanups and splitting iocb into common and async parts
    (Christoph)

    - assorted fixes (me, bfields, Andrew Elble)

    There's a lot more, including the completion of switchover to
    ->{read,write}_iter(), d_inode/d_backing_inode annotations, f_flags
    race fixes, etc, but that goes after #for-davem merge. David has
    pulled it, and once it's in I'll send the next vfs pull request"

    * 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (35 commits)
    sg_start_req(): use import_iovec()
    sg_start_req(): make sure that there's not too many elements in iovec
    blk_rq_map_user(): use import_single_range()
    sg_io(): use import_iovec()
    process_vm_access: switch to {compat_,}import_iovec()
    switch keyctl_instantiate_key_common() to iov_iter
    switch {compat_,}do_readv_writev() to {compat_,}import_iovec()
    aio_setup_vectored_rw(): switch to {compat_,}import_iovec()
    vmsplice_to_user(): switch to import_iovec()
    kill aio_setup_single_vector()
    aio: simplify arguments of aio_setup_..._rw()
    aio: lift iov_iter_init() into aio_setup_..._rw()
    lift iov_iter into {compat_,}do_readv_writev()
    NFS: fix BUG() crash in notify_change() with patch to chown_common()
    dcache: return -ESTALE not -EBUSY on distributed fs race
    NTFS: Version 2.1.32 - Update file write from aio_write to write_iter.
    VFS: Add iov_iter_fault_in_multipages_readable()
    drop bogus check in file_open_root()
    switch security_inode_getattr() to struct path *
    constify tomoyo_realpath_from_path()
    ...

    Linus Torvalds
     
  • Pull trivial tree from Jiri Kosina:
    "Usual trivial tree updates. Nothing outstanding -- mostly printk()
    and comment fixes and unused identifier removals"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
    goldfish: goldfish_tty_probe() is not using 'i' any more
    powerpc: Fix comment in smu.h
    qla2xxx: Fix printks in ql_log message
    lib: correct link to the original source for div64_u64
    si2168, tda10071, m88ds3103: Fix firmware wording
    usb: storage: Fix printk in isd200_log_config()
    qla2xxx: Fix printk in qla25xx_setup_mode
    init/main: fix reset_device comment
    ipwireless: missing assignment
    goldfish: remove unreachable line of code
    coredump: Fix do_coredump() comment
    stacktrace.h: remove duplicate declaration task_struct
    smpboot.h: Remove unused function prototype
    treewide: Fix typo in printk messages
    treewide: Fix typo in printk messages
    mod_devicetable: fix comment for match_flags

    Linus Torvalds
     

12 Apr, 2015

3 commits

  • Al Viro
     
  • Pull last-minute ASoC fix from Mark Brown:
    "This patch backs out a change that came in during the merge window
    which selects a configuration for GPIO4 on pcm512x CODECs that may not
    be suitable for all systems using the device. Changes for v4.1 will
    make this properly configurable but for now it's safest to revert to
    the v3.19 behaviour and leave the pin configuration alone.

    Sorry for sending this direct at the last minute but due to the GPIO
    misuse it'd be really good to get it in the release and I'd not
    realised it hadn't been sent yet - between some travel, a job change
    and other non-urgent fixes coming in I'd lost track of the urgency.

    It's been in -next for several weeks now, is isolated to the driver
    and fairly clear to inspection"

    * tag 'asoc-fix-v4.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound:
    ASoC: pcm512x: Remove hardcoding of pll-lock to GPIO4

    Linus Torvalds
     
  • Currently GPIO4 is hardcoded to output the pll-lock signal.
    Unfortunately this is after the pll-out GPIO is configured which
    is selectable in the device tree. Therefore it is not possible to
    use GPIO4 for pll-out. Therefore this patch removes the
    configuration of GPIO4.

    Signed-off-by: Howard Mitchell
    Signed-off-by: Mark Brown

    Howard Mitchell
     

09 Apr, 2015

3 commits

  • Adds an entry for Creative USB X-Fi to the rc_config array in
    mixer_quirks.c to allow use of volume knob on the device.
    Adds support for newer X-Fi Pro card, known as "Model No. SB1095"
    with USB ID "041e:3237"

    Signed-off-by: Dmitry M. Fedin
    Cc:
    Signed-off-by: Takashi Iwai

    Dmitry M. Fedin
     
  • Some BIOS version of Fujitsu Lifebook T731 seems to set up the
    headphone pin (0x21) without the assoc number 0x0f while it's set only
    to the output on the docking port (0x1a). With the recent commit
    [03ad6a8c93b6: ALSA: hda - Fix "PCM" name being used on one DAC when
    there are two DACs], this resulted in the weird mixer element
    mapping where the headphone on the laptop is assigned as a shared
    volume with the speaker and the docking port is assigned as an
    individual headphone.

    This patch improves the situation by correcting the headphone pin
    config to the more appropriate value.

    Reported-and-tested-by: Taylor Smock
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Some M-Audio devices require to receive bootup command just after
    powering on, while codes in BeBoB driver doesn't work properly in
    big-endian machine because the command should be aligned by
    little-endian.

    This commit fixes this bug. This fix should go to stable kernel.

    Cc: Takayuki Shiroma
    Signed-off-by: Takashi Sakamoto
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     

08 Apr, 2015

1 commit


04 Apr, 2015

2 commits


26 Mar, 2015

3 commits


24 Mar, 2015

1 commit


17 Mar, 2015

1 commit

  • …roonie/sound into for-linus

    ASoC: Fixes for v4.0

    As well as the usual collection of driver specific fixes there's a few
    more generic things:

    - Lots of fixes from Takashi for drivers using the wrong field in the
    control union to communicate with userspace, leading to potential
    errors on 64 bit systems.
    - A fix from Lars for locking of the lists of devices we maintain,
    mostly only likely to trigger during device probe and removal.

    Takashi Iwai
     

16 Mar, 2015

5 commits

  • The commit [ef403edb7558: ALSA: hda - Don't access stereo amps for
    mono channel widgets] fixed the handling of mono widgets in general,
    but it still misses an exceptional case: namely, a mono mixer widget
    taking a single stereo input. In this case, it has stereo volumes
    although it's a mono widget, and thus we have to take care of both
    left and right input channels, as stated in HD-audio spec ("7.1.3
    Widget Interconnection Rules").

    This patch covers this missing piece by adding proper checks of stereo
    amps in both the generic parser and the proc output codes.

    Reported-by: Raymond Yau
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Mark Brown
     
  • …da732x', 'asoc/fix/fsl-ssi', 'asoc/fix/lock' and 'asoc/fix/rt286' into asoc-linus

    Mark Brown
     
  • Mark Brown
     
  • Pull clock framework fixes from Michael Turquette:
    "The clk fixes for 4.0-rc4 comprise three themes.

    First are the usual driver fixes for new regressions since v3.19.

    Second are fixes to the common clock divider type caused by recent
    changes to how we round clock rates. This affects many clock drivers
    that use this common code.

    Finally there are fixes for drivers that improperly compared struct
    clk pointers (drivers must not deref these pointers). While some of
    these drivers have done this for a long time, this did not cause a
    problem until we started generating unique struct clk pointers for
    every consumer. A new function, clk_is_match was introduced to get
    these drivers working again and they are fixed up to no longer deref
    the pointers themselves"

    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
    ASoC: kirkwood: fix struct clk pointer comparing
    ASoC: fsl_spdif: fix struct clk pointer comparing
    ARM: imx: fix struct clk pointer comparing
    clk: introduce clk_is_match
    clk: don't export static symbol
    clk: divider: fix calculation of initial best divider when rounding to closest
    clk: divider: fix selection of divider when rounding to closest
    clk: divider: fix calculation of maximal parent rate for a given divider
    clk: divider: return real rate instead of divider value
    clk: qcom: fix platform_no_drv_owner.cocci warnings
    clk: qcom: fix platform_no_drv_owner.cocci warnings
    clk: qcom: Add PLL4 vote clock
    clk: qcom: lcc-msm8960: Fix PLL rate detection
    clk: qcom: Fix slimbus n and m val offsets
    clk: ti: Fix FAPLL parent enable bit handling

    Linus Torvalds
     

13 Mar, 2015

3 commits

  • The current HDA generic parser initializes / modifies the amp values
    always in stereo, but this seems causing the problem on ALC3229 codec
    that has a few mono channel widgets: namely, these mono widgets react
    to actions for both channels equally.

    In the driver code, we do care the mono channel and create a control
    only for the left channel (as defined in HD-audio spec) for such a
    node. When the control is updated, only the left channel value is
    changed. However, in the resume, the right channel value is also
    restored from the initial value we took as stereo, and this overwrites
    the left channel value. This ends up being the silent output as the
    right channel has been never touched and remains muted.

    This patch covers the places where unconditional stereo amp accesses
    are done and converts to the conditional accesses.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94581
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • MacBook Air 5,2 has the same problem as MacBook Pro 8,1 where the
    built-in mic records only the right channel. Apply the same
    workaround as MBP8,1 to spread the mono channel via a Cirrus codec
    vendor-specific COEF setup.

    Reported-and-tested-by: Vasil Zlatanov
    Cc: # 3.9+
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • CS420x codecs seem to deal only the single amps of ADC nodes even
    though the nodes receive multiple inputs. This leads to the
    inconsistent amp value after S3/S4 resume, for example.

    The fix is just to set codec->single_adc_amp flag. Then the driver
    handles these ADC amps as if single connections.

    Reported-and-tested-by: Vasil Zlatanov
    Cc: # 3.9+
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

12 Mar, 2015

4 commits

  • The device complies to the UAC1 standard but hides that fact with
    proprietary descriptors. The autodetect quirk for Roland devices
    catches the audio interface but misses the MIDI part, so a specific
    quirk is needed.

    Signed-off-by: Daniel Mack
    Reported-by: Rafa Lafuente
    Tested-by: Raphaël Doursenaud
    Cc:
    Signed-off-by: Takashi Iwai

    Daniel Mack
     
  • There was no check about the id string of user control elements, so we
    accepted even a control element with an empty string, which is
    obviously bogus. This patch adds more sanity checks of id strings.

    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Since commit 035a61c314eb ("clk: Make clk API return per-user struct clk
    instances"), clk API users can no longer check if two struct clk
    pointers are pointing to the same hardware clock, i.e. struct clk_hw, by
    simply comparing two pointers. That's because with the per-user clk
    change, a brand new struct clk is created whenever clients try to look
    up the clock by calling clk_get() or sister functions like clk_get_sys()
    and of_clk_get(). This changes the original behavior where the struct
    clk is only created for once when clock driver registers the clock to
    CCF in the first place. The net change here is before commit
    035a61c314eb the struct clk pointer is unique for given hardware
    clock, while after the commit the pointers returned by clk lookup calls
    become different for the same hardware clock.

    That said, the struct clk pointer comparing in the code doesn't work any
    more. Call helper function clk_is_match() instead to fix the problem.

    Signed-off-by: Shawn Guo
    Signed-off-by: Michael Turquette
    Signed-off-by: Stephen Boyd

    Shawn Guo
     
  • Since commit 035a61c314eb ("clk: Make clk API return per-user struct clk
    instances"), clk API users can no longer check if two struct clk
    pointers are pointing to the same hardware clock, i.e. struct clk_hw, by
    simply comparing two pointers. That's because with the per-user clk
    change, a brand new struct clk is created whenever clients try to look
    up the clock by calling clk_get() or sister functions like clk_get_sys()
    and of_clk_get(). This changes the original behavior where the struct
    clk is only created for once when clock driver registers the clock to
    CCF in the first place. The net change here is before commit
    035a61c314eb the struct clk pointer is unique for given hardware
    clock, while after the commit the pointers returned by clk lookup calls
    become different for the same hardware clock.

    That said, the struct clk pointer comparing in the code doesn't work any
    more. Call helper function clk_is_match() instead to fix the problem.

    Signed-off-by: Shawn Guo
    Signed-off-by: Michael Turquette
    Signed-off-by: Stephen Boyd

    Shawn Guo
     

11 Mar, 2015

11 commits