09 Apr, 2015

5 commits


06 Mar, 2015

1 commit


05 Mar, 2015

5 commits


03 Mar, 2015

3 commits


08 Jan, 2015

1 commit


15 Dec, 2014

1 commit

  • Pull driver core update from Greg KH:
    "Here's the set of driver core patches for 3.19-rc1.

    They are dominated by the removal of the .owner field in platform
    drivers. They touch a lot of files, but they are "simple" changes,
    just removing a line in a structure.

    Other than that, a few minor driver core and debugfs changes. There
    are some ath9k patches coming in through this tree that have been
    acked by the wireless maintainers as they relied on the debugfs
    changes.

    Everything has been in linux-next for a while"

    * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
    Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
    fs: debugfs: add forward declaration for struct device type
    firmware class: Deletion of an unnecessary check before the function call "vunmap"
    firmware loader: fix hung task warning dump
    devcoredump: provide a one-way disable function
    device: Add dev__once variants
    ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
    ath: use seq_file api for ath9k debugfs files
    debugfs: add helper function to create device related seq_file
    drivers/base: cacheinfo: remove noisy error boot message
    Revert "core: platform: add warning if driver has no owner"
    drivers: base: support cpu cache information interface to userspace via sysfs
    drivers: base: add cpu_device_create to support per-cpu devices
    topology: replace custom attribute macros with standard DEVICE_ATTR*
    cpumask: factor out show_cpumap into separate helper function
    driver core: Fix unbalanced device reference in drivers_probe
    driver core: fix race with userland in device_add()
    sysfs/kernfs: make read requests on pre-alloc files use the buffer.
    sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
    fs: sysfs: return EGBIG on write if offset is larger than file size
    ...

    Linus Torvalds
     

08 Dec, 2014

1 commit


18 Nov, 2014

1 commit

  • Setting the ac97_control field on a CPU DAI tells the ASoC core that this
    DAI in addition to audio data also transports control data to the CODEC.
    This causes the core to suspend the DAI after the CODEC and resume it before
    the CODEC so communication to the CODEC is still possible. This is not
    necessarily something that is specific to AC'97 and can be used by other
    buses with the same requirement. This patch renames the flag from
    ac97_control to bus_control to make this explicit.

    While we are at it also change the type from int to bool.

    The following semantich patch was used for automatic conversion of the
    drivers:
    //
    @@
    identifier drv;
    @@
    struct snd_soc_dai_driver drv = {
    - .ac97_control
    + .bus_control
    =
    - 1
    + true
    };
    //

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     

22 Oct, 2014

1 commit


20 Oct, 2014

1 commit


06 Oct, 2014

1 commit


03 Oct, 2014

1 commit


23 Aug, 2014

1 commit


23 Jul, 2014

1 commit


03 Jun, 2014

1 commit


26 May, 2014

1 commit

  • snd_soc_jack_add_gpios() schedules a work queue item to poll the GPIO to
    generate an initial jack status report. If sound card initialization
    fails, that work item needs to be cancelled, so it doesn't run after the
    card has been freed. Specifically, freeing the card calls
    snd_jack_dev_free() which calls snd_jack_dev_disconnect() which sets
    jack->input_dev = NULL, and input_dev is used by snd_jack_report(), which
    is called from the work queue item.

    snd_soc_jack_free_gpios() cancels the work item. The Tegra ASoC machine
    drivers do call this function in the platform driver remove() callback.
    However, this happens after the sound card is freed, at least when the
    card is freed due to errors late during snd_soc_instantiate_card(). This
    leaves a window where the work item can execute after the card is freed.
    In next-20140522, sound card initialization does fail for unrelated
    reasons, and hits the problem described above.

    To solve this, fix the Tegra ASoC machine drivers to clean up the Jack
    GPIOs during the snd_soc_card's .remove() callback, which is executed
    before the overall card object is freed. also, gGuard the cleanup call
    based on whether we actually setup up the GPIOs in the first place.
    Ideally, we'd do the cleanup in a struct snd_soc_dai_link .fini/remove
    function to match where the GPIOs get set up. However, there is no such
    callback.

    This change fixes all Tegra machine drivers. By code inspection, I
    believe some non-Tegra machine drivers have the same issue. I'll send a
    patch for that separately, once this is reviewed.

    Signed-off-by: Stephen Warren
    Signed-off-by: Mark Brown

    Stephen Warren
     

20 May, 2014

1 commit


26 Mar, 2014

3 commits

  • Mark Brown
     
  • ASoC: Updates for v3.15

    Quite a busy release for ASoC this time, more on janitorial work than
    exciting new features but welcome nontheless:

    - Lots of cleanups from Takashi for enumerations; the original API for
    these was error prone so he's refactored lots of code to use more
    modern APIs which avoid issues.
    - Elimination of the ASoC level wrappers for I2C and SPI moving us
    closer to converting to regmap completely and avoiding some
    randconfig hassle.
    - Provide both manually and transparently locked DAPM APIs rather than
    a mix of the two fixing some concurrency issues.
    - Start converting CODEC drivers to use separate bus interface drivers
    rather than having them all in one file helping avoid dependency
    issues.
    - DPCM support for Intel Haswell and Bay Trail platforms.
    - Lots of work on improvements for simple-card, DaVinci and the Renesas
    rcar drivers.
    - New drivers for Analog Devices ADAU1977, TI PCM512x and parts of the
    CSR SiRF SoC.

    # gpg: Signature made Wed 12 Mar 2014 23:05:45 GMT using RSA key ID 7EA229BD
    # 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 "

    Mark Brown
     
  • On Tegra the convention is to have a single machine driver
    that's controlling the whole audio subsystem.

    Move the clock handling to the machine driver, to be in line
    with the other Tegra drivers and give the machine driver
    full control over the single Tegra audio PLL.

    Signed-off-by: Lucas Stach
    Acked-by: Stephen Warren
    Signed-off-by: Mark Brown

    Lucas Stach
     

23 Mar, 2014

1 commit

  • ASoC: Updates for v3.15

    Quite a busy release for ASoC this time, more on janitorial work than
    exciting new features but welcome nontheless:

    - Lots of cleanups from Takashi for enumerations; the original API for
    these was error prone so he's refactored lots of code to use more
    modern APIs which avoid issues.
    - Elimination of the ASoC level wrappers for I2C and SPI moving us
    closer to converting to regmap completely and avoiding some
    randconfig hassle.
    - Provide both manually and transparently locked DAPM APIs rather than
    a mix of the two fixing some concurrency issues.
    - Start converting CODEC drivers to use separate bus interface drivers
    rather than having them all in one file helping avoid dependency
    issues.
    - DPCM support for Intel Haswell and Bay Trail platforms.
    - Lots of work on improvements for simple-card, DaVinci and the Renesas
    rcar drivers.
    - New drivers for Analog Devices ADAU1977, TI PCM512x and parts of the
    CSR SiRF SoC.

    # gpg: Signature made Wed 12 Mar 2014 23:05:45 GMT using RSA key ID 7EA229BD
    # 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 "

    Mark Brown
     

20 Mar, 2014

1 commit

  • When using an rbtree cache, there can be allocations the first time a
    register is accessed. This can cause an attempt to schedule while
    atomic in the case that the regmap is using a spinlock. This could be
    fixed by either initializing all the registers or using a flat cache.
    The register maps for tegra30_ahub and tegra30_i2s are dense and don't
    save much from using a tree so convert them to flat.

    Tegra30 changes tested on Norrin, Tegra20 changes compile.

    Signed-off-by: Dylan Reid
    Tested-by: Stephen Warren
    Signed-off-by: Mark Brown

    Dylan Reid
     

07 Mar, 2014

1 commit


24 Jan, 2014

1 commit

  • Pull ARM SoC cleanups from Olof Johansson:
    "This is the branch where we usually queue up cleanup efforts, moving
    drivers out of the architecture directory, header file restructuring,
    etc. Sometimes they tangle with new development so it's hard to keep
    it strictly to cleanups.

    Some of the things included in this branch are:

    * Atmel SAMA5 conversion to common clock
    * Reset framework conversion for tegra platforms
    - Some of this depends on tegra clock driver reworks that are shared
    with Mike Turquette's clk tree.
    * Tegra DMA refactoring, which are shared branches with the DMA tree.
    * Removal of some header files on exynos to prepare for
    multiplatform"

    * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (169 commits)
    ARM: mvebu: move Armada 370/XP specific definitions to armada-370-xp.h
    ARM: mvebu: remove prototypes of non-existing functions from common.h
    ARM: mvebu: move ARMADA_XP_MAX_CPUS to armada-370-xp.h
    serial: sh-sci: Rework baud rate calculation
    serial: sh-sci: Compute overrun_bit without using baud rate algo
    serial: sh-sci: Remove unused GPIO request code
    serial: sh-sci: Move overrun_bit and error_mask fields out of pdata
    serial: sh-sci: Support resources passed through platform resources
    serial: sh-sci: Don't check IRQ in verify port operation
    serial: sh-sci: Set the UPF_FIXED_PORT flag
    serial: sh-sci: Remove duplicate interrupt check in verify port op
    serial: sh-sci: Simplify baud rate calculation algorithms
    serial: sh-sci: Remove baud rate calculation algorithm 5
    serial: sh-sci: Sort headers alphabetically
    ARM: EXYNOS: Kill exynos_pm_late_initcall()
    ARM: EXYNOS: Consolidate selection of PM_GENERIC_DOMAINS for Exynos4
    ARM: at91: switch Calao QIL-A9260 board to DT
    clk: at91: fix pmc_clk_ids data type attriubte
    PM / devfreq: use inclusion instead of
    ARM: EXYNOS: remove for exynos
    ...

    Linus Torvalds
     

02 Jan, 2014

1 commit

  • …opic/adav80x', 'asoc/topic/adsp', 'asoc/topic/ak4641', 'asoc/topic/ak4642', 'asoc/topic/arizona', 'asoc/topic/atmel', 'asoc/topic/au1x', 'asoc/topic/axi', 'asoc/topic/bcm2835', 'asoc/topic/blackfin', 'asoc/topic/cs4271', 'asoc/topic/cs42l52', 'asoc/topic/da7210', 'asoc/topic/davinci', 'asoc/topic/ep93xx', 'asoc/topic/fsl', 'asoc/topic/fsl-mxs', 'asoc/topic/generic', 'asoc/topic/hdmi', 'asoc/topic/jack', 'asoc/topic/jz4740', 'asoc/topic/max98090', 'asoc/topic/mxs', 'asoc/topic/omap', 'asoc/topic/pxa', 'asoc/topic/rcar', 'asoc/topic/s6000', 'asoc/topic/sai', 'asoc/topic/samsung', 'asoc/topic/sgtl5000', 'asoc/topic/spear', 'asoc/topic/ssm2518', 'asoc/topic/ssm2602', 'asoc/topic/tegra', 'asoc/topic/tlv320aic3x', 'asoc/topic/twl6040', 'asoc/topic/txx9', 'asoc/topic/uda1380', 'asoc/topic/width', 'asoc/topic/wm8510', 'asoc/topic/wm8523', 'asoc/topic/wm8580', 'asoc/topic/wm8711', 'asoc/topic/wm8728', 'asoc/topic/wm8731', 'asoc/topic/wm8741', 'asoc/topic/wm8750', 'asoc/topic/wm8753', 'asoc/topic/wm8776', 'asoc/topic/wm8804', 'asoc/topic/wm8900', 'asoc/topic/wm8901', 'asoc/topic/wm8940', 'asoc/topic/wm8962', 'asoc/topic/wm8974', 'asoc/topic/wm8985', 'asoc/topic/wm8988', 'asoc/topic/wm8990', 'asoc/topic/wm8991', 'asoc/topic/wm8994', 'asoc/topic/wm8995', 'asoc/topic/wm9081' and 'asoc/topic/x86' into asoc-next

    Mark Brown
     

21 Dec, 2013

1 commit

  • The ASoC core assumes that the PCM component of the ASoC card transparently
    moves data around and does not impose any restrictions on the memory layout or
    the transfer speed. It ignores all fields from the snd_pcm_hardware struct for
    the PCM driver that are related to this. Setting these fields in the PCM driver
    might suggest otherwise though, so rather not set them.

    Signed-off-by: Lars-Peter Clausen
    Tested-by: Stephen Warren
    Acked-by: Stephen Warren
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     

17 Dec, 2013

2 commits


13 Dec, 2013

1 commit

  • Tegra124 adds a number of extra modules into the configlink bus, which
    must be taken out of reset before the bus is used. Update the AHUB
    driver to know about these extra modules (the AHUB HW module hosts the
    configlink bus).

    Based-on-work-by: Arun Shamanna Lakshmi
    Based-on-work-by: Songhee Baek
    Signed-off-by: Stephen Warren
    Acked-by: Mark Brown
    ---
    This patch depends on "ASoC: tegra: use reset framework" to compile,
    which is ack'd and slated to go through a (large) topic branch in the
    Tegra tree. So, we can either:

    a) Merge that Tegra topic branch into the ASoC tree, then apply this.
    Note that I haven't created the topic branch yet, since I'm still
    waiting for DMA dependencies to be applied.

    b) Apply this change to the Tegra tree too. This change isn't directly
    related to the changes in the Tegra tree; it just makes use of the new
    reset controller feature that's introduced there.

    Stephen Warren
     

12 Dec, 2013

1 commit

  • By passing no flags when calling snd_dmaengine_pcm_register() from
    tegra_pcm.c, we end up using dma_request_slave_channel() rather than
    dmaengine_pcm_compat_request_channel(), and hence rely on the standard
    DMA DT bindings and stashing the DMA slave ID away during channel
    allocation. This means there's no need to use a custom DT property to
    store the slave ID. So, remove all the code that parsed it.

    Signed-off-by: Stephen Warren
    Acked-by: Mark Brown

    Stephen Warren