Alsa-devel
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
October 2020
- 149 participants
- 288 discussions

22 Oct '20
If the cb function is already registered, should return the pointer
of the structure hda_jack_callback which contains this cb func, but
instead it returns the NULL.
Now fix it by replacing func_is_already_in_callback_list() with
find_callback_from_list().
Fixes: f4794c6064a8 ("ALSA:hda - Don't register a cb func if it is registered already")
Reported-and-suggested-by: Dan Carpenter <dan.carpenter(a)oracle.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Hui Wang <hui.wang(a)canonical.com>
---
sound/pci/hda/hda_jack.c | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/sound/pci/hda/hda_jack.c b/sound/pci/hda/hda_jack.c
index ded4813f8b54..588059428d8f 100644
--- a/sound/pci/hda/hda_jack.c
+++ b/sound/pci/hda/hda_jack.c
@@ -275,16 +275,21 @@ int snd_hda_jack_detect_state_mst(struct hda_codec *codec,
}
EXPORT_SYMBOL_GPL(snd_hda_jack_detect_state_mst);
-static bool func_is_already_in_callback_list(struct hda_jack_tbl *jack,
- hda_jack_callback_fn func)
+static struct hda_jack_callback *
+find_callback_from_list(struct hda_jack_tbl *jack,
+ hda_jack_callback_fn func)
{
struct hda_jack_callback *cb;
+ if (!func)
+ return NULL;
+
for (cb = jack->callback; cb; cb = cb->next) {
if (cb->func == func)
- return true;
+ return cb;
}
- return false;
+
+ return NULL;
}
/**
@@ -309,7 +314,10 @@ snd_hda_jack_detect_enable_callback_mst(struct hda_codec *codec, hda_nid_t nid,
jack = snd_hda_jack_tbl_new(codec, nid, dev_id);
if (!jack)
return ERR_PTR(-ENOMEM);
- if (func && !func_is_already_in_callback_list(jack, func)) {
+
+ callback = find_callback_from_list(jack, func);
+
+ if (func && !callback) {
callback = kzalloc(sizeof(*callback), GFP_KERNEL);
if (!callback)
return ERR_PTR(-ENOMEM);
--
2.25.1
2
1
Is there a way to check whether PCMs are linked ?
Linking is done with snd_pcm_link :
https://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#gac6c3309…
But this is no function to tell if a pcm is linked.
Matt
1
0

[bug report] ALSA: hda - Don't register a cb func if it is registered already
by Dan Carpenter 22 Oct '20
by Dan Carpenter 22 Oct '20
22 Oct '20
Hello Hui Wang,
The patch f4794c6064a8: "ALSA: hda - Don't register a cb func if it
is registered already" from Sep 30, 2020, leads to the following
static checker warning:
sound/pci/hda/patch_sigmatel.c:3075 stac92hd71bxx_fixup_hp_m4()
warn: 'jack' can also be NULL
sound/pci/hda/patch_sigmatel.c
3069 /* Enable VREF power saving on GPIO1 detect */
3070 snd_hda_codec_write_cache(codec, codec->core.afg, 0,
3071 AC_VERB_SET_GPIO_UNSOLICITED_RSP_MASK, 0x02);
3072 jack = snd_hda_jack_detect_enable_callback(codec, codec->core.afg,
3073 stac_vref_event);
Originally snd_hda_jack_detect_enable_callback() would not return NULL
here.
3074 if (!IS_ERR(jack))
3075 jack->private_data = 0x02;
3076
3077 spec->gpio_mask |= 0x02;
But now we have this:
sound/pci/hda/hda_jack.c
301 struct hda_jack_callback *
302 snd_hda_jack_detect_enable_callback_mst(struct hda_codec *codec, hda_nid_t nid,
303 int dev_id, hda_jack_callback_fn func)
304 {
305 struct hda_jack_tbl *jack;
306 struct hda_jack_callback *callback = NULL;
307 int err;
308
309 jack = snd_hda_jack_tbl_new(codec, nid, dev_id);
310 if (!jack)
311 return ERR_PTR(-ENOMEM);
312 if (func && !func_is_already_in_callback_list(jack, func)) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
We only allocate callback if there isn't one already.
313 callback = kzalloc(sizeof(*callback), GFP_KERNEL);
314 if (!callback)
315 return ERR_PTR(-ENOMEM);
316 callback->func = func;
317 callback->nid = jack->nid;
318 callback->dev_id = jack->dev_id;
319 callback->next = jack->callback;
320 jack->callback = callback;
321 }
322
323 if (jack->jack_detect)
324 return callback; /* already registered */
^^^^^^^^^^^^^^^
So presumably this should be jack->callback
325 jack->jack_detect = 1;
326 if (codec->jackpoll_interval > 0)
327 return callback; /* No unsol if we're polling instead */
^^^^^^^^^^^^^^^^
328 err = snd_hda_codec_write_cache(codec, nid, 0,
329 AC_VERB_SET_UNSOLICITED_ENABLE,
330 AC_USRSP_EN | jack->tag);
331 if (err < 0)
332 return ERR_PTR(err);
333 return callback;
^^^^^^^^^^^^^^^^
And these as well.
334 }
regards,
dan carpenter
3
6

[PATCH v3 0/3] ASoC: dt-bindings: audio-graph-card: switch to yaml base Documentation
by Kuninori Morimoto 22 Oct '20
by Kuninori Morimoto 22 Oct '20
22 Oct '20
Hi Rob, Mark
Cc: Sameer
These are v3 of switch to yaml base Documentation for
audio-graph-card and renesas,rsnd which uses audio-graph-card.
v2 -> v3
- fixuped Rob's pointed points
v1 -> v2
- upgrade dt-schema, and fixup errors for [2/2] patch
Kuninori Morimoto (3):
ASoC: dt-bindings: audio-graph-card: switch to yaml base Documentation
ASoC: dt-bindings: renesas,rsnd: switch to yaml base Documentation
dt-bindings: ASoC: renesas,rsnd: Add r8a77961 support
.../bindings/sound/audio-graph-card.txt | 337 ------------
.../bindings/sound/audio-graph-card.yaml | 165 ++++++
.../bindings/sound/renesas,rsnd.txt | 520 ------------------
.../bindings/sound/renesas,rsnd.yaml | 457 +++++++++++++++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +-
5 files changed, 623 insertions(+), 858 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/sound/audio-graph-card.txt
create mode 100644 Documentation/devicetree/bindings/sound/audio-graph-card.yaml
create mode 100644 Documentation/devicetree/bindings/sound/renesas,rsnd.yaml
--
2.25.1
1
1
The following changes since commit 549738f15da0e5a00275977623be199fbbf7df50:
Linux 5.9-rc8 (2020-10-04 16:04:34 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git tags/asoc-v5.10
for you to fetch changes up to c890e30b069a2792a5a34e8510a7a437dd6f5b3d:
Merge remote-tracking branch 'asoc/for-5.10' into asoc-next (2020-10-09 15:42:31 +0100)
----------------------------------------------------------------
ASoC: Updates for v5.10
Not a huge amount going on in the core for ASoC this time but quite a
lot of driver activity, especially for the Intel platforms:
- Replacement of the DSP driver for some older x86 systems with a new
one which was written with closer reference to the DSP firmware so
should hopefully be more robust and maintainable.
- A big batch of static checker and other fixes for the rest of the x86
DSP drivers.
- Cleanup of the error unwinding code from Morimoto-san, hopefully
making it more robust.
- Helpers for parsing auxiluary devices from the device tree from
Stephan Gerhold.
- New support for AllWinner A64, Cirrus Logic CS4234, Mediatek MT6359
Microchip S/PDIF TX and RX controllers, Realtek RT1015P, and Texas
Instruments J721E, TAS2110, TAS2564 and TAS2764
----------------------------------------------------------------
Adam Brickman (1):
ASoC: wm_adsp: Pass full name to snd_ctl_notify
Adam Thomson (4):
ASoC: da7219: Move required devm_* allocations to device level code
ASoC: da7219: Move soft reset handling to codec level probe
ASoC: da7219: Fix clock handling around codec level probe
ASoC: da7219: Fix I/O voltage range configuration during probe
Ajit Pandey (4):
ASoC: qcom: Add common array to initialize soc based core clocks
ASoC: qcom: lpass-platform: Replace card->dev with component->dev
ASoC: qcom: lpass-sc7180: Add platform driver for lpass audio
ASoC: Add sc7180-lpass bindings header
Akshu Agrawal (1):
ASoC: AMD: Clean kernel log from deferred probe error messages
Alex Dewar (1):
ASoC: omap-mcbsp: Fix use of uninitialised pointer
Alexandre Belloni (2):
spi: atmel: remove unnecessary include
ASoC: atmel-pcm: remove unnecessary include
Anson Huang (1):
ASoC: Convert NXP spdif to json-schema
Arnd Bergmann (4):
ASoC: samsung: h1940: turn into platform driver
ASoC: samsung: neo1973: turn into platform driver
ASoC: samsung: rx1950: turn into platform driver
ASoC: samsung: s3c2412-i2s: avoid hardcoded S3C2410_PA_IIS
Bard Liao (7):
ASoC: intel: sof_sdw: add .exit callback function
ASoC: Intel: modify SoundWire version id in acpi match table
ASoC: Intel: sof_sdw: check SoundWire version when matching codec
ASoC: Intel: sof_sdw: rename id as part_id
ASoC: intel: sof_sdw: add rt711 rt1316 rt714 SDCA codec support.
ASoC: Intel: sof_sdw: clean-up inclusion of header files
ASoC: Intel: add support for new SoundWire hardware layout on TGL
Brent Lu (2):
ASoC: hdac_hdmi: support 'ELD' mixer
ASoC: hdac_hdmi: remove cancel_work_sync in runtime suspend
Camel Guo (3):
ASoC: tlv320adcx140: Fix digital gain range
dt-bindings: tlv320adcx140: Add GPIO config and drive config
ASoC: tlv320adcx140: Add support for configuring GPIO pin
Cezary Rojewski (34):
spi: pxa2xx: Add SSC2 and SSPSP2 SSP registers
ASoC: Intel: Add catpt base members
ASoC: Intel: catpt: Implement IPC protocol
ASoC: Intel: catpt: Add IPC message handlers
ASoC: Intel: catpt: Define DSP operations
ASoC: Intel: catpt: Firmware loading and context restore
ASoC: Intel: catpt: PCM operations
ASoC: Intel: catpt: Device driver lifecycle
ASoC: Intel: catpt: Event tracing
ASoC: Intel: catpt: Simple sysfs attributes
ASoC: Intel: haswell: Remove haswell-solution specific code
ASoC: Intel: broadwell: Remove haswell-solution specific code
ASoC: Intel: bdw-5650: Remove haswell-solution specific code
ASoC: Intel: bdw-5677: Remove haswell-solution specific code
ASoC: Intel: Select catpt and deprecate haswell
ASoC: Intel: bdw-rt5650: Mark FE DAIs as nonatomic
ASoC: Intel: bdw-rt5677: Mark FE DAIs as nonatomic
ASoC: Intel: broadwell: Mark FE DAIs as nonatomic
ASoC: Intel: haswell: Mark FE DAIs as nonatomic
ASoC: Intel: Remove haswell solution
ASoC: Intel: Remove max98090 support for baytrail solution
ASoC: Intel: Remove rt5640 support for baytrail solution
ASoC: Intel: Remove baytrail solution
ASoC: Intel: Remove SST ACPI component
ASoC: Intel: Remove SST firmware components
ASoC: Intel: Skylake: Unassign ram_read and read_write ops
ASoC: Intel: Remove unused DSP operations
ASoC: Intel: Remove unused DSP interface fields
ASoC: Intel: Remove SST-legacy specific constants
ASoC: Intel: Make atom components independent of sst-dsp
ASoC: Intel: Remove sst_pdata structure
ASoC: Intel: Remove sst_dsp_get_thread_context
ASoC: Intel: catpt: Fix compilation when CONFIG_MODULES is disabled
ASoC: Intel: catpt: Add explicit DMADEVICES kconfig dependency
Charles Keepax (2):
ASoC: wm_adsp: Update naming in error handling
ASoC: cs4234: Add dtschema binding document
Cheng-Yi Chiang (1):
ASoC: hdmi-codec: Use set_jack ops to set jack
Christophe JAILLET (1):
ASoC: wm8523: Fix a typo in a comment
Codrin Ciubotariu (6):
ASoC: mchp-spdiftx: add driver for S/PDIF TX Controller
ASoC: add DT bindings for Microchip S/PDIF TX Controller
ASoC: mchp-spdifrx: add driver for SPDIF RX
ASoC: add DT bindings for Microchip S/PDIF RX Controller
ASoC: mchp-spdifrx: convert to devm_platform_get_and_ioremap_resource
ASoC: mchp-spdiftx: remove 'TX' from playback stream name
Colin Ian King (3):
sound: remove duplicate "the the" phrase in Kconfig text
ASoC: qcom: add missing out of memory check on drvdata->clks allocation
ASoC: mchp-spdifrx: fix spelling mistake "overrrun" -> "overrun"
Dan Carpenter (1):
ASoC: hdac_hdmi: tidy up a memset()
Dan Murphy (29):
dt-bindings: tas2562: Remove tas2562 text file
dt-bindings: tas2562: Add device specification links
ASoC: tlv320adcx140: Add digital mic channel enable routing
ASoC: tlv320adcx140: Idle the device while writing registers
ASoC: tlv320adcx140: Fix BCLK inversion for DSP modes
ASoC: tlv320adcx140: Add the config to configure Tx ASI output
ASoC: tlv320adcx140: Add ASI Tx drive
dt-bindings: tas2562: Add TAS2564 to binding
ASoC: tas2562: Add the TAS2564 compatible
ASoC: tas2770: Fix calling reset in probe
ASoC: tas2770: Add missing bias level power states
ASoC: tas2770: Fix required DT properties in the code
ASoC: tas2770: Fix error handling with update_bits
dt-bindings: tas2562: Add the TAS2110 amplifier
ASoC: tas2562: Add the TAS2110 class-D amplifier
dt-bindings: tas2770: Fix I2C addresses for the TAS2770
ASoC: tas2770: Fix unbalanced calls to pm_runtime
ASoC: tas2770: Convert bit mask to GENMASK in header
ASoC: tas2770: Fix the spacing and new lines
ASoC: tas2770: Refactor sample rate function
ASoC: tas2562: Remove duplicate code for I/V sense
dt-bindings: tas2770: Add shutdown gpio property
ASoC: tas2770: Add shutdown capability via a GPIO
ASoC: tas2770: Set regcache when shutting down and waking device
ASoC: tas2770: Remove ti,asi-format code
ASoC: tas2770: Remove unused variables
dt-bindings: tas2770: Mark ti,asi-format to deprecated
dt-bindings: tas2764: Add the TAS2764 binding doc
ASoC: tas2764: Add the driver for the TAS2764
Daniel Baluta (3):
ASoC: SOF: pm: Fix prepare callback behavior for OF usecase
ASoC: SOF: Activate runtime PM with SOF OF device
ASoC: SOF: Add .prepare/.complete callbacks
Dharageswari R (2):
ASoC: topology: Add support for WO and RO TLV byte kcontrols
ASoC: SOF: Implement snd_sof_bytes_ext_volatile_get kcontrol IO
Dmitry Baryshkov (1):
ASoC: core: remove artificial component and DAI name constraint
Douglas Anderson (2):
ASoC: rt5682: Prefer async probe
ASoC: qcom: lpass-sc7180: Add MODULE_DEVICE_TABLE
Guennadi Liakhovetski (7):
ASoC: SOF: topology: (cosmetic) remove redundant variable initialisations
ASoC: SOF: (cosmetic) use the "bool" type where it makes sense
ASoC: SOF: add a "core" parameter to widget loading functions
ASoC: SOF: support topology components on secondary cores
ASoC: SOF: (cosmetic) remove redundant "ret" variable uses
ASoC: SOF: remove several superfluous type-casts
ASoC: SOF: fix range checks
Guillermo Rodríguez (1):
ASoC: cs42l51: add additional ADC volume controls
Iulian Olaru (4):
ASoC: SOF: loader: Add debug box region
ASoC: SOF: imx: Replace sdev->private with sdev->pdata->hw_pdata
ASoC: SOF: sof-of-dev: Add .arch_ops field
ASoC: SOF: imx: Add debug support for imx platforms
Jack Yu (1):
ASoC: rt715: Add power-up delay to fix dmic pop sound issue.
Jaska Uimonen (1):
ASoC: SOF: intel: hda: support also devices with 1 and 3 dmics
Jiaxin Yu (2):
ASoC: mediatek: mt6359: add codec driver
dt-bindings: mediatek: mt6359: add codec document
Johan Jonker (1):
ASoC: rockchip-spdif: add description for rk3308
Kai Vehmanen (2):
ASoC: SOF: imx: add missing MODULE_LICENSE() for imx-common
ASoC: hdac: make SOF HDA codec driver probe deterministic
Karol Trzcinski (3):
ASoC: SOF: IPC: make sof_ipc_window monosized
ASoC: SOF: ext_manifest: Parse debug ABI version
ASoC: SOF: Add `src_hash` to `sof_ipc_fw_version` structure
Keyon Jie (18):
ASoC: SOF: topology: fix the ipc_size calculation for process component
ASoC: SOF: tokens: add token for component UUID
ASoC: SOF: add comp_ext to struct snd_sof_widget
ASoC: SOF: topology: create component extended tokens
ASoC: SOF: topology: parse comp_ext_tokens for all widgets
ASoC: SOF: use the sof_ipc_comp reserved bytes for extended data
ASoC: SOF: topology: add helper for setting up IPC component
ASoC: SOF: append extended data to sof_ipc_comp_dai
ASoC: SOF: append extended data to sof_ipc_comp_mixer
ASoC: SOF: append extended data to sof_ipc_comp_volume
ASoC: SOF: append extended data to sof_ipc_comp_host
ASoC: SOF: append extended data to sof_ipc_comp_src
ASoC: SOF: append extended data to sof_ipc_comp_asrc
ASoC: SOF: append extended data to sof_ipc_comp_tone
ASoC: SOF: append extended data to sof_ipc_comp_process
ASoC: SOF: append extended data to sof_ipc_comp_mux
ASoC: SOF: topology: make process type optional
ASoC: SOF: topology: fix the process being scheduled on core0 always
Krzysztof Kozlowski (8):
ASoC: samsung-i2s: Use unevaluatedProperties
ASoC: midas-audio: Correct parsing sound-dai phandles
ASoC: odroid: Use unevaluatedProperties
ASoC: odroid: Add missing properties
ASoC: samsung-i2s: Add missing properties
ASoC: dt-bindings: aries-wm8994: Match compatibles with enum
ASoC: dt-bindings: Correct interrupt flags in examples
ASoC: dt-bindings: sgtl5000: Add common clock properties
Kuninori Morimoto (10):
ASoC: soc-core: add snd_soc_find_dai_with_mutex()
ASoC: soc-dai: add mark for snd_soc_dai_startup/shutdown()
ASoC: soc-link: add mark for snd_soc_link_startup/shutdown()
ASoC: soc-component: add mark for soc_pcm_components_open/close()
ASoC: soc-component: add mark for snd_soc_pcm_component_pm_runtime_get/put()
ASoC: soc-pcm: add soc_pcm_clean() and call it from soc_pcm_open/close()
ASoC: soc-pcm: remove unneeded dev_err() for snd_soc_dai_startup()
ASoC: soc-pcm: remove unneeded dev_err() for snd_soc_component_module/open()
ASoC: soc-pcm: ignore un-needed mutex_unlock() case on soc_pcm_open()
ASoC: soc-pcm: add missing ret=0 at soc_pcm_open()
Lucas Tanure (1):
ASoC: cs4234: Add support for Cirrus Logic CS4234 codec
Mark Brown (52):
Merge existing fixes from asoc/for-5.9
Merge series "ASoC: SOF/Intel: fix cppcheck warnings" from Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>:
Merge series "ASoC: rt5682: Use clk APIs better" from Stephen Boyd <swboyd(a)chromium.org>:
Merge series "Allwinner A64 digital audio codec fixes" from Samuel Holland <samuel(a)sholland.org>:
Merge series "This patch series is to enable multiple features on the Keembay Platform" from Michael Sit Wei Hong <michael.wei.hong.sit(a)intel.com>:
Merge series "ASoC: sun50i-codec-analog: Cleanup and power management" from Samuel Holland <samuel(a)sholland.org>:
Merge series "Codec workaround" from Michael Sit Wei Hong <michael.wei.hong.sit(a)intel.com>:
Merge series "ASoC: qcom: Add support for SC7180 lpass variant" from Rohit kumar <rohitkr(a)codeaurora.org>:
Merge series "refine and clean code for synchronous mode" from Shengjiu Wang <shengjiu.wang(a)nxp.com>:
Merge series "ASoC: da7219: Reorganise device/codec level probe/remove" from Adam Thomson <Adam.Thomson.Opensource(a)diasemi.com>:
Merge series "ASoC: Intel: fix cppcheck warnings" from Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>:
Merge series "ASoC: qdsp6: add gapless compressed audio support" from Srinivas Kandagatla <srinivas.kandagatla(a)linaro.org>:
Merge tag 'samsung-platdrv-boards' into asoc-5.10
Merge series "Add mediatek codec mt6359 driver" from Jiaxin Yu <jiaxin.yu(a)mediatek.com>:
Merge series "ASoC: Intel: machine driver updates for 5.10" from Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>:
Merge tag 'v5.9-rc2' into asoc-5.10
Merge series "ASoC: SOF: trivial code/log/comment improvements" from Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>:
Merge series "SOF fixes and updates" from Ranjani Sridharan <ranjani.sridharan(a)linux.intel.com>:
Merge series "SOF fixes and updates for FW boot" from Ranjani Sridharan <ranjani.sridharan(a)linux.intel.com>:
Merge series "ASoC: SOF: multi core support for 5.10" from Kai Vehmanen <kai.vehmanen(a)linux.intel.com>:
Merge series "ASoC: Add sdw stream operations to dailink ops." from Bard Liao <yung-chuan.liao(a)linux.intel.com>:
Merge series "ASoC: SOF: component UUID support for 5.10" from Kai Vehmanen <kai.vehmanen(a)linux.intel.com>:
Merge series "ASoC: sun8i-codec driver cleanup" from Samuel Holland <samuel(a)sholland.org>:
Merge series "ASoC: qcom: common: Parse auxiliary devices from device tree" from Stephan Gerhold <stephan(a)gerhold.net>:
Merge branch 'topic/tasklet-convert' of https://git.kernel.org/.../tiwai/sound into asoc-5.10
Merge series "ASoC: q6dsp: Add support to Codec Ports." from Srinivas Kandagatla <srinivas.kandagatla(a)linaro.org>:
Merge series "ASoC: ti: j721e-evm: Support for j7200 variant" from Peter Ujfalusi <peter.ujfalusi(a)ti.com>:
Merge series "ASoC: mediatek: mt8183-da7219: support machine driver for rt1015p" from Tzung-Bi Shih <tzungbi(a)google.com>:
Merge series "ASoC: SOF: DSP core management fixes for 5.10" from Kai Vehmanen <kai.vehmanen(a)linux.intel.com>:
Merge branch 'asoc-5.9' into asoc-5.10
Merge series "ASoC: q6afe: add clocks support" from Srinivas Kandagatla <srinivas.kandagatla(a)linaro.org>:
Merge series "ASoC: SOF: small fixes for 5.10" from Kai Vehmanen <kai.vehmanen(a)linux.intel.com>:
Merge series "ASoC: fsl_sai: update the register list" from Shengjiu Wang <shengjiu.wang(a)nxp.com>:
Merge branch 'asoc-5.9' into asoc-5.10
Merge series "ASoC: SOF: fix kcontrol size checks" from Kai Vehmanen <kai.vehmanen(a)linux.intel.com>:
Merge series "ASoC: Intel: sdw machine driver updates for 5.10" from Kai Vehmanen <kai.vehmanen(a)linux.intel.com>:
Merge series "ASoC: qdsp6: fix some warnings when build without CONFIG_OF" from Srinivas Kandagatla <srinivas.kandagatla(a)linaro.org>:
Merge series "Enable runtime PM for SOF device" from Daniel Baluta <daniel.baluta(a)oss.nxp.com> Daniel Baluta <daniel.baluta(a)nxp.com>:
Merge tag 'regmap-field-bulk-api' of https://git.kernel.org/.../broonie/regmap into asoc-5.10
Merge series "ASoC: merge soc_pcm_open() rollback and soc_pcm_close()" from Kuninori Morimoto <kuninori.morimoto.gx(a)renesas.com>:
Merge series "ASoC: Intel: Catpt - Lynx and Wildcat point" from Cezary Rojewski <cezary.rojewski(a)intel.com>:
ASoC: fsl_spdif: Remove unused np
Merge series "Add driver for Microchip S/PDIF RX" from Codrin Ciubotariu <codrin.ciubotariu(a)microchip.com>:
Merge series "ASoC: Intel: sof_sdw: minor corrections" from Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>:
Merge series "ASoC: sun8i-codec: support for AIF2 and AIF3" from Samuel Holland <samuel(a)sholland.org>:
Merge series "ASoC: Intel: Remove obsolete solutions and components" from Cezary Rojewski <cezary.rojewski(a)intel.com>:
Merge tag 'v5.9-rc5' into asoc-5.10
Merge series "Qualcomm's lpass-hdmi ASoC driver to support audio over dp port" from Srinivasa Rao Mandadapu <srivasam(a)codeaurora.org>:
Merge series "ASoC: stm32: dfsdm: change rate limits" from Olivier Moysan <olivier.moysan(a)st.com>:
ASoC: dmaengine: Document support for TX only or RX only streams
Merge remote-tracking branch 'asoc/for-5.9' into asoc-linus
Merge remote-tracking branch 'asoc/for-5.10' into asoc-next
Matthias Schiffer (4):
ASoC: bindings: fsl-asoc-card: add compatible string for TLV320AIC32x4 codec
ASoC: fsl-asoc-card: add support for TLV320AIC32x4 codec
ASoC: codec: tlv320aic32x4: fix missing aic32x4_disable_regulators() in error path
ASoC: codec: tlv320aic32x4: do software reset before clock registration
Michael Sit Wei Hong (6):
ASoC: codec: tlv3204: Enable 24 bit audio support
ASoC: codec: tlv3204: Increased maximum supported channels
ASoC: codec: tlv3204: Moving GPIO reset and add ADC reset
ASoC: Intel: KMB: Enable TDM audio capture
dt-bindings: sound: intel, keembay-i2s: Add new compatible string
ASoC: Intel: KeemBay: Fix warning potential ! vs ~ typo
Miquel Raynal (3):
ASoC: tlv320aic32x4: Ensure a minimum delay before clock stabilization
ASoC: tlv320aic32x4: Fix bdiv clock rate derivation
ASoC: tlv320aic32x4: Enable fast charge
Necip Fazil Yildiran (1):
ASoC: cros_ec_codec: fix kconfig dependency warning for SND_SOC_CROS_EC_CODEC
Oder Chiou (1):
ASoC: rt5682: Enable the power of "MICBIAS" and "Vref2" for the DMIC clock
Olivier Moysan (3):
ASoC: stm32: sai: add pm_runtime support
ASoC: stm32: dfsdm: change rate limits
ASoC: stm32: dfsdm: add actual resolution trace
Pavel Dobias (1):
ASoC: max9867: shutdown codec when changing filter type
Peter Ujfalusi (5):
ASoC: ti: Kconfig: Allow the j721e machine driver to be used on K3 platform
ASoC: dt-bindings: ti, j721e-cpb-audio: Document support for j7200-cpb
ASoC: ti: j721e-evm: Add support for j7200-cpb audio
ASoC: ti: j721e-evm: Fix compiler warning when CONFIG_OF=n
ASoC: ti: davinci-mcasp: Use &pdev->dev for early dev_warn
Pierre-Louis Bossart (59):
ASOC: SOF: Intel: hda-codec: move unused label to correct position
ASoC: SOF: Intel: hda-codec: move variable used conditionally
ASoC: Intel: rename shadowed variable for all broadwell boards
ASoC: Intel: bytcht_cx2072x: simplify return handling
ASoC: Intel: Atom: sst-atom-controls: remove redundant assignments
ASoC: Intel: Atom: compress: remove redundant assignment
ASoC: Intel: Atom: platform-pcm: remove redundant assignment
ASoC: Intel: Atom: sst: remove useless NULL assignment
ASoC: Intel: Atom: remove redundant initialization
ASoC: Intel: Atom: sst_pvt: remove redundant initialization
ASoC: Intel: Atom: platform-pcm: fix redundant return
ASoC: Intel: Atom: remove useless assignment
ASoC: Intel: Atom: sst_loader: remove always-true condition
ASoC: Intel: Atom: sst_pvt: simplify return handling
ASoC: Intel: Atom: (cosmetic) align parameters
ASoC: Intel: Baytrail: (cosmetic) align function parameters
ASoC: Intel: common: (cosmetic) align function parameters
ASoC: Intel: haswell: (cosmetic) align function parameters
ASoC: Intel: haswell-ipc: remove redundant assignments
ASoC: Intel: Skylake: skl-nhlt: remove redundant initialization
ASoC: Intel: Skylake: cldma: remove redundant initialization
ASoC: Intel: Skylake: sst-utils: remove redundant assignment
ASoC: Intel: Skylake: skl-topology: remove redundant assignments
ASoC: Intel: Skylake: skl-topology: remove redundant assignment
ASoC: Intel: Skylake: (cosmetic) align function parameters
ASoC: codecs: wm0010: use DECLARE_COMPLETION_ONSTACK() macro
ASoC: codecs: rt*-sdw: use SDW_SLAVE_ENTRY_EXT
ASoC: SOF: Intel: hda: import SOUNDWIRE_INIT namespace
ASoC: SOF: Intel: add build support for SoundWire
ASoC: Intel: soc-acpi: cnl: add support for rt5682 on SoundWire link2
ASoC: Intel: sof-soundwire: add support for rt5682 on link2
ASoC: Intel: soc-acpi: mirror CML and TGL configurations
ASoC: Intel: soc-acpi: add support for SDCA boards
ASoC: codecs: max98373-sdw: add missing test on resume
ASoC: SOF: IPC: reduce verbosity of IPC pointer updates
ASoC: SOF: acpi: add dev_dbg() log for probe completion
ASoC: SOF: Intel: add dev_dbg log when driver is not selected
ASoC: Intel: use consistent HDAudio spelling in comments/docs
ASoC: SOF: loader: fix memory leak in get_ext_windows
ASoC: soc-dai: clarify return value for get_sdw_stream()
ASoC: Intel: sof_sdw: add dailink .trigger callback
ASoC: Intel: sof_sdw: add dailink .prepare and .hw_free callback
ASoC: SOF: Intel: hda-loader: s/master/primary
ASoC: topology: disable size checks for bytes_ext controls if needed
ASoC: SOF: debug: update test for pm_runtime_get_sync()
ASoC: SOF: control: update test for pm_runtime_get_sync()
ASoC: SOF: Intel: hda: reduce verbosity of boot error logs
ASoC: SOF: control: fix size checks for ext_bytes control .get()
ASoC: SOF: control: fix size checks for volatile ext_bytes control .get()
ASoC: SOF: control: add size checks for ext_bytes control .put()
ASoC: Intel: sof_sdw: remove ternary operator
ASoC: Intel: add codec name prefix to ACPI machine description
ASoC: Intel: sof_sdw: remove hard-coded codec_conf table
ASoC: Intel: sof_sdw_rt700: add codec prefix
ASoC: Intel: hda_dsp_common: use static function in conditional block
ASoC: Intel: sof_sdw_rt1308: add extra check on init
ASoC: Intel: sof_sdw_rt1316: add missing component string
ASoC: rt715-sdw: probe with RT714 Device ID
ASoC: Intel: sof_sdw: add version_id to avoid rt714/rt715 confusion
Qinglang Miao (7):
ASoC: soc-core: use devm_snd_soc_register_card()
ASoC: fsl: imx-mc13783: use devm_snd_soc_register_card()
ASoC: tegra: tegra_max98090: use devm_snd_soc_register_card()
ASoC: tegra: tegra_wm8753: use devm_snd_soc_register_card()
ASoC: tegra: tegra_rt5640: use devm_snd_soc_register_card()
ASoC: fsl: mx27vis-aic32x4: use devm_snd_soc_register_card()
ASoC: tegra: trimslice.c: use devm_snd_soc_register_card()
Rander Wang (5):
ASoC: Intel: tgl_max98373: fix a runtime pm issue in multi-thread case
SoC: Intel: sof_sdw: Add support for product Ripto
ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work
ASoC: SOF: Intel: Add support for tgl-h
ASOC: Intel: sof_sdw: restore playback functionality with max98373 amps
Randy Dunlap (4):
ASoC: various vendors: delete repeated words in comments
ASoC: codecs: delete repeated words in comments
ASoC: SOF: delete repeated words in comments
ASoC: qcom: fix SDM845 & QDSP6 dependencies more
Ranjani Sridharan (15):
ASoC: SOF: topology: remove unnecessary memory alloc for sdev->private
ASoC: SOF: topology: reduce the log level for unhandled widgets
ASoC: SOF: Intel: hda: report error only for the last ROM init iteration
ASoC: SOF: Intel: hda: add extended rom status dump to error log
ALSA: hda: fix VS_LTRC register name
ASoC: SOF: Intel: hda: Add helper function to program ICCMAX stream
ASoC: SOF: Intel: hda: modify the signature of get_stream_with_tag()
ASoC: SOF: Intel: hda: define macro for code loader stream format
ASoC: SOF: Intel: hda: Define FW boot sequence with ICCMAX
ASoC: SOF: Intel: hda: Add sof_tgl_ops for TGL platforms
ASoC: SOF: Intel: hda: Simplify error handling during FW boot
ASoC: SOF: topology: fix core enable sequence
ASoC: SOF: rename cores_mask to host_managed_cores_mask
ASoC: SOF: Intel: hda: modify core_power_up/down op
ASoC: SOF: Intel: remove the HDA_DSP_CORE_MASK() macro
Richard Fitzgerald (3):
ASoC: cs47l15: Fix EPOUT->HPOUT1 Mono Mux routing
ASoC: cs47l35: Fix EPOUT->HPOUT1 Mono Mux routing
MAINTAINERS: Update Cirrus Logic Codecs maintainers
Rob Herring (1):
ASoC: Remove unused 'linux,hdmi-audio'
Rohit kumar (8):
ASoC: qcom: lpass-cpu: Move ahbix clk to platform specific function
ASoC: qcom: lpass-platform: fix memory leak
ASoC: qcom: lpass: Use regmap_field for i2sctl and dmactl registers
ASoC: qcom: lpass-cpu: fix concurrency issue
ASoC: qcom: lpass-cpu: Use platform_get_resource
ASoC: qcom: lpass-platform: Use platform_get_irq
ASoC: Add sc7180 lpass cpu node
ASoC: lpass-cpu: Move to yaml format
Samuel Holland (30):
ASoC: dt-bindings: Add a new compatible for the A64 codec
ASoC: sun8i-codec: Fix DAPM to match the hardware topology
ASoC: sun8i-codec: Add missing mixer routes
ASoC: sun8i-codec: Add a quirk for LRCK inversion
ASoC: sun50i-codec-analog: Fix duplicate use of ADC enable bits
ASoC: sun50i-codec-analog: Gate the amplifier clock during suspend
ASoC: sun50i-codec-analog: Group and sort mixer routes
ASoC: sun50i-codec-analog: Make headphone routes stereo
ASoC: sun50i-codec-analog: Enable DAPM for headphone switch
ASoC: sun50i-codec-analog: Make line out routes stereo
ASoC: sun50i-codec-analog: Enable DAPM for line out switch
ASoC: sun50i-codec-analog: Enable DAPM for earpiece switch
ASoC: sun8i-codec: Hook up component probe function
ASoC: sun8i-codec: Remove extraneous widgets
ASoC: sun8i-codec: Fix AIF1 MODCLK widget name
ASoC: sun8i-codec: Fix AIF1_ADCDAT_CTRL field names
ASoC: sun8i-codec: Fix AIF1_MXR_SRC field names
ASoC: sun8i-codec: Fix ADC_DIG_CTRL field name
ASoC: sun8i-codec: Fix field bit number indentation
ASoC: sun8i-codec: Sort masks in a consistent order
ASoC: sun8i-codec: Attach the bus clock to the regmap
ASoC: sun8i-codec: Manage module clock via DAPM
ASoC: sun8i-codec: Set up clock tree at probe time
ASoC: sun8i-codec: Swap module clock/reset dependencies
ASoC: sun8i-codec: Sort DAPM controls, widgets, and routes
ASoC: sun8i-codec: Consistently name DAPM widgets and routes
ASoC: sun8i-codec: Correct DAPM widget types
ASoC: sun8i-codec: Fix AIF widget channel references
ASoC: sun8i-codec: Enable AIF mono/stereo control
ASoC: sun8i-codec: Use snd_soc_dai_get_drvdata
Sathyanarayana Nujella (3):
ASoC: Intel: sof_rt5682: override quirk data for tgl_max98373_rt5682
ASoC: SOF: Add topology filename override based on dmi data match
ASoC: SOF: Intel: Use DMI oem string search for tgl_max98373_rt5682
Sebastian Krzyszkowiak (1):
ASoC: wm8962: Export DAC/ADC monomix switches
Shengjiu Wang (17):
ASoC: fsl_sai: Refine enable/disable TE/RE sequence in trigger()
ASoC: fsl_sai: Drop TMR/RMR settings for synchronous mode
ASoC: fsl_sai: Replace synchronous check with fsl_sai_dir_is_synced
ASoC: dt-bindings: ak4458: Add power supply property
ASoC: ak4458: Add regulator support
ASoC: fsl-asoc-card: Get "extal" clock rate by clk_get_rate
ASoC: dt-bindings: ak5558: Add power supply property
ASoC: ak5558: Add regulator support
ASoC: fsl_sai: Add -EPROBE_DEFER check for regmap init
ASoC: fsl_sai: Support multiple data channel enable bits
ASoC: fsl_sai: Set SAI Channel Mode to Output Mode
ASoC: fsl_sai: Add new added registers and new bit definition
ASoC: fsl_sai: Add fsl_sai_check_version function
ASoC: fsl_sai: Set MCLK input or output direction
ASoC: dt-bindings: ak4458: Add dsd-path property
ASoC: ak4458: Add DSD support for ak4458 and ak4497
ASoC: fsl_sai: Instantiate snd_soc_dai_driver
Shuming Fan (2):
ASoC: rt700: wait for the delayed work to finish when the system suspends
ASoC: rt711: wait for the delayed work to finish when the system suspends
Srinivas Kandagatla (26):
ASoC: q6asm: rename misleading session id variable
ASoC: q6asm: make commands specific to streams
ASoC: q6asm: use flags directly from q6asm-dai
ASoC: q6asm: add length to write command token
ASoC: q6asm: add support to remove intial and trailing silence
ASoC: q6asm: add support to gapless flag in q6asm open
ASoC: q6asm-dai: add next track metadata support
ASoC: q6asm-dai: prepare set params to accept profile change
ASoC: q6asm-dai: add gapless support
ASoC: q6asm-dai: add support to copy callback
ASoC: qcom: add a dedicated menuconfig
ASoC: q6dsp: q6afe: add support to Codec DMA ports
ASoC: q6dsp: q6routing: add support to Codec DMA ports
ASoC: q6dsp: q6afe: prepare afe_apr_send_pkt to take response opcode
ASoC: q6dsp: q6afe: add global q6afe waitqueue
ASoC: q6dsp: q6afe: add lpass hw voting support
ASoC: q6dsp: q6afe: update q6afe_set_param to support global clocks
ASoC: q6dsp: q6afe: add codec lpass clocks
ASoC: q6dsp: q6afe-dai: add support to Codec DMA ports
ASoC: q6afe: dt-bindings: add q6afe clock bindings
ASoC: q6afe-clocks: add q6afe clock controller
ASoC: qdsp6: add ifdef CONFIG_OF around of_device_id
ASoC: q6asm: fix kernel doc warnings
ASoC: q6afe-clocks: Fix typo in SPDX Licence
regmap: add support to regmap_field_bulk_alloc/free apis
ASoC: lpass-platform: use devm_regmap_field_bulk_alloc
Stephan Gerhold (5):
ASoC: core: Add common helper to parse aux devs from device tree
ASoC: simple-card: Use snd_soc_of_parse_aux_devs()
ASoC: meson: Use snd_soc_of_parse_aux_devs()
ASoC: dt-bindings: qcom: Document "aux-devs" property
ASoC: qcom: common: Parse auxiliary devices from device tree
Stephen Boyd (3):
ASoC: rt5682: Use dev_dbg() in rt5682_clk_check()
ASoC: rt5682: Drop usage of __clk_get_name()
ASoC: rt5682: Use clk_hw based APIs for registration
Takashi Iwai (3):
ASoC: fsl: Replace tasklet with work
ASoC: sh: Replace tasklet with work
ASoC: txx9: Replace tasklet with work
Tang Bin (1):
ASoC: fsl_spdif: Fix unnecessary check in fsl_spdif_probe()
Tuo Li (1):
ALSA: rockchip_i2s: fix a possible divide-by-zero bug in rockchip_i2s_hw_params()
Tzung-Bi Shih (7):
ASoC: mt6359: fix failed to parse DT properties
ASoC: rt1015p: add codec driver
ASoC: dt-bindings: rt1015p: add document
ASoC: dt-bindings: mt8183-da7219: add compatible string for using rt1015p
ASoC: mediatek: mt8183-da7219: support machine driver with rt1015p
ASoC: mediatek: mt8183-da7219: support jack detection for LINEOUT
ASoC: mediatek: mt8183-da7219: fix wrong ops for I2S3
V Sujith Kumar Reddy (8):
ASoC: qcom: lpass-cpu: Enable MI2S BCLK and LRCLK together
ASoC: Add sc7180-lpass binding header hdmi define
ASoC: dt-bindings: Add dt binding for lpass hdmi
Asoc:qcom:lpass-cpu:Update dts property read API
Asoc: qcom: lpass:Update lpaif_dmactl members order
ASoC: qcom: Add support for lpass hdmi driver
Asoc: qcom: lpass-platform : Increase buffer size
ASoC: qcom: sc7180: Add support for audio over DP
Viorel Suman (1):
ASoC: fsl_audmix: make clock and output src write only
Xu Wang (1):
ASoC: fsl: imx-audmix: Use devm_kcalloc() instead of devm_kzalloc()
Yong Zhi (1):
ASoC: SOF: Intel: hda: Remove unused parameters in cl_dsp_init()
Youling Tang (1):
sound/soc/intel: Fix spelling mistake "cant" --> "can't"
Yu Kuai (1):
ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe()
Zhang Qilong (1):
ASoC: ti: omap-mcbsp: use devm_platform_ioremap_resource_byname
derek.fang (2):
ASoC: rt1015: Fix DC calibration on bypass boost mode
ASoC: rt1015: Fix the failure to flush DAC data before playback
.../ABI/testing/sysfs-bus-pci-devices-catpt | 16 +
Documentation/devicetree/bindings/sound/ak4458.txt | 5 +
Documentation/devicetree/bindings/sound/ak5558.txt | 2 +
.../bindings/sound/allwinner,sun8i-a33-codec.yaml | 6 +-
.../devicetree/bindings/sound/cirrus,cs4234.yaml | 74 +
.../devicetree/bindings/sound/fsl,spdif.txt | 68 -
.../devicetree/bindings/sound/fsl,spdif.yaml | 110 +
.../devicetree/bindings/sound/fsl-asoc-card.txt | 2 +
Documentation/devicetree/bindings/sound/hdmi.txt | 16 -
.../bindings/sound/intel,keembay-i2s.yaml | 1 +
.../devicetree/bindings/sound/max98090.txt | 2 +-
.../devicetree/bindings/sound/mchp,spdifrx.yaml | 73 +
.../devicetree/bindings/sound/mchp,spdiftx.yaml | 75 +
.../devicetree/bindings/sound/mt6359.yaml | 61 +
.../bindings/sound/mt8183-da7219-max98357.txt | 1 +
.../devicetree/bindings/sound/qcom,apq8016-sbc.txt | 7 +
.../devicetree/bindings/sound/qcom,apq8096.txt | 8 +
.../devicetree/bindings/sound/qcom,lpass-cpu.txt | 79 -
.../devicetree/bindings/sound/qcom,lpass-cpu.yaml | 219 ++
.../devicetree/bindings/sound/qcom,q6afe.txt | 23 +
.../devicetree/bindings/sound/qcom,sdm845.txt | 8 +
.../devicetree/bindings/sound/realtek,rt1015p.yaml | 36 +
.../devicetree/bindings/sound/rockchip-spdif.yaml | 1 +
Documentation/devicetree/bindings/sound/rt5640.txt | 2 +-
Documentation/devicetree/bindings/sound/rt5659.txt | 2 +-
Documentation/devicetree/bindings/sound/rt5665.txt | 2 +-
Documentation/devicetree/bindings/sound/rt5668.txt | 2 +-
Documentation/devicetree/bindings/sound/rt5677.txt | 2 +-
Documentation/devicetree/bindings/sound/rt5682.txt | 2 +-
.../bindings/sound/samsung,aries-wm8994.yaml | 11 +-
.../bindings/sound/samsung,midas-audio.yaml | 6 +-
.../devicetree/bindings/sound/samsung,odroid.yaml | 5 +
.../devicetree/bindings/sound/samsung-i2s.yaml | 15 +
.../devicetree/bindings/sound/sgtl5000.yaml | 4 +
.../devicetree/bindings/sound/tas2562.txt | 37 -
.../devicetree/bindings/sound/tas2562.yaml | 8 +
.../devicetree/bindings/sound/tas2764.yaml | 76 +
.../devicetree/bindings/sound/tas2770.yaml | 11 +-
.../bindings/sound/ti,j721e-cpb-audio.yaml | 92 +-
.../devicetree/bindings/sound/tlv320adcx140.yaml | 50 +
MAINTAINERS | 1 +
arch/arm/mach-s3c24xx/mach-gta02.c | 17 +
arch/arm/mach-s3c24xx/mach-h1940.c | 18 +
arch/arm/mach-s3c24xx/mach-rx1950.c | 16 +
drivers/base/regmap/regmap.c | 100 +
drivers/iio/adc/stm32-dfsdm-adc.c | 4 +
drivers/iio/adc/stm32-dfsdm.h | 2 +
drivers/spi/spi-atmel.c | 1 -
include/dt-bindings/sound/qcom,q6afe.h | 96 +-
include/dt-bindings/sound/sc7180-lpass.h | 11 +
include/linux/pxa2xx_ssp.h | 4 +
include/linux/regmap.h | 11 +
include/sound/hda_register.h | 2 +-
include/sound/hdaudio_ext.h | 2 +-
include/sound/hdmi-codec.h | 3 -
include/sound/soc-acpi-intel-match.h | 1 -
include/sound/soc-acpi.h | 4 +-
include/sound/soc-component.h | 28 +-
include/sound/soc-dai.h | 8 +-
include/sound/soc-link.h | 3 +-
include/sound/soc.h | 4 +
include/sound/sof.h | 2 +
include/sound/sof/ext_manifest.h | 7 +
include/sound/sof/info.h | 6 +-
include/sound/sof/topology.h | 12 +-
include/trace/events/hswadsp.h | 385 ---
include/uapi/sound/sof/abi.h | 2 +-
include/uapi/sound/sof/tokens.h | 5 +
sound/hda/ext/hdac_ext_bus.c | 5 +-
sound/soc/amd/acp3x-rt5682-max9836.c | 11 +-
sound/soc/atmel/Kconfig | 25 +
sound/soc/atmel/Makefile | 4 +
sound/soc/atmel/atmel-pcm-dma.c | 1 -
sound/soc/atmel/mchp-spdifrx.c | 953 +++++++
sound/soc/atmel/mchp-spdiftx.c | 871 +++++++
sound/soc/codecs/Kconfig | 27 +
sound/soc/codecs/Makefile | 8 +
sound/soc/codecs/ak4458.c | 120 +-
sound/soc/codecs/ak4458.h | 5 +-
sound/soc/codecs/ak5558.c | 30 +
sound/soc/codecs/cs4234.c | 918 +++++++
sound/soc/codecs/cs4234.h | 287 ++
sound/soc/codecs/cs42l51.c | 9 +
sound/soc/codecs/cs47l15.c | 2 +-
sound/soc/codecs/cs47l35.c | 2 +-
sound/soc/codecs/da7219-aad.c | 85 +-
sound/soc/codecs/da7219-aad.h | 3 +
sound/soc/codecs/da7219.c | 494 ++--
sound/soc/codecs/da7219.h | 1 +
sound/soc/codecs/hdac_hdmi.c | 140 +-
sound/soc/codecs/hdmi-codec.c | 12 +-
sound/soc/codecs/max98373-sdw.c | 3 +
sound/soc/codecs/max9867.c | 131 +-
sound/soc/codecs/max9867.h | 4 +-
sound/soc/codecs/mt6359.c | 2758 ++++++++++++++++++++
sound/soc/codecs/mt6359.h | 2640 +++++++++++++++++++
sound/soc/codecs/nau8825.c | 2 +-
sound/soc/codecs/rt1015.c | 111 +-
sound/soc/codecs/rt1015.h | 8 +
sound/soc/codecs/rt1015p.c | 148 ++
sound/soc/codecs/rt1308-sdw.c | 2 +-
sound/soc/codecs/rt5682-i2c.c | 1 +
sound/soc/codecs/rt5682-sdw.c | 2 +-
sound/soc/codecs/rt5682.c | 97 +-
sound/soc/codecs/rt5682.h | 2 -
sound/soc/codecs/rt700-sdw.c | 5 +-
sound/soc/codecs/rt711-sdw.c | 6 +-
sound/soc/codecs/rt715-sdw.c | 3 +-
sound/soc/codecs/rt715.c | 2 +-
sound/soc/codecs/rt715.h | 2 +
sound/soc/codecs/tas2562.c | 63 +-
sound/soc/codecs/tas2764.c | 688 +++++
sound/soc/codecs/tas2764.h | 92 +
sound/soc/codecs/tas2770.c | 399 ++-
sound/soc/codecs/tas2770.h | 47 +-
sound/soc/codecs/tas5086.c | 2 +-
sound/soc/codecs/tlv320adcx140.c | 177 +-
sound/soc/codecs/tlv320adcx140.h | 8 +
sound/soc/codecs/tlv320aic32x4-clk.c | 9 +-
sound/soc/codecs/tlv320aic32x4.c | 83 +-
sound/soc/codecs/tlv320aic32x4.h | 7 +
sound/soc/codecs/wm0010.c | 3 +-
sound/soc/codecs/wm8523.h | 2 +-
sound/soc/codecs/wm8962.c | 2 +
sound/soc/codecs/wm9713.c | 2 +-
sound/soc/codecs/wm_adsp.c | 28 +-
sound/soc/fsl/Kconfig | 2 +-
sound/soc/fsl/fsl-asoc-card.c | 15 +
sound/soc/fsl/fsl_audmix.c | 16 +-
sound/soc/fsl/fsl_dma.c | 2 +-
sound/soc/fsl/fsl_esai.c | 14 +-
sound/soc/fsl/fsl_sai.c | 309 ++-
sound/soc/fsl/fsl_sai.h | 92 +-
sound/soc/fsl/fsl_spdif.c | 4 -
sound/soc/fsl/imx-audmix.c | 8 +-
sound/soc/fsl/imx-es8328.c | 12 +-
sound/soc/fsl/imx-mc13783.c | 10 +-
sound/soc/fsl/mx27vis-aic32x4.c | 10 +-
sound/soc/generic/simple-card.c | 33 +-
sound/soc/intel/Kconfig | 50 +-
sound/soc/intel/Makefile | 3 +-
sound/soc/intel/atom/sst-atom-controls.c | 4 +-
sound/soc/intel/atom/sst-mfld-platform-compress.c | 3 +-
sound/soc/intel/atom/sst-mfld-platform-pcm.c | 4 +-
sound/soc/intel/atom/sst-mfld-platform.h | 4 +-
sound/soc/intel/atom/sst/sst.c | 6 +-
sound/soc/intel/atom/sst/sst.h | 41 +-
sound/soc/intel/atom/sst/sst_acpi.c | 1 -
sound/soc/intel/atom/sst/sst_drv_interface.c | 3 -
sound/soc/intel/atom/sst/sst_ipc.c | 1 -
sound/soc/intel/atom/sst/sst_loader.c | 4 +-
sound/soc/intel/atom/sst/sst_pvt.c | 5 +-
sound/soc/intel/atom/sst/sst_stream.c | 1 -
sound/soc/intel/baytrail/Makefile | 5 -
sound/soc/intel/baytrail/sst-baytrail-dsp.c | 358 ---
sound/soc/intel/baytrail/sst-baytrail-ipc.c | 772 ------
sound/soc/intel/baytrail/sst-baytrail-ipc.h | 65 -
sound/soc/intel/baytrail/sst-baytrail-pcm.c | 459 ----
sound/soc/intel/boards/Kconfig | 36 +-
sound/soc/intel/boards/Makefile | 11 +-
sound/soc/intel/boards/bdw-rt5650.c | 47 +-
sound/soc/intel/boards/bdw-rt5677.c | 42 +-
sound/soc/intel/boards/broadwell.c | 45 +-
sound/soc/intel/boards/byt-max98090.c | 182 --
sound/soc/intel/boards/byt-rt5640.c | 224 --
sound/soc/intel/boards/bytcht_cx2072x.c | 2 +-
sound/soc/intel/boards/bytcht_es8316.c | 1 -
sound/soc/intel/boards/bytcr_rt5640.c | 1 -
sound/soc/intel/boards/haswell.c | 32 +-
sound/soc/intel/boards/hda_dsp_common.c | 7 +-
sound/soc/intel/boards/hda_dsp_common.h | 3 -
sound/soc/intel/boards/sof_rt5682.c | 13 +
sound/soc/intel/boards/sof_sdw.c | 348 ++-
sound/soc/intel/boards/sof_sdw_common.h | 26 +-
sound/soc/intel/boards/sof_sdw_dmic.c | 1 +
sound/soc/intel/boards/sof_sdw_max98373.c | 38 +-
sound/soc/intel/boards/sof_sdw_rt1308.c | 6 +
sound/soc/intel/boards/sof_sdw_rt1316.c | 119 +
sound/soc/intel/boards/sof_sdw_rt5682.c | 2 +
sound/soc/intel/boards/sof_sdw_rt700.c | 8 +-
sound/soc/intel/boards/sof_sdw_rt711.c | 2 +
sound/soc/intel/boards/sof_sdw_rt711_sdca.c | 174 ++
sound/soc/intel/boards/sof_sdw_rt715_sdca.c | 42 +
sound/soc/intel/catpt/Makefile | 6 +
sound/soc/intel/catpt/core.h | 188 ++
sound/soc/intel/catpt/device.c | 355 +++
sound/soc/intel/catpt/dsp.c | 578 ++++
sound/soc/intel/catpt/ipc.c | 298 +++
sound/soc/intel/catpt/loader.c | 671 +++++
sound/soc/intel/catpt/messages.c | 313 +++
sound/soc/intel/catpt/messages.h | 401 +++
sound/soc/intel/catpt/pcm.c | 1175 +++++++++
sound/soc/intel/catpt/registers.h | 178 ++
sound/soc/intel/catpt/sysfs.c | 55 +
sound/soc/intel/catpt/trace.h | 83 +
sound/soc/intel/common/Makefile | 4 -
sound/soc/intel/common/soc-acpi-intel-byt-match.c | 15 -
sound/soc/intel/common/soc-acpi-intel-cml-match.c | 89 +-
sound/soc/intel/common/soc-acpi-intel-cnl-match.c | 34 +-
sound/soc/intel/common/soc-acpi-intel-icl-match.c | 16 +-
sound/soc/intel/common/soc-acpi-intel-tgl-match.c | 232 +-
sound/soc/intel/common/sst-acpi.c | 236 --
sound/soc/intel/common/sst-dsp-priv.h | 284 +-
sound/soc/intel/common/sst-dsp.c | 162 --
sound/soc/intel/common/sst-dsp.h | 237 +-
sound/soc/intel/common/sst-firmware.c | 1273 ---------
sound/soc/intel/common/sst-ipc.c | 27 -
sound/soc/intel/common/sst-ipc.h | 3 -
sound/soc/intel/haswell/Makefile | 5 -
sound/soc/intel/haswell/sst-haswell-dsp.c | 705 -----
sound/soc/intel/haswell/sst-haswell-ipc.c | 2222 ----------------
sound/soc/intel/haswell/sst-haswell-ipc.h | 527 ----
sound/soc/intel/haswell/sst-haswell-pcm.c | 1369 ----------
sound/soc/intel/keembay/kmb_platform.c | 145 +-
sound/soc/intel/skylake/bxt-sst.c | 2 -
sound/soc/intel/skylake/cnl-sst-dsp.h | 4 +-
sound/soc/intel/skylake/cnl-sst.c | 4 +-
sound/soc/intel/skylake/skl-nhlt.c | 2 +-
sound/soc/intel/skylake/skl-sst-cldma.c | 2 +-
sound/soc/intel/skylake/skl-sst-dsp.c | 2 +-
sound/soc/intel/skylake/skl-sst-ipc.c | 2 +-
sound/soc/intel/skylake/skl-sst-ipc.h | 16 +-
sound/soc/intel/skylake/skl-sst-utils.c | 2 +-
sound/soc/intel/skylake/skl-sst.c | 4 +-
sound/soc/intel/skylake/skl-topology.c | 8 +-
sound/soc/intel/skylake/skl-topology.h | 8 +-
sound/soc/intel/skylake/skl.c | 10 +-
sound/soc/intel/skylake/skl.h | 2 +-
sound/soc/mediatek/Kconfig | 1 +
sound/soc/mediatek/mt8173/mt8173-rt5650.c | 5 +-
sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c | 50 +-
.../mt8183/mt8183-mt6358-ts3a227-max98357.c | 5 +-
sound/soc/meson/axg-tdm-formatter.c | 2 +-
sound/soc/meson/meson-card-utils.c | 33 +-
sound/soc/qcom/Kconfig | 24 +-
sound/soc/qcom/Makefile | 4 +
sound/soc/qcom/common.c | 4 +
sound/soc/qcom/lpass-apq8016.c | 92 +-
sound/soc/qcom/lpass-cpu.c | 463 +++-
sound/soc/qcom/lpass-hdmi.c | 258 ++
sound/soc/qcom/lpass-hdmi.h | 102 +
sound/soc/qcom/lpass-ipq806x.c | 71 +-
sound/soc/qcom/lpass-lpaif-reg.h | 208 +-
sound/soc/qcom/lpass-platform.c | 493 +++-
sound/soc/qcom/lpass-sc7180.c | 305 +++
sound/soc/qcom/lpass.h | 181 +-
sound/soc/qcom/qdsp6/Makefile | 1 +
sound/soc/qcom/qdsp6/q6adm.c | 2 +
sound/soc/qcom/qdsp6/q6afe-clocks.c | 272 ++
sound/soc/qcom/qdsp6/q6afe-dai.c | 231 ++
sound/soc/qcom/qdsp6/q6afe.c | 310 ++-
sound/soc/qcom/qdsp6/q6afe.h | 33 +-
sound/soc/qcom/qdsp6/q6asm-dai.c | 416 ++-
sound/soc/qcom/qdsp6/q6asm.c | 175 +-
sound/soc/qcom/qdsp6/q6asm.h | 49 +-
sound/soc/qcom/qdsp6/q6core.c | 2 +
sound/soc/qcom/qdsp6/q6routing.c | 123 +-
sound/soc/rockchip/rockchip_i2s.c | 2 +-
sound/soc/rockchip/rockchip_max98090.c | 3 +-
sound/soc/samsung/h1940_uda1380.c | 71 +-
sound/soc/samsung/neo1973_wm8753.c | 85 +-
sound/soc/samsung/rx1950_uda1380.c | 72 +-
sound/soc/samsung/s3c-i2s-v2.c | 3 +-
sound/soc/samsung/s3c-i2s-v2.h | 3 +-
sound/soc/samsung/s3c2412-i2s.c | 2 +-
sound/soc/sh/siu.h | 2 +-
sound/soc/sh/siu_pcm.c | 21 +-
sound/soc/soc-component.c | 73 +-
sound/soc/soc-compress.c | 30 +-
sound/soc/soc-core.c | 76 +-
sound/soc/soc-dai.c | 21 +-
sound/soc/soc-dapm.c | 4 +-
sound/soc/soc-generic-dmaengine-pcm.c | 5 +
sound/soc/soc-link.c | 21 +-
sound/soc/soc-pcm.c | 123 +-
sound/soc/soc-topology.c | 18 +-
sound/soc/sof/Kconfig | 2 +-
sound/soc/sof/control.c | 149 +-
sound/soc/sof/debug.c | 2 +-
sound/soc/sof/imx/Kconfig | 10 +
sound/soc/sof/imx/Makefile | 3 +
sound/soc/sof/imx/imx-common.c | 75 +
sound/soc/sof/imx/imx-common.h | 16 +
sound/soc/sof/imx/imx8.c | 40 +-
sound/soc/sof/imx/imx8m.c | 27 +-
sound/soc/sof/intel/Kconfig | 31 +-
sound/soc/sof/intel/Makefile | 2 +-
sound/soc/sof/intel/apl.c | 2 +-
sound/soc/sof/intel/bdw.c | 2 +-
sound/soc/sof/intel/byt.c | 6 +-
sound/soc/sof/intel/cnl.c | 40 +-
sound/soc/sof/intel/hda-codec.c | 28 +-
sound/soc/sof/intel/hda-dsp.c | 20 +-
sound/soc/sof/intel/hda-ipc.h | 4 +
sound/soc/sof/intel/hda-loader.c | 196 +-
sound/soc/sof/intel/hda-stream.c | 69 +
sound/soc/sof/intel/hda.c | 47 +-
sound/soc/sof/intel/hda.h | 12 +-
sound/soc/sof/intel/shim.h | 2 +-
sound/soc/sof/intel/tgl.c | 153 ++
sound/soc/sof/ipc.c | 16 +-
sound/soc/sof/loader.c | 34 +-
sound/soc/sof/pcm.c | 8 +-
sound/soc/sof/pm.c | 13 +-
sound/soc/sof/sof-acpi-dev.c | 2 +
sound/soc/sof/sof-audio.c | 56 +-
sound/soc/sof/sof-audio.h | 10 +
sound/soc/sof/sof-of-dev.c | 6 +
sound/soc/sof/sof-pci-dev.c | 59 +-
sound/soc/sof/sof-priv.h | 22 +-
sound/soc/sof/topology.c | 421 +--
sound/soc/sprd/sprd-pcm-compress.c | 2 +-
sound/soc/stm/stm32_adfsdm.c | 8 +-
sound/soc/stm/stm32_sai_sub.c | 10 +-
sound/soc/sunxi/sun4i-codec.c | 2 +-
sound/soc/sunxi/sun50i-codec-analog.c | 176 +-
sound/soc/sunxi/sun8i-codec.c | 473 ++--
sound/soc/tegra/tegra_max98090.c | 12 +-
sound/soc/tegra/tegra_rt5640.c | 12 +-
sound/soc/tegra/tegra_wm8753.c | 12 +-
sound/soc/tegra/trimslice.c | 12 +-
sound/soc/ti/Kconfig | 2 +-
sound/soc/ti/davinci-mcasp.c | 4 +-
sound/soc/ti/j721e-evm.c | 13 +-
sound/soc/txx9/txx9aclc.c | 11 +-
sound/soc/txx9/txx9aclc.h | 2 +-
sound/soc/xilinx/Kconfig | 4 +-
327 files changed, 23460 insertions(+), 12639 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-bus-pci-devices-catpt
create mode 100644 Documentation/devicetree/bindings/sound/cirrus,cs4234.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/fsl,spdif.txt
create mode 100644 Documentation/devicetree/bindings/sound/fsl,spdif.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/hdmi.txt
create mode 100644 Documentation/devicetree/bindings/sound/mchp,spdifrx.yaml
create mode 100644 Documentation/devicetree/bindings/sound/mchp,spdiftx.yaml
create mode 100644 Documentation/devicetree/bindings/sound/mt6359.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/qcom,lpass-cpu.txt
create mode 100644 Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml
create mode 100644 Documentation/devicetree/bindings/sound/realtek,rt1015p.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/tas2562.txt
create mode 100644 Documentation/devicetree/bindings/sound/tas2764.yaml
create mode 100644 include/dt-bindings/sound/sc7180-lpass.h
delete mode 100644 include/trace/events/hswadsp.h
create mode 100644 sound/soc/atmel/mchp-spdifrx.c
create mode 100644 sound/soc/atmel/mchp-spdiftx.c
create mode 100644 sound/soc/codecs/cs4234.c
create mode 100644 sound/soc/codecs/cs4234.h
create mode 100644 sound/soc/codecs/mt6359.c
create mode 100644 sound/soc/codecs/mt6359.h
create mode 100644 sound/soc/codecs/rt1015p.c
create mode 100644 sound/soc/codecs/tas2764.c
create mode 100644 sound/soc/codecs/tas2764.h
delete mode 100644 sound/soc/intel/baytrail/Makefile
delete mode 100644 sound/soc/intel/baytrail/sst-baytrail-dsp.c
delete mode 100644 sound/soc/intel/baytrail/sst-baytrail-ipc.c
delete mode 100644 sound/soc/intel/baytrail/sst-baytrail-ipc.h
delete mode 100644 sound/soc/intel/baytrail/sst-baytrail-pcm.c
delete mode 100644 sound/soc/intel/boards/byt-max98090.c
delete mode 100644 sound/soc/intel/boards/byt-rt5640.c
create mode 100644 sound/soc/intel/boards/sof_sdw_rt1316.c
create mode 100644 sound/soc/intel/boards/sof_sdw_rt711_sdca.c
create mode 100644 sound/soc/intel/boards/sof_sdw_rt715_sdca.c
create mode 100644 sound/soc/intel/catpt/Makefile
create mode 100644 sound/soc/intel/catpt/core.h
create mode 100644 sound/soc/intel/catpt/device.c
create mode 100644 sound/soc/intel/catpt/dsp.c
create mode 100644 sound/soc/intel/catpt/ipc.c
create mode 100644 sound/soc/intel/catpt/loader.c
create mode 100644 sound/soc/intel/catpt/messages.c
create mode 100644 sound/soc/intel/catpt/messages.h
create mode 100644 sound/soc/intel/catpt/pcm.c
create mode 100644 sound/soc/intel/catpt/registers.h
create mode 100644 sound/soc/intel/catpt/sysfs.c
create mode 100644 sound/soc/intel/catpt/trace.h
delete mode 100644 sound/soc/intel/common/sst-acpi.c
delete mode 100644 sound/soc/intel/common/sst-firmware.c
delete mode 100644 sound/soc/intel/haswell/Makefile
delete mode 100644 sound/soc/intel/haswell/sst-haswell-dsp.c
delete mode 100644 sound/soc/intel/haswell/sst-haswell-ipc.c
delete mode 100644 sound/soc/intel/haswell/sst-haswell-ipc.h
delete mode 100644 sound/soc/intel/haswell/sst-haswell-pcm.c
create mode 100644 sound/soc/qcom/lpass-hdmi.c
create mode 100644 sound/soc/qcom/lpass-hdmi.h
create mode 100644 sound/soc/qcom/lpass-sc7180.c
create mode 100644 sound/soc/qcom/qdsp6/q6afe-clocks.c
create mode 100644 sound/soc/sof/imx/imx-common.c
create mode 100644 sound/soc/sof/imx/imx-common.h
create mode 100644 sound/soc/sof/intel/tgl.c
4
9
alsa-project/alsa-lib issue #90 was opened from Mysgym:
Hello,
after spending some time troubleshooting an issue with an audio interface (using snd_hda_intel). I've stumbled upon this message from PulseAudio in the journal :
`Oct 17 18:30:58 LaptopName pulseaudio[1782]: E: [alsa-sink-ALC256 Analog] alsa-sink.c: ALSA woke us up to write new data to the device, but there was actually nothing to write.
Oct 17 18:30:58 LaptopName pulseaudio[1782]: E: [alsa-sink-ALC256 Analog] alsa-sink.c: Most likely this is a bug in the ALSA driver 'snd_hda_intel'. Please report this issue to the ALSA developers.
Oct 17 18:30:58 LaptopName pulseaudio[1782]: E: [alsa-sink-ALC256 Analog] alsa-sink.c: We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail.
`
So I filed a bug report
This is Manjaro on Kernel 5.8
Issue URL : https://github.com/alsa-project/alsa-lib/issues/90
Repository URL: https://github.com/alsa-project/alsa-lib
1
0
The default quirk data of sof_rt5682 is for tgl platform. For cml
platforms to reuse this driver, the flag SOF_RT5682_MCLK_24MHZ is
necessary to setup codec asrc correctly.
Signed-off-by: Brent Lu <brent.lu(a)intel.com>
---
sound/soc/intel/boards/sof_rt5682.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sound/soc/intel/boards/sof_rt5682.c b/sound/soc/intel/boards/sof_rt5682.c
index ddbb9fe7cc06..fa2c226a444a 100644
--- a/sound/soc/intel/boards/sof_rt5682.c
+++ b/sound/soc/intel/boards/sof_rt5682.c
@@ -768,6 +768,11 @@ static int sof_audio_probe(struct platform_device *pdev)
/* default number of HDMI DAI's */
if (!hdmi_num)
hdmi_num = 3;
+
+ if (soc_intel_is_cml()) {
+ /* default quirk for sof_rt5682 is for tgl platform */
+ sof_rt5682_quirk |= SOF_RT5682_MCLK_24MHZ;
+ }
}
/* need to get main clock from pmc */
--
2.17.1
3
2

[PATCH v2] ASoC: amd: move the call to devm_kzalloc below platform_get_resource()
by Defang Bo 21 Oct '20
by Defang Bo 21 Oct '20
21 Oct '20
Just as the commit <4cb79ef9c6c4>("ASoC: amd: Fix potential NULL pointer dereference"),it makes no sense to allocate any resources if platform_get_resource fails,so move the call to devm_kzalloc() below the mentioned code.
Signed-off-by: Defang Bo <bodefang(a)126.com>
---
sound/soc/amd/raven/acp3x-i2s.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sound/soc/amd/raven/acp3x-i2s.c b/sound/soc/amd/raven/acp3x-i2s.c
index c9c69eb..04ec603 100644
--- a/sound/soc/amd/raven/acp3x-i2s.c
+++ b/sound/soc/amd/raven/acp3x-i2s.c
@@ -307,9 +307,11 @@ static int acp3x_dai_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "IORESOURCE_MEM FAILED\n");
return -ENOMEM;
}
+
adata = devm_kzalloc(&pdev->dev, sizeof(struct i2s_dev_data), GFP_KERNEL);
if (!adata)
return -ENOMEM;
+
adata->acp3x_base = devm_ioremap(&pdev->dev, res->start,
resource_size(res));
if (!adata->acp3x_base)
--
1.9.1
2
1
From: Tom Rix <trix(a)redhat.com>
This is a upcoming change to clean up a new warning treewide.
I am wondering if the change could be one mega patch (see below) or
normal patch per file about 100 patches or somewhere half way by collecting
early acks.
clang has a number of useful, new warnings see
https://clang.llvm.org/docs/DiagnosticsReference.html
This change cleans up -Wunreachable-code-break
https://clang.llvm.org/docs/DiagnosticsReference.html#wunreachable-code-bre…
for 266 of 485 warnings in this week's linux-next, allyesconfig on x86_64.
The method of fixing was to look for warnings where the preceding statement
was a simple statement and by inspection made the subsequent break unneeded.
In order of frequency these look like
return and break
switch (c->x86_vendor) {
case X86_VENDOR_INTEL:
intel_p5_mcheck_init(c);
return 1;
- break;
goto and break
default:
operation = 0; /* make gcc happy */
goto fail_response;
- break;
break and break
case COLOR_SPACE_SRGB:
/* by pass */
REG_SET(OUTPUT_CSC_CONTROL, 0,
OUTPUT_CSC_GRPH_MODE, 0);
break;
- break;
The exception to the simple statement, is a switch case with a block
and the end of block is a return
struct obj_buffer *buff = r->ptr;
return scnprintf(str, PRIV_STR_SIZE,
"size=%u\naddr=0x%X\n", buff->size,
buff->addr);
}
- break;
Not considered obvious and excluded, breaks after
multi level switches
complicated if-else if-else blocks
panic() or similar calls
And there is an odd addition of a 'fallthrough' in drivers/tty/nozomi.c
Tom
---
diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c
index 1c08cb9eb9f6..16ce86aed8e2 100644
--- a/arch/x86/kernel/cpu/mce/core.c
+++ b/arch/x86/kernel/cpu/mce/core.c
@@ -1809,15 +1809,13 @@ static int __mcheck_cpu_ancient_init(struct cpuinfo_x86 *c)
switch (c->x86_vendor) {
case X86_VENDOR_INTEL:
intel_p5_mcheck_init(c);
return 1;
- break;
case X86_VENDOR_CENTAUR:
winchip_mcheck_init(c);
return 1;
- break;
default:
return 0;
}
return 0;
diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c
index 3f6b137ef4e6..3d4a48336084 100644
--- a/arch/x86/kernel/cpu/microcode/amd.c
+++ b/arch/x86/kernel/cpu/microcode/amd.c
@@ -213,11 +213,10 @@ static unsigned int __verify_patch_size(u8 family, u32 sh_psize, size_t buf_size
max_size = F14H_MPB_MAX_SIZE;
break;
default:
WARN(1, "%s: WTF family: 0x%x\n", __func__, family);
return 0;
- break;
}
if (sh_psize > min_t(u32, buf_size, max_size))
return 0;
diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c
index 838b719ec7ce..d5411a166685 100644
--- a/drivers/acpi/utils.c
+++ b/drivers/acpi/utils.c
@@ -102,11 +102,10 @@ acpi_extract_package(union acpi_object *package,
printk(KERN_WARNING PREFIX "Invalid package element"
" [%d]: got number, expecting"
" [%c]\n",
i, format_string[i]);
return AE_BAD_DATA;
- break;
}
break;
case ACPI_TYPE_STRING:
case ACPI_TYPE_BUFFER:
@@ -127,11 +126,10 @@ acpi_extract_package(union acpi_object *package,
printk(KERN_WARNING PREFIX "Invalid package element"
" [%d] got string/buffer,"
" expecting [%c]\n",
i, format_string[i]);
return AE_BAD_DATA;
- break;
}
break;
case ACPI_TYPE_LOCAL_REFERENCE:
switch (format_string[i]) {
case 'R':
@@ -142,22 +140,20 @@ acpi_extract_package(union acpi_object *package,
printk(KERN_WARNING PREFIX "Invalid package element"
" [%d] got reference,"
" expecting [%c]\n",
i, format_string[i]);
return AE_BAD_DATA;
- break;
}
break;
case ACPI_TYPE_PACKAGE:
default:
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Found unsupported element at index=%d\n",
i));
/* TBD: handle nested packages... */
return AE_SUPPORT;
- break;
}
}
/*
* Validate output buffer.
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index 205a06752ca9..c7ac49042cee 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -361,11 +361,10 @@ static pm_callback_t pm_op(const struct dev_pm_ops *ops, pm_message_t state)
case PM_EVENT_HIBERNATE:
return ops->poweroff;
case PM_EVENT_THAW:
case PM_EVENT_RECOVER:
return ops->thaw;
- break;
case PM_EVENT_RESTORE:
return ops->restore;
#endif /* CONFIG_HIBERNATE_CALLBACKS */
}
diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index adfc9352351d..f769fbd1b4c4 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -1267,11 +1267,10 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
operation_flags = REQ_PREFLUSH;
break;
default:
operation = 0; /* make gcc happy */
goto fail_response;
- break;
}
/* Check that the number of segments is sane. */
nseg = req->operation == BLKIF_OP_INDIRECT ?
req->u.indirect.nr_segments : req->u.rw.nr_segments;
diff --git a/drivers/char/ipmi/ipmi_devintf.c b/drivers/char/ipmi/ipmi_devintf.c
index f7b1c004a12b..3dd1d5abb298 100644
--- a/drivers/char/ipmi/ipmi_devintf.c
+++ b/drivers/char/ipmi/ipmi_devintf.c
@@ -488,11 +488,10 @@ static long ipmi_ioctl(struct file *file,
rv = -EFAULT;
break;
}
return ipmi_set_my_address(priv->user, val.channel, val.value);
- break;
}
case IPMICTL_GET_MY_CHANNEL_ADDRESS_CMD:
{
struct ipmi_channel_lun_address_set val;
diff --git a/drivers/char/lp.c b/drivers/char/lp.c
index 0ec73917d8dd..862c2fd933c7 100644
--- a/drivers/char/lp.c
+++ b/drivers/char/lp.c
@@ -620,11 +620,10 @@ static int lp_do_ioctl(unsigned int minor, unsigned int cmd,
case LPWAIT:
LP_WAIT(minor) = arg;
break;
case LPSETIRQ:
return -EINVAL;
- break;
case LPGETIRQ:
if (copy_to_user(argp, &LP_IRQ(minor),
sizeof(int)))
return -EFAULT;
break;
diff --git a/drivers/char/mwave/mwavedd.c b/drivers/char/mwave/mwavedd.c
index e43c876a9223..11272d605ecd 100644
--- a/drivers/char/mwave/mwavedd.c
+++ b/drivers/char/mwave/mwavedd.c
@@ -401,11 +401,10 @@ static long mwave_ioctl(struct file *file, unsigned int iocmd,
}
break;
default:
return -ENOTTY;
- break;
} /* switch */
PRINTK_2(TRACE_MWAVE, "mwavedd::mwave_ioctl, exit retval %x\n", retval);
return retval;
diff --git a/drivers/crypto/atmel-sha.c b/drivers/crypto/atmel-sha.c
index 75ccf41a7cb9..0eb6f54e3b66 100644
--- a/drivers/crypto/atmel-sha.c
+++ b/drivers/crypto/atmel-sha.c
@@ -457,11 +457,10 @@ static int atmel_sha_init(struct ahash_request *req)
ctx->flags |= SHA_FLAGS_SHA512;
ctx->block_size = SHA512_BLOCK_SIZE;
break;
default:
return -EINVAL;
- break;
}
ctx->bufcnt = 0;
ctx->digcnt[0] = 0;
ctx->digcnt[1] = 0;
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index fcc08bbf6945..386a3a4cf279 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -2459,38 +2459,30 @@ static int map_err_sym_to_channel(int err_sym, int sym_size)
if (sym_size == 4)
switch (err_sym) {
case 0x20:
case 0x21:
return 0;
- break;
case 0x22:
case 0x23:
return 1;
- break;
default:
return err_sym >> 4;
- break;
}
/* x8 symbols */
else
switch (err_sym) {
/* imaginary bits not in a DIMM */
case 0x10:
WARN(1, KERN_ERR "Invalid error symbol: 0x%x\n",
err_sym);
return -1;
- break;
-
case 0x11:
return 0;
- break;
case 0x12:
return 1;
- break;
default:
return err_sym >> 3;
- break;
}
return -1;
}
static int get_channel_from_ecc_syndrome(struct mem_ctl_info *mci, u16 syndrome)
diff --git a/drivers/gpio/gpio-bd70528.c b/drivers/gpio/gpio-bd70528.c
index 45b3da8da336..931e5765fe92 100644
--- a/drivers/gpio/gpio-bd70528.c
+++ b/drivers/gpio/gpio-bd70528.c
@@ -69,21 +69,18 @@ static int bd70528_gpio_set_config(struct gpio_chip *chip, unsigned int offset,
case PIN_CONFIG_DRIVE_OPEN_DRAIN:
return regmap_update_bits(bdgpio->chip.regmap,
GPIO_OUT_REG(offset),
BD70528_GPIO_DRIVE_MASK,
BD70528_GPIO_OPEN_DRAIN);
- break;
case PIN_CONFIG_DRIVE_PUSH_PULL:
return regmap_update_bits(bdgpio->chip.regmap,
GPIO_OUT_REG(offset),
BD70528_GPIO_DRIVE_MASK,
BD70528_GPIO_PUSH_PULL);
- break;
case PIN_CONFIG_INPUT_DEBOUNCE:
return bd70528_set_debounce(bdgpio, offset,
pinconf_to_config_argument(config));
- break;
default:
break;
}
return -ENOTSUPP;
}
diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c b/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c
index 2a32b66959ba..130a0a0c8332 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c
@@ -1328,11 +1328,10 @@ static bool configure_graphics_mode(
case COLOR_SPACE_SRGB:
/* by pass */
REG_SET(OUTPUT_CSC_CONTROL, 0,
OUTPUT_CSC_GRPH_MODE, 0);
break;
- break;
case COLOR_SPACE_SRGB_LIMITED:
/* TV RGB */
REG_SET(OUTPUT_CSC_CONTROL, 0,
OUTPUT_CSC_GRPH_MODE, 1);
break;
diff --git a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
index d741787f75dc..42c7d157da32 100644
--- a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
@@ -416,29 +416,22 @@ static int map_transmitter_id_to_phy_instance(
enum transmitter transmitter)
{
switch (transmitter) {
case TRANSMITTER_UNIPHY_A:
return 0;
- break;
case TRANSMITTER_UNIPHY_B:
return 1;
- break;
case TRANSMITTER_UNIPHY_C:
return 2;
- break;
case TRANSMITTER_UNIPHY_D:
return 3;
- break;
case TRANSMITTER_UNIPHY_E:
return 4;
- break;
case TRANSMITTER_UNIPHY_F:
return 5;
- break;
case TRANSMITTER_UNIPHY_G:
return 6;
- break;
default:
ASSERT(0);
return 0;
}
}
diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
index 2bbfa2e176a9..382581c4a674 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
@@ -469,29 +469,22 @@ static int map_transmitter_id_to_phy_instance(
enum transmitter transmitter)
{
switch (transmitter) {
case TRANSMITTER_UNIPHY_A:
return 0;
- break;
case TRANSMITTER_UNIPHY_B:
return 1;
- break;
case TRANSMITTER_UNIPHY_C:
return 2;
- break;
case TRANSMITTER_UNIPHY_D:
return 3;
- break;
case TRANSMITTER_UNIPHY_E:
return 4;
- break;
case TRANSMITTER_UNIPHY_F:
return 5;
- break;
case TRANSMITTER_UNIPHY_G:
return 6;
- break;
default:
ASSERT(0);
return 0;
}
}
diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
index b622b4b1dac3..7b4b2304bbff 100644
--- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
@@ -444,29 +444,22 @@ static int map_transmitter_id_to_phy_instance(
enum transmitter transmitter)
{
switch (transmitter) {
case TRANSMITTER_UNIPHY_A:
return 0;
- break;
case TRANSMITTER_UNIPHY_B:
return 1;
- break;
case TRANSMITTER_UNIPHY_C:
return 2;
- break;
case TRANSMITTER_UNIPHY_D:
return 3;
- break;
case TRANSMITTER_UNIPHY_E:
return 4;
- break;
case TRANSMITTER_UNIPHY_F:
return 5;
- break;
case TRANSMITTER_UNIPHY_G:
return 6;
- break;
default:
ASSERT(0);
return 0;
}
}
diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
index 16fe7344702f..3d782b7c86cb 100644
--- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
@@ -381,29 +381,22 @@ static int map_transmitter_id_to_phy_instance(
enum transmitter transmitter)
{
switch (transmitter) {
case TRANSMITTER_UNIPHY_A:
return 0;
- break;
case TRANSMITTER_UNIPHY_B:
return 1;
- break;
case TRANSMITTER_UNIPHY_C:
return 2;
- break;
case TRANSMITTER_UNIPHY_D:
return 3;
- break;
case TRANSMITTER_UNIPHY_E:
return 4;
- break;
case TRANSMITTER_UNIPHY_F:
return 5;
- break;
case TRANSMITTER_UNIPHY_G:
return 6;
- break;
default:
ASSERT(0);
return 0;
}
}
diff --git a/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c b/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c
index 5a5a9cb77acb..e9dd78c484d6 100644
--- a/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c
@@ -451,29 +451,22 @@ static int map_transmitter_id_to_phy_instance(
enum transmitter transmitter)
{
switch (transmitter) {
case TRANSMITTER_UNIPHY_A:
return 0;
- break;
case TRANSMITTER_UNIPHY_B:
return 1;
- break;
case TRANSMITTER_UNIPHY_C:
return 2;
- break;
case TRANSMITTER_UNIPHY_D:
return 3;
- break;
case TRANSMITTER_UNIPHY_E:
return 4;
- break;
case TRANSMITTER_UNIPHY_F:
return 5;
- break;
case TRANSMITTER_UNIPHY_G:
return 6;
- break;
default:
ASSERT(0);
return 0;
}
}
diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
index 0eae8cd35f9a..9dbf658162cd 100644
--- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
@@ -456,29 +456,22 @@ static int map_transmitter_id_to_phy_instance(
enum transmitter transmitter)
{
switch (transmitter) {
case TRANSMITTER_UNIPHY_A:
return 0;
- break;
case TRANSMITTER_UNIPHY_B:
return 1;
- break;
case TRANSMITTER_UNIPHY_C:
return 2;
- break;
case TRANSMITTER_UNIPHY_D:
return 3;
- break;
case TRANSMITTER_UNIPHY_E:
return 4;
- break;
case TRANSMITTER_UNIPHY_F:
return 5;
- break;
case TRANSMITTER_UNIPHY_G:
return 6;
- break;
default:
ASSERT(0);
return 0;
}
}
diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c
index 38672f9e5c4f..bbe4e60dfd08 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -792,25 +792,20 @@ static int mgag200_crtc_set_plls(struct mga_device *mdev, long clock)
case G200_AGP:
return mgag200_g200_set_plls(mdev, clock);
case G200_SE_A:
case G200_SE_B:
return mga_g200se_set_plls(mdev, clock);
- break;
case G200_WB:
case G200_EW3:
return mga_g200wb_set_plls(mdev, clock);
- break;
case G200_EV:
return mga_g200ev_set_plls(mdev, clock);
- break;
case G200_EH:
case G200_EH3:
return mga_g200eh_set_plls(mdev, clock);
- break;
case G200_ER:
return mga_g200er_set_plls(mdev, clock);
- break;
}
misc = RREG8(MGA_MISC_IN);
misc &= ~MGAREG_MISC_CLK_SEL_MASK;
misc |= MGAREG_MISC_CLK_SEL_MGA_MSK;
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c
index 350f10a3de37..2ec84b8a3b3a 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c
@@ -121,11 +121,10 @@ pll_map(struct nvkm_bios *bios)
case NV_10:
case NV_11:
case NV_20:
case NV_30:
return nv04_pll_mapping;
- break;
case NV_40:
return nv40_pll_mapping;
case NV_50:
if (device->chipset == 0x50)
return nv50_pll_mapping;
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.c
index efa50274df97..4884eb4a9221 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.c
@@ -138,21 +138,18 @@ mcp77_clk_read(struct nvkm_clk *base, enum nv_clk_src src)
case 0x00000030: return read_pll(clk, 0x004020) >> P;
}
break;
case nv_clk_src_mem:
return 0;
- break;
case nv_clk_src_vdec:
P = (read_div(clk) & 0x00000700) >> 8;
switch (mast & 0x00400000) {
case 0x00400000:
return nvkm_clk_read(&clk->base, nv_clk_src_core) >> P;
- break;
default:
return 500000 >> P;
- break;
}
break;
default:
break;
}
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.c
index 2ccb4b6be153..7b1eb44ff3da 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.c
@@ -169,11 +169,10 @@ nv50_ram_timing_read(struct nv50_ram *ram, u32 *timing)
case NVKM_RAM_TYPE_GDDR3:
T(CWL) = ((timing[2] & 0xff000000) >> 24) + 1;
break;
default:
return -ENOSYS;
- break;
}
T(WR) = ((timing[1] >> 24) & 0xff) - 1 - T(CWL);
return 0;
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c b/drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c
index e01746ce9fc4..1156634533f9 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c
@@ -88,11 +88,10 @@ gk104_top_oneinit(struct nvkm_top *top)
case 0x0000000e: B_(NVENC ); break;
case 0x0000000f: A_(NVENC1); break;
case 0x00000010: B_(NVDEC ); break;
case 0x00000013: B_(CE ); break;
case 0x00000014: C_(GSP ); break;
- break;
default:
break;
}
nvkm_debug(subdev, "%02x.%d (%8s): addr %06x fault %2d "
diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c
index 5cea6eea72ab..2072ddc9549c 100644
--- a/drivers/gpu/drm/qxl/qxl_ioctl.c
+++ b/drivers/gpu/drm/qxl/qxl_ioctl.c
@@ -158,11 +158,10 @@ static int qxl_process_single_command(struct qxl_device *qdev,
case QXL_CMD_SURFACE:
case QXL_CMD_CURSOR:
default:
DRM_DEBUG("Only draw commands in execbuffers\n");
return -EINVAL;
- break;
}
if (cmd->command_size > PAGE_SIZE - sizeof(union qxl_release_info))
return -EINVAL;
diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c
index e03988698755..66dc452d643a 100644
--- a/drivers/iio/adc/meson_saradc.c
+++ b/drivers/iio/adc/meson_saradc.c
@@ -591,17 +591,15 @@ static int meson_sar_adc_iio_info_read_raw(struct iio_dev *indio_dev,
switch (mask) {
case IIO_CHAN_INFO_RAW:
return meson_sar_adc_get_sample(indio_dev, chan, NO_AVERAGING,
ONE_SAMPLE, val);
- break;
case IIO_CHAN_INFO_AVERAGE_RAW:
return meson_sar_adc_get_sample(indio_dev, chan,
MEAN_AVERAGING, EIGHT_SAMPLES,
val);
- break;
case IIO_CHAN_INFO_SCALE:
if (chan->type == IIO_VOLTAGE) {
ret = regulator_get_voltage(priv->vref);
if (ret < 0) {
diff --git a/drivers/iio/imu/bmi160/bmi160_core.c b/drivers/iio/imu/bmi160/bmi160_core.c
index 222ebb26f013..431076dc0d2c 100644
--- a/drivers/iio/imu/bmi160/bmi160_core.c
+++ b/drivers/iio/imu/bmi160/bmi160_core.c
@@ -484,11 +484,10 @@ static int bmi160_write_raw(struct iio_dev *indio_dev,
switch (mask) {
case IIO_CHAN_INFO_SCALE:
return bmi160_set_scale(data,
bmi160_to_sensor(chan->type), val2);
- break;
case IIO_CHAN_INFO_SAMP_FREQ:
return bmi160_set_odr(data, bmi160_to_sensor(chan->type),
val, val2);
default:
return -EINVAL;
diff --git a/drivers/ipack/devices/ipoctal.c b/drivers/ipack/devices/ipoctal.c
index d480a514c983..3940714e4397 100644
--- a/drivers/ipack/devices/ipoctal.c
+++ b/drivers/ipack/devices/ipoctal.c
@@ -542,11 +542,10 @@ static void ipoctal_set_termios(struct tty_struct *tty,
mr1 |= MR1_RxRTS_CONTROL_OFF;
mr2 |= MR2_TxRTS_CONTROL_ON | MR2_CTS_ENABLE_TX_OFF;
break;
default:
return;
- break;
}
baud = tty_get_baud_rate(tty);
tty_termios_encode_baud_rate(&tty->termios, baud, baud);
diff --git a/drivers/media/dvb-frontends/drx39xyj/drxj.c b/drivers/media/dvb-frontends/drx39xyj/drxj.c
index 237b9d04c076..37b32d9b398d 100644
--- a/drivers/media/dvb-frontends/drx39xyj/drxj.c
+++ b/drivers/media/dvb-frontends/drx39xyj/drxj.c
@@ -2323,11 +2323,10 @@ hi_command(struct i2c_device_addr *dev_addr, const struct drxj_hi_cmd *cmd, u16
/* No parameters */
break;
default:
return -EINVAL;
- break;
}
/* Write command */
rc = drxj_dap_write_reg16(dev_addr, SIO_HI_RA_RAM_CMD__A, cmd->cmd, 0);
if (rc != 0) {
@@ -3592,11 +3591,10 @@ static int ctrl_set_uio_cfg(struct drx_demod_instance *demod, struct drxuio_cfg
goto rw_error;
}
break;
default:
return -EINVAL;
- break;
} /* switch ( uio_cfg->mode ) */
break;
/*====================================================================*/
case DRX_UIO3:
/* DRX_UIO3: GPIO UIO-3 */
@@ -3616,11 +3614,10 @@ static int ctrl_set_uio_cfg(struct drx_demod_instance *demod, struct drxuio_cfg
goto rw_error;
}
break;
default:
return -EINVAL;
- break;
} /* switch ( uio_cfg->mode ) */
break;
/*====================================================================*/
case DRX_UIO4:
/* DRX_UIO4: IRQN UIO-4 */
@@ -3640,11 +3637,10 @@ static int ctrl_set_uio_cfg(struct drx_demod_instance *demod, struct drxuio_cfg
ext_attr->uio_irqn_mode = uio_cfg->mode;
break;
case DRX_UIO_MODE_FIRMWARE0:
default:
return -EINVAL;
- break;
} /* switch ( uio_cfg->mode ) */
break;
/*====================================================================*/
default:
return -EINVAL;
@@ -10951,11 +10947,10 @@ ctrl_set_standard(struct drx_demod_instance *demod, enum drx_standard *standard)
}
break;
default:
ext_attr->standard = DRX_STANDARD_UNKNOWN;
return -EINVAL;
- break;
}
return 0;
rw_error:
/* Don't know what the standard is now ... try again */
@@ -11072,11 +11067,10 @@ ctrl_power_mode(struct drx_demod_instance *demod, enum drx_power_mode *mode)
sio_cc_pwd_mode = SIO_CC_PWD_MODE_LEVEL_OSC;
break;
default:
/* Unknow sleep mode */
return -EINVAL;
- break;
}
/* Check if device needs to be powered up */
if ((common_attr->current_power_mode != DRX_POWER_UP)) {
rc = power_up_device(demod);
@@ -11894,11 +11888,10 @@ static int drx_ctrl_u_code(struct drx_demod_instance *demod,
}
break;
}
default:
return -EINVAL;
- break;
}
mc_data += mc_block_nr_bytes;
}
diff --git a/drivers/media/dvb-frontends/drxd_hard.c b/drivers/media/dvb-frontends/drxd_hard.c
index 45f982863904..a7eb81df88c2 100644
--- a/drivers/media/dvb-frontends/drxd_hard.c
+++ b/drivers/media/dvb-frontends/drxd_hard.c
@@ -1620,11 +1620,10 @@ static int CorrectSysClockDeviation(struct drxd_state *state)
case 6000000:
bandwidth = DRXD_BANDWIDTH_6MHZ_IN_HZ;
break;
default:
return -1;
- break;
}
/* Compute new sysclock value
sysClockFreq = (((incr + 2^23)*bandwidth)/2^21)/1000 */
incr += (1 << 23);
diff --git a/drivers/media/dvb-frontends/nxt200x.c b/drivers/media/dvb-frontends/nxt200x.c
index 35b83b1dd82c..200b6dbc75f8 100644
--- a/drivers/media/dvb-frontends/nxt200x.c
+++ b/drivers/media/dvb-frontends/nxt200x.c
@@ -166,11 +166,10 @@ static int nxt200x_writereg_multibyte (struct nxt200x_state* state, u8 reg, u8*
len2 = ((attr << 4) | 0x10) | len;
buf = 0x80;
break;
default:
return -EINVAL;
- break;
}
/* set multi register length */
nxt200x_writebytes(state, 0x34, &len2, 1);
@@ -188,11 +187,10 @@ static int nxt200x_writereg_multibyte (struct nxt200x_state* state, u8 reg, u8*
if (buf == 0)
return 0;
break;
default:
return -EINVAL;
- break;
}
pr_warn("Error writing multireg register 0x%02X\n", reg);
return 0;
@@ -214,11 +212,10 @@ static int nxt200x_readreg_multibyte (struct nxt200x_state* state, u8 reg, u8* d
nxt200x_writebytes(state, 0x34, &len2, 1);
/* read the actual data */
nxt200x_readbytes(state, reg, data, len);
return 0;
- break;
case NXT2004:
/* probably not right, but gives correct values */
attr = 0x02;
if (reg & 0x80) {
attr = attr << 1;
@@ -237,14 +234,12 @@ static int nxt200x_readreg_multibyte (struct nxt200x_state* state, u8 reg, u8* d
/* read the actual data */
for(i = 0; i < len; i++) {
nxt200x_readbytes(state, 0x36 + i, &data[i], 1);
}
return 0;
- break;
default:
return -EINVAL;
- break;
}
}
static void nxt200x_microcontroller_stop (struct nxt200x_state* state)
{
@@ -372,11 +367,10 @@ static int nxt200x_writetuner (struct nxt200x_state* state, u8* data)
}
pr_warn("timeout error writing to tuner\n");
break;
default:
return -EINVAL;
- break;
}
return 0;
}
static void nxt200x_agc_reset(struct nxt200x_state* state)
@@ -553,11 +547,10 @@ static int nxt200x_setup_frontend_parameters(struct dvb_frontend *fe)
if (state->config->set_ts_params)
state->config->set_ts_params(fe, 0);
break;
default:
return -EINVAL;
- break;
}
if (fe->ops.tuner_ops.calc_regs) {
/* get tuning information */
fe->ops.tuner_ops.calc_regs(fe, buf, 5);
@@ -578,11 +571,10 @@ static int nxt200x_setup_frontend_parameters(struct dvb_frontend *fe)
case VSB_8:
buf[0] = 0x70;
break;
default:
return -EINVAL;
- break;
}
nxt200x_writebytes(state, 0x42, buf, 1);
/* configure sdm */
switch (state->demod_chip) {
@@ -592,11 +584,10 @@ static int nxt200x_setup_frontend_parameters(struct dvb_frontend *fe)
case NXT2004:
buf[0] = 0x07;
break;
default:
return -EINVAL;
- break;
}
nxt200x_writebytes(state, 0x57, buf, 1);
/* write sdm1 input */
buf[0] = 0x10;
@@ -608,11 +599,10 @@ static int nxt200x_setup_frontend_parameters(struct dvb_frontend *fe)
case NXT2004:
nxt200x_writebytes(state, 0x58, buf, 2);
break;
default:
return -EINVAL;
- break;
}
/* write sdmx input */
switch (p->modulation) {
case QAM_64:
@@ -624,11 +614,10 @@ static int nxt200x_setup_frontend_parameters(struct dvb_frontend *fe)
case VSB_8:
buf[0] = 0x60;
break;
default:
return -EINVAL;
- break;
}
buf[1] = 0x00;
switch (state->demod_chip) {
case NXT2002:
nxt200x_writereg_multibyte(state, 0x5C, buf, 2);
@@ -636,11 +625,10 @@ static int nxt200x_setup_frontend_parameters(struct dvb_frontend *fe)
case NXT2004:
nxt200x_writebytes(state, 0x5C, buf, 2);
break;
default:
return -EINVAL;
- break;
}
/* write adc power lpf fc */
buf[0] = 0x05;
nxt200x_writebytes(state, 0x43, buf, 1);
@@ -662,11 +650,10 @@ static int nxt200x_setup_frontend_parameters(struct dvb_frontend *fe)
case NXT2004:
nxt200x_writebytes(state, 0x4B, buf, 2);
break;
default:
return -EINVAL;
- break;
}
/* write kg1 */
buf[0] = 0x00;
nxt200x_writebytes(state, 0x4D, buf, 1);
@@ -718,11 +705,10 @@ static int nxt200x_setup_frontend_parameters(struct dvb_frontend *fe)
case VSB_8:
buf[0] = 0x00;
break;
default:
return -EINVAL;
- break;
}
nxt200x_writebytes(state, 0x30, buf, 1);
/* write agc control reg */
buf[0] = 0x00;
@@ -740,11 +726,10 @@ static int nxt200x_setup_frontend_parameters(struct dvb_frontend *fe)
nxt200x_writebytes(state, 0x49, buf, 2);
nxt200x_writebytes(state, 0x4B, buf, 2);
break;
default:
return -EINVAL;
- break;
}
/* write agc control reg */
buf[0] = 0x04;
nxt200x_writebytes(state, 0x41, buf, 1);
@@ -1112,11 +1097,10 @@ static int nxt200x_init(struct dvb_frontend* fe)
case NXT2004:
ret = nxt2004_init(fe);
break;
default:
return -EINVAL;
- break;
}
state->initialised = 1;
}
return ret;
}
diff --git a/drivers/media/dvb-frontends/si21xx.c b/drivers/media/dvb-frontends/si21xx.c
index a116eff417f2..e31eb2c5cc4c 100644
--- a/drivers/media/dvb-frontends/si21xx.c
+++ b/drivers/media/dvb-frontends/si21xx.c
@@ -462,14 +462,12 @@ static int si21xx_set_voltage(struct dvb_frontend *fe, enum fe_sec_voltage volt)
val = (0x80 | si21_readreg(state, LNB_CTRL_REG_1));
switch (volt) {
case SEC_VOLTAGE_18:
return si21_writereg(state, LNB_CTRL_REG_1, val | 0x40);
- break;
case SEC_VOLTAGE_13:
return si21_writereg(state, LNB_CTRL_REG_1, (val & ~0x40));
- break;
default:
return -EINVAL;
}
}
diff --git a/drivers/media/tuners/mt2063.c b/drivers/media/tuners/mt2063.c
index 2240d214dfac..d105431a2e2d 100644
--- a/drivers/media/tuners/mt2063.c
+++ b/drivers/media/tuners/mt2063.c
@@ -1847,11 +1847,10 @@ static int mt2063_init(struct dvb_frontend *fe)
def = MT2063B0_defaults;
break;
default:
return -ENODEV;
- break;
}
while (status >= 0 && *def) {
u8 reg = *def++;
u8 val = *def++;
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index 9903e9660a38..3078fac34e51 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -471,11 +471,10 @@ mpt_turbo_reply(MPT_ADAPTER *ioc, u32 pa)
req_idx = pa & 0x0000FFFF;
mf = MPT_INDEX_2_MFPTR(ioc, req_idx);
mpt_free_msg_frame(ioc, mf);
mb();
return;
- break;
}
mr = (MPT_FRAME_HDR *) CAST_U32_TO_PTR(pa);
break;
case MPI_CONTEXT_REPLY_TYPE_SCSI_TARGET:
cb_idx = mpt_get_cb_idx(MPTSTM_DRIVER);
diff --git a/drivers/misc/mei/hbm.c b/drivers/misc/mei/hbm.c
index a97eb5d47705..686e8b6a4c55 100644
--- a/drivers/misc/mei/hbm.c
+++ b/drivers/misc/mei/hbm.c
@@ -1375,11 +1375,10 @@ int mei_hbm_dispatch(struct mei_device *dev, struct mei_msg_hdr *hdr)
dev->dev_state = MEI_DEV_POWER_DOWN;
dev_info(dev->dev, "hbm: stop response: resetting.\n");
/* force the reset */
return -EPROTO;
- break;
case CLIENT_DISCONNECT_REQ_CMD:
dev_dbg(dev->dev, "hbm: disconnect request: message received\n");
disconnect_req = (struct hbm_client_connect_request *)mei_msg;
diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c
index b40f46a43fc6..323035d4f2d0 100644
--- a/drivers/mtd/mtdchar.c
+++ b/drivers/mtd/mtdchar.c
@@ -879,21 +879,19 @@ static int mtdchar_ioctl(struct file *file, u_int cmd, u_long arg)
loff_t offs;
if (copy_from_user(&offs, argp, sizeof(loff_t)))
return -EFAULT;
return mtd_block_isbad(mtd, offs);
- break;
}
case MEMSETBADBLOCK:
{
loff_t offs;
if (copy_from_user(&offs, argp, sizeof(loff_t)))
return -EFAULT;
return mtd_block_markbad(mtd, offs);
- break;
}
case OTPSELECT:
{
int mode;
diff --git a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
index c3f49543ff26..9c215f7c5f81 100644
--- a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
+++ b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
@@ -73,15 +73,15 @@ static const struct can_bittiming_const mcp251xfd_data_bittiming_const = {
static const char *__mcp251xfd_get_model_str(enum mcp251xfd_model model)
{
switch (model) {
case MCP251XFD_MODEL_MCP2517FD:
- return "MCP2517FD"; break;
+ return "MCP2517FD";
case MCP251XFD_MODEL_MCP2518FD:
- return "MCP2518FD"; break;
+ return "MCP2518FD";
case MCP251XFD_MODEL_MCP251XFD:
- return "MCP251xFD"; break;
+ return "MCP251xFD";
}
return "<unknown>";
}
@@ -93,25 +93,25 @@ mcp251xfd_get_model_str(const struct mcp251xfd_priv *priv)
static const char *mcp251xfd_get_mode_str(const u8 mode)
{
switch (mode) {
case MCP251XFD_REG_CON_MODE_MIXED:
- return "Mixed (CAN FD/CAN 2.0)"; break;
+ return "Mixed (CAN FD/CAN 2.0)";
case MCP251XFD_REG_CON_MODE_SLEEP:
- return "Sleep"; break;
+ return "Sleep";
case MCP251XFD_REG_CON_MODE_INT_LOOPBACK:
- return "Internal Loopback"; break;
+ return "Internal Loopback";
case MCP251XFD_REG_CON_MODE_LISTENONLY:
- return "Listen Only"; break;
+ return "Listen Only";
case MCP251XFD_REG_CON_MODE_CONFIG:
- return "Configuration"; break;
+ return "Configuration";
case MCP251XFD_REG_CON_MODE_EXT_LOOPBACK:
- return "External Loopback"; break;
+ return "External Loopback";
case MCP251XFD_REG_CON_MODE_CAN2_0:
- return "CAN 2.0"; break;
+ return "CAN 2.0";
case MCP251XFD_REG_CON_MODE_RESTRICTED:
- return "Restricted Operation"; break;
+ return "Restricted Operation";
}
return "<unknown>";
}
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
index 0f865daeb36d..bf5e0e9bd0e2 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
@@ -1161,11 +1161,10 @@ int aq_nic_set_link_ksettings(struct aq_nic_s *self,
break;
default:
err = -1;
goto err_exit;
- break;
}
if (!(self->aq_nic_cfg.aq_hw_caps->link_speed_msk & rate)) {
err = -1;
goto err_exit;
}
diff --git a/drivers/net/ethernet/cisco/enic/enic_ethtool.c b/drivers/net/ethernet/cisco/enic/enic_ethtool.c
index a4dd52bba2c3..1a9803f2073e 100644
--- a/drivers/net/ethernet/cisco/enic/enic_ethtool.c
+++ b/drivers/net/ethernet/cisco/enic/enic_ethtool.c
@@ -432,11 +432,10 @@ static int enic_grxclsrule(struct enic *enic, struct ethtool_rxnfc *cmd)
case IPPROTO_UDP:
fsp->flow_type = UDP_V4_FLOW;
break;
default:
return -EINVAL;
- break;
}
fsp->h_u.tcp_ip4_spec.ip4src = flow_get_u32_src(&n->keys);
fsp->m_u.tcp_ip4_spec.ip4src = (__u32)~0;
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
index de563cfd294d..4b93ba149ec5 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
@@ -348,11 +348,10 @@ static s32 ixgbe_calc_eeprom_checksum_X540(struct ixgbe_hw *hw)
continue;
if (ixgbe_read_eerd_generic(hw, pointer, &length)) {
hw_dbg(hw, "EEPROM read failed\n");
return IXGBE_ERR_EEPROM;
- break;
}
/* Skip pointer section if length is invalid. */
if (length == 0xFFFF || length == 0 ||
(pointer + length) >= hw->eeprom.word_size)
diff --git a/drivers/net/wan/lmc/lmc_proto.c b/drivers/net/wan/lmc/lmc_proto.c
index e8b0b902b424..4e9cc83b615a 100644
--- a/drivers/net/wan/lmc/lmc_proto.c
+++ b/drivers/net/wan/lmc/lmc_proto.c
@@ -87,21 +87,17 @@ void lmc_proto_close(lmc_softc_t *sc)
__be16 lmc_proto_type(lmc_softc_t *sc, struct sk_buff *skb) /*FOLD00*/
{
switch(sc->if_type){
case LMC_PPP:
return hdlc_type_trans(skb, sc->lmc_device);
- break;
case LMC_NET:
return htons(ETH_P_802_2);
- break;
case LMC_RAW: /* Packet type for skbuff kind of useless */
return htons(ETH_P_802_2);
- break;
default:
printk(KERN_WARNING "%s: No protocol set for this interface, assuming 802.2 (which is wrong!!)\n", sc->name);
return htons(ETH_P_802_2);
- break;
}
}
void lmc_proto_netif(lmc_softc_t *sc, struct sk_buff *skb) /*FOLD00*/
{
diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c
index 5c1af2021883..9c4e6cf2137a 100644
--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
@@ -3876,11 +3876,10 @@ bool ath10k_htt_t2h_msg_handler(struct ath10k *ar, struct sk_buff *skb)
atomic_inc(&htt->num_mpdus_ready);
return ath10k_htt_rx_proc_rx_frag_ind(htt,
&resp->rx_frag_ind,
skb);
- break;
}
case HTT_T2H_MSG_TYPE_TEST:
break;
case HTT_T2H_MSG_TYPE_STATS_CONF:
trace_ath10k_htt_stats(ar, skb->data, skb->len);
diff --git a/drivers/net/wireless/ath/ath6kl/testmode.c b/drivers/net/wireless/ath/ath6kl/testmode.c
index f3906dbe5495..89c7c4e25169 100644
--- a/drivers/net/wireless/ath/ath6kl/testmode.c
+++ b/drivers/net/wireless/ath/ath6kl/testmode.c
@@ -92,11 +92,10 @@ int ath6kl_tm_cmd(struct wiphy *wiphy, struct wireless_dev *wdev,
ath6kl_wmi_test_cmd(ar->wmi, buf, buf_len);
return 0;
- break;
case ATH6KL_TM_CMD_RX_REPORT:
default:
return -EOPNOTSUPP;
}
}
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 6609ce122e6e..b66eeb577272 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2306,11 +2306,10 @@ void ath9k_hw_beaconinit(struct ath_hw *ah, u32 next_beacon, u32 beacon_period)
break;
default:
ath_dbg(ath9k_hw_common(ah), BEACON,
"%s: unsupported opmode: %d\n", __func__, ah->opmode);
return;
- break;
}
REG_WRITE(ah, AR_BEACON_PERIOD, beacon_period);
REG_WRITE(ah, AR_DMA_BEACON_PERIOD, beacon_period);
REG_WRITE(ah, AR_SWBA_PERIOD, beacon_period);
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
index cbdebefb854a..8698ca4d30de 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
@@ -1200,17 +1200,15 @@ static int iwl_mvm_mac_ctx_send(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
switch (vif->type) {
case NL80211_IFTYPE_STATION:
return iwl_mvm_mac_ctxt_cmd_sta(mvm, vif, action,
force_assoc_off,
bssid_override);
- break;
case NL80211_IFTYPE_AP:
if (!vif->p2p)
return iwl_mvm_mac_ctxt_cmd_ap(mvm, vif, action);
else
return iwl_mvm_mac_ctxt_cmd_go(mvm, vif, action);
- break;
case NL80211_IFTYPE_MONITOR:
return iwl_mvm_mac_ctxt_cmd_listener(mvm, vif, action);
case NL80211_IFTYPE_P2P_DEVICE:
return iwl_mvm_mac_ctxt_cmd_p2p_device(mvm, vif, action);
case NL80211_IFTYPE_ADHOC:
diff --git a/drivers/net/wireless/intersil/p54/eeprom.c b/drivers/net/wireless/intersil/p54/eeprom.c
index 5bd35c147e19..3ca9d26df174 100644
--- a/drivers/net/wireless/intersil/p54/eeprom.c
+++ b/drivers/net/wireless/intersil/p54/eeprom.c
@@ -868,11 +868,10 @@ int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len)
err = -ENOMSG;
goto err;
} else {
goto good_eeprom;
}
- break;
default:
break;
}
crc16 = crc_ccitt(crc16, (u8 *)entry, (entry_len + 1) * 2);
diff --git a/drivers/net/wireless/intersil/prism54/oid_mgt.c b/drivers/net/wireless/intersil/prism54/oid_mgt.c
index 9fd307ca4b6d..7b251ae90a68 100644
--- a/drivers/net/wireless/intersil/prism54/oid_mgt.c
+++ b/drivers/net/wireless/intersil/prism54/oid_mgt.c
@@ -785,21 +785,19 @@ mgt_response_to_str(enum oid_num_t n, union oid_res_t *r, char *str)
struct obj_buffer *buff = r->ptr;
return scnprintf(str, PRIV_STR_SIZE,
"size=%u\naddr=0x%X\n", buff->size,
buff->addr);
}
- break;
case OID_TYPE_BSS:{
struct obj_bss *bss = r->ptr;
return scnprintf(str, PRIV_STR_SIZE,
"age=%u\nchannel=%u\n"
"capinfo=0x%X\nrates=0x%X\n"
"basic_rates=0x%X\n", bss->age,
bss->channel, bss->capinfo,
bss->rates, bss->basic_rates);
}
- break;
case OID_TYPE_BSSLIST:{
struct obj_bsslist *list = r->ptr;
int i, k;
k = scnprintf(str, PRIV_STR_SIZE, "nr=%u\n", list->nr);
for (i = 0; i < list->nr; i++)
@@ -812,53 +810,47 @@ mgt_response_to_str(enum oid_num_t n, union oid_res_t *r, char *str)
list->bsslist[i].capinfo,
list->bsslist[i].rates,
list->bsslist[i].basic_rates);
return k;
}
- break;
case OID_TYPE_FREQUENCIES:{
struct obj_frequencies *freq = r->ptr;
int i, t;
printk("nr : %u\n", freq->nr);
t = scnprintf(str, PRIV_STR_SIZE, "nr=%u\n", freq->nr);
for (i = 0; i < freq->nr; i++)
t += scnprintf(str + t, PRIV_STR_SIZE - t,
"mhz[%u]=%u\n", i, freq->mhz[i]);
return t;
}
- break;
case OID_TYPE_MLME:{
struct obj_mlme *mlme = r->ptr;
return scnprintf(str, PRIV_STR_SIZE,
"id=0x%X\nstate=0x%X\ncode=0x%X\n",
mlme->id, mlme->state, mlme->code);
}
- break;
case OID_TYPE_MLMEEX:{
struct obj_mlmeex *mlme = r->ptr;
return scnprintf(str, PRIV_STR_SIZE,
"id=0x%X\nstate=0x%X\n"
"code=0x%X\nsize=0x%X\n", mlme->id,
mlme->state, mlme->code, mlme->size);
}
- break;
case OID_TYPE_ATTACH:{
struct obj_attachment *attach = r->ptr;
return scnprintf(str, PRIV_STR_SIZE,
"id=%d\nsize=%d\n",
attach->id,
attach->size);
}
- break;
case OID_TYPE_SSID:{
struct obj_ssid *ssid = r->ptr;
return scnprintf(str, PRIV_STR_SIZE,
"length=%u\noctets=%.*s\n",
ssid->length, ssid->length,
ssid->octets);
}
- break;
case OID_TYPE_KEY:{
struct obj_key *key = r->ptr;
int t, i;
t = scnprintf(str, PRIV_STR_SIZE,
"type=0x%X\nlength=0x%X\nkey=0x",
@@ -867,11 +859,10 @@ mgt_response_to_str(enum oid_num_t n, union oid_res_t *r, char *str)
t += scnprintf(str + t, PRIV_STR_SIZE - t,
"%02X:", key->key[i]);
t += scnprintf(str + t, PRIV_STR_SIZE - t, "\n");
return t;
}
- break;
case OID_TYPE_RAW:
case OID_TYPE_ADDR:{
unsigned char *buff = r->ptr;
int t, i;
t = scnprintf(str, PRIV_STR_SIZE, "hex data=");
@@ -879,11 +870,10 @@ mgt_response_to_str(enum oid_num_t n, union oid_res_t *r, char *str)
t += scnprintf(str + t, PRIV_STR_SIZE - t,
"%02X:", buff[i]);
t += scnprintf(str + t, PRIV_STR_SIZE - t, "\n");
return t;
}
- break;
default:
BUG();
}
return 0;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
index 63f9ea21962f..bd9160b166c5 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
@@ -1224,11 +1224,10 @@ static int _rtl88ee_set_media_status(struct ieee80211_hw *hw,
"Set Network type to AP!\n");
break;
default:
pr_err("Network type %d not support!\n", type);
return 1;
- break;
}
/* MSR_INFRA == Link in infrastructure network;
* MSR_ADHOC == Link in ad hoc network;
* Therefore, check link state is necessary.
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
index a36dc6e726d2..f8a1de6e9849 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
@@ -1130,11 +1130,10 @@ static int _rtl8723e_set_media_status(struct ieee80211_hw *hw,
"Set Network type to AP!\n");
break;
default:
pr_err("Network type %d not support!\n", type);
return 1;
- break;
}
/* MSR_INFRA == Link in infrastructure network;
* MSR_ADHOC == Link in ad hoc network;
* Therefore, check link state is necessary.
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
index f41a7643b9c4..225b8cd44f23 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
@@ -2083,16 +2083,14 @@ bool rtl8812ae_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
switch (rfpath) {
case RF90_PATH_A:
return __rtl8821ae_phy_config_with_headerfile(hw,
radioa_array_table_a, radioa_arraylen_a,
_rtl8821ae_config_rf_radio_a);
- break;
case RF90_PATH_B:
return __rtl8821ae_phy_config_with_headerfile(hw,
radioa_array_table_b, radioa_arraylen_b,
_rtl8821ae_config_rf_radio_b);
- break;
case RF90_PATH_C:
case RF90_PATH_D:
pr_err("switch case %#x not processed\n", rfpath);
break;
}
@@ -2114,11 +2112,10 @@ bool rtl8821ae_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
switch (rfpath) {
case RF90_PATH_A:
return __rtl8821ae_phy_config_with_headerfile(hw,
radioa_array_table, radioa_arraylen,
_rtl8821ae_config_rf_radio_a);
- break;
case RF90_PATH_B:
case RF90_PATH_C:
case RF90_PATH_D:
pr_err("switch case %#x not processed\n", rfpath);
diff --git a/drivers/nfc/st21nfca/core.c b/drivers/nfc/st21nfca/core.c
index 2ce17932a073..6ca0d2f56b18 100644
--- a/drivers/nfc/st21nfca/core.c
+++ b/drivers/nfc/st21nfca/core.c
@@ -792,11 +792,10 @@ static int st21nfca_hci_im_transceive(struct nfc_hci_dev *hdev,
return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate,
ST21NFCA_WR_XCHG_DATA, skb->data,
skb->len,
st21nfca_hci_data_exchange_cb,
info);
- break;
default:
return 1;
}
}
diff --git a/drivers/nfc/trf7970a.c b/drivers/nfc/trf7970a.c
index 3bd97c73f983..c70f62fe321e 100644
--- a/drivers/nfc/trf7970a.c
+++ b/drivers/nfc/trf7970a.c
@@ -1380,11 +1380,10 @@ static int trf7970a_is_iso15693_write_or_lock(u8 cmd)
case ISO15693_CMD_WRITE_AFI:
case ISO15693_CMD_LOCK_AFI:
case ISO15693_CMD_WRITE_DSFID:
case ISO15693_CMD_LOCK_DSFID:
return 1;
- break;
default:
return 0;
}
}
diff --git a/drivers/nvdimm/claim.c b/drivers/nvdimm/claim.c
index 5a7c80053c62..2f250874b1a4 100644
--- a/drivers/nvdimm/claim.c
+++ b/drivers/nvdimm/claim.c
@@ -200,11 +200,10 @@ ssize_t nd_namespace_store(struct device *dev,
}
break;
default:
len = -EBUSY;
goto out_attach;
- break;
}
if (__nvdimm_namespace_capacity(ndns) < SZ_16M) {
dev_dbg(dev, "%s too small to host\n", name);
len = -ENXIO;
diff --git a/drivers/pci/controller/pci-v3-semi.c b/drivers/pci/controller/pci-v3-semi.c
index 1f54334f09f7..154a5398633c 100644
--- a/drivers/pci/controller/pci-v3-semi.c
+++ b/drivers/pci/controller/pci-v3-semi.c
@@ -656,11 +656,10 @@ static int v3_get_dma_range_config(struct v3_pci *v3,
val |= V3_LB_BASE_ADR_SIZE_2GB;
break;
default:
dev_err(v3->dev, "illegal dma memory chunk size\n");
return -EINVAL;
- break;
}
val |= V3_PCI_MAP_M_REG_EN | V3_PCI_MAP_M_ENABLE;
*pci_map = val;
dev_dbg(dev,
diff --git a/drivers/pinctrl/samsung/pinctrl-s3c24xx.c b/drivers/pinctrl/samsung/pinctrl-s3c24xx.c
index 5e24838a582f..2223ead5bd72 100644
--- a/drivers/pinctrl/samsung/pinctrl-s3c24xx.c
+++ b/drivers/pinctrl/samsung/pinctrl-s3c24xx.c
@@ -106,23 +106,18 @@ struct s3c24xx_eint_domain_data {
static int s3c24xx_eint_get_trigger(unsigned int type)
{
switch (type) {
case IRQ_TYPE_EDGE_RISING:
return EINT_EDGE_RISING;
- break;
case IRQ_TYPE_EDGE_FALLING:
return EINT_EDGE_FALLING;
- break;
case IRQ_TYPE_EDGE_BOTH:
return EINT_EDGE_BOTH;
- break;
case IRQ_TYPE_LEVEL_HIGH:
return EINT_LEVEL_HIGH;
- break;
case IRQ_TYPE_LEVEL_LOW:
return EINT_LEVEL_LOW;
- break;
default:
return -EINVAL;
}
}
diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c
index 49f4b73be513..1c2084c74a57 100644
--- a/drivers/platform/x86/acer-wmi.c
+++ b/drivers/platform/x86/acer-wmi.c
@@ -790,11 +790,10 @@ static acpi_status AMW0_set_u32(u32 value, u32 cap)
if (value > max_brightness)
return AE_BAD_PARAMETER;
switch (quirks->brightness) {
default:
return ec_write(0x83, value);
- break;
}
default:
return AE_ERROR;
}
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index e5a1b5533408..704813374922 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -2465,26 +2465,23 @@ static int __sony_nc_gfx_switch_status_get(void)
case 0x0146:
/* 1: discrete GFX (speed)
* 0: integrated GFX (stamina)
*/
return result & 0x1 ? SPEED : STAMINA;
- break;
case 0x015B:
/* 0: discrete GFX (speed)
* 1: integrated GFX (stamina)
*/
return result & 0x1 ? STAMINA : SPEED;
- break;
case 0x0128:
/* it's a more elaborated bitmask, for now:
* 2: integrated GFX (stamina)
* 0: discrete GFX (speed)
*/
dprintk("GFX Status: 0x%x\n", result);
return result & 0x80 ? AUTO :
result & 0x02 ? STAMINA : SPEED;
- break;
}
return -EINVAL;
}
static ssize_t sony_nc_gfx_switch_status_show(struct device *dev,
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
index d88f388a3450..44e802f9f1b4 100644
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -1258,17 +1258,14 @@ acpi_wmi_ec_space_handler(u32 function, acpi_physical_address address,
}
switch (result) {
case -EINVAL:
return AE_BAD_PARAMETER;
- break;
case -ENODEV:
return AE_NOT_FOUND;
- break;
case -ETIME:
return AE_TIME;
- break;
default:
return AE_OK;
}
}
diff --git a/drivers/power/supply/wm831x_power.c b/drivers/power/supply/wm831x_power.c
index 18b33f14dfee..4cd2dd870039 100644
--- a/drivers/power/supply/wm831x_power.c
+++ b/drivers/power/supply/wm831x_power.c
@@ -666,11 +666,10 @@ static int wm831x_power_probe(struct platform_device *pdev)
default:
dev_err(&pdev->dev, "Failed to find USB phy: %d\n", ret);
fallthrough;
case -EPROBE_DEFER:
goto err_bat_irq;
- break;
}
return ret;
err_bat_irq:
diff --git a/drivers/scsi/aic94xx/aic94xx_task.c b/drivers/scsi/aic94xx/aic94xx_task.c
index f923ed019d4a..ed034192b3c3 100644
--- a/drivers/scsi/aic94xx/aic94xx_task.c
+++ b/drivers/scsi/aic94xx/aic94xx_task.c
@@ -267,11 +267,10 @@ static void asd_task_tasklet_complete(struct asd_ascb *ascb,
ts->stat = SAS_NAK_R_ERR;
break;
case TA_I_T_NEXUS_LOSS:
opcode = dl->status_block[0];
goto Again;
- break;
case TF_INV_CONN_HANDLE:
ts->resp = SAS_TASK_UNDELIVERED;
ts->stat = SAS_DEVICE_UNKNOWN;
break;
case TF_REQUESTED_N_PENDING:
diff --git a/drivers/scsi/be2iscsi/be_mgmt.c b/drivers/scsi/be2iscsi/be_mgmt.c
index 96d6e384b2b2..0d4928567265 100644
--- a/drivers/scsi/be2iscsi/be_mgmt.c
+++ b/drivers/scsi/be2iscsi/be_mgmt.c
@@ -1242,22 +1242,18 @@ beiscsi_adap_family_disp(struct device *dev, struct device_attribute *attr,
case BE_DEVICE_ID1:
case OC_DEVICE_ID1:
case OC_DEVICE_ID2:
return snprintf(buf, PAGE_SIZE,
"Obsolete/Unsupported BE2 Adapter Family\n");
- break;
case BE_DEVICE_ID2:
case OC_DEVICE_ID3:
return snprintf(buf, PAGE_SIZE, "BE3-R Adapter Family\n");
- break;
case OC_SKH_ID1:
return snprintf(buf, PAGE_SIZE, "Skyhawk-R Adapter Family\n");
- break;
default:
return snprintf(buf, PAGE_SIZE,
"Unknown Adapter Family: 0x%x\n", dev_id);
- break;
}
}
/**
* beiscsi_phys_port()- Display Physical Port Identifier
diff --git a/drivers/scsi/bnx2fc/bnx2fc_hwi.c b/drivers/scsi/bnx2fc/bnx2fc_hwi.c
index 08992095ce7a..b37b0a9ec12d 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_hwi.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_hwi.c
@@ -768,11 +768,10 @@ static void bnx2fc_process_unsol_compl(struct bnx2fc_rport *tgt, u16 wqe)
if (rc)
goto skip_rec;
} else
printk(KERN_ERR PFX "SRR in progress\n");
goto ret_err_rqe;
- break;
default:
break;
}
skip_rec:
diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
index 0f9274960dc6..a4be6f439c47 100644
--- a/drivers/scsi/fcoe/fcoe.c
+++ b/drivers/scsi/fcoe/fcoe.c
@@ -1892,11 +1892,10 @@ static int fcoe_device_notification(struct notifier_block *notifier,
fcoe_interface_remove(fcoe);
fcoe_interface_cleanup(fcoe);
mutex_unlock(&fcoe_config_mutex);
fcoe_ctlr_device_delete(fcoe_ctlr_to_ctlr_dev(ctlr));
goto out;
- break;
case NETDEV_FEAT_CHANGE:
fcoe_netdev_features_change(lport, netdev);
break;
default:
FCOE_NETDEV_DBG(netdev, "Unknown event %ld "
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 83ce4f11a589..45136e3a4efc 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -7440,11 +7440,10 @@ static int find_PCI_BAR_index(struct pci_dev *pdev, unsigned long pci_bar_addr)
break;
default: /* reserved in PCI 2.2 */
dev_warn(&pdev->dev,
"base address is invalid\n");
return -1;
- break;
}
}
if (offset == pci_bar_addr - PCI_BASE_ADDRESS_0)
return i + 1;
}
diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c
index 6a2561f26e38..db4c7a7ff4dd 100644
--- a/drivers/scsi/hptiop.c
+++ b/drivers/scsi/hptiop.c
@@ -756,11 +756,10 @@ static void hptiop_finish_scsi_req(struct hptiop_hba *hba, u32 tag,
scsi_set_resid(scp,
scsi_bufflen(scp) - le32_to_cpu(req->dataxfer_length));
scp->result = SAM_STAT_CHECK_CONDITION;
memcpy(scp->sense_buffer, &req->sg_list, SCSI_SENSE_BUFFERSIZE);
goto skip_resid;
- break;
default:
scp->result = DRIVER_INVALID << 24 | DID_ABORT << 16;
break;
}
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index b0aa58d117cc..e451102b9a29 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -9485,11 +9485,10 @@ static pci_ers_result_t ipr_pci_error_detected(struct pci_dev *pdev,
ipr_pci_frozen(pdev);
return PCI_ERS_RESULT_CAN_RECOVER;
case pci_channel_io_perm_failure:
ipr_pci_perm_failure(pdev);
return PCI_ERS_RESULT_DISCONNECT;
- break;
default:
break;
}
return PCI_ERS_RESULT_NEED_RESET;
}
diff --git a/drivers/scsi/isci/phy.c b/drivers/scsi/isci/phy.c
index 7041e2e3ab48..1b87d9080ebe 100644
--- a/drivers/scsi/isci/phy.c
+++ b/drivers/scsi/isci/phy.c
@@ -751,11 +751,10 @@ enum sci_status sci_phy_event_handler(struct isci_phy *iphy, u32 event_code)
sci_change_state(&iphy->sm, SCI_PHY_STARTING);
break;
default:
phy_event_warn(iphy, state, event_code);
return SCI_FAILURE;
- break;
}
return SCI_SUCCESS;
case SCI_PHY_SUB_AWAIT_IAF_UF:
switch (scu_get_event_code(event_code)) {
case SCU_EVENT_SAS_PHY_DETECTED:
@@ -956,11 +955,10 @@ enum sci_status sci_phy_event_handler(struct isci_phy *iphy, u32 event_code)
sci_change_state(&iphy->sm, SCI_PHY_STARTING);
break;
default:
phy_event_warn(iphy, state, event_code);
return SCI_FAILURE_INVALID_STATE;
- break;
}
return SCI_SUCCESS;
default:
dev_dbg(sciphy_to_dev(iphy), "%s: in wrong state: %s\n",
__func__, phy_state_name(state));
diff --git a/drivers/scsi/lpfc/lpfc_debugfs.c b/drivers/scsi/lpfc/lpfc_debugfs.c
index c9a327b13e5c..325081ac6553 100644
--- a/drivers/scsi/lpfc/lpfc_debugfs.c
+++ b/drivers/scsi/lpfc/lpfc_debugfs.c
@@ -3339,11 +3339,10 @@ lpfc_idiag_pcicfg_read(struct file *file, char __user *buf, size_t nbytes,
len += scnprintf(pbuffer+len, LPFC_PCI_CFG_SIZE-len,
"%03x: %08x\n", where, u32val);
break;
case LPFC_PCI_CFG_BROWSE: /* browse all */
goto pcicfg_browse;
- break;
default:
/* illegal count */
len = 0;
break;
}
@@ -4379,11 +4378,11 @@ lpfc_idiag_queacc_write(struct file *file, const char __user *buf,
goto pass_check;
}
}
}
goto error_out;
- break;
+
case LPFC_IDIAG_CQ:
/* MBX complete queue */
if (phba->sli4_hba.mbx_cq &&
phba->sli4_hba.mbx_cq->queue_id == queid) {
/* Sanity check */
@@ -4431,11 +4430,11 @@ lpfc_idiag_queacc_write(struct file *file, const char __user *buf,
goto pass_check;
}
}
}
goto error_out;
- break;
+
case LPFC_IDIAG_MQ:
/* MBX work queue */
if (phba->sli4_hba.mbx_wq &&
phba->sli4_hba.mbx_wq->queue_id == queid) {
/* Sanity check */
@@ -4445,11 +4444,11 @@ lpfc_idiag_queacc_write(struct file *file, const char __user *buf,
goto error_out;
idiag.ptr_private = phba->sli4_hba.mbx_wq;
goto pass_check;
}
goto error_out;
- break;
+
case LPFC_IDIAG_WQ:
/* ELS work queue */
if (phba->sli4_hba.els_wq &&
phba->sli4_hba.els_wq->queue_id == queid) {
/* Sanity check */
@@ -4485,13 +4484,12 @@ lpfc_idiag_queacc_write(struct file *file, const char __user *buf,
idiag.ptr_private = qp;
goto pass_check;
}
}
}
-
goto error_out;
- break;
+
case LPFC_IDIAG_RQ:
/* HDR queue */
if (phba->sli4_hba.hdr_rq &&
phba->sli4_hba.hdr_rq->queue_id == queid) {
/* Sanity check */
@@ -4512,14 +4510,12 @@ lpfc_idiag_queacc_write(struct file *file, const char __user *buf,
goto error_out;
idiag.ptr_private = phba->sli4_hba.dat_rq;
goto pass_check;
}
goto error_out;
- break;
default:
goto error_out;
- break;
}
pass_check:
if (idiag.cmd.opcode == LPFC_IDIAG_CMD_QUEACC_RD) {
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index ca25e54bb782..b6090357e8a5 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -7194,11 +7194,10 @@ lpfc_init_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
default:
lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
"1431 Invalid HBA PCI-device group: 0x%x\n",
dev_grp);
return -ENODEV;
- break;
}
return 0;
}
/**
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
index 983eeb0e3d07..c3b02dab6e5c 100644
--- a/drivers/scsi/lpfc/lpfc_scsi.c
+++ b/drivers/scsi/lpfc/lpfc_scsi.c
@@ -4282,11 +4282,10 @@ lpfc_scsi_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
default:
lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
"1418 Invalid HBA PCI-device group: 0x%x\n",
dev_grp);
return -ENODEV;
- break;
}
phba->lpfc_rampdown_queue_depth = lpfc_rampdown_queue_depth;
phba->lpfc_scsi_cmd_iocb_cmpl = lpfc_scsi_cmd_iocb_cmpl;
return 0;
}
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
index e158cd77d387..0f18f1ba8a28 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -9187,11 +9187,10 @@ lpfc_mbox_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
default:
lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
"1420 Invalid HBA PCI-device group: 0x%x\n",
dev_grp);
return -ENODEV;
- break;
}
return 0;
}
/**
@@ -10070,11 +10069,10 @@ lpfc_sli4_iocb2wqe(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq,
default:
lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
"2014 Invalid command 0x%x\n",
iocbq->iocb.ulpCommand);
return IOCB_ERROR;
- break;
}
if (iocbq->iocb_flag & LPFC_IO_DIF_PASS)
bf_set(wqe_dif, &wqe->generic.wqe_com, LPFC_WQE_DIF_PASSTHRU);
else if (iocbq->iocb_flag & LPFC_IO_DIF_STRIP)
@@ -10232,11 +10230,10 @@ lpfc_sli_api_table_setup(struct lpfc_hba *phba, uint8_t dev_grp)
default:
lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
"1419 Invalid HBA PCI-device group: 0x%x\n",
dev_grp);
return -ENODEV;
- break;
}
phba->lpfc_get_iocb_from_iocbq = lpfc_get_iocb_from_iocbq;
return 0;
}
diff --git a/drivers/scsi/mvumi.c b/drivers/scsi/mvumi.c
index 0354898d7cac..2f7a52bd653a 100644
--- a/drivers/scsi/mvumi.c
+++ b/drivers/scsi/mvumi.c
@@ -2294,11 +2294,10 @@ static int mvumi_cfg_hw_reg(struct mvumi_hba *mhba)
regs->int_drbl_int_mask = 0x3FFFFFFF;
regs->int_mu = regs->int_dl_cpu2pciea | regs->int_comaout;
break;
default:
return -1;
- break;
}
return 0;
}
diff --git a/drivers/scsi/pcmcia/nsp_cs.c b/drivers/scsi/pcmcia/nsp_cs.c
index bc5a623519e7..bb3b3884f968 100644
--- a/drivers/scsi/pcmcia/nsp_cs.c
+++ b/drivers/scsi/pcmcia/nsp_cs.c
@@ -1100,12 +1100,10 @@ static irqreturn_t nspintr(int irq, void *dev_id)
nsp_index_write(base, SCSIBUSCTRL, SCSI_ATN);
udelay(1);
nsp_index_write(base, SCSIBUSCTRL, SCSI_ATN | AUTODIRECTION | ACKENB);
return IRQ_HANDLED;
- break;
-
case PH_RESELECT:
//nsp_dbg(NSP_DEBUG_INTR, "phase reselect");
// *sync_neg = SYNC_NOT_YET;
if ((phase & BUSMON_PHASE_MASK) != BUSPHASE_MESSAGE_IN) {
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
index 07afd0d8a8f3..40af7f1524ce 100644
--- a/drivers/scsi/qla2xxx/qla_mbx.c
+++ b/drivers/scsi/qla2xxx/qla_mbx.c
@@ -4028,11 +4028,10 @@ qla24xx_report_id_acquisition(scsi_qla_host_t *vha,
/* if our portname is higher then initiate N2N login */
set_bit(N2N_LOGIN_NEEDED, &vha->dpc_flags);
return;
- break;
case TOPO_FL:
ha->current_topology = ISP_CFG_FL;
break;
case TOPO_F:
ha->current_topology = ISP_CFG_F;
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
index e2e5356a997d..43f7624508a9 100644
--- a/drivers/scsi/st.c
+++ b/drivers/scsi/st.c
@@ -2844,11 +2844,10 @@ static int st_int_ioctl(struct scsi_tape *STp, unsigned int cmd_in, unsigned lon
fileno = blkno = at_sm = 0;
break;
case MTNOP:
DEBC_printk(STp, "No op on tape.\n");
return 0; /* Should do something ? */
- break;
case MTRETEN:
cmd[0] = START_STOP;
if (STp->immediate) {
cmd[1] = 1; /* Don't wait for completion */
timeout = STp->device->request_queue->rq_timeout;
diff --git a/drivers/scsi/sym53c8xx_2/sym_hipd.c b/drivers/scsi/sym53c8xx_2/sym_hipd.c
index a9fe092a4906..255a2d48d421 100644
--- a/drivers/scsi/sym53c8xx_2/sym_hipd.c
+++ b/drivers/scsi/sym53c8xx_2/sym_hipd.c
@@ -4594,11 +4594,10 @@ static void sym_int_sir(struct sym_hcb *np)
sym_print_addr(cp->cmd,
"M_REJECT received (%x:%x).\n",
scr_to_cpu(np->lastmsg), np->msgout[0]);
}
goto out_clrack;
- break;
default:
goto out_reject;
}
break;
/*
diff --git a/drivers/staging/media/atomisp/pci/sh_css.c b/drivers/staging/media/atomisp/pci/sh_css.c
index ddee04c8248d..eab7a048ca7a 100644
--- a/drivers/staging/media/atomisp/pci/sh_css.c
+++ b/drivers/staging/media/atomisp/pci/sh_css.c
@@ -6284,11 +6284,10 @@ allocate_delay_frames(struct ia_css_pipe *pipe) {
case IA_CSS_PIPE_ID_CAPTURE: {
struct ia_css_capture_settings *mycs_capture = &pipe->pipe_settings.capture;
(void)mycs_capture;
return err;
}
- break;
case IA_CSS_PIPE_ID_VIDEO: {
struct ia_css_video_settings *mycs_video = &pipe->pipe_settings.video;
ref_info = mycs_video->video_binary.internal_frame_info;
/*The ref frame expects
diff --git a/drivers/staging/rts5208/rtsx_scsi.c b/drivers/staging/rts5208/rtsx_scsi.c
index 1deb74112ad4..672248be7bf3 100644
--- a/drivers/staging/rts5208/rtsx_scsi.c
+++ b/drivers/staging/rts5208/rtsx_scsi.c
@@ -569,12 +569,10 @@ static int start_stop_unit(struct scsi_cmnd *srb, struct rtsx_chip *chip)
case LOAD_MEDIUM:
if (check_card_ready(chip, lun))
return TRANSPORT_GOOD;
set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
return TRANSPORT_FAILED;
-
- break;
}
return TRANSPORT_ERROR;
}
diff --git a/drivers/staging/vme/devices/vme_user.c b/drivers/staging/vme/devices/vme_user.c
index fd0ea4dbcb91..7c7d3858e6ca 100644
--- a/drivers/staging/vme/devices/vme_user.c
+++ b/drivers/staging/vme/devices/vme_user.c
@@ -355,12 +355,10 @@ static int vme_user_ioctl(struct inode *inode, struct file *file,
* to userspace as they are
*/
return vme_master_set(image[minor].resource,
master.enable, master.vme_addr, master.size,
master.aspace, master.cycle, master.dwidth);
-
- break;
}
break;
case SLAVE_MINOR:
switch (cmd) {
case VME_GET_SLAVE:
@@ -396,12 +394,10 @@ static int vme_user_ioctl(struct inode *inode, struct file *file,
*/
return vme_slave_set(image[minor].resource,
slave.enable, slave.vme_addr, slave.size,
image[minor].pci_buf, slave.aspace,
slave.cycle);
-
- break;
}
break;
}
return -EINVAL;
diff --git a/drivers/tty/nozomi.c b/drivers/tty/nozomi.c
index d42b854cb7df..861e95043191 100644
--- a/drivers/tty/nozomi.c
+++ b/drivers/tty/nozomi.c
@@ -412,15 +412,13 @@ static void read_mem32(u32 *buf, const void __iomem *mem_addr_start,
switch (size_bytes) {
case 2: /* 2 bytes */
buf16 = (u16 *) buf;
*buf16 = __le16_to_cpu(readw(ptr));
goto out;
- break;
case 4: /* 4 bytes */
*(buf) = __le32_to_cpu(readl(ptr));
goto out;
- break;
}
while (i < size_bytes) {
if (size_bytes - i == 2) {
/* Handle 2 bytes in the end */
@@ -458,19 +456,18 @@ static u32 write_mem32(void __iomem *mem_addr_start, const u32 *buf,
switch (size_bytes) {
case 2: /* 2 bytes */
buf16 = (const u16 *)buf;
writew(__cpu_to_le16(*buf16), ptr);
return 2;
- break;
case 1: /*
* also needs to write 4 bytes in this case
* so falling through..
*/
+ fallthrough;
case 4: /* 4 bytes */
writel(__cpu_to_le32(*buf), ptr);
return 4;
- break;
}
while (i < size_bytes) {
if (size_bytes - i == 2) {
/* 2 bytes */
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 1731d9728865..09703079db7b 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -318,31 +318,26 @@ static void imx_uart_writel(struct imx_port *sport, u32 val, u32 offset)
static u32 imx_uart_readl(struct imx_port *sport, u32 offset)
{
switch (offset) {
case UCR1:
return sport->ucr1;
- break;
case UCR2:
/*
* UCR2_SRST is the only bit in the cached registers that might
* differ from the value that was last written. As it only
* automatically becomes one after being cleared, reread
* conditionally.
*/
if (!(sport->ucr2 & UCR2_SRST))
sport->ucr2 = readl(sport->port.membase + offset);
return sport->ucr2;
- break;
case UCR3:
return sport->ucr3;
- break;
case UCR4:
return sport->ucr4;
- break;
case UFCR:
return sport->ufcr;
- break;
default:
return readl(sport->port.membase + offset);
}
}
diff --git a/drivers/usb/gadget/function/f_hid.c b/drivers/usb/gadget/function/f_hid.c
index 1125f4715830..5204769834d1 100644
--- a/drivers/usb/gadget/function/f_hid.c
+++ b/drivers/usb/gadget/function/f_hid.c
@@ -509,27 +509,23 @@ static int hidg_setup(struct usb_function *f,
VDBG(cdev, "get_report\n");
/* send an empty report */
length = min_t(unsigned, length, hidg->report_length);
memset(req->buf, 0x0, length);
-
goto respond;
- break;
case ((USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE) << 8
| HID_REQ_GET_PROTOCOL):
VDBG(cdev, "get_protocol\n");
length = min_t(unsigned int, length, 1);
((u8 *) req->buf)[0] = hidg->protocol;
goto respond;
- break;
case ((USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE) << 8
| HID_REQ_SET_REPORT):
VDBG(cdev, "set_report | wLength=%d\n", ctrl->wLength);
goto stall;
- break;
case ((USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE) << 8
| HID_REQ_SET_PROTOCOL):
VDBG(cdev, "set_protocol\n");
if (value > HID_REPORT_PROTOCOL)
@@ -542,11 +538,10 @@ static int hidg_setup(struct usb_function *f,
if (hidg->bInterfaceSubClass == USB_INTERFACE_SUBCLASS_BOOT) {
hidg->protocol = value;
goto respond;
}
goto stall;
- break;
case ((USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_INTERFACE) << 8
| USB_REQ_GET_DESCRIPTOR):
switch (value >> 8) {
case HID_DT_HID:
@@ -560,33 +555,29 @@ static int hidg_setup(struct usb_function *f,
length = min_t(unsigned short, length,
hidg_desc_copy.bLength);
memcpy(req->buf, &hidg_desc_copy, length);
goto respond;
- break;
}
case HID_DT_REPORT:
VDBG(cdev, "USB_REQ_GET_DESCRIPTOR: REPORT\n");
length = min_t(unsigned short, length,
hidg->report_desc_length);
memcpy(req->buf, hidg->report_desc, length);
goto respond;
- break;
default:
VDBG(cdev, "Unknown descriptor request 0x%x\n",
value >> 8);
goto stall;
- break;
}
break;
default:
VDBG(cdev, "Unknown request 0x%x\n",
ctrl->bRequest);
goto stall;
- break;
}
stall:
return -EOPNOTSUPP;
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
index fe405cd38dbc..b46ef45c4d25 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -1142,11 +1142,10 @@ int xhci_setup_addressable_virt_dev(struct xhci_hcd *xhci, struct usb_device *ud
max_packets = MAX_PACKET(8);
break;
case USB_SPEED_WIRELESS:
xhci_dbg(xhci, "FIXME xHCI doesn't support wireless speeds\n");
return -EINVAL;
- break;
default:
/* Speed was set earlier, this shouldn't happen. */
return -EINVAL;
}
/* Find the root hub port this device is under */
diff --git a/drivers/usb/misc/iowarrior.c b/drivers/usb/misc/iowarrior.c
index 70ec29681526..efbd317f2f25 100644
--- a/drivers/usb/misc/iowarrior.c
+++ b/drivers/usb/misc/iowarrior.c
@@ -382,11 +382,10 @@ static ssize_t iowarrior_write(struct file *file,
goto exit;
}
retval = usb_set_report(dev->interface, 2, 0, buf, count);
kfree(buf);
goto exit;
- break;
case USB_DEVICE_ID_CODEMERCS_IOW56:
case USB_DEVICE_ID_CODEMERCS_IOW56AM:
case USB_DEVICE_ID_CODEMERCS_IOW28:
case USB_DEVICE_ID_CODEMERCS_IOW28L:
case USB_DEVICE_ID_CODEMERCS_IOW100:
@@ -452,18 +451,16 @@ static ssize_t iowarrior_write(struct file *file,
}
/* submit was ok */
retval = count;
usb_free_urb(int_out_urb);
goto exit;
- break;
default:
/* what do we have here ? An unsupported Product-ID ? */
dev_err(&dev->interface->dev, "%s - not supported for product=0x%x\n",
__func__, dev->product_id);
retval = -EFAULT;
goto exit;
- break;
}
error:
usb_free_coherent(dev->udev, dev->report_size, buf,
int_out_urb->transfer_dma);
error_no_buffer:
diff --git a/drivers/usb/serial/iuu_phoenix.c b/drivers/usb/serial/iuu_phoenix.c
index b4ba79123d9d..f1201d4de297 100644
--- a/drivers/usb/serial/iuu_phoenix.c
+++ b/drivers/usb/serial/iuu_phoenix.c
@@ -848,11 +848,10 @@ static int iuu_uart_baud(struct usb_serial_port *port, u32 baud_base,
dataout[DataCount++] = 0x04;
break;
default:
kfree(dataout);
return IUU_INVALID_PARAMETER;
- break;
}
switch (parity & 0xF0) {
case IUU_ONE_STOP_BIT:
dataout[DataCount - 1] |= IUU_ONE_STOP_BIT;
@@ -862,11 +861,10 @@ static int iuu_uart_baud(struct usb_serial_port *port, u32 baud_base,
dataout[DataCount - 1] |= IUU_TWO_STOP_BITS;
break;
default:
kfree(dataout);
return IUU_INVALID_PARAMETER;
- break;
}
status = bulk_immediate(port, dataout, DataCount);
if (status != IUU_OPERATION_OK)
dev_dbg(&port->dev, "%s - uart_off error\n", __func__);
diff --git a/drivers/usb/storage/freecom.c b/drivers/usb/storage/freecom.c
index 3d5f7d0ff0f1..2b098b55c4cb 100644
--- a/drivers/usb/storage/freecom.c
+++ b/drivers/usb/storage/freecom.c
@@ -429,11 +429,10 @@ static int freecom_transport(struct scsi_cmnd *srb, struct us_data *us)
/* should never hit here -- filtered in usb.c */
usb_stor_dbg(us, "freecom unimplemented direction: %d\n",
us->srb->sc_data_direction);
/* Return fail, SCSI seems to handle this better. */
return USB_STOR_TRANSPORT_FAILED;
- break;
}
return USB_STOR_TRANSPORT_GOOD;
}
diff --git a/drivers/vme/bridges/vme_tsi148.c b/drivers/vme/bridges/vme_tsi148.c
index 50ae26977a02..1227ea937059 100644
--- a/drivers/vme/bridges/vme_tsi148.c
+++ b/drivers/vme/bridges/vme_tsi148.c
@@ -504,11 +504,10 @@ static int tsi148_slave_set(struct vme_slave_resource *image, int enabled,
addr |= TSI148_LCSR_ITAT_AS_A64;
break;
default:
dev_err(tsi148_bridge->parent, "Invalid address space\n");
return -EINVAL;
- break;
}
/* Convert 64-bit variables to 2x 32-bit variables */
reg_split(vme_base, &vme_base_high, &vme_base_low);
@@ -993,11 +992,10 @@ static int tsi148_master_set(struct vme_master_resource *image, int enabled,
default:
spin_unlock(&image->lock);
dev_err(tsi148_bridge->parent, "Invalid address space\n");
retval = -EINVAL;
goto err_aspace;
- break;
}
temp_ctl &= ~(3<<4);
if (cycle & VME_SUPER)
temp_ctl |= TSI148_LCSR_OTAT_SUP;
@@ -1501,11 +1499,10 @@ static int tsi148_dma_set_vme_src_attributes(struct device *dev, __be32 *attr,
val |= TSI148_LCSR_DSAT_AMODE_USER4;
break;
default:
dev_err(dev, "Invalid address space\n");
return -EINVAL;
- break;
}
if (cycle & VME_SUPER)
val |= TSI148_LCSR_DSAT_SUP;
if (cycle & VME_PROG)
@@ -1601,11 +1598,10 @@ static int tsi148_dma_set_vme_dest_attributes(struct device *dev, __be32 *attr,
val |= TSI148_LCSR_DDAT_AMODE_USER4;
break;
default:
dev_err(dev, "Invalid address space\n");
return -EINVAL;
- break;
}
if (cycle & VME_SUPER)
val |= TSI148_LCSR_DDAT_SUP;
if (cycle & VME_PROG)
@@ -1699,11 +1695,10 @@ static int tsi148_dma_list_add(struct vme_dma_list *list,
break;
default:
dev_err(tsi148_bridge->parent, "Invalid source type\n");
retval = -EINVAL;
goto err_source;
- break;
}
/* Assume last link - this will be over-written by adding another */
entry->descriptor.dnlau = cpu_to_be32(0);
entry->descriptor.dnlal = cpu_to_be32(TSI148_LCSR_DNLAL_LLA);
@@ -1736,11 +1731,10 @@ static int tsi148_dma_list_add(struct vme_dma_list *list,
break;
default:
dev_err(tsi148_bridge->parent, "Invalid destination type\n");
retval = -EINVAL;
goto err_dest;
- break;
}
/* Fill out count */
entry->descriptor.dcnt = cpu_to_be32((u32)count);
@@ -1962,11 +1956,10 @@ static int tsi148_lm_set(struct vme_lm_resource *lm, unsigned long long lm_base,
break;
default:
mutex_unlock(&lm->mtx);
dev_err(tsi148_bridge->parent, "Invalid address space\n");
return -EINVAL;
- break;
}
if (cycle & VME_SUPER)
lm_ctl |= TSI148_LCSR_LMAT_SUPR ;
if (cycle & VME_USER)
diff --git a/drivers/vme/vme.c b/drivers/vme/vme.c
index b398293980b6..e1a940e43327 100644
--- a/drivers/vme/vme.c
+++ b/drivers/vme/vme.c
@@ -50,27 +50,22 @@ static struct vme_bridge *find_bridge(struct vme_resource *resource)
/* Get list to search */
switch (resource->type) {
case VME_MASTER:
return list_entry(resource->entry, struct vme_master_resource,
list)->parent;
- break;
case VME_SLAVE:
return list_entry(resource->entry, struct vme_slave_resource,
list)->parent;
- break;
case VME_DMA:
return list_entry(resource->entry, struct vme_dma_resource,
list)->parent;
- break;
case VME_LM:
return list_entry(resource->entry, struct vme_lm_resource,
list)->parent;
- break;
default:
printk(KERN_ERR "Unknown resource type\n");
return NULL;
- break;
}
}
/**
* vme_free_consistent - Allocate contiguous memory.
@@ -177,26 +172,22 @@ size_t vme_get_size(struct vme_resource *resource)
&aspace, &cycle, &dwidth);
if (retval)
return 0;
return size;
- break;
case VME_SLAVE:
retval = vme_slave_get(resource, &enabled, &base, &size,
&buf_base, &aspace, &cycle);
if (retval)
return 0;
return size;
- break;
case VME_DMA:
return 0;
- break;
default:
printk(KERN_ERR "Unknown resource type\n");
return 0;
- break;
}
}
EXPORT_SYMBOL(vme_get_size);
int vme_check_window(u32 aspace, unsigned long long vme_base,
diff --git a/drivers/watchdog/geodewdt.c b/drivers/watchdog/geodewdt.c
index 83418924e30a..0b699c783d57 100644
--- a/drivers/watchdog/geodewdt.c
+++ b/drivers/watchdog/geodewdt.c
@@ -148,12 +148,10 @@ static long geodewdt_ioctl(struct file *file, unsigned int cmd,
switch (cmd) {
case WDIOC_GETSUPPORT:
return copy_to_user(argp, &ident,
sizeof(ident)) ? -EFAULT : 0;
- break;
-
case WDIOC_GETSTATUS:
case WDIOC_GETBOOTSTATUS:
return put_user(0, p);
case WDIOC_SETOPTIONS:
diff --git a/fs/efs/inode.c b/fs/efs/inode.c
index 89e73a6f0d36..64f3a54a0f72 100644
--- a/fs/efs/inode.c
+++ b/fs/efs/inode.c
@@ -161,11 +161,10 @@ struct inode *efs_iget(struct super_block *super, unsigned long ino)
init_special_inode(inode, inode->i_mode, device);
break;
default:
pr_warn("unsupported inode mode %o\n", inode->i_mode);
goto read_inode_error;
- break;
}
unlock_new_inode(inode);
return inode;
diff --git a/fs/ocfs2/cluster/tcp.c b/fs/ocfs2/cluster/tcp.c
index 79a231719460..3bd8119bed5e 100644
--- a/fs/ocfs2/cluster/tcp.c
+++ b/fs/ocfs2/cluster/tcp.c
@@ -1196,11 +1196,10 @@ static int o2net_process_message(struct o2net_sock_container *sc,
break;
default:
msglog(hdr, "bad magic\n");
ret = -EINVAL;
goto out;
- break;
}
/* find a handler for it */
handler_status = 0;
nmh = o2net_handler_get(be16_to_cpu(hdr->msg_type),
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
index 1110ecd7d1f3..8f50c9c19f1b 100644
--- a/kernel/bpf/syscall.c
+++ b/kernel/bpf/syscall.c
@@ -2911,11 +2911,10 @@ attach_type_to_prog_type(enum bpf_attach_type attach_type)
{
switch (attach_type) {
case BPF_CGROUP_INET_INGRESS:
case BPF_CGROUP_INET_EGRESS:
return BPF_PROG_TYPE_CGROUP_SKB;
- break;
case BPF_CGROUP_INET_SOCK_CREATE:
case BPF_CGROUP_INET_SOCK_RELEASE:
case BPF_CGROUP_INET4_POST_BIND:
case BPF_CGROUP_INET6_POST_BIND:
return BPF_PROG_TYPE_CGROUP_SOCK;
diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c
index 3dd8c2e4314e..f400a6122b3c 100644
--- a/security/integrity/ima/ima_appraise.c
+++ b/security/integrity/ima/ima_appraise.c
@@ -179,11 +179,10 @@ enum hash_algo ima_get_hash_algo(struct evm_ima_xattr_data *xattr_value,
case EVM_IMA_XATTR_DIGSIG:
sig = (typeof(sig))xattr_value;
if (sig->version != 2 || xattr_len <= sizeof(*sig))
return ima_hash_algo;
return sig->hash_algo;
- break;
case IMA_XATTR_DIGEST_NG:
/* first byte contains algorithm id */
ret = xattr_value->data[0];
if (ret < HASH_ALGO__LAST)
return ret;
diff --git a/security/keys/trusted-keys/trusted_tpm1.c b/security/keys/trusted-keys/trusted_tpm1.c
index b9fe02e5f84f..eddc9477d42a 100644
--- a/security/keys/trusted-keys/trusted_tpm1.c
+++ b/security/keys/trusted-keys/trusted_tpm1.c
@@ -899,11 +899,10 @@ static int datablob_parse(char *datablob, struct trusted_key_payload *p,
return ret;
ret = Opt_update;
break;
case Opt_err:
return -EINVAL;
- break;
}
return ret;
}
static struct trusted_key_options *trusted_options_alloc(void)
diff --git a/security/safesetid/lsm.c b/security/safesetid/lsm.c
index 8a176b6adbe5..1079c6d54784 100644
--- a/security/safesetid/lsm.c
+++ b/security/safesetid/lsm.c
@@ -123,11 +123,10 @@ static int safesetid_security_capable(const struct cred *cred,
* set*uid() (e.g. setting up userns uid mappings).
*/
pr_warn("Operation requires CAP_SETUID, which is not available to UID %u for operations besides approved set*uid transitions\n",
__kuid_val(cred->uid));
return -EPERM;
- break;
case CAP_SETGID:
/*
* If no policy applies to this task, allow the use of CAP_SETGID for
* other purposes.
*/
@@ -138,15 +137,13 @@ static int safesetid_security_capable(const struct cred *cred,
* set*gid() (e.g. setting up userns gid mappings).
*/
pr_warn("Operation requires CAP_SETGID, which is not available to GID %u for operations besides approved set*gid transitions\n",
__kuid_val(cred->uid));
return -EPERM;
- break;
default:
/* Error, the only capabilities were checking for is CAP_SETUID/GID */
return 0;
- break;
}
return 0;
}
/*
diff --git a/sound/pci/rme32.c b/sound/pci/rme32.c
index 869af8a32c98..4eabece4dcba 100644
--- a/sound/pci/rme32.c
+++ b/sound/pci/rme32.c
@@ -466,11 +466,10 @@ static int snd_rme32_capture_getrate(struct rme32 * rme32, int *is_adat)
return 44100;
case 7:
return 32000;
default:
return -1;
- break;
}
else
switch (n) { /* supporting the CS8412 */
case 0:
return -1;
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c
index 4a1f576dd9cf..3382c069fd3d 100644
--- a/sound/pci/rme9652/hdspm.c
+++ b/sound/pci/rme9652/hdspm.c
@@ -2284,11 +2284,10 @@ static int hdspm_get_wc_sample_rate(struct hdspm *hdspm)
switch (hdspm->io_type) {
case RayDAT:
case AIO:
status = hdspm_read(hdspm, HDSPM_RD_STATUS_1);
return (status >> 16) & 0xF;
- break;
case AES32:
status = hdspm_read(hdspm, HDSPM_statusRegister);
return (status >> HDSPM_AES32_wcFreq_bit) & 0xF;
default:
break;
@@ -2310,11 +2309,10 @@ static int hdspm_get_tco_sample_rate(struct hdspm *hdspm)
switch (hdspm->io_type) {
case RayDAT:
case AIO:
status = hdspm_read(hdspm, HDSPM_RD_STATUS_1);
return (status >> 20) & 0xF;
- break;
case AES32:
status = hdspm_read(hdspm, HDSPM_statusRegister);
return (status >> 1) & 0xF;
default:
break;
@@ -2336,11 +2334,10 @@ static int hdspm_get_sync_in_sample_rate(struct hdspm *hdspm)
switch (hdspm->io_type) {
case RayDAT:
case AIO:
status = hdspm_read(hdspm, HDSPM_RD_STATUS_2);
return (status >> 12) & 0xF;
- break;
default:
break;
}
}
@@ -2356,11 +2353,10 @@ static int hdspm_get_aes_sample_rate(struct hdspm *hdspm, int index)
switch (hdspm->io_type) {
case AES32:
timecode = hdspm_read(hdspm, HDSPM_timecodeRegister);
return (timecode >> (4*index)) & 0xF;
- break;
default:
break;
}
return 0;
}
@@ -3843,22 +3839,20 @@ static int hdspm_wc_sync_check(struct hdspm *hdspm)
return 2;
else
return 1;
}
return 0;
- break;
case MADI:
status2 = hdspm_read(hdspm, HDSPM_statusRegister2);
if (status2 & HDSPM_wcLock) {
if (status2 & HDSPM_wcSync)
return 2;
else
return 1;
}
return 0;
- break;
case RayDAT:
case AIO:
status = hdspm_read(hdspm, HDSPM_statusRegister);
@@ -3866,12 +3860,10 @@ static int hdspm_wc_sync_check(struct hdspm *hdspm)
return 2;
else if (status & 0x1000000)
return 1;
return 0;
- break;
-
case MADIface:
break;
}
diff --git a/sound/pci/rme9652/rme9652.c b/sound/pci/rme9652/rme9652.c
index 7ab10028d9fa..012fbec5e6a7 100644
--- a/sound/pci/rme9652/rme9652.c
+++ b/sound/pci/rme9652/rme9652.c
@@ -730,38 +730,31 @@ static inline int rme9652_spdif_sample_rate(struct snd_rme9652 *s)
rate_bits = rme9652_read(s, RME9652_status_register) & RME9652_F;
switch (rme9652_decode_spdif_rate(rate_bits)) {
case 0x7:
return 32000;
- break;
case 0x6:
return 44100;
- break;
case 0x5:
return 48000;
- break;
case 0x4:
return 88200;
- break;
case 0x3:
return 96000;
- break;
case 0x0:
return 64000;
- break;
default:
dev_err(s->card->dev,
"%s: unknown S/PDIF input rate (bits = 0x%x)\n",
s->card_name, rate_bits);
return 0;
- break;
}
}
/*-----------------------------------------------------------------------------
Control Interface
diff --git a/sound/soc/codecs/wcd-clsh-v2.c b/sound/soc/codecs/wcd-clsh-v2.c
index 1be82113c59a..817d8259758c 100644
--- a/sound/soc/codecs/wcd-clsh-v2.c
+++ b/sound/soc/codecs/wcd-clsh-v2.c
@@ -478,11 +478,10 @@ static int _wcd_clsh_ctrl_set_state(struct wcd_clsh_ctrl *ctrl, int req_state,
wcd_clsh_state_hph_l(ctrl, req_state, is_enable, mode);
break;
case WCD_CLSH_STATE_HPHR:
wcd_clsh_state_hph_r(ctrl, req_state, is_enable, mode);
break;
- break;
case WCD_CLSH_STATE_LO:
wcd_clsh_state_lo(ctrl, req_state, is_enable, mode);
break;
default:
break;
diff --git a/sound/soc/codecs/wl1273.c b/sound/soc/codecs/wl1273.c
index c56b9329240f..d8ced4559bf2 100644
--- a/sound/soc/codecs/wl1273.c
+++ b/sound/soc/codecs/wl1273.c
@@ -309,11 +309,10 @@ static int wl1273_startup(struct snd_pcm_substream *substream,
return -EINVAL;
}
break;
default:
return -EINVAL;
- break;
}
return 0;
}
diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c
index bbe8d782e0af..b1ca64d2f7ea 100644
--- a/sound/soc/intel/skylake/skl-pcm.c
+++ b/sound/soc/intel/skylake/skl-pcm.c
@@ -500,11 +500,10 @@ static int skl_pcm_trigger(struct snd_pcm_substream *substream, int cmd,
*/
ret = skl_decoupled_trigger(substream, cmd);
if (ret < 0)
return ret;
return skl_run_pipe(skl, mconfig->pipe);
- break;
case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
case SNDRV_PCM_TRIGGER_SUSPEND:
case SNDRV_PCM_TRIGGER_STOP:
/*
diff --git a/sound/soc/ti/davinci-mcasp.c b/sound/soc/ti/davinci-mcasp.c
index a6b72ad53b43..2d85cc4c67fb 100644
--- a/sound/soc/ti/davinci-mcasp.c
+++ b/sound/soc/ti/davinci-mcasp.c
@@ -2383,11 +2383,10 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
break;
default:
dev_err(&pdev->dev, "No DMA controller found (%d)\n", ret);
case -EPROBE_DEFER:
goto err;
- break;
}
if (ret) {
dev_err(&pdev->dev, "register PCM failed: %d\n", ret);
goto err;
12
18

20 Oct '20
alsa-project/alsa-lib issue #89 was edited from radiobla:
TL;DR: After upgrading alsa-* packages yesterday, on the next reboot, systemd (apparently, pulseaudio.service) begun to show an error message related to "module-alsa-card" not finding a "working profile" for a USB MIDI device I have connected. Despite the error message, the device is working fine (through "raw MIDI" and also with jack2). Anyway, I want go further and find the root cause of this problem, since it's very annoying to see the Sound Service failing on every reboot.
Here is my pacman.log from yesterday:
**[ALPM] upgraded alsa-topology-conf (1.2.3-1 -> 1.2.4-1)
[ALPM] upgraded alsa-ucm-conf (1.2.3-2 -> 1.2.4-1)
[ALPM] upgraded alsa-lib (1.2.3.2-1 -> 1.2.4-1)
[ALPM] upgraded alsa-utils (1.2.3-2 -> 1.2.4-1)
[ALPM] upgraded lib32-alsa-lib (1.2.3.2-1 -> 1.2.4-1)**
After a reboot, the Sound Service could start, but begun to show an error message.
Taking a look on the systemd logs with
journalctl -xe --user-unit pulseaudio
I found this:
systemd[1027]: Starting Sound Service...
...
**pulseaudio[1037]: Failed to find a working profile.
pulseaudio[1037]: Failed to load module "module-alsa-card" (argument: "device_id="3" name="usb-Roland_A->
pulseaudio[1037]: module-rescue-stream is obsolete and should no longer be loaded. Please remove it from>
systemd[1027]: Started Sound Service.**
I disabled the "load-module module-rescue-streams" on the default.pa, but the other issue persists. They seem not be related, IMO. I wanted to rule out that chance anyway.
By stopping pulseaudio service through systemd and running
pulseaudio -vvv
manually, I got more verbose information.
**E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="1" name="usb-Roland_A-Series_Keyboard-00" card_name="alsa_card.usb-Roland_A-Series_Keyboard-00" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.0/sound/card1 (alsa_card.usb-Roland_A-Series_Keyboard-00) failed to load module.**
Regarding specifically to the following error message...
**E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.**
What does it mean it is not finding a "working profile"? How could I investigate it further?
It worth mentioning that the device (an USB Keyboard Controller) is working
perfectly with jack2. I tested it with an "aseqdump".
$ aseqdump -l
Port Client name Port name
0:0 System Timer
0:1 System Announce
14:0 Midi Through Midi Through Port-0
20:0 A-Series Keyboard A-Series Keyboard Keyboard
$ aseqdump -p20:0
Waiting for data. Press Ctrl+C to end.
Source Event Ch Data
20:0 Note on 0, note 41, velocity 76
20:0 Note on 0, note 40, velocity 82
Although the device is working even with the error message, it's very annoying to see a "failed service" on initialization.
Thanks!
More occurrences of this error were provided on Arch Linux [forum](https://bbs.archlinux.org/viewtopic.php?pid=1932801)
Issue URL : https://github.com/alsa-project/alsa-lib/issues/89
Repository URL: https://github.com/alsa-project/alsa-lib
1
0