From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: David Owens <daowens01@gmail.com>,
David Owens <dowens@precisionplanting.com>,
Mark Brown <broonie@kernel.org>, Sasha Levin <sashal@kernel.org>,
peter.ujfalusi@gmail.com, jarkko.nikula@bitmer.com,
lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com,
alsa-devel@alsa-project.org, linux-omap@vger.kernel.org
Subject: [PATCH AUTOSEL 5.18 36/54] ASoC: ti: omap-mcbsp: duplicate sysfs error
Date: Tue, 19 Jul 2022 21:10:13 -0400 [thread overview]
Message-ID: <20220720011031.1023305-36-sashal@kernel.org> (raw)
In-Reply-To: <20220720011031.1023305-1-sashal@kernel.org>
From: David Owens <daowens01@gmail.com>
[ Upstream commit f0d96937d31c4615a6418e4bed5cee50a952040e ]
Convert to managed versions of sysfs and clk allocation to simplify
unbinding and error handling in probe. Managed sysfs node
creation specifically addresses the following error seen the second time
probe is attempted after sdma_pcm_platform_register() previously requsted
probe deferral:
sysfs: cannot create duplicate filename '/devices/platform/68000000.ocp/49022000.mcbsp/max_tx_thres'
Signed-off-by: David Owens <dowens@precisionplanting.com>
Link: https://lore.kernel.org/r/20220620183744.3176557-1-dowens@precisionplanting.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/ti/omap-mcbsp-priv.h | 2 --
sound/soc/ti/omap-mcbsp-st.c | 14 ++------------
sound/soc/ti/omap-mcbsp.c | 19 ++-----------------
3 files changed, 4 insertions(+), 31 deletions(-)
diff --git a/sound/soc/ti/omap-mcbsp-priv.h b/sound/soc/ti/omap-mcbsp-priv.h
index 7865cda4bf0a..da519ea1f303 100644
--- a/sound/soc/ti/omap-mcbsp-priv.h
+++ b/sound/soc/ti/omap-mcbsp-priv.h
@@ -316,8 +316,6 @@ static inline int omap_mcbsp_read(struct omap_mcbsp *mcbsp, u16 reg,
/* Sidetone specific API */
int omap_mcbsp_st_init(struct platform_device *pdev);
-void omap_mcbsp_st_cleanup(struct platform_device *pdev);
-
int omap_mcbsp_st_start(struct omap_mcbsp *mcbsp);
int omap_mcbsp_st_stop(struct omap_mcbsp *mcbsp);
diff --git a/sound/soc/ti/omap-mcbsp-st.c b/sound/soc/ti/omap-mcbsp-st.c
index 0bc7d26c660a..7e8179cae92e 100644
--- a/sound/soc/ti/omap-mcbsp-st.c
+++ b/sound/soc/ti/omap-mcbsp-st.c
@@ -347,7 +347,7 @@ int omap_mcbsp_st_init(struct platform_device *pdev)
if (!st_data)
return -ENOMEM;
- st_data->mcbsp_iclk = clk_get(mcbsp->dev, "ick");
+ st_data->mcbsp_iclk = devm_clk_get(mcbsp->dev, "ick");
if (IS_ERR(st_data->mcbsp_iclk)) {
dev_warn(mcbsp->dev,
"Failed to get ick, sidetone might be broken\n");
@@ -359,7 +359,7 @@ int omap_mcbsp_st_init(struct platform_device *pdev)
if (!st_data->io_base_st)
return -ENOMEM;
- ret = sysfs_create_group(&mcbsp->dev->kobj, &sidetone_attr_group);
+ ret = devm_device_add_group(mcbsp->dev, &sidetone_attr_group);
if (ret)
return ret;
@@ -368,16 +368,6 @@ int omap_mcbsp_st_init(struct platform_device *pdev)
return 0;
}
-void omap_mcbsp_st_cleanup(struct platform_device *pdev)
-{
- struct omap_mcbsp *mcbsp = platform_get_drvdata(pdev);
-
- if (mcbsp->st_data) {
- sysfs_remove_group(&mcbsp->dev->kobj, &sidetone_attr_group);
- clk_put(mcbsp->st_data->mcbsp_iclk);
- }
-}
-
static int omap_mcbsp_st_info_volsw(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo)
{
diff --git a/sound/soc/ti/omap-mcbsp.c b/sound/soc/ti/omap-mcbsp.c
index 4479d74f0a45..9933b33c80ca 100644
--- a/sound/soc/ti/omap-mcbsp.c
+++ b/sound/soc/ti/omap-mcbsp.c
@@ -702,8 +702,7 @@ static int omap_mcbsp_init(struct platform_device *pdev)
mcbsp->max_tx_thres = max_thres(mcbsp) - 0x10;
mcbsp->max_rx_thres = max_thres(mcbsp) - 0x10;
- ret = sysfs_create_group(&mcbsp->dev->kobj,
- &additional_attr_group);
+ ret = devm_device_add_group(mcbsp->dev, &additional_attr_group);
if (ret) {
dev_err(mcbsp->dev,
"Unable to create additional controls\n");
@@ -711,16 +710,7 @@ static int omap_mcbsp_init(struct platform_device *pdev)
}
}
- ret = omap_mcbsp_st_init(pdev);
- if (ret)
- goto err_st;
-
- return 0;
-
-err_st:
- if (mcbsp->pdata->buffer_size)
- sysfs_remove_group(&mcbsp->dev->kobj, &additional_attr_group);
- return ret;
+ return omap_mcbsp_st_init(pdev);
}
/*
@@ -1431,11 +1421,6 @@ static int asoc_mcbsp_remove(struct platform_device *pdev)
if (cpu_latency_qos_request_active(&mcbsp->pm_qos_req))
cpu_latency_qos_remove_request(&mcbsp->pm_qos_req);
- if (mcbsp->pdata->buffer_size)
- sysfs_remove_group(&mcbsp->dev->kobj, &additional_attr_group);
-
- omap_mcbsp_st_cleanup(pdev);
-
return 0;
}
--
2.35.1
next prev parent reply other threads:[~2022-07-20 1:14 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-20 1:09 [PATCH AUTOSEL 5.18 01/54] Revert "evm: Fix memleak in init_desc" Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 02/54] ARM: rockchip: Add missing of_node_put() in rockchip_suspend_init() Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 03/54] x86/kvm/vmx: Make noinstr clean Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 04/54] x86/cpufeatures: Move RETPOLINE flags to word 11 Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 05/54] x86/retpoline: Cleanup some #ifdefery Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 06/54] x86/retpoline: Swizzle retpoline thunk Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 07/54] x86/retpoline: Use -mfunction-return Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 08/54] x86,objtool: Create .return_sites Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 09/54] x86/kvm: Fix SETcc emulation for return thunks Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 10/54] x86/vsyscall_emu/64: Don't use RET in vsyscall emulation Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 11/54] x86/sev: Avoid using __x86_return_thunk Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 12/54] objtool: Treat .text.__x86.* as noinstr Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 13/54] x86/bugs: Report AMD retbleed vulnerability Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 14/54] x86/bugs: Add AMD retbleed= boot parameter Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 15/54] x86/bugs: Enable STIBP for JMP2RET Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 16/54] x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 17/54] x86/bugs: Optimize SPEC_CTRL MSR writes Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 18/54] x86/bugs: Split spectre_v2_select_mitigation() and spectre_v2_user_select_mitigation() Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 19/54] x86/bugs: Report Intel retbleed vulnerability Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 20/54] objtool: Update Retpoline validation Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 21/54] x86/xen: Rename SYS* entry points Sasha Levin
2022-07-20 1:09 ` [PATCH AUTOSEL 5.18 22/54] x86/bugs: Do IBPB fallback check only once Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 23/54] x86/cpu/amd: Add Spectral Chicken Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 24/54] x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 25/54] KVM: VMX: Flatten __vmx_vcpu_run() Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 26/54] KVM: VMX: Convert launched argument to flags Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 27/54] KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 28/54] tty: Add N_CAN327 line discipline ID for ELM327 based CAN driver Sasha Levin
2022-07-25 5:35 ` Jiri Slaby
2022-07-25 7:00 ` Greg Kroah-Hartman
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 29/54] wifi: mac80211: check skb_shared in ieee80211_8023_xmit() Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 30/54] wifi: mac80211: do not wake queues on a vif that is being stopped Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 31/54] wifi: cfg80211: Allow P2P client interface to indicate port authorization Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 32/54] drm: panel-orientation-quirks: Add quirk for the Lenovo Yoga Tablet 2 830 Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 33/54] nilfs2: fix incorrect masking of permission flags for symlinks Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 34/54] xdp: Fix spurious packet loss in generic XDP TX path Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 35/54] drm/ssd130x: Fix pre-charge period setting Sasha Levin
2022-07-20 1:10 ` Sasha Levin [this message]
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 37/54] ASoC: tlv320adcx140: Fix tx_mask check Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 38/54] ASoC: wcd9335: Use int array instead of bitmask for TX mixers Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 39/54] ASoC: wm5102: Fix event generation for output compensation Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 40/54] ASoC: wm8998: Fix event generation for input mux Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 41/54] ASoC: cs47l92: Fix event generation for OUT1 demux Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 42/54] ASoC: arizona: Update arizona_aif_cfg_changed to use RX_BCLK_RATE Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 43/54] ASoC: qdsp6: fix potential memory leak in q6apm_get_audioreach_graph() Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 44/54] ASoC: rt5640: Fix the wrong state of JD1 and JD2 Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 45/54] scsi: target: Fix WRITE_SAME No Data Buffer crash Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 46/54] x86/kexec: Disable RET on kexec Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 47/54] platform/x86: gigabyte-wmi: add support for B660I AORUS PRO DDR4 Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 48/54] platform/x86: asus-wmi: Add key mappings Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 49/54] platform/x86: intel_atomisp2_led: Also turn off the always-on camera LED on the Asus T100TAF Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 50/54] scsi: ufs: core: Fix missing clk change notification on host reset Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 51/54] scsi: pm80xx: Fix 'Unknown' max/min linkrate Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 52/54] scsi: pm80xx: Set stopped phy's linkrate to Disabled Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 53/54] KVM: nVMX: Always enable TSC scaling for L2 when it was enabled for L1 Sasha Levin
2022-07-20 1:10 ` [PATCH AUTOSEL 5.18 54/54] ubsan: disable UBSAN_DIV_ZERO for clang Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220720011031.1023305-36-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=daowens01@gmail.com \
--cc=dowens@precisionplanting.com \
--cc=jarkko.nikula@bitmer.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=perex@perex.cz \
--cc=peter.ujfalusi@gmail.com \
--cc=stable@vger.kernel.org \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox