snd_hda_macbookpro
snd_hda_macbookpro copied to clipboard
kernel 6
kernel 6 errors: In file included from hda/patch_cs8409.c:1488: hda/patch_cirrus_apple.h: In function ‘cs_8409_apple_boot_init’: hda/patch_cirrus_apple.h:1191:15: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 1191 | hinfo = spec->gen.stream_analog_playback; | ^ hda/patch_cs8409-tables.c:71:32: error: static declaration of ‘cs8409_cs42l42_pincfgs’ follows non-static declaration 71 | static const struct hda_pintbl cs8409_cs42l42_pincfgs[] = { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from hda/patch_cs8409-tables.c:11: hda/patch_cs8409.h:507:32: note: previous declaration of ‘cs8409_cs42l42_pincfgs’ with type ‘const struct hda_pintbl[]’ 507 | extern const struct hda_pintbl cs8409_cs42l42_pincfgs[]; | ^~~~~~~~~~~~~~~~~~~~~~ hda/patch_cs8409-tables.c:282:32: error: static declaration of ‘dolphin_pincfgs’ follows non-static declaration 282 | static const struct hda_pintbl dolphin_pincfgs[] = { | ^~~~~~~~~~~~~~~ hda/patch_cs8409.h:513:32: note: previous declaration of ‘dolphin_pincfgs’ with type ‘const struct hda_pintbl[]’ 513 | extern const struct hda_pintbl dolphin_pincfgs[]; | ^~~~~~~~~~~~~~~
do you plan to integrate your work into the kernel development? Thank you for your hard work.
Thanks for update - the primary error is the pincfgs structures which must have been changed - cs8409_cs42l42_pincfgs is from the original 8409 module for Dell laptops - looks like pincfgs is now only used in patch_cs8409-tables.c and has been updated to static so the extern definition in patch_cs8409.h must have been removed - and the patches probably added it back.
Its unlikely Ill try and get it into the kernel - partly I really dont know enough about the kernel and how to do things - plus it based on reverse engineering (unlike the Dell version which I think was written by Cirrus engineers) - the Apple chips are proprietary versions - which makes integration unlikely supposedly - but mainly I just dont have the time.
I stick with the LTS kernel because Unreal Engine is sensitive to kernel header file changes - which then requires a total rebuild (a good hour on a very reasonable machine).