28 Jun, 2019

1 commit

  • commit 9ae6cdb184b6 ("ASoC: ux500: mop500: don't select unnecessary
    Platform")

    Current ALSA SoC avoid to add duplicate component to rtd,
    and this driver was selecting CPU component as Platform component.
    Thus, above patch removed Platform settings from this driver,
    because it assumed these are same component.

    But, some CPU driver is using generic DMAEngine, in such case, both
    CPU component and Platform component will have same of_node/name.
    In other words, there are some components which are different but
    have same of_node/name.

    In such case, Card driver definitely need to select Platform even
    though it is same as CPU.
    It is depends on CPU driver, but is difficult to know it from Card driver.
    This patch reverts above patch.

    Fixes: commit 9ae6cdb184b6 ("ASoC: ux500: mop500: don't select unnecessary Platform")
    Signed-off-by: Kuninori Morimoto
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

26 Jun, 2019

1 commit


19 Jun, 2019

2 commits

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • ALSA SoC is now supporting "no Platform". Sound card doesn't need to
    select "CPU component" as "Platform" anymore if it doesn't need
    special Platform.
    This patch removes such settings.

    Signed-off-by: Kuninori Morimoto
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

07 Jun, 2019

1 commit


21 May, 2019

1 commit


11 Jan, 2018

1 commit

  • This adds MODULE_LICENSE/AUTHOR/DESCRIPTION tags to the ux500
    platform drivers, to avoid these build warnings:

    WARNING: modpost: missing MODULE_LICENSE() in sound/soc/ux500/snd-soc-ux500-plat-dma.o
    WARNING: modpost: missing MODULE_LICENSE() in sound/soc/ux500/snd-soc-ux500-mach-mop500.o

    The company no longer exists, so the email addresses of the authors
    don't work any more, but I've added them anyway for consistency.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Mark Brown

    Arnd Bergmann
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

01 Sep, 2017

1 commit


22 Aug, 2017

1 commit

  • First of all,the address of pdev->dev is assigned to mop500_card.dev,
    then the function platform_set_drvdata copies the value the variable
    card to pdev->dev.driver_data,but when calling snd_soc_register_card,
    the function dev_set_drvdata(card->dev, card) will also do the same
    copy operation,so i think that the former copy operation can be removed.

    Signed-off-by: Peng Donglin
    Signed-off-by: Mark Brown

    Donglin Peng
     

18 Aug, 2017

1 commit


17 Jul, 2017

1 commit

  • This reverts commit f1013cdeeeb9 ("ASoC: ux500: drop platform DAI
    assignments"), which seems to have been based on a misunderstanding and
    prevents the platform driver callbacks from being made (e.g. to
    preallocate DMA memory).

    The real culprit for the warnings about attempts to create duplicate
    procfs entries was commit 99b04f4c4051 ("ASoC: add Component level
    pcm_new/pcm_free" that broke PCM creation on systems that use more than
    one platform component.

    Fixes: f1013cdeeeb9 ("ASoC: ux500: drop platform DAI assignments")
    Signed-off-by: Johan Hovold
    Reviewed-by: Linus Walleij
    Tested-by: Linus Walleij
    Signed-off-by: Mark Brown
    Cc: stable # 4.11

    Johan Hovold
     

07 Mar, 2017

3 commits


06 Mar, 2017

1 commit

  • This platform is completely probed by device tree nowadays, so
    we need to do a bigger cleanup removing all the non-DT codepaths.
    This cleanup must however go in as a fix since it fixes a
    regression.

    Currently when Ux500 audio is enabled, dmesg complains like
    this:

    entry->name == "prealloc"
    entry->name == "prealloc_max"
    entry->name == "prealloc"
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 95 at ../fs/proc/generic.c:346
    proc_register+0xf0/0x110
    proc_dir_entry 'sub0/prealloc' already registered
    (...)
    entry->name == "prealloc_max"
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 95 at ../fs/proc/generic.c:346
    proc_register+0xf0/0x110
    proc_dir_entry 'sub0/prealloc_max' already registered
    (...)
    snd-soc-mop500 soc:sound: ab8500-codec-dai.0
    80124000.msp mapping ok
    entry->name == "prealloc"
    entry->name == "prealloc_max"
    entry->name == "prealloc"
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 95 at ../fs/proc/generic.c:346
    proc_register+0xf0/0x110
    proc_dir_entry 'sub0/prealloc' already registered
    (...)
    entry->name == "prealloc_max"
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 95 at ../fs/proc/generic.c:346
    proc_register+0xf0/0x110
    proc_dir_entry 'sub0/prealloc_max' already registered
    snd-soc-mop500 soc:sound: ab8500-codec-dai.1
    80125000.msp mapping ok

    This is because PCMs are created twice for the same hardware,
    and this happens because both "platform" and "CPU" DAI links
    are specified.

    But platform/CPU is an either/or pair, not a both/and pair.
    This has maybe worked in the past, but it is causing trouble
    now, so let us begin the cleanups by removing the platform
    assignment and silencing the boot noise, and make a proper DT
    cleanup for the next kernel cycle.

    Cc: Ulf Hansson
    Cc: Lee Jones
    Signed-off-by: Linus Walleij
    Signed-off-by: Mark Brown

    Linus Walleij
     

03 Sep, 2016

1 commit


23 Oct, 2015

1 commit


21 Oct, 2015

1 commit

  • Use the new snd_pcm_hw_constraint_single() helper function instead of
    calling snd_pcm_hw_constraint_minmax() with the same value for min and max
    to install a constraint that limits the possible configuration values to a
    single value. Using snd_pcm_hw_constraint_single() makes the indented
    result clearer.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Mark Brown
    Signed-off-by: Takashi Iwai

    Lars-Peter Clausen
     

15 Sep, 2015

2 commits


21 Jul, 2015

1 commit

  • The explicit call to devm_regulator_put in the probe and remove functions
    does not seem to be necessary. In particular, the functions
    prcmu_qos_remove_requirement and ux500_msp_i2s_cleanup_msp in the remove
    function seem to do nothing that can interfere with devm_regulator_put,
    making it safe to allow devm_regulator_put to occur after the end of the
    remove function.

    Convert the calls to clk_get to devm_clk_get, and remove the corresponding
    calls to clk_put in the probe and remove functions.

    Replace various gotos by direct returns, and drop unneeded labels.

    Signed-off-by: Julia Lawall
    Reviewed-by: Ulf Hansson
    Signed-off-by: Mark Brown

    Julia Lawall
     

06 Jun, 2015

1 commit


21 May, 2015

1 commit


28 Apr, 2015

1 commit

  • Whether residue can be reported or not is not a property of the audio
    controller but of the DMA controller. The FLAG_NO_RESIDUE was initially
    added when the DMAengine framework had no support for describing the residue
    reporting capabilities of the controller. Support for this was added quite a
    while ago and recently the DMAengine framework started to complain if a
    driver does not describe its capabilities and a lot of patches have been
    merged that add support for this where it was missing. So it should be safe
    to assume that driver on actively used platforms properly implement the DMA
    capabilities API.

    This patch makes the FLAG_NO_RESIDUE internal and no longer allows audio
    controller drivers to manually set the flag. If a DMA driver against
    expectations does not support reporting its capabilities for now the generic
    DMAengine PCM driver will now emit a warning and simply assume that residue
    reporting is not supported. In the future this might be changed to aborting
    with an error.

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

    Lars-Peter Clausen
     

12 Apr, 2015

1 commit

  • The dapm field of the snd_soc_codec struct will eventually be removed
    (replaced with the DAPM context from the component embedded inside the
    CODEC). Replace its usage with the card's DAPM context. The idea is that
    DAPM is hierarchical and with the card at the root it is possible to access
    widgets from other contexts through the card context.

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

    Lars-Peter Clausen
     

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
     

04 Dec, 2014

1 commit


11 Nov, 2014

1 commit


20 Oct, 2014

1 commit


21 May, 2014

1 commit


09 Jan, 2014

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
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     

08 Jan, 2014

1 commit


07 Jan, 2014

6 commits

  • We no longer have a means to differentiate between MSP devices at probe
    time, mainly because we don't really have to. So rather than have an over-
    sized static data structure in place, where the only difference between
    devices is the ID and name (which are unused), we'll just create one
    succinct, statically assigned and shared one instead.

    Signed-off-by: Lee Jones
    Signed-off-by: Mark Brown

    Lee Jones
     
  • If booting with full DT support (i.e. DMA too, the last piece of the
    puzzle), then we don't need to use the compatible_request_channel call
    back or require some of the historical bumph which probably isn't
    required by a platform data start-up now either. This will also be
    ripped out in upcoming commits.

    Acked-by: Linus Walleij
    Signed-off-by: Lee Jones
    Signed-off-by: Mark Brown

    Lee Jones
     
  • Acked-by: Linus Walleij
    Signed-off-by: Lee Jones
    Signed-off-by: Mark Brown

    Lee Jones
     
  • In this patch we do two things. Firstly, instead of open coding the
    store of DMA data in to the DAI for later use, we use the API provided.
    Secondly we create and store similar DMA data for the DT case, only
    this time we use 'struct snd_dmaengine_dai_dma_data' which is provided
    by the core for this very reason.

    Acked-by: Linus Walleij
    Signed-off-by: Lee Jones
    Signed-off-by: Mark Brown

    Lee Jones
     
  • Soon we will strip out pdata support from the Ux500 set of ASoC drivers.
    When this happens it will have to supply a DMA slave_config to the
    dmaengine. At the moment a great deal of this comes from pdata via
    AUXDATA. We need to become independent of this soon. This patch starts
    the process by allocating memory for the associated data structures and
    fetches the MSP id used for const struct indexing.

    Acked-by: Linus Walleij
    Signed-off-by: Lee Jones
    Signed-off-by: Mark Brown

    Lee Jones
     
  • In preparation for full Device Tree enablement we must differentiate
    between the two varying ways DMA data can be held in the DAI store. If
    we're booting with Device Tree the provided 'snd_dmaengine_dai_dma_data'
    data structure shall be used, whereas in order to avoid breaking legacy
    platform data we also need to be able to translate DMA data stored using
    the UX500 specific 'ux500_msp_dma_params' method.

    Once we move over to solely use Device Tree, we can enforce the use of
    'snd_dmaengine_dai_dma_data' and this code can be removed altogether.

    Signed-off-by: Lee Jones
    Signed-off-by: Mark Brown

    Lee Jones