Portál AbcLinuxu, 12. května 2025 06:25
/usr/src/alsa/alsa-driver-1.0.13/include/adriver.h: In function ‘snd_pci_orig_save_state’:
/usr/src/alsa/alsa-driver-1.0.13/include/adriver.h:1099: error: too many arguments to function ‘pci_save_state’
/usr/src/alsa/alsa-driver-1.0.13/include/adriver.h: In function ‘snd_pci_orig_restore_state’:
/usr/src/alsa/alsa-driver-1.0.13/include/adriver.h:1103: error: too many arguments to function ‘pci_restore_state’
make[4]: *** [/usr/src/alsa/alsa-driver-1.0.13/acore/hwdep.o] Error 1
make[3]: *** [/usr/src/alsa/alsa-driver-1.0.13/acore] Error 2
make[2]: *** [_module_/usr/src/alsa/alsa-driver-1.0.13] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.18-1.2849.fc6-i686'
make: *** [compile] Error 2
Je mozne ze to je tim, ze mam v systemu ovladac 1.0.12rc1, dodavany s distribuci?
grep saved_config_space /usr/src/kernels/2.6.18-1.2849.fc6-i686/include/linux/pci.h
?
adriver.h
vypadá následovně:
1092 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0)
1093 #ifdef CONFIG_PCI
1094 #ifndef CONFIG_HAVE_NEW_PCI_SAVE_STATE
1095 void snd_pci_compat_save_state(struct pci_dev *pci);
1096 void snd_pci_compat_restore_state(struct pci_dev *pci);
1097 static inline void snd_pci_orig_save_state(struct pci_dev *pci, u32 *buffer)
1098 {
1099 pci_save_state(pci, buffer);
1100 }
1101 static inline void snd_pci_orig_restore_state(struct pci_dev *pci, u32 *buffer)
1102 {
1103 pci_restore_state(pci, buffer);
1104 }
....
čili ten "problematický" kód se kompiluje mimo jiné pouze v případě, že není definováno CONFIG_HAVE_NEW_PCI_SAVE_STATE
. To se definuje prostřednictvím skriptu configure
, pokud se úspěšně zkompiluje následující kód:
#include <linux/config.h>
#include <linux/pci.h>
int
main ()
{
struct pci_dev dev;
dev.saved_config_space[0] = 0;
;
return 0;
}
Pokud ne, tak je to undef. Proto se ptám na to pci.h
a config.h
. Experimentálně jsem si smazal config.h
a vyplivlo to stejnou chybovou hlášku. No a nebo je problém uplně někde jinde
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.