Re: [PATCH 1/3] ASoC: codecs: add SN624x SDCA SoundWire driver
Uwe Kleine-König <[email protected]>
| Newsgroups | org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <anwtiVJxKhqlEtNC@monoceros> |
Hello, On Wed, Aug 12, 2026 at 02:59:42PM +0800, qianghua wang wrote: > From: "qianghua.wang" <[email protected]> huh, why is here a . in your real name and in the real From header there isn't? > Add SoundWire SDCA driver for Senary SN624x multi-function codecs > (jack, speaker amp, and DMIC). Extend the Senary MAINTAINERS entry > for the new codec files only; Intel ACPI match tables remain under > INTEL ASoC DRIVERS. > > Signed-off-by: qianghua.wang <[email protected]> > --- > MAINTAINERS | 3 + > sound/soc/codecs/Kconfig | 12 + > sound/soc/codecs/Makefile | 2 + > sound/soc/codecs/sn624x-sdca-sdw.c | 1873 ++++++++++++++++++++++++++++ > sound/soc/codecs/sn624x-sdca.h | 144 +++ > 5 files changed, 2034 insertions(+) > create mode 100644 sound/soc/codecs/sn624x-sdca-sdw.c > create mode 100644 sound/soc/codecs/sn624x-sdca.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index a21c79f3e436..f18e0ed039e9 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -29837,9 +29837,12 @@ F: tools/testing/selftests/cgroup/test_zswap.c > > SENARYTECH AUDIO CODEC DRIVER > M: bo liu <[email protected]> > +M: qianghua.wang <[email protected]> > S: Maintained > T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git > F: sound/hda/codecs/senarytech.c > +F: sound/soc/codecs/sn624x* > +F: sound/soc/sdw_utils/soc_sdw_senary* > > THE REST > M: Linus Torvalds <[email protected]> > diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig > index 4761ff4afb59..06e4a02f0c58 100644 > --- a/sound/soc/codecs/Kconfig > +++ b/sound/soc/codecs/Kconfig > @@ -238,6 +238,7 @@ config SND_SOC_ALL_CODECS > imply SND_SOC_RT715_SDCA_SDW > imply SND_SOC_RT721_SDCA_SDW > imply SND_SOC_RT722_SDCA_SDW > + imply SND_SOC_SN624X_SDCA_SDW > imply SND_SOC_RT1308_SDW > imply SND_SOC_RT1316_SDW > imply SND_SOC_RT1318 > @@ -1968,6 +1969,17 @@ config SND_SOC_RT722_SDCA_SDW > select REGMAP_SOUNDWIRE > select REGMAP_SOUNDWIRE_MBQ > > +config SND_SOC_SN624X_SDCA_SDW > + tristate "Senary SN624x SDCA Codec - SDW" > + depends on SOUNDWIRE > + select REGMAP_SOUNDWIRE > + select REGMAP_SOUNDWIRE_MBQ > + help > + Enable support for Senary SN624x SDCA SoundWire codecs. > + These multi-function devices provide headset jack, speaker > + amplifier, and digital microphone endpoints on the SoundWire > + bus. > + > config SND_SOC_RT715 > tristate > > diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile > index d2a689006d69..44b471d8b8c3 100644 > --- a/sound/soc/codecs/Makefile > +++ b/sound/soc/codecs/Makefile > @@ -285,6 +285,7 @@ snd-soc-rt715-y := rt715.o rt715-sdw.o > snd-soc-rt715-sdca-y := rt715-sdca.o rt715-sdca-sdw.o > snd-soc-rt721-sdca-y := rt721-sdca.o rt721-sdca-sdw.o > snd-soc-rt722-sdca-y := rt722-sdca.o rt722-sdca-sdw.o > +snd-soc-sn624x-sdca-y := sn624x-sdca-sdw.o > snd-soc-rt9120-y := rt9120.o > snd-soc-rt9123-y := rt9123.o > snd-soc-rt9123p-y := rt9123p.o > @@ -726,6 +727,7 @@ obj-$(CONFIG_SND_SOC_RT715) += snd-soc-rt715.o > obj-$(CONFIG_SND_SOC_RT715_SDCA_SDW) += snd-soc-rt715-sdca.o > obj-$(CONFIG_SND_SOC_RT721_SDCA_SDW) += snd-soc-rt721-sdca.o > obj-$(CONFIG_SND_SOC_RT722_SDCA_SDW) += snd-soc-rt722-sdca.o > +obj-$(CONFIG_SND_SOC_SN624X_SDCA_SDW) += snd-soc-sn624x-sdca.o > obj-$(CONFIG_SND_SOC_RT9120) += snd-soc-rt9120.o > obj-$(CONFIG_SND_SOC_RT9123) += snd-soc-rt9123.o > obj-$(CONFIG_SND_SOC_RT9123P) += snd-soc-rt9123p.o > diff --git a/sound/soc/codecs/sn624x-sdca-sdw.c b/sound/soc/codecs/sn624x-sdca-sdw.c > new file mode 100644 > index 000000000000..5129e883cddc > --- /dev/null > +++ b/sound/soc/codecs/sn624x-sdca-sdw.c > @@ -0,0 +1,1873 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +// > +// sn624x-sdw-sdca.c -- SN624X SDCA ALSA SoC SoundWire audio driver > +// > +// Copyright(c) 2021 Realtek Semiconductor Corp. > +// Copyright(c) 2025 Senary Semiconductor Corp. > +// > + > +#include <linux/atomic.h> > +#include <linux/bitops.h> > +#include <linux/delay.h> > +#include <linux/find.h> > +#include <linux/device.h> > +#include <linux/errno.h> > +#include <linux/jiffies.h> > +#include <linux/mod_devicetable.h> > +#include <linux/module.h> > +#include <linux/pm.h> > +#include <linux/pm_runtime.h> > +#include <linux/regmap.h> > +#include <linux/soundwire/sdw.h> > +#include <linux/soundwire/sdw_registers.h> > +#include <linux/soundwire/sdw_type.h> Please rely on linux/soundwire/sdw.h to provide sdw_device_id and drop including linux/mod_devicetable.h. mod_devicetable.h will go away soon. > [...] > +static const struct sdw_device_id sn624x_sdca_id[] = { > + SDW_SLAVE_ENTRY_EXT(0x0496, 0x6242, 0x3, 0x1, 0), > + SDW_SLAVE_ENTRY_EXT(0x0496, 0x6244, 0x3, 0x1, 0), > + SDW_SLAVE_ENTRY_EXT(0x0496, 0x6247, 0x3, 0x1, 0), > + {}, Please make this { } (i.e. use a space between the braces and no trailing comma) > +}; > +MODULE_DEVICE_TABLE(sdw, sn624x_sdca_id); Best regards Uwe
signature.asc
(application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEP4GsaTp6HlmJrf7Tj4D7WH0S/k4FAmp8Ll8ACgkQj4D7WH0S /k4bPwf+ODbODuL8IVtpMZDc5Q6XAWMQr5Oq1wSNblSV09K+kUcwx+4+WHylLUv5 hwxRZOA0ytOzh5zBQX+RPHAzmg7sgRA1eKsi2CmTQNowtbOh57oBARn/LRoDEWQP N0RoNBsETX2wEdFCx/mrVPTvFLIxp7maMzBpg8ArLjuoTO+aDCzzPwiT+IZUXsD9 nl/0Qurdf5rl2T4yuzTKEGC3mRuousHgn1KofwP0bjbPXSYyFi5N33FcjfG5/Wjr TEFgNF1C0xdBg3nsUVB0I9oss+ogklFpAN/8zCccSO4oMeyaYqfGMVVmkPPjCdRS +c1GN8dBswElI22g1NkmCgbfuxv49A== =HZwK -----END PGP SIGNATURE-----