juliagoda / CH341SER

CH341SER driver with fixed bug

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

initialization of ‘unsigned int - Werror=incompatible-pointer-types

JoseBarreto1 opened this issue · comments

When running the make command, I came across the following errors:

error: initialization of ‘unsigned int (*)(struct tty_struct )’ from incompatible pointer type ‘int ()(struct tty_struct )’ [-Werror=incompatible-pointer-types]
1304 | .write_room = ch34x_write_room,
| ^~~~~~~~~~~~~~~~
/home/ti/Downloads/CH341SER-master/ch34x.c:1304:20: note: (near initialization for ‘ch34x_device.write_room’)
/home/ti/Downloads/CH341SER-master/ch34x.c:1305:21: error: initialization of ‘unsigned int (
)(struct tty_struct )’ from incompatible pointer type ‘int ()(struct tty_struct *)’ [-Werror=incompatible-pointer-types]
1305 | .chars_in_buffer = ch34x_chars_in_buffer,
| ^~~~~~~~~~~~~~~~~~~~~
/home/ti/Downloads/CH341SER-master/ch34x.c:1305:21: note: (near initialization for ‘ch34x_device.chars_in_buffer’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:297: /home/ti/Downloads/CH341SER-master/ch34x.o] Erro 1
make[1]: *** [Makefile:1906: /home/ti/Downloads/CH341SER-master] Erro 2
make[1]: Saindo do diretório '/usr/src/linux-headers-5.15.0-69-generic'
make: *** [Makefile:7: default] Erro 2

commented

I got a similar error as this. I simply changed the two lines where ch34x_write_room is called from int to unsigned int (lines 942 and 946 for me respectively). This fixed the error. Same thing for the ch34x_chars_in_buffer (lines 968 and 972 for me respectively).

Your lines may be slightly different but the solution should be the same. Hope this helps!