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
14 Sep, 2017
1 commit
-
Pull clk updates from Stephen Boyd:
"The diff is dominated by the Allwinner A10/A20 SoCs getting converted
to the sunxi-ng framework. Otherwise, the heavy hitters are various
drivers for SoCs like AT91, Amlogic, Renesas, and Rockchip. There are
some other new clk drivers in here too but overall this is just a
bunch of clk drivers for various different pieces of hardware and a
collection of non-critical fixes for clk drivers.New Drivers:
- Allwinner R40 SoCs
- Renesas R-Car Gen3 USB 2.0 clock selector PHY
- Atmel AT91 audio PLL
- Uniphier PXs3 SoCs
- ARC HSDK Board PLLs
- AXS10X Board PLLs
- STMicroelectronics STM32H743 SoCsRemoved Drivers:
- Non-compiling mb86s7x supportUpdates:
- Allwinner A10/A20 SoCs converted to sunxi-ng framework
- Allwinner H3 CPU clk fixes
- Renesas R-Car D3 SoC
- Renesas V2H and M3-W modules
- Samsung Exynos5420/5422/5800 audio fixes
- Rockchip fractional clk approximation fixes
- Rockchip rk3126 SoC support within the rk3128 driver
- Amlogic gxbb CEC32 and sd_emmc clks
- Amlogic meson8b reset controller support
- IDT VersaClock 5P49V5925/5P49V6901 support
- Qualcomm MSM8996 SMMU clks
- Various 'const' applications for struct clk_ops
- si5351 PLL reset bugfix
- Uniphier audio on LD11/LD20 and ethernet support on LD11/LD20/Pro4/PXs2
- Assorted Tegra clk driver fixes"* tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (120 commits)
clk: si5351: fix PLL reset
ASoC: atmel-classd: remove aclk clock
ASoC: atmel-classd: remove aclk clock from DT binding
clk: at91: clk-generated: make gclk determine audio_pll rate
clk: at91: clk-generated: create function to find best_diff
clk: at91: add audio pll clock drivers
dt-bindings: clk: at91: add audio plls to the compatible list
clk: at91: clk-generated: remove useless divisor loop
clk: mb86s7x: Drop non-building driver
clk: ti: check for null return in strrchr to avoid null dereferencing
clk: Don't write error code into divider register
clk: uniphier: add video input subsystem clock
clk: uniphier: add audio system clock
clk: stm32h7: Add stm32h743 clock driver
clk: gate: expose clk_gate_ops::is_enabled
clk: nxp: clk-lpc32xx: rename clk_gate_is_enabled()
clk: uniphier: add PXs3 clock data
clk: hi6220: change watchdog clock source
clk: Kconfig: Name RK805 in Kconfig for COMMON_CLK_RK808
clk: cs2000: Add cs2000_set_saved_rate
...
02 Sep, 2017
1 commit
-
Since gclk (generated-clk) is now able to determine the rate of the
audio_pll, there is no need for classd to have a direct phandle to the
audio_pll while already having a phandle to gclk.Thus, remove all mentions to aclk in classd driver and update macros and
variable names.Signed-off-by: Quentin Schulz
Acked-by: Mark Brown
Acked-by: Nicolas Ferre
Signed-off-by: Stephen Boyd
22 Aug, 2017
2 commits
-
The function platform_set_drvdata copies the value the variable
card to card->dev->driver_data, then the address of &pdev->dev is
assigned to card->dev in atmel_pdmic_asoc_card_init, but when
calling snd_soc_register_card,the function
dev_set_drvdata(card->dev, card) will 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 -
The function platform_set_drvdata copies the value the variable
card to card->dev->driver_data, then the address of &pdev->dev is
assigned to card->dev in atmel_classd_asoc_card_init, but when
calling snd_soc_register_card,the function
dev_set_drvdata(card->dev, card) will 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
03 Jul, 2017
1 commit
-
…opic/atmel', 'asoc/topic/cs35l34' and 'asoc/topic/cs35l35' into asoc-next
07 Jun, 2017
1 commit
-
At some point I added the "Low" entry at the beginning of the array
without bumping the enumeration count from 9 to 10. Fix this. While at
it, fix the anti-pattern for the other enumeration (used by MUX{1,2}).Fixes: aa43112445f0 ("ASoC: atmel: tse850: add ASoC driver for the Axentia TSE-850")
Signed-off-by: Peter Rosin
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
17 May, 2017
2 commits
-
The PM functions used in this driver are the ones defined in
sounc/soc/soc-core.c.When suspending (using snd_soc_suspend), the regcache is marked dirty
but is never synced on resume.Sync regcache on resume of Atmel ClassD device.
Signed-off-by: Quentin Schulz
Acked-by: Alexandre Belloni
Acked-by: Nicolas Ferre
Signed-off-by: Mark Brown -
Simplify the ifdef conditions with IS_ENABLED() macro.
No functional changes.Signed-off-by: Takashi Iwai
Acked-by: Alexandre Belloni
Acked-by: Nicolas Ferre
Signed-off-by: Mark Brown
07 Mar, 2017
1 commit
-
Fix the audio clock rate according to the datasheet.
Reported-by: Dushara Jayasinghe
Signed-off-by: Songjun Wu
Acked-by: Nicolas Ferre
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
15 Dec, 2016
1 commit
-
This breaks devicetree compatibility, but in this case that is ok. All
affected units are either on my desk, or running an even older version
of the driver that is not compatible with the upstreamed version anyway
(and when these other units are eventually updated, they will get a
fresh dtb as well, so that is not a significant problem either).All of that is of course assuming that noone else has managed to build
something that can use this driver, but that seems extremely improbable.Signed-off-by: Peter Rosin
Acked-by: Rob Herring
Signed-off-by: Mark Brown
16 Nov, 2016
2 commits
-
The TSE-850 is an FM Transmitter Station Equipment, designed to generate
baseband signals for FM, mainly the DARC subcarrier, but other signals
are also possible.Signed-off-by: Peter Rosin
Signed-off-by: Mark Brown -
When this driver masters BCLK and/or LRCLK, and noone has stated
differently, assume that all the bits of a frame are used.This relieves the cpu dai users from the duty to fill in the dividers for
the common case.Signed-off-by: Peter Rosin
Signed-off-by: Mark Brown
25 Oct, 2016
1 commit
-
Check for snd_soc_ops structures that are only stored in the ops field of a
snd_soc_dai_link structure. This field is declared const, so snd_soc_ops
structures that have this property can be declared as const also.The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)//
@r disable optional_qualifier@
identifier i;
position p;
@@
static struct snd_soc_ops i@p = { ... };@ok1@
identifier r.i;
struct snd_soc_dai_link e;
position p;
@@
e.ops = &i@p;@ok2@
identifier r.i, e;
position p;
@@
struct snd_soc_dai_link e[] = { ..., { .ops = &i@p, }, ..., };@bad@
position p != {r.p,ok1.p,ok2.p};
identifier r.i;
struct snd_soc_ops e;
@@
e@i@p@depends on !bad disable optional_qualifier@
identifier r.i;
@@
static
+const
struct snd_soc_ops i = { ... };
//The effect on the layout of the .o file is shown by the following output of
the size command, first before then after the transformation:text data bss dec hex filename
2611 1536 0 4147 1033 sound/soc/atmel/atmel_wm8904.o
2675 1480 0 4155 103b sound/soc/atmel/atmel_wm8904.oSigned-off-by: Julia Lawall
Acked-by: Nicolas Ferre
Signed-off-by: Mark Brown
30 Sep, 2016
2 commits
-
…ic/arizona', 'asoc/topic/atmel' and 'asoc/topic/codec-component' into asoc-next
13 Sep, 2016
1 commit
-
Check for snd_pcm_ops structures that are only stored in the ops field of a
snd_soc_platform_driver structure or passed as the third argument to
snd_pcm_set_ops. The corresponding field or parameter is declared const,
so snd_pcm_ops structures that have this property can be declared as const
also.The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)//
@r disable optional_qualifier@
identifier i;
position p;
@@
static struct snd_pcm_ops i@p = { ... };@ok1@
identifier r.i;
struct snd_soc_platform_driver e;
position p;
@@
e.ops = &i@p;@ok2@
identifier r.i;
expression e1, e2;
position p;
@@
snd_pcm_set_ops(e1, e2, &i@p)@bad@
position p != {r.p,ok1.p,ok2.p};
identifier r.i;
struct snd_pcm_ops e;
@@
e@i@p@depends on !bad disable optional_qualifier@
identifier r.i;
@@
static
+const
struct snd_pcm_ops i = { ... };
//Signed-off-by: Julia Lawall
Signed-off-by: Mark Brown
16 Aug, 2016
2 commits
-
Signed-off-by: Peter Meerwald-Stadler
Cc: Songjun Wu
Signed-off-by: Mark Brown -
commit cbaadf0f90d6 ("ASoC: atmel_ssc_dai: refactor the startup and
shutdown") refactored code such that the SSC is reset on every
startup; this breaks duplex audio (e.g. first start audio playback,
then start record, causing the playback to stop/hang)Fixes: cbaadf0f90d6 (ASoC: atmel_ssc_dai: refactor the startup and shutdown)
Signed-off-by: Christoph Huber
Signed-off-by: Peter Meerwald-Stadler
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
11 Aug, 2016
2 commits
-
Add the missing clk_disable_unprepare() before return from
atmel_pdmic_cpu_dai_startup() in the error handling case.Signed-off-by: Wei Yongjun
Signed-off-by: Mark Brown -
We get 1 warning about global functions without a declaration
in the ASoC atmel-pdmic driver when building with W=1:
sound/soc/atmel/atmel-pdmic.c:286:5: warning: no previous prototype for 'pdmic_get_mic_volsw' [-Wmissing-prototypes]In fact, this function is only used in the file in which it is declared
and don't need a declaration, but can be made static.
so this patch marks it 'static'.Signed-off-by: Baoyou Xie
Signed-off-by: Mark Brown
08 Aug, 2016
2 commits
-
codec driver and component driver has duplicated callback functions,
and codec side functions are just copied to component side when
register timing. This was quick-hack, but no longer needed.
This patch moves these functions from codec driver to component driver.Signed-off-by: Kuninori Morimoto
Signed-off-by: Mark Brown -
codec driver and component driver has duplicated callback functions,
and codec side functions are just copied to component side when
register timing. This was quick-hack, but no longer needed.
This patch moves these functions from codec driver to component driver.Signed-off-by: Kuninori Morimoto
Signed-off-by: Mark Brown
07 Jul, 2016
1 commit
-
follow-up patch from c706f2e55f ASoC: atmel_ssc_dai: distinguish the
different SSCcpu_dai id is always 0, use platform_device id to distinguish DMA
parameters of SSCsSigned-off-by: Peter Meerwald-Stadler
Signed-off-by: Mark Brown
04 Jul, 2016
2 commits
-
Remove unneeded error handling on the result of a call to
platform_get_resource when the value is passed to
devm_ioremap_resource.The Coccinelle semantic patch that makes this change is as follows:
//
@@
expression pdev,res,n,e,e1;
expression ret != 0;
identifier l;
@@- res = platform_get_resource(pdev, IORESOURCE_MEM, n);
... when != res
- if (res == NULL) { ... \(goto l;\|return ret;\) }
... when != res
+ res = platform_get_resource(pdev, IORESOURCE_MEM, n);
e = devm_ioremap_resource(e1, res);
//Signed-off-by: Amitoj Kaur Chawla
Signed-off-by: Mark Brown -
Remove unneeded error handling on the result of a call to
platform_get_resource when the value is passed to
devm_ioremap_resource.The Coccinelle semantic patch that makes this change is as follows:
//
@@
expression pdev,res,n,e,e1;
expression ret != 0;
identifier l;
@@- res = platform_get_resource(pdev, IORESOURCE_MEM, n);
... when != res
- if (res == NULL) { ... \(goto l;\|return ret;\) }
... when != res
+ res = platform_get_resource(pdev, IORESOURCE_MEM, n);
e = devm_ioremap_resource(e1, res);
//Signed-off-by: Amitoj Kaur Chawla
Signed-off-by: Mark Brown
07 Jun, 2016
1 commit
-
m32r allmodconfig build is failing with the error:
ERROR: "bad_dma_ops" [sound/soc/atmel/snd-soc-atmel-pcm-pdc.ko] undefined!The code is using DMA but the related dependency is not mentioned in the
Kconfig.Signed-off-by: Sudip Mukherjee
Signed-off-by: Mark Brown
27 Apr, 2016
1 commit
-
Signed-off-by: Peter Rosin
Signed-off-by: Mark Brown
02 Mar, 2016
1 commit
-
Cpu_dai id always equals 0, can't distinguish the
different SSC. Use platform_device id to record
and distinguish the different SSC.Signed-off-by: Songjun Wu
Signed-off-by: Nicolas Ferre
Signed-off-by: Mark Brown
23 Dec, 2015
2 commits
-
… 'asoc/topic/da7218' into asoc-next
-
Sometimes the audio play can not be resumed after it is
suspended. Add snd_soc_pm_ops to execute power management
operations, then this issue is fixed.Signed-off-by: Songjun Wu
Signed-off-by: Mark Brown
18 Dec, 2015
1 commit
-
Add driver for the Pulse Density Modulation Interface
Controller. It comes with digitallly controlled gain,
a High-Pass and a SINCC filter.Signed-off-by: Songjun Wu
Signed-off-by: Mark Brown
13 Dec, 2015
1 commit
-
Add code to unregister codec in probe function,
when the error occurs after the codec is registered.Signed-off-by: Songjun Wu
Signed-off-by: Mark Brown
21 Nov, 2015
1 commit
-
Modify the code to support mono audio.
Signed-off-by: Songjun Wu
Signed-off-by: Mark Brown
26 Oct, 2015
1 commit
23 Oct, 2015
1 commit
-
Add driver for the digital imput to PWM output stereo
class D amplifier. It comes with filter, digitally
controlled gain, an equalizer and a dmphase filter.Signed-off-by: Songjun Wu
Signed-off-by: Mark Brown
15 Sep, 2015
1 commit
-
This platform driver has a OF device ID table but the OF module
alias information is not created so module autoloading won't work.Signed-off-by: Luis de Bethencourt
Signed-off-by: Mark Brown
04 Aug, 2015
1 commit
-
Correct misuse of 0x%d in logging message.
Signed-off-by: Joe Perches
Signed-off-by: Mark Brown
22 Jun, 2015
1 commit
12 Jun, 2015
1 commit
-
It is currently possible to have CONFIG_SND_ATMEL_SOC_SSC=y with either
CONFIG_SND_ATMEL_SOC_PDC=m or CONFIG_SND_ATMEL_SOC_DMA=m. This results in a
driver that compiles but does not link with this kind of error:sound/built-in.o: In function `atmel_ssc_set_audio':
(.text+0x87d90): undefined reference to `atmel_pcm_pdc_platform_register'
sound/built-in.o: In function `atmel_ssc_put_audio':
(.text+0x8879a): undefined reference to `atmel_pcm_pdc_platform_unregister'Introduce new config options SND_ATMEL_SOC_SSC_PDC and
SND_ATMEL_SOC_SSC_DMA which should be used by the board drivers and the
correct logic to properly select the SND_ATMEL_SOC_PDC and
SND_ATMEL_SOC_DMA states.Reported-by: Randy Dunlap
Signed-off-by: Alexandre Belloni
Signed-off-by: Mark Brown