Re: [PATCH v3 1/3] ASoC: codecs: add SN624x SDCA SoundWire driver

Mark Brown <[email protected]>
Newsgroups gmane.linux.sound
Message-ID <[email protected]>
On Fri, Aug 14, 2026 at 10:56:48AM +0800, Qianghua Wang wrote:
> Add a SoundWire SDCA driver for Senary SN624x multi-function codecs
> (jack, speaker amp, and DMIC). Program SDCA SampleFreqIndex in
> hw_params, keep SDCA jack IRQs masked with poll-based detection, and
> extend the Senary MAINTAINERS entry for the new codec files only.

Actually this breaks the build, it needs updates for current APIs:

/build/stage/linux/sound/soc/codecs/sn624x-sdca-sdw.c:412:44: error: passing argument 1 of ‘sdca_asoc_pde_poll_actual_ps’ from incompatible pointer type [-Wincompatible-pointer-types]
  412 |         ret = sdca_asoc_pde_poll_actual_ps(dev, regmap, fun, ent,
      |                                            ^~~
      |                                            |
      |                                            struct device *
In file included from /build/stage/linux/sound/soc/codecs/sn624x-sdca-sdw.c:26:
/build/stage/linux/include/sound/sdca_asoc.h:110:49: note: expected ‘struct regmap *’ but argument is of type ‘struct device *’
  110 | int sdca_asoc_pde_poll_actual_ps(struct regmap *regmap,
      |                                  ~~~~~~~~~~~~~~~^~~~~~
/build/stage/linux/sound/soc/codecs/sn624x-sdca-sdw.c:412:49: error: passing argument 2 of ‘sdca_asoc_pde_poll_actual_ps’ makes integer from pointer without a cast [-Wint-conversion]
  412 |         ret = sdca_asoc_pde_poll_actual_ps(dev, regmap, fun, ent,
      |                                                 ^~~~~~
      |                                                 |
      |                                                 struct regmap *
/build/stage/linux/include/sound/sdca_asoc.h:111:38: note: expected ‘int’ but argument is of type ‘struct regmap *’
  111 |                                  int function_id, int entity_id,
      |                                  ~~~~^~~~~~~~~~~
/build/stage/linux/sound/soc/codecs/sn624x-sdca-sdw.c:413:53: error: passing argument 6 of ‘sdca_asoc_pde_poll_actual_ps’ makes pointer from integer without a cast [-Wint-conversion]
  413 |                                            from_ps, ps,
      |                                                     ^~
      |                                                     |
      |                                                     unsigned int
/build/stage/linux/include/sound/sdca_asoc.h:113:63: note: expected ‘const struct sdca_pde_delay *’ but argument is of type ‘unsigned int’
  113 |                                  const struct sdca_pde_delay *pde_delays,
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/build/stage/linux/sound/soc/codecs/sn624x-sdca-sdw.c:414:44: error: passing argument 7 of ‘sdca_asoc_pde_poll_actual_ps’ makes integer from pointer without a cast [-Wint-conversion]
  414 |                                            delays, ARRAY_SIZE(delays));
      |                                            ^~~~~~
      |                                            |
      |                                            const struct sdca_pde_delay *
/build/stage/linux/include/sound/sdca_asoc.h:114:38: note: expected ‘int’ but argument is of type ‘const struct sdca_pde_delay *’
  114 |                                  int num_delays);
      |                                  ~~~~^~~~~~~~~~
/build/stage/linux/sound/soc/codecs/sn624x-sdca-sdw.c:412:15: error: too many arguments to function ‘sdca_asoc_pde_poll_actual_ps’
  412 |         ret = sdca_asoc_pde_poll_actual_ps(dev, regmap, fun, ent,
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/include/sound/sdca_asoc.h:110:5: note: declared here
  110 | int sdca_asoc_pde_poll_actual_ps(struct regmap *regmap,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/codecs/sn624x-sdca-sdw.c: In function ‘sn624x_parse_sdca_functions’:
/build/stage/linux/sound/soc/codecs/sn624x-sdca-sdw.c:746:48: error: passing argument 2 of ‘sdca_parse_function’ from incompatible pointer type [-Wincompatible-pointer-types]
  746 |                 ret = sdca_parse_function(dev, slave, fn);
      |                                                ^~~~~
      |                                                |
      |                                                struct sdw_slave *
In file included from /build/stage/linux/sound/soc/codecs/sn624x-sdca-sdw.c:27:
/build/stage/linux/include/sound/sdca_function.h:1465:72: note: expected ‘struct sdca_function_data *’ but argument is of type ‘struct sdw_slave *’
 1465 | int sdca_parse_function(struct device *dev, struct sdca_function_data *function);
      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/build/stage/linux/sound/soc/codecs/sn624x-sdca-sdw.c:746:23: error: too many arguments to function ‘sdca_parse_function’
  746 |                 ret = sdca_parse_function(dev, slave, fn);
      |                       ^~~~~~~~~~~~~~~~~~~
/build/stage/linux/include/sound/sdca_function.h:1465:5: note: declared here
 1465 | int sdca_parse_function(struct device *dev, struct sdca_function_data *function);
      |     ^~~~~~~~~~~~~~~~~~~
signature.asc (application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE-----

iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmp/aLoACgkQJNaLcl1U
h9AGbAf/X/b12dgsLHpOouQRvVkIwjeT3UuQcp+m0+IhqFUg6ANSz6bSQLzcx08P
R3/g8PlbEt84ZjM5L+MCFDPjcErNnZ3oetneuT9bwDa2WtsUthoAGa3Gt+boRWem
Tew3+0GB/mnCcdNaG44OA5Gikj+dD56Mii7/nU92OWI02dZ+QDZK4v8t4tX1NSb/
us7cdZ6mJra52U6H+Tk9FN1TqkksKnRQgyEriAjJsMU5bFuZCZGuQpAgAS5BVN+q
pYG4hjLYFuDKtD9LQjJnHQTu37sxvkcwLFT6d42AY5jv/y9kxX1RFM/sYIcsdnBv
no1BC2rnKl9JMDlvSfeVUP+VnKlHog==
=F94r
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.