09 Jun, 2016

1 commit


07 Jun, 2016

1 commit


03 Jun, 2016

1 commit


30 May, 2016

2 commits


29 May, 2016

1 commit

  • Pull more sound updates from Takashi Iwai:
    "This is the second update round for 4.7-rc1. Most of changes are
    about the pending ASoC updates and fixes, including a few new drivers.
    Below are some highlights:

    ASoC:
    - New drivers for MAX98371 and TAS5720
    - SPI support for TLV320AIC32x4, along with the module split
    - TDM support for STI Uniperf IPs
    - Remaining topology API fixes / updates

    HDA:
    - A couple of Dell quirks and new Realtek codec support"

    * tag 'sound-4.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (63 commits)
    ALSA: hda - Fix headset mic detection problem for one Dell machine
    spi: spi-ep93xx: Fix the PTR_ERR() argument
    ALSA: hda/realtek - Add support for ALC295/ALC3254
    ASoC: kirkwood: fix build failure
    ALSA: hda - Fix headphone noise on Dell XPS 13 9360
    ASoC: ak4642: Enable cache usage to fix crashes on resume
    ASoC: twl6040: Disconnect AUX output pads on digital mute
    ASoC: tlv320aic32x4: Properly implement the positive and negative pins into the mixers
    rcar: src: skip disabled-SRC nodes
    ASoC: max98371 Remove duplicate entry in max98371_reg
    ASoC: twl6040: Select LPPLL during standby
    ASoC: rsnd: don't use prohibited number to PDMACHCRn.SRS
    ASoC: simple-card: Add pm callbacks to platform driver
    ASoC: pxa: Fix module autoload for platform drivers
    ASoC: topology: Fix memory leak in widget creation
    ASoC: Add max98371 codec driver
    ASoC: rsnd: count .probe/.remove for rsnd_mod_call()
    ASoC: topology: Check size mismatch of ABI objects before parsing
    ASoC: topology: Check failure to create a widget
    ASoC: add support for TAS5720 digital amplifier
    ...

    Linus Torvalds
     

28 May, 2016

1 commit

  • Most users of IS_ERR_VALUE() in the kernel are wrong, as they
    pass an 'int' into a function that takes an 'unsigned long'
    argument. This happens to work because the type is sign-extended
    on 64-bit architectures before it gets converted into an
    unsigned type.

    However, anything that passes an 'unsigned short' or 'unsigned int'
    argument into IS_ERR_VALUE() is guaranteed to be broken, as are
    8-bit integers and types that are wider than 'unsigned long'.

    Andrzej Hajda has already fixed a lot of the worst abusers that
    were causing actual bugs, but it would be nice to prevent any
    users that are not passing 'unsigned long' arguments.

    This patch changes all users of IS_ERR_VALUE() that I could find
    on 32-bit ARM randconfig builds and x86 allmodconfig. For the
    moment, this doesn't change the definition of IS_ERR_VALUE()
    because there are probably still architecture specific users
    elsewhere.

    Almost all the warnings I got are for files that are better off
    using 'if (err)' or 'if (err < 0)'.
    The only legitimate user I could find that we get a warning for
    is the (32-bit only) freescale fman driver, so I did not remove
    the IS_ERR_VALUE() there but changed the type to 'unsigned long'.
    For 9pfs, I just worked around one user whose calling conventions
    are so obscure that I did not dare change the behavior.

    I was using this definition for testing:

    #define IS_ERR_VALUE(x) ((unsigned long*)NULL == (typeof (x)*)NULL && \
    unlikely((unsigned long long)(x) >= (unsigned long long)(typeof(x))-MAX_ERRNO))

    which ends up making all 16-bit or wider types work correctly with
    the most plausible interpretation of what IS_ERR_VALUE() was supposed
    to return according to its users, but also causes a compile-time
    warning for any users that do not pass an 'unsigned long' argument.

    I suggested this approach earlier this year, but back then we ended
    up deciding to just fix the users that are obviously broken. After
    the initial warning that caused me to get involved in the discussion
    (fs/gfs2/dir.c) showed up again in the mainline kernel, Linus
    asked me to send the whole thing again.

    [ Updated the 9p parts as per Al Viro - Linus ]

    Signed-off-by: Arnd Bergmann
    Cc: Andrzej Hajda
    Cc: Andrew Morton
    Link: https://lkml.org/lkml/2016/1/7/363
    Link: https://lkml.org/lkml/2016/5/27/486
    Acked-by: Srinivas Kandagatla # For nvmem part
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     

27 May, 2016

19 commits


26 May, 2016

2 commits

  • …irkwood' and 'asoc/fix/twl6040' into asoc-linus

    Mark Brown
     
  • ASoC: Updates for v4.7

    The updates this time around are almost all driver code:

    - Further slow progress on the topology code.
    - Substantial updates and improvements for the da7219, es8328, fsl-ssi
    Intel and rcar drivers.

    # gpg: Signature made Mon 16 May 2016 12:08:43 BST using RSA key ID 5D5487D0
    # gpg: Good signature from "Mark Brown "
    # gpg: aka "Mark Brown "
    # gpg: aka "Mark Brown "
    # gpg: aka "Mark Brown "
    # gpg: aka "Mark Brown "
    # gpg: aka "Mark Brown "
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg: There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 3F25 68AA C269 98F9 E813 A1C5 C3F4 36CA 30F5 D8EB
    # Subkey fingerprint: ADE6 68AA 6757 18B5 9FE2 9FEA 24D6 8B72 5D54 87D0

    Mark Brown
     

25 May, 2016

1 commit


24 May, 2016

2 commits


20 May, 2016

3 commits

  • The headphone has noise when playing sound or switching microphone sources.
    It uses the same codec on XPS 13 9350, but with different subsystem ID.
    Applying the fixup can solve the issue.
    Also, changing the model name to better differentiate models.

    v2: Reorder by device ID.

    Signed-off-by: Kai-Heng Feng
    Cc:
    Signed-off-by: Takashi Iwai

    Kai-Heng Feng
     
  • Pull sound updates from Takashi Iwai:
    "This time was again a relatively calm development cycle; most of
    updates are about drivers, and no radical changes are seen in any core
    code. Here are some highlights:

    ALSA core:
    - Continued hardening of ALSA hrtimer
    - A few leak fixes in timer interface
    - Fix poll error handling in PCM and compress
    - Add error propagation in compress API
    - Removal of dead rtctimer driver

    HD-audio:
    - Native ELD notify support for i915 HDMI
    - Realtek ALC234 & co support
    - Code refactoring to standardize chmap support
    - Continued development for SKL HDMI core support

    Firewire:
    - Apply delayed card registration to all drivers
    - Improved / stabilized the handling of PCM stream start / stop
    - Add tracepoints to dump a part of isochronous packet data
    - Fixed incoming/outgoing packet parameter usages
    - Add support for M-Audio profire series

    USB-audio:
    - Fixes for UAC2 clock source
    - SS+ support
    - Workaround for oft-seen repeated sample rate read errors

    ASoC:
    - Further slow progress on the topology code
    - Substantial updates and improvements for the da7219, es8328,
    fsl-ssi, Intel and rcar drivers.
    - Compress error handling in WM ADSP driver"

    * tag 'sound-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (177 commits)
    ALSA: firewire-lib: change a member of event structure to suppress sparse wanings to bool type
    sound: oss: Use setup_timer and mod_timer.
    ASoC: hdac_hdmi: Remove the unused 'timeout' variable
    ASoC: fsl_ssi: Fix channel slipping on capture (or playback) restart in full duplex.
    ASoC: fsl_ssi: Fix channel slipping in Playback at startup
    ASoC: fsl_ssi: Fix samples being dropped at Playback startup
    ASoC: fsl_ssi: Save a dev reference for dev_err() purpose.
    ASoC: fsl_ssi: The IPG/5 limitation concerns the bitclk, not the sysclk.
    ASoC: fsl_ssi: Real hardware channels max number is 32
    ASoC: pcm5102a: Add support for PCM5102A codec
    ASoC: hdac_hdmi: add link management
    ASoC: Intel: Skylake: add link management
    ALSA: hdac: add link pm and ref counting
    ALSA: au88x0: Fix zero clear of stream->resources
    ASoC: rt298: Add DMI match for Broxton-P reference platform
    ASoC: rt298: fix null deref on acpi driver data
    ASoC: dapm: deprecate MICBIAS widget type
    ALSA: firewire-lib: drop skip argument from helper functions to queue a packet
    ALSA: firewire-lib: add context information to tracepoints
    ALSA: firewire-lib: permit to flush queued packets only in process context for better PCM period granularity
    ...

    Linus Torvalds
     
  • Pull dmaengine updates from Vinod Koul:
    "This time round the update brings in following changes:

    - new tegra driver for ADMA device

    - support for Xilinx AXI Direct Memory Access Engine and Xilinx AXI
    Central Direct Memory Access Engine and few updates to this driver

    - new cyclic capability to sun6i and few updates

    - slave-sg support in bcm2835

    - updates to many drivers like designware, hsu, mv_xor, pxa, edma,
    qcom_hidma & bam"

    * tag 'dmaengine-4.7-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (84 commits)
    dmaengine: ioatdma: disable relaxed ordering for ioatdma
    dmaengine: of_dma: approximate an average distribution
    dmaengine: core: Use IS_ENABLED() instead of checking for built-in or module
    dmaengine: edma: Re-evaluate errors when ccerr is triggered w/o error event
    dmaengine: qcom_hidma: add support for object hierarchy
    dmaengine: qcom_hidma: add debugfs hooks
    dmaengine: qcom_hidma: implement lower level hardware interface
    dmaengine: vdma: Add clock support
    Documentation: DT: vdma: Add clock support for dmas
    dmaengine: vdma: Add config structure to differentiate dmas
    MAINTAINERS: Update Tegra DMA maintainers
    dmaengine: tegra-adma: Add support for Tegra210 ADMA
    Documentation: DT: Add binding documentation for NVIDIA ADMA
    dmaengine: vdma: Add Support for Xilinx AXI Central Direct Memory Access Engine
    Documentation: DT: vdma: update binding doc for AXI CDMA
    dmaengine: vdma: Add Support for Xilinx AXI Direct Memory Access Engine
    Documentation: DT: vdma: update binding doc for AXI DMA
    dmaengine: vdma: Rename xilinx_vdma_ prefix to xilinx_dma
    dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC
    dmaengine: mv_xor: Allow selecting mv_xor for mvebu only compatible SoC
    ...

    Linus Torvalds
     

19 May, 2016

2 commits


18 May, 2016

3 commits

  • Commit a9c4284bf5a9 ("ALSA: firewire-lib: add context information to
    tracepoints") adds new members to tracepoint events of this module, to
    represent context information. One of the members is bool type and
    this causes sparse warnings.

    16:1: warning: expression using sizeof bool
    60:1: warning: expression using sizeof bool
    16:1: warning: odd constant _Bool cast (ffffffffffffffff becomes 1)
    60:1: warning: odd constant _Bool cast (ffffffffffffffff becomes 1)

    This commit suppresses the warnings, by changing type of the member
    to 'unsigned int'. Additionally, this commit applies '!!' idiom to
    get 0/1 from 'in_interrupt()'.

    Fixes: a9c4284bf5a9 ("ALSA: firewire-lib: add context information to tracepoints")
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • Pull GPIO updates from Linus Walleij:
    "This is the bulk of GPIO changes for kernel cycle v4.7:

    Core infrastructural changes:

    - Support for natively single-ended GPIO driver stages.

    This means that if the hardware has registers to configure open
    drain or open source configuration, we use that rather than (as we
    did before) try to emulate it by switching the line to an input to
    get high impedance.

    This is also documented throughly in Documentation/gpio/driver.txt
    for those of you who did not understand one word of what I just
    wrote.

    - Start to do away with the unnecessarily complex and unitelligible
    ARCH_REQUIRE_GPIOLIB and ARCH_WANT_OPTIONAL_GPIOLIB, another
    evolutional artifact from the time when the GPIO subsystem was
    unmaintained.

    Archs can now just select GPIOLIB and be done with it, cleanups to
    arches will trickle in for the next kernel. Some minor archs ACKed
    the changes immediately so these are included in this pull request.

    - Advancing the use of the data pointer inside the GPIO device for
    storing driver data by switching the PowerPC, Super-H Unicore and
    a few other subarches or subsystem drivers in ALSA SoC, Input,
    serial, SSB, staging etc to use it.

    - The initialization now reads the input/output state of the GPIO
    lines, so that each GPIO descriptor knows - if this callback is
    implemented - whether the line is input or output. This also
    reflects nicely in userspace "lsgpio".

    - It is now possible to name GPIO producer names, line names, from
    the device tree. (Platform data has been supported for a while).
    I bet we will get a similar mechanism for ACPI one of those days.
    This makes is possible to get sensible producer names for e.g.
    GPIO rails in "lsgpio" in userspace.

    New drivers:

    - New driver for the Loongson1.

    - The XLP driver now supports Broadcom Vulcan ARM64.

    - The IT87 driver now supports IT8620 and IT8628.

    - The PCA953X driver now supports Galileo Gen2.

    Driver improvements:

    - MCP23S08 was switched to use the gpiolib irqchip helpers and now
    also suppors level-triggered interrupts.

    - 74x164 and RCAR now supports the .set_multiple() callback

    - AMDPT was converted to use generic GPIO.

    - TC3589x, TPS65218, SX150X, F7188X, MENZ127, VX855, WM831X, WM8994
    support the new single ended callback for open drain and in some
    cases open source.

    - Implement the .get_direction() callback for a few more drivers like
    PL061, Xgene.

    Cleanups:

    - Paul Gortmaker combed through the drivers and de-modularized those
    who are not really modules.

    - Move the GPIO poweroff DT bindings to the power subdir where they
    belong.

    - Rename gpio-generic.c to gpio-mmio.c, which is much more to the
    point. That's what it is handling, nothing more, nothing less"

    * tag 'gpio-v4.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (126 commits)
    MIPS: do away with ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB
    gpio: zevio: make it explicitly non-modular
    gpio: timberdale: make it explicitly non-modular
    gpio: stmpe: make it explicitly non-modular
    gpio: sodaville: make it explicitly non-modular
    pinctrl: sh-pfc: Let gpio_chip.to_irq() return zero on error
    gpio: dwapb: Add ACPI device ID for DWAPB GPIO controller on X-Gene platforms
    gpio: dt-bindings: add wd,mbl-gpio bindings
    gpio: of: make it possible to name GPIO lines
    gpio: make gpiod_to_irq() return negative for NO_IRQ
    gpio: xgene: implement .get_direction()
    gpio: xgene: Enable ACPI support for X-Gene GFC GPIO driver
    gpio: tegra: Implement gpio_get_direction callback
    gpio: set up initial state from .get_direction()
    gpio: rename gpio-generic.c into gpio-mmio.c
    gpio: generic: fix GPIO_GENERIC_PLATFORM is set to module case
    gpio: dwapb: add gpio-signaled acpi event support
    gpio: dwapb: convert device node to fwnode
    gpio: dwapb: remove name from dwapb_port_property
    gpio/qoriq: select IRQ_DOMAIN
    ...

    Linus Torvalds
     
  • The function setup_timer combines the initialization of a timer with the
    initialization of the timer's function and data fields. The mulitiline
    code for timer initialization is now replaced with function setup_timer.

    Also, quoting the mod_timer() function comment:
    -> mod_timer() is a more efficient way to update the expire field of an
    active timer (if the timer is inactive it will be activated).

    Use setup_timer() and mod_timer() to setup and arm a timer, making the
    code compact and aid readablity.

    Signed-off-by: Muhammad Falak R Wani
    Signed-off-by: Takashi Iwai

    Muhammad Falak R Wani
     

17 May, 2016

1 commit