I have a problem with DAHDI under FEDORA 5.9.8-100.fc32.x86_64.
Everything is fine until :
CC [M] /usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.o
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10292:3: error: ‘const struct file_operations’ has no member named ‘ioctl’
10292 | .ioctl = dahdi_ioctl,
| ^~~~~
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10292:13: error: positional initialization of field in ‘struct’ declared with ‘designated_init’ attribute [-Werror=designated-init]
10292 | .ioctl = dahdi_ioctl,
| ^~~~~~~~~~~
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10292:13: note: (near initialization for ‘dahdi_fops’)
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10292:13: error: initialization of ‘int (*)(struct file , loff_t, loff_t, int)’ {aka ‘int ()(struct file , long long int, long long int, int)’} from incompatible pointer type ‘int ()(struct inode *, struct file , unsigned int, long unsigned int)’ [-Werror=incompatible-pointer-types]
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10292:13: note: (near initialization for ‘dahdi_fops.fsync’)
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10308:3: error: ‘const struct file_operations’ has no member named ‘ioctl’
10308 | .ioctl = dahdi_timer_ioctl,
| ^~~~~
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10308:13: error: positional initialization of field in ‘struct’ declared with ‘designated_init’ attribute [-Werror=designated-init]
10308 | .ioctl = dahdi_timer_ioctl,
| ^~~~~~~~~~~~~~~~~
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10308:13: note: (near initialization for ‘dahdi_timer_fops’)
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10308:13: error: initialization of ‘int ()(struct file , loff_t, loff_t, int)’ {aka ‘int ()(struct file , long long int, long long int, int)’} from incompatible pointer type ‘int ()(struct inode *, struct file , unsigned int, long unsigned int)’ [-Werror=incompatible-pointer-types]
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10308:13: note: (near initialization for ‘dahdi_timer_fops.fsync’)
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10399:3: error: ‘const struct file_operations’ has no member named ‘ioctl’
10399 | .ioctl = nodev_ioctl,
| ^~~~~
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10399:13: error: positional initialization of field in ‘struct’ declared with ‘designated_init’ attribute [-Werror=designated-init]
10399 | .ioctl = nodev_ioctl,
| ^~~~~~~~~~~
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10399:13: note: (near initialization for ‘nodev_fops’)
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10399:13: error: initialization of ‘loff_t ()(struct file , loff_t, int)’ {aka ‘long long int ()(struct file , long long int, int)’} from incompatible pointer type ‘int ()(struct inode *, struct file , unsigned int, long unsigned int)’ [-Werror=incompatible-pointer-types]
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10399:13: note: (near initialization for ‘nodev_fops.llseek’)
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10416:3: error: ‘const struct file_operations’ has no member named ‘ioctl’
10416 | .ioctl = dahdi_ioctl,
| ^~~~~
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10416:13: error: positional initialization of field in ‘struct’ declared with ‘designated_init’ attribute [-Werror=designated-init]
10416 | .ioctl = dahdi_ioctl,
| ^~~~~~~~~~~
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10416:13: note: (near initialization for ‘dahdi_chan_fops’)
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10416:13: error: initialization of ‘int ()(struct file , loff_t, loff_t, int)’ {aka ‘int ()(struct file , long long int, long long int, int)’} from incompatible pointer type ‘int ()(struct inode *, struct file *, unsigned int, long unsigned int)’ [-Werror=incompatible-pointer-types]
/usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.c:10416:13: note: (near initialization for ‘dahdi_chan_fops.fsync’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:283: /usr/src/phones/dahdi-linux.old/drivers/dahdi/dahdi-base.o] Error 1
make[1]: *** [Makefile:1784: /usr/src/phones/dahdi-linux.old/drivers/dahdi] Error 2
make[1]: Leaving directory ‘/usr/src/kernels/5.9.8-100.fc32.x86_64’
I already corrected hostprogs-y -> hostprogs and always to always-y (both obsoletes).
drivers/dahdi/Kbuild:155 hostprogs-y -> hostprogs
drivers/dahdi/xpp/Kbuild:60 hostprogs-y -> hostprogs
drivers/dahdi/xpp/Kbuild:61 always -> always-y
But, for the others problems I don’t know from where they belong.
Any help? Thanks.