xoocoon / hp-15-ew0xxx-snd-fix

DKMS module for fixing the sound on Linux for HP models Envy x360 15-ew0xxx
GNU General Public License v3.0
33 stars 16 forks source link

Broken on 6.2.0-1012-lowlatency #17

Closed Chestnut45 closed 1 month ago

Chestnut45 commented 1 year ago

Hi, first of all thank you very much for the patch. I got this working no problem with my previous install of Ubuntu Studio 22.04.2 LTS on an ew0xxx, but since changing to 23.04 (Kernel 6.2.0-1012-lowlatency), cs35l41_hda.c fails to build.

Originally it was just leftover packages from the previous install / kernel, but after removing those (and rerunning the first setup script), the make.log for snd-hda-scodec-cs35l41 shows a whole lot of incompatible pointer type errors.

Any help is appreciated, and let me know if more information is required. Thanks.

make.log:

DKMS make.log for snd-hda-scodec-cs35l41-0.1 for kernel 6.2.0-1012-lowlatency (x86_64)
Wed 06 Sep 2023 03:22:48 PM ADT
make: Entering directory '/usr/src/linux-headers-6.2.0-1012-lowlatency'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~23.04) 12.3.0
  You are using:           gcc-12 (Ubuntu 12.3.0-1ubuntu1~23.04) 12.3.0
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_bind.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_codec.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_jack.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_auto_parser.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_sysfs.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_controller.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_proc.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_hwdep.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_beep.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_generic.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_realtek.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_cmedia.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_analog.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_sigmatel.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_si3054.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_cirrus.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_cs8409.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_cs8409-tables.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_ca0110.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_ca0132.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_conexant.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_via.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/patch_hdmi.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_eld.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda_i2c.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda_spi.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_cs_dsp_ctl.o
  CC [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/hda_intel.o
  LD [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/snd-hda-codec-cmedia.o
  LD [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/snd-hda-codec-analog.o
  LD [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/snd-hda-codec-idt.o
  LD [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/snd-hda-codec-si3054.o
  LD [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/snd-hda-codec-cirrus.o
  LD [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/snd-hda-codec-ca0110.o
  LD [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/snd-hda-codec-cs8409.o
  LD [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/snd-hda-codec-conexant.o
/var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.c: In function ‘cs35l41_hda_playback_hook’:
/var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.c:518:45: error: passing argument 1 of ‘cs35l41_global_enable’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  518 |                 ret = cs35l41_global_enable(reg, cs35l41->hw_cfg.bst_type, 1);
      |                                             ^~~
      |                                             |
      |                                             struct regmap *
In file included from /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.h:17,
                 from /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.c:20:
./include/sound/cs35l41.h:905:42: note: expected ‘struct device *’ but argument is of type ‘struct regmap *’
  905 | int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
      |                           ~~~~~~~~~~~~~~~^~~
/var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.c:518:65: error: incompatible type for argument 2 of ‘cs35l41_global_enable’
  518 |                 ret = cs35l41_global_enable(reg, cs35l41->hw_cfg.bst_type, 1);
      |                                                  ~~~~~~~~~~~~~~~^~~~~~~~~
      |                                                                 |
      |                                                                 enum cs35l41_boost_type
./include/sound/cs35l41.h:905:62: note: expected ‘struct regmap *’ but argument is of type ‘enum cs35l41_boost_type’
  905 | int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
      |                                               ~~~~~~~~~~~~~~~^~~~~~
/var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.c:518:23: error: too few arguments to function ‘cs35l41_global_enable’
  518 |                 ret = cs35l41_global_enable(reg, cs35l41->hw_cfg.bst_type, 1);
      |                       ^~~~~~~~~~~~~~~~~~~~~
./include/sound/cs35l41.h:905:5: note: declared here
  905 | int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
      |     ^~~~~~~~~~~~~~~~~~~~~
  LD [M]  /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/snd-hda-codec-via.o
/var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.c:524:45: error: passing argument 1 of ‘cs35l41_global_enable’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  524 |                 ret = cs35l41_global_enable(reg, cs35l41->hw_cfg.bst_type, 0);
      |                                             ^~~
      |                                             |
      |                                             struct regmap *
./include/sound/cs35l41.h:905:42: note: expected ‘struct device *’ but argument is of type ‘struct regmap *’
  905 | int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
      |                           ~~~~~~~~~~~~~~~^~~
/var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.c:524:65: error: incompatible type for argument 2 of ‘cs35l41_global_enable’
  524 |                 ret = cs35l41_global_enable(reg, cs35l41->hw_cfg.bst_type, 0);
      |                                                  ~~~~~~~~~~~~~~~^~~~~~~~~
      |                                                                 |
      |                                                                 enum cs35l41_boost_type
./include/sound/cs35l41.h:905:62: note: expected ‘struct regmap *’ but argument is of type ‘enum cs35l41_boost_type’
  905 | int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
      |                                               ~~~~~~~~~~~~~~~^~~~~~
/var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.c:524:23: error: too few arguments to function ‘cs35l41_global_enable’
  524 |                 ret = cs35l41_global_enable(reg, cs35l41->hw_cfg.bst_type, 0);
      |                       ^~~~~~~~~~~~~~~~~~~~~
./include/sound/cs35l41.h:905:5: note: declared here
  905 | int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
      |     ^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.c: In function ‘cs35l41_runtime_suspend’:
/var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.c:676:46: error: passing argument 1 of ‘cs35l41_global_enable’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  676 |                 cs35l41_global_enable(cs35l41->regmap, cs35l41->hw_cfg.bst_type, 0);
      |                                       ~~~~~~~^~~~~~~~
      |                                              |
      |                                              struct regmap *
./include/sound/cs35l41.h:905:42: note: expected ‘struct device *’ but argument is of type ‘struct regmap *’
  905 | int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
      |                           ~~~~~~~~~~~~~~~^~~
/var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.c:676:71: error: incompatible type for argument 2 of ‘cs35l41_global_enable’
  676 |                 cs35l41_global_enable(cs35l41->regmap, cs35l41->hw_cfg.bst_type, 0);
      |                                                        ~~~~~~~~~~~~~~~^~~~~~~~~
      |                                                                       |
      |                                                                       enum cs35l41_boost_type
./include/sound/cs35l41.h:905:62: note: expected ‘struct regmap *’ but argument is of type ‘enum cs35l41_boost_type’
  905 | int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
      |                                               ~~~~~~~~~~~~~~~^~~~~~
/var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.c:676:17: error: too few arguments to function ‘cs35l41_global_enable’
  676 |                 cs35l41_global_enable(cs35l41->regmap, cs35l41->hw_cfg.bst_type, 0);
      |                 ^~~~~~~~~~~~~~~~~~~~~
./include/sound/cs35l41.h:905:5: note: declared here
  905 | int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
      |     ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:260: /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build/cs35l41_hda.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:2026: /var/lib/dkms/snd-hda-scodec-cs35l41/0.1/build] Error 2
make: Leaving directory '/usr/src/linux-headers-6.2.0-1012-lowlatency'