On 4/20/22 17:47, Javier Martinez Canillas wrote:
[snip]
When I built this, it appeared to succeed. I used the command "make M=/drivers/staging/fbtft modules". Is this incorrect? For reference this is my first patch so it's highly likely I did this incorrectly.
You are just changing a header file though, did you also enable one of the fbtft drivers as a module to see if those build? But as said, by looking at the code it seems that should build correctly.
It seems that this is the problem with Ian's build test. If I enabled both CONFIG_FB_TFT=y and CONFIG_FB_TFT_AGM1264K_FL=m, I get the following build error (as Uwe pointed out before):
$ make M=drivers/staging/fbtft/ CC [M] drivers/staging/fbtft/fb_agm1264k-fl.o In file included from drivers/staging/fbtft/fb_agm1264k-fl.c:15: drivers/staging/fbtft/fbtft.h:284:1: error: expected ‘,’ or ‘;’ before ‘static’ 284 | static int fbtft_driver_probe_spi(struct spi_device *spi) \ | ^~~~~~ drivers/staging/fbtft/fbtft.h:323:1: note: in expansion of macro ‘FBTFT_SPI_DRIVER’ 323 | FBTFT_SPI_DRIVER(_name, _compatible, _display, NULL) \ | ^~~~~~~~~~~~~~~~ drivers/staging/fbtft/fb_agm1264k-fl.c:435:1: note: in expansion of macro ‘FBTFT_REGISTER_DRIVER’ 435 | FBTFT_REGISTER_DRIVER(DRVNAME, "displaytronic,fb_agm1264k-fl", &display); | ^~~~~~~~~~~~~~~~~~~~~ drivers/staging/fbtft/fbtft.h:302:18: error: ‘fbtft_driver_probe_spi’ undeclared here (not in a function); did you mean ‘fbtft_driver_remove_spi’? 302 | .probe = fbtft_driver_probe_spi, \ | ^~~~~~~~~~~~~~~~~~~~~~ drivers/staging/fbtft/fbtft.h:323:1: note: in expansion of macro ‘FBTFT_SPI_DRIVER’ 323 | FBTFT_SPI_DRIVER(_name, _compatible, _display, NULL) \ | ^~~~~~~~~~~~~~~~ drivers/staging/fbtft/fb_agm1264k-fl.c:435:1: note: in expansion of macro ‘FBTFT_REGISTER_DRIVER’ 435 | FBTFT_REGISTER_DRIVER(DRVNAME, "displaytronic,fb_agm1264k-fl", &display); | ^~~~~~~~~~~~~~~~~~~~~ make[1]: *** [scripts/Makefile.build:288: drivers/staging/fbtft/fb_agm1264k-fl.o] Error 1 make: *** [Makefile:1834: drivers/staging/fbtft] Error 2
while without removing the semicolon like this patch does, it builds correctly:
$ make M=drivers/staging/fbtft/ CC [M] drivers/staging/fbtft/fb_agm1264k-fl.o MODPOST drivers/staging/fbtft/Module.symvers LD [M] drivers/staging/fbtft/fb_agm1264k-fl.ko