forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
详见日志(需要进行移植适配):
CC [M] drivers/spi/spi-phytium.o
CC [M] drivers/spi/spi-phytium-pci.o
CC [M] drivers/spi/spi-phytium-dma.o
In file included from ./include/linux/bits.h:6,
from ./include/linux/bitops.h:6,
from ./include/linux/kernel.h:23,
from ./include/linux/clk.h:13,
from drivers/spi/spi-phytium.c:11:
drivers/spi/spi-phytium.c: In function ‘phytium_spi_set_cs’:
./include/vdso/bits.h:7:40: error: invalid operands to binary << (have ‘long unsigned int’ and ‘u8 *’ {aka ‘unsigned char *’})
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
| |
| u8 * {aka unsigned char *}
drivers/spi/spi-phytium.c:56:42: note: in expansion of macro ‘BIT’
56 | phytium_writel(fts, SER, BIT(spi->chip_select));
| ^~~
drivers/spi/spi-phytium.c:59:63: error: invalid operands to binary << (have ‘int’ and ‘u8 *’ {aka ‘unsigned char *’})
59 | phytium_writel(fts, GCSR, origin | (1 << spi->chip_select));
| ^~
| |
| u8 * {aka unsigned char *}
drivers/spi/spi-phytium.c:64:64: error: invalid operands to binary << (have ‘int’ and ‘u8 *’ {aka ‘unsigned char *’})
64 | phytium_writel(fts, GCSR, origin & ~(1 << spi->chip_select));
| ^~
| |
| u8 * {aka unsigned char *}
In file included from ./include/linux/device.h:15,
from ./include/linux/platform_device.h:13,
from drivers/spi/spi-phytium.c:17:
drivers/spi/spi-phytium.c: In function ‘phytium_spi_check_status’:
drivers/spi/spi-phytium.c:133:37: error: invalid use of undefined type ‘struct spi_master’
133 | dev_err(&fts->master->dev, "RX FIFO overflow detected\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:133:17: note: in expansion of macro ‘dev_err’
133 | dev_err(&fts->master->dev, "RX FIFO overflow detected\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:138:37: error: invalid use of undefined type ‘struct spi_master’
138 | dev_err(&fts->master->dev, "RX FIFO underflow detected\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:138:17: note: in expansion of macro ‘dev_err’
138 | dev_err(&fts->master->dev, "RX FIFO underflow detected\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:143:37: error: invalid use of undefined type ‘struct spi_master’
143 | dev_err(&fts->master->dev, "TX FIFO overflow detected\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:143:17: note: in expansion of macro ‘dev_err’
143 | dev_err(&fts->master->dev, "TX FIFO overflow detected\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:150:32: error: invalid use of undefined type ‘struct spi_master’
150 | if (fts->master->cur_msg)
| ^~
drivers/spi/spi-phytium.c:151:36: error: invalid use of undefined type ‘struct spi_master’
151 | fts->master->cur_msg->status = ret;
| ^~
drivers/spi/spi-phytium.c: In function ‘int_error_stop’:
drivers/spi/spi-phytium.c:161:29: error: invalid use of undefined type ‘struct spi_master’
161 | dev_err(&fts->master->dev, "%s\n", msg);
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:161:9: note: in expansion of macro ‘dev_err’
161 | dev_err(&fts->master->dev, "%s\n", msg);
| ^~~~~~~
drivers/spi/spi-phytium.c:162:20: error: invalid use of undefined type ‘struct spi_master’
162 | fts->master->cur_msg->status = -EIO;
| ^~
drivers/spi/spi-phytium.c:163:42: error: passing argument 1 of ‘spi_finalize_current_transfer’ from incompatible pointer type [-Werror=incompatible-pointer-types]
163 | spi_finalize_current_transfer(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
In file included from drivers/spi/spi-phytium.c:19:
./include/linux/spi/spi.h:821:66: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
821 | extern void spi_finalize_current_transfer(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘interrupt_transfer’:
drivers/spi/spi-phytium.c:179:50: error: passing argument 1 of ‘spi_finalize_current_transfer’ from incompatible pointer type [-Werror=incompatible-pointer-types]
179 | spi_finalize_current_transfer(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:821:66: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
821 | extern void spi_finalize_current_transfer(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_irq’:
drivers/spi/spi-phytium.c:194:62: error: ‘controller’ undeclared (first use in this function); did you mean ‘spi_controller’?
194 | struct phytium_spi *fts = spi_controller_get_devdata(controller);
| ^~~~~~~~~~
| spi_controller
drivers/spi/spi-phytium.c:194:62: note: each undeclared identifier is reported only once for each function it appears in
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_init’:
drivers/spi/spi-phytium-dma.c:79:20: error: invalid use of undefined type ‘struct spi_master’
79 | fts->master->dma_rx = fts->rxchan;
| ^~
drivers/spi/spi-phytium.c:200:20: error: invalid use of undefined type ‘struct spi_master’
200 | if (!master->cur_msg) {
| ^~
drivers/spi/spi-phytium-dma.c:80:20: error: invalid use of undefined type ‘struct spi_master’
80 | fts->master->dma_tx = fts->txchan;
| ^~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_transfer_one’:
drivers/spi/spi-phytium.c:225:62: error: passing argument 1 of ‘spi_controller_get_devdata’ from incompatible pointer type [-Werror=incompatible-pointer-types]
225 | struct phytium_spi *fts = spi_controller_get_devdata(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:780:71: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
780 | static inline void *spi_controller_get_devdata(struct spi_controller *ctlr)
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
In file included from ./include/linux/device.h:15,
from ./include/linux/dma-mapping.h:8,
from drivers/spi/spi-phytium-dma.c:8:
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_wait’:
drivers/spi/spi-phytium-dma.c:146:37: error: invalid use of undefined type ‘struct spi_master’
146 | dev_err(&fts->master->cur_msg->spi->dev,
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium-dma.c:146:17: note: in expansion of macro ‘dev_err’
146 | dev_err(&fts->master->cur_msg->spi->dev,
| ^~~~~~~
drivers/spi/spi-phytium.c:281:19: error: invalid use of undefined type ‘struct spi_master’
281 | if (master->can_dma && master->can_dma(master, spi, transfer))
| ^~
drivers/spi/spi-phytium.c:281:38: error: invalid use of undefined type ‘struct spi_master’
281 | if (master->can_dma && master->can_dma(master, spi, transfer))
| ^~
drivers/spi/spi-phytium.c:282:41: error: invalid use of undefined type ‘struct spi_master’
282 | fts->dma_mapped = master->cur_msg_mapped;
| ^~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_wait_tx_done’:
drivers/spi/spi-phytium-dma.c:190:37: error: invalid use of undefined type ‘struct spi_master’
190 | dev_err(&fts->master->dev, "Tx hanged up\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium-dma.c:190:17: note: in expansion of macro ‘dev_err’
190 | dev_err(&fts->master->dev, "Tx hanged up\n");
| ^~~~~~~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_wait_rx_done’:
drivers/spi/spi-phytium.c: In function ‘phytium_spi_handle_err’:
drivers/spi/spi-phytium.c:318:62: error: passing argument 1 of ‘spi_controller_get_devdata’ from incompatible pointer type [-Werror=incompatible-pointer-types]
318 | struct phytium_spi *fts = spi_controller_get_devdata(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:780:71: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
780 | static inline void *spi_controller_get_devdata(struct spi_controller *ctlr)
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium-dma.c:283:37: error: invalid use of undefined type ‘struct spi_master’
283 | dev_err(&fts->master->dev, "Rx hanged up, nents = %d\n", nents);
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium-dma.c:283:17: note: in expansion of macro ‘dev_err’
283 | dev_err(&fts->master->dev, "Rx hanged up, nents = %d\n", nents);
| ^~~~~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_setup’:
drivers/spi/spi-phytium.c:330:40: error: ‘struct spi_device’ has no member named ‘master’
330 | struct spi_master *master = spi->master;
| ^~
drivers/spi/spi-phytium.c:331:62: error: passing argument 1 of ‘spi_controller_get_devdata’ from incompatible pointer type [-Werror=incompatible-pointer-types]
331 | struct phytium_spi *fts = spi_controller_get_devdata(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:780:71: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
780 | static inline void *spi_controller_get_devdata(struct spi_controller *ctlr)
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_add_host’:
drivers/spi/spi-phytium.c:400:16: error: assignment to ‘struct spi_master *’ from incompatible pointer type ‘struct spi_controller *’ [-Werror=incompatible-pointer-types]
400 | master = spi_alloc_master(dev, 0);
| ^
drivers/spi/spi-phytium.c:415:15: error: invalid use of undefined type ‘struct spi_master’
415 | master->use_gpio_descriptors = true;
| ^~
drivers/spi/spi-phytium.c:416:15: error: invalid use of undefined type ‘struct spi_master’
416 | master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LOOP;
| ^~
drivers/spi/spi-phytium.c:417:15: error: invalid use of undefined type ‘struct spi_master’
417 | master->bits_per_word_mask = SPI_BPW_MASK(8) | SPI_BPW_MASK(16);
| ^~
drivers/spi/spi-phytium.c:418:15: error: invalid use of undefined type ‘struct spi_master’
418 | master->bus_num = fts->bus_num;
| ^~
drivers/spi/spi-phytium.c:419:15: error: invalid use of undefined type ‘struct spi_master’
419 | master->num_chipselect = fts->num_cs;
| ^~
drivers/spi/spi-phytium.c:420:15: error: invalid use of undefined type ‘struct spi_master’
420 | master->setup = phytium_spi_setup;
| ^~
drivers/spi/spi-phytium.c:421:15: error: invalid use of undefined type ‘struct spi_master’
421 | master->cleanup = phytium_spi_cleanup;
| ^~
drivers/spi/spi-phytium.c:422:15: error: invalid use of undefined type ‘struct spi_master’
422 | master->set_cs = phytium_spi_set_cs;
| ^~
drivers/spi/spi-phytium.c:423:15: error: invalid use of undefined type ‘struct spi_master’
423 | master->transfer_one = phytium_spi_transfer_one;
| ^~
drivers/spi/spi-phytium.c:424:15: error: invalid use of undefined type ‘struct spi_master’
424 | master->handle_err = phytium_spi_handle_err;
| ^~
drivers/spi/spi-phytium.c:425:15: error: invalid use of undefined type ‘struct spi_master’
425 | master->max_speed_hz = fts->max_freq;
| ^~
drivers/spi/spi-phytium.c:426:15: error: invalid use of undefined type ‘struct spi_master’
426 | master->dev.of_node = dev->of_node;
| ^~
drivers/spi/spi-phytium.c:427:15: error: invalid use of undefined type ‘struct spi_master’
427 | master->dev.fwnode = dev->fwnode;
| ^~
drivers/spi/spi-phytium.c:428:15: error: invalid use of undefined type ‘struct spi_master’
428 | master->flags = SPI_CONTROLLER_GPIO_SS;
| ^~
drivers/spi/spi-phytium.c:437:31: error: invalid use of undefined type ‘struct spi_master’
437 | master->can_dma = fts->dma_ops->can_dma;
| ^~
drivers/spi/spi-phytium.c:438:31: error: invalid use of undefined type ‘struct spi_master’
438 | master->flags |= SPI_CONTROLLER_MUST_TX;
| ^~
drivers/spi/spi-phytium.c:442:36: error: passing argument 1 of ‘spi_controller_set_devdata’ from incompatible pointer type [-Werror=incompatible-pointer-types]
442 | spi_controller_set_devdata(master, fts);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:785:70: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
785 | static inline void spi_controller_set_devdata(struct spi_controller *ctlr,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c:443:39: error: passing argument 1 of ‘spi_register_controller’ from incompatible pointer type [-Werror=incompatible-pointer-types]
443 | ret = spi_register_controller(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:899:59: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
899 | extern int spi_register_controller(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c:445:32: error: invalid use of undefined type ‘struct spi_master’
445 | dev_err(&master->dev, "problem registering spi master\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:445:17: note: in expansion of macro ‘dev_err’
445 | dev_err(&master->dev, "problem registering spi master\n");
| ^~~~~~~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_transfer’:
drivers/spi/spi-phytium-dma.c:514:24: error: invalid use of undefined type ‘struct spi_master’
514 | if (fts->master->cur_msg->status == -EINPROGRESS) {
| ^~
drivers/spi/spi-phytium-dma.c:520:40: error: invalid use of undefined type ‘struct spi_master’
520 | if (xfer->rx_buf && fts->master->cur_msg->status == -EINPROGRESS)
| ^~
drivers/spi/spi-phytium-pci.c: In function ‘spi_suspend’:
drivers/spi/spi-phytium-pci.c:92:62: error: ‘controller’ undeclared (first use in this function); did you mean ‘spi_controller’?
92 | struct phytium_spi *fts = spi_controller_get_devdata(controller);
| ^~~~~~~~~~
| spi_controller
drivers/spi/spi-phytium-pci.c:92:62: note: each undeclared identifier is reported only once for each function it appears in
drivers/spi/spi-phytium-pci.c:91:28: error: unused variable ‘master’ [-Werror=unused-variable]
91 | struct spi_master *master = dev_get_drvdata(dev);
| ^~~~~~
drivers/spi/spi-phytium-pci.c: In function ‘spi_resume’:
drivers/spi/spi-phytium-pci.c:100:62: error: ‘spi_controller’ undeclared (first use in this function)
100 | struct phytium_spi *fts = spi_controller_get_devdata(spi_controller);
| ^~~~~~~~~~~~~~
drivers/spi/spi-phytium-pci.c:99:28: error: unused variable ‘master’ [-Werror=unused-variable]
99 | struct spi_master *master = dev_get_drvdata(dev);
| ^~~~~~
drivers/spi/spi-phytium.c:457:9: error: implicit declaration of function ‘spi_master_put’; did you mean ‘spi_dev_put’? [-Werror=implicit-function-declaration]
457 | spi_master_put(master);
| ^~~~~~~~~~~~~~
| spi_dev_put
drivers/spi/spi-phytium.c: In function ‘phytium_spi_remove_host’:
drivers/spi/spi-phytium.c:468:38: error: passing argument 1 of ‘spi_unregister_controller’ from incompatible pointer type [-Werror=incompatible-pointer-types]
468 | spi_unregister_controller(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:902:62: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
902 | extern void spi_unregister_controller(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_suspend_host’:
drivers/spi/spi-phytium.c:478:41: error: passing argument 1 of ‘spi_controller_suspend’ from incompatible pointer type [-Werror=incompatible-pointer-types]
478 | ret = spi_controller_suspend(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:815:58: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
815 | extern int spi_controller_suspend(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_resume_host’:
drivers/spi/spi-phytium.c:491:33: error: invalid use of undefined type ‘struct spi_master’
491 | spi_hw_init(&fts->master->dev, fts);
| ^~
drivers/spi/spi-phytium.c:492:40: error: passing argument 1 of ‘spi_controller_resume’ from incompatible pointer type [-Werror=incompatible-pointer-types]
492 | ret = spi_controller_resume(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:816:57: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
816 | extern int spi_controller_resume(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c:494:37: error: invalid use of undefined type ‘struct spi_master’
494 | dev_err(&fts->master->dev, "fail to start queue (%d)\n", ret);
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:494:17: note: in expansion of macro ‘dev_err’
494 | dev_err(&fts->master->dev, "fail to start queue (%d)\n", ret);
| ^~~~~~~
cc1: all warnings being treated as errors
make[7]: *** [scripts/Makefile.build:244:drivers/spi/spi-phytium-dma.o] 错误 1
make[7]: *** 正在等待未完成的任务....
cc1: all warnings being treated as errors
make[7]: *** [scripts/Makefile.build:244:drivers/spi/spi-phytium-pci.o] 错误 1
make[7]: *** [scripts/Makefile.build:244:drivers/spi/spi-phytium.o] 错误 1
make[6]: *** [scripts/Makefile.build:485:drivers/spi] 错误 2
make[6]: *** 正在等待未完成的任务....
CHK kernel/kheaders_data.tar.xz
^Cmake[7]: *** [scripts/Makefile.build:485: sound/soc/codecs] 中断
make[8]: *** [scripts/Makefile.build:485: drivers/gpu/drm/nouveau] 中断
make[8]: *** [scripts/Makefile.build:485: drivers/gpu/drm/amd/amdgpu] 中断
make[6]: *** [scripts/Makefile.build:485: sound/soc] 中断
make[8]: *** [scripts/Makefile.build:485: drivers/gpu/drm/i915] 中断
make[5]: *** [scripts/Makefile.build:485: sound] 中断
make[7]: *** [scripts/Makefile.build:485: drivers/gpu/drm] 中断
make[6]: *** [scripts/Makefile.build:485: drivers/gpu] 中断
make[5]: *** [scripts/Makefile.build:485: drivers] 中断
make[4]: *** [Makefile:1915: .] 中断
make[3]: *** [debian/rules:74: build-arch] 中断
dpkg-buildpackage: error: make -f debian/rules binary subprocess was killed by signal 2
make[2]: *** [scripts/Makefile.package:121: bindeb-pkg] 中断
make[1]: *** [/root/linux/Makefile:1537: bindeb-pkg] 中断
make: *** [Makefile:240: __sub-make] 中断
root@deepinci-amd7:~/linux# ^C
root@deepinci-amd7:~/linux# nano +492 drivers/spi/spi-phytium.c
root@deepinci-amd7:~/linux# make bindeb-pkg -j$(nproc)
GEN debian
dpkg-buildpackage --build=binary --no-pre-clean --unsigned-changes -R'make -f debian/rules' -j1 -a$(cat debian/arch)
dpkg-buildpackage: info: source package linux-upstream
dpkg-buildpackage: info: source version 23.01.01.01
dpkg-buildpackage: info: source distribution beige
dpkg-buildpackage: info: source changed by root <root@deepinci-amd7>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build .
make -f debian/rules binary
#
# No change to .config
#
mkdir -p /root/linux/tools/objtool && make O=/root/linux subdir=tools/objtool --no-print-directory -C objtool
mkdir -p /root/linux/tools/bpf/resolve_btfids && make O=/root/linux subdir=tools/bpf/resolve_btfids --no-print-directory -C bpf/resolve_btfids
INSTALL libsubcmd_headers
INSTALL libsubcmd_headers
CALL scripts/checksyscalls.sh
CC [M] drivers/spi/spi-phytium.o
CC [M] drivers/spi/spi-phytium-pci.o
CC [M] drivers/spi/spi-phytium-dma.o
In file included from ./include/linux/bits.h:6,
from ./include/linux/bitops.h:6,
from ./include/linux/kernel.h:23,
from ./include/linux/clk.h:13,
from drivers/spi/spi-phytium.c:11:
drivers/spi/spi-phytium.c: In function ‘phytium_spi_set_cs’:
./include/vdso/bits.h:7:40: error: invalid operands to binary << (have ‘long unsigned int’ and ‘u8 *’ {aka ‘unsigned char *’})
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
| |
| u8 * {aka unsigned char *}
drivers/spi/spi-phytium.c:56:42: note: in expansion of macro ‘BIT’
56 | phytium_writel(fts, SER, BIT(spi->chip_select));
| ^~~
drivers/spi/spi-phytium.c:59:63: error: invalid operands to binary << (have ‘int’ and ‘u8 *’ {aka ‘unsigned char *’})
59 | phytium_writel(fts, GCSR, origin | (1 << spi->chip_select));
| ^~
| |
| u8 * {aka unsigned char *}
drivers/spi/spi-phytium.c:64:64: error: invalid operands to binary << (have ‘int’ and ‘u8 *’ {aka ‘unsigned char *’})
64 | phytium_writel(fts, GCSR, origin & ~(1 << spi->chip_select));
| ^~
| |
| u8 * {aka unsigned char *}
In file included from ./include/linux/device.h:15,
from ./include/linux/platform_device.h:13,
from drivers/spi/spi-phytium.c:17:
drivers/spi/spi-phytium.c: In function ‘phytium_spi_check_status’:
drivers/spi/spi-phytium.c:133:37: error: invalid use of undefined type ‘struct spi_master’
133 | dev_err(&fts->master->dev, "RX FIFO overflow detected\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:133:17: note: in expansion of macro ‘dev_err’
133 | dev_err(&fts->master->dev, "RX FIFO overflow detected\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:138:37: error: invalid use of undefined type ‘struct spi_master’
138 | dev_err(&fts->master->dev, "RX FIFO underflow detected\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:138:17: note: in expansion of macro ‘dev_err’
138 | dev_err(&fts->master->dev, "RX FIFO underflow detected\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:143:37: error: invalid use of undefined type ‘struct spi_master’
143 | dev_err(&fts->master->dev, "TX FIFO overflow detected\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:143:17: note: in expansion of macro ‘dev_err’
143 | dev_err(&fts->master->dev, "TX FIFO overflow detected\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:150:32: error: invalid use of undefined type ‘struct spi_master’
150 | if (fts->master->cur_msg)
| ^~
drivers/spi/spi-phytium.c:151:36: error: invalid use of undefined type ‘struct spi_master’
151 | fts->master->cur_msg->status = ret;
| ^~
drivers/spi/spi-phytium.c: In function ‘int_error_stop’:
drivers/spi/spi-phytium.c:161:29: error: invalid use of undefined type ‘struct spi_master’
161 | dev_err(&fts->master->dev, "%s\n", msg);
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:161:9: note: in expansion of macro ‘dev_err’
161 | dev_err(&fts->master->dev, "%s\n", msg);
| ^~~~~~~
drivers/spi/spi-phytium.c:162:20: error: invalid use of undefined type ‘struct spi_master’
162 | fts->master->cur_msg->status = -EIO;
| ^~
drivers/spi/spi-phytium.c:163:42: error: passing argument 1 of ‘spi_finalize_current_transfer’ from incompatible pointer type [-Werror=incompatible-pointer-types]
163 | spi_finalize_current_transfer(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
In file included from drivers/spi/spi-phytium.c:19:
./include/linux/spi/spi.h:821:66: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
821 | extern void spi_finalize_current_transfer(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘interrupt_transfer’:
drivers/spi/spi-phytium.c:179:50: error: passing argument 1 of ‘spi_finalize_current_transfer’ from incompatible pointer type [-Werror=incompatible-pointer-types]
179 | spi_finalize_current_transfer(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:821:66: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
821 | extern void spi_finalize_current_transfer(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_irq’:
drivers/spi/spi-phytium.c:194:62: error: ‘controller’ undeclared (first use in this function); did you mean ‘spi_controller’?
194 | struct phytium_spi *fts = spi_controller_get_devdata(controller);
| ^~~~~~~~~~
| spi_controller
drivers/spi/spi-phytium.c:194:62: note: each undeclared identifier is reported only once for each function it appears in
drivers/spi/spi-phytium.c:200:20: error: invalid use of undefined type ‘struct spi_master’
200 | if (!master->cur_msg) {
| ^~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_transfer_one’:
drivers/spi/spi-phytium.c:225:62: error: passing argument 1 of ‘spi_controller_get_devdata’ from incompatible pointer type [-Werror=incompatible-pointer-types]
225 | struct phytium_spi *fts = spi_controller_get_devdata(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:780:71: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
780 | static inline void *spi_controller_get_devdata(struct spi_controller *ctlr)
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c:281:19: error: invalid use of undefined type ‘struct spi_master’
281 | if (master->can_dma && master->can_dma(master, spi, transfer))
| ^~
drivers/spi/spi-phytium.c:281:38: error: invalid use of undefined type ‘struct spi_master’
281 | if (master->can_dma && master->can_dma(master, spi, transfer))
| ^~
drivers/spi/spi-phytium.c:282:41: error: invalid use of undefined type ‘struct spi_master’
282 | fts->dma_mapped = master->cur_msg_mapped;
| ^~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_handle_err’:
drivers/spi/spi-phytium.c:318:62: error: passing argument 1 of ‘spi_controller_get_devdata’ from incompatible pointer type [-Werror=incompatible-pointer-types]
318 | struct phytium_spi *fts = spi_controller_get_devdata(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:780:71: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
780 | static inline void *spi_controller_get_devdata(struct spi_controller *ctlr)
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_setup’:
drivers/spi/spi-phytium.c:330:40: error: ‘struct spi_device’ has no member named ‘master’
330 | struct spi_master *master = spi->master;
| ^~
drivers/spi/spi-phytium.c:331:62: error: passing argument 1 of ‘spi_controller_get_devdata’ from incompatible pointer type [-Werror=incompatible-pointer-types]
331 | struct phytium_spi *fts = spi_controller_get_devdata(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:780:71: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
780 | static inline void *spi_controller_get_devdata(struct spi_controller *ctlr)
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_add_host’:
drivers/spi/spi-phytium.c:400:16: error: assignment to ‘struct spi_master *’ from incompatible pointer type ‘struct spi_controller *’ [-Werror=incompatible-pointer-types]
400 | master = spi_alloc_master(dev, 0);
| ^
drivers/spi/spi-phytium.c:415:15: error: invalid use of undefined type ‘struct spi_master’
415 | master->use_gpio_descriptors = true;
| ^~
drivers/spi/spi-phytium.c:416:15: error: invalid use of undefined type ‘struct spi_master’
416 | master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LOOP;
| ^~
drivers/spi/spi-phytium.c:417:15: error: invalid use of undefined type ‘struct spi_master’
417 | master->bits_per_word_mask = SPI_BPW_MASK(8) | SPI_BPW_MASK(16);
| ^~
drivers/spi/spi-phytium.c:418:15: error: invalid use of undefined type ‘struct spi_master’
418 | master->bus_num = fts->bus_num;
| ^~
drivers/spi/spi-phytium.c:419:15: error: invalid use of undefined type ‘struct spi_master’
419 | master->num_chipselect = fts->num_cs;
| ^~
drivers/spi/spi-phytium.c:420:15: error: invalid use of undefined type ‘struct spi_master’
420 | master->setup = phytium_spi_setup;
| ^~
drivers/spi/spi-phytium.c:421:15: error: invalid use of undefined type ‘struct spi_master’
421 | master->cleanup = phytium_spi_cleanup;
| ^~
drivers/spi/spi-phytium.c:422:15: error: invalid use of undefined type ‘struct spi_master’
422 | master->set_cs = phytium_spi_set_cs;
| ^~
drivers/spi/spi-phytium.c:423:15: error: invalid use of undefined type ‘struct spi_master’
423 | master->transfer_one = phytium_spi_transfer_one;
| ^~
drivers/spi/spi-phytium.c:424:15: error: invalid use of undefined type ‘struct spi_master’
424 | master->handle_err = phytium_spi_handle_err;
| ^~
drivers/spi/spi-phytium.c:425:15: error: invalid use of undefined type ‘struct spi_master’
425 | master->max_speed_hz = fts->max_freq;
| ^~
drivers/spi/spi-phytium.c:426:15: error: invalid use of undefined type ‘struct spi_master’
426 | master->dev.of_node = dev->of_node;
| ^~
drivers/spi/spi-phytium.c:427:15: error: invalid use of undefined type ‘struct spi_master’
427 | master->dev.fwnode = dev->fwnode;
| ^~
drivers/spi/spi-phytium.c:428:15: error: invalid use of undefined type ‘struct spi_master’
428 | master->flags = SPI_CONTROLLER_GPIO_SS;
| ^~
drivers/spi/spi-phytium.c:437:31: error: invalid use of undefined type ‘struct spi_master’
437 | master->can_dma = fts->dma_ops->can_dma;
| ^~
drivers/spi/spi-phytium.c:438:31: error: invalid use of undefined type ‘struct spi_master’
438 | master->flags |= SPI_CONTROLLER_MUST_TX;
| ^~
drivers/spi/spi-phytium.c:442:36: error: passing argument 1 of ‘spi_controller_set_devdata’ from incompatible pointer type [-Werror=incompatible-pointer-types]
442 | spi_controller_set_devdata(master, fts);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:785:70: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
785 | static inline void spi_controller_set_devdata(struct spi_controller *ctlr,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c:443:39: error: passing argument 1 of ‘spi_register_controller’ from incompatible pointer type [-Werror=incompatible-pointer-types]
443 | ret = spi_register_controller(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:899:59: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
899 | extern int spi_register_controller(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c:445:32: error: invalid use of undefined type ‘struct spi_master’
445 | dev_err(&master->dev, "problem registering spi master\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:445:17: note: in expansion of macro ‘dev_err’
445 | dev_err(&master->dev, "problem registering spi master\n");
| ^~~~~~~
drivers/spi/spi-phytium-pci.c: In function ‘spi_suspend’:
drivers/spi/spi-phytium-pci.c:92:62: error: ‘controller’ undeclared (first use in this function); did you mean ‘spi_controller’?
92 | struct phytium_spi *fts = spi_controller_get_devdata(controller);
| ^~~~~~~~~~
| spi_controller
drivers/spi/spi-phytium-pci.c:92:62: note: each undeclared identifier is reported only once for each function it appears in
drivers/spi/spi-phytium-pci.c:91:28: error: unused variable ‘master’ [-Werror=unused-variable]
91 | struct spi_master *master = dev_get_drvdata(dev);
| ^~~~~~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_init’:
drivers/spi/spi-phytium-dma.c:79:20: error: invalid use of undefined type ‘struct spi_master’
79 | fts->master->dma_rx = fts->rxchan;
| ^~
drivers/spi/spi-phytium-dma.c:80:20: error: invalid use of undefined type ‘struct spi_master’
80 | fts->master->dma_tx = fts->txchan;
| ^~
In file included from ./include/linux/device.h:15,
from ./include/linux/dma-mapping.h:8,
from drivers/spi/spi-phytium-dma.c:8:
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_wait’:
drivers/spi/spi-phytium-dma.c:146:37: error: invalid use of undefined type ‘struct spi_master’
146 | dev_err(&fts->master->cur_msg->spi->dev,
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium-dma.c:146:17: note: in expansion of macro ‘dev_err’
146 | dev_err(&fts->master->cur_msg->spi->dev,
| ^~~~~~~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_wait_tx_done’:
drivers/spi/spi-phytium-dma.c:190:37: error: invalid use of undefined type ‘struct spi_master’
190 | dev_err(&fts->master->dev, "Tx hanged up\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium-dma.c:190:17: note: in expansion of macro ‘dev_err’
190 | dev_err(&fts->master->dev, "Tx hanged up\n");
| ^~~~~~~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_wait_rx_done’:
drivers/spi/spi-phytium-dma.c:283:37: error: invalid use of undefined type ‘struct spi_master’
283 | dev_err(&fts->master->dev, "Rx hanged up, nents = %d\n", nents);
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium-dma.c:283:17: note: in expansion of macro ‘dev_err’
283 | dev_err(&fts->master->dev, "Rx hanged up, nents = %d\n", nents);
| ^~~~~~~
drivers/spi/spi-phytium.c:457:9: error: implicit declaration of function ‘spi_master_put’; did you mean ‘spi_dev_put’? [-Werror=implicit-function-declaration]
457 | spi_master_put(master);
| ^~~~~~~~~~~~~~
| spi_dev_put
drivers/spi/spi-phytium.c: In function ‘phytium_spi_remove_host’:
drivers/spi/spi-phytium-pci.c: In function ‘spi_resume’:
drivers/spi/spi-phytium-pci.c:100:62: error: ‘spi_controller’ undeclared (first use in this function)
100 | struct phytium_spi *fts = spi_controller_get_devdata(spi_controller);
| ^~~~~~~~~~~~~~
drivers/spi/spi-phytium-pci.c:99:28: error: unused variable ‘master’ [-Werror=unused-variable]
99 | struct spi_master *master = dev_get_drvdata(dev);
| ^~~~~~
drivers/spi/spi-phytium.c:468:38: error: passing argument 1 of ‘spi_unregister_controller’ from incompatible pointer type [-Werror=incompatible-pointer-types]
468 | spi_unregister_controller(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:902:62: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
902 | extern void spi_unregister_controller(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_suspend_host’:
drivers/spi/spi-phytium.c:478:41: error: passing argument 1 of ‘spi_controller_suspend’ from incompatible pointer type [-Werror=incompatible-pointer-types]
478 | ret = spi_controller_suspend(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:815:58: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
815 | extern int spi_controller_suspend(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_resume_host’:
drivers/spi/spi-phytium.c:491:33: error: invalid use of undefined type ‘struct spi_master’
491 | spi_hw_init(&fts->master->dev, fts);
| ^~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_transfer’:
drivers/spi/spi-phytium-dma.c:514:24: error: invalid use of undefined type ‘struct spi_master’
514 | if (fts->master->cur_msg->status == -EINPROGRESS) {
| ^~
drivers/spi/spi-phytium-dma.c:520:40: error: invalid use of undefined type ‘struct spi_master’
520 | if (xfer->rx_buf && fts->master->cur_msg->status == -EINPROGRESS)
| ^~
cc1: all warnings being treated as errors
drivers/spi/spi-phytium.c:492:37: error: ‘controller’ undeclared (first use in this function); did you mean ‘spi_controller’?
492 | ret = spi_controller_resume(controller);
| ^~~~~~~~~~
| spi_controller
drivers/spi/spi-phytium.c:494:37: error: invalid use of undefined type ‘struct spi_master’
494 | dev_err(&fts->master->dev, "fail to start queue (%d)\n", ret);
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:494:17: note: in expansion of macro ‘dev_err’
494 | dev_err(&fts->master->dev, "fail to start queue (%d)\n", ret);
| ^~~~~~~
cc1: all warnings being treated as errors
make[7]: *** [scripts/Makefile.build:244:drivers/spi/spi-phytium-pci.o] 错误 1
make[7]: *** 正在等待未完成的任务....
make[7]: *** [scripts/Makefile.build:244:drivers/spi/spi-phytium-dma.o] 错误 1
make[7]: *** [scripts/Makefile.build:244:drivers/spi/spi-phytium.o] 错误 1
make[6]: *** [scripts/Makefile.build:485:drivers/spi] 错误 2
make[6]: *** 正在等待未完成的任务....
CHK kernel/kheaders_data.tar.xz
^Cmake[6]: *** [scripts/Makefile.build:485: fs/xfs] 中断
make[8]: *** [scripts/Makefile.build:485: drivers/gpu/drm/i915] 中断
make[9]: *** [scripts/Makefile.build:485: drivers/net/ethernet/mellanox/mlx5/core] 中断
make[8]: *** [scripts/Makefile.build:485: drivers/gpu/drm/nouveau] 中断
make[8]: *** [scripts/Makefile.build:485: drivers/gpu/drm/amd/amdgpu] 中断
make[8]: *** [scripts/Makefile.build:485: drivers/net/ethernet/mellanox] 中断
make[5]: *** [scripts/Makefile.build:485: fs] 中断
make[7]: *** [scripts/Makefile.build:485: drivers/net/ethernet] 中断
make[7]: *** [scripts/Makefile.build:485: sound/soc/codecs] 中断
make[7]: *** [scripts/Makefile.build:485: drivers/gpu/drm] 中断
make[6]: *** [scripts/Makefile.build:485: drivers/net] 中断
make[6]: *** [scripts/Makefile.build:485: drivers/gpu] 中断
make[6]: *** [scripts/Makefile.build:485: sound/soc] 中断
make[5]: *** [scripts/Makefile.build:485: drivers] 中断
make[5]: *** [scripts/Makefile.build:485: sound] 中断
make[4]: *** [Makefile:1915: .] 中断
make[3]: *** [debian/rules:74: build-arch] 中断
dpkg-buildpackage: error: make -f debian/rules binary subprocess was killed by signal 2
make[2]: *** [scripts/Makefile.package:121: bindeb-pkg] 中断
make[1]: *** [/root/linux/Makefile:1537: bindeb-pkg] 中断
make: *** [Makefile:240: __sub-make] 中断
root@deepinci-amd7:~/linux# ^C
root@deepinci-amd7:~/linux# make bindeb-pkg -j$(nproc)
GEN debian
dpkg-buildpackage --build=binary --no-pre-clean --unsigned-changes -R'make -f debian/rules' -j1 -a$(cat debian/arch)
^Cmake[2]: *** [scripts/Makefile.package:121: bindeb-pkg] 中断
make[1]: *** [/root/linux/Makefile:1537: bindeb-pkg] 中断
make: *** [Makefile:240: __sub-make] 中断
root@deepinci-amd7:~/linux# nano +492 drivers/spi/spi-phytium.c
root@deepinci-amd7:~/linux# nano +492 drivers/spi/spi-phytium.c
root@deepinci-amd7:~/linux# make bindeb-pkg -j$(nproc)
GEN debian
dpkg-buildpackage --build=binary --no-pre-clean --unsigned-changes -R'make -f debian/rules' -j1 -a$(cat debian/arch)
dpkg-buildpackage: info: source package linux-upstream
dpkg-buildpackage: info: source version 23.01.01.01
dpkg-buildpackage: info: source distribution beige
dpkg-buildpackage: info: source changed by root <root@deepinci-amd7>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build .
make -f debian/rules binary
#
# No change to .config
#
mkdir -p /root/linux/tools/objtool && make O=/root/linux subdir=tools/objtool --no-print-directory -C objtool
mkdir -p /root/linux/tools/bpf/resolve_btfids && make O=/root/linux subdir=tools/bpf/resolve_btfids --no-print-directory -C bpf/resolve_btfids
INSTALL libsubcmd_headers
INSTALL libsubcmd_headers
CALL scripts/checksyscalls.sh
CC [M] drivers/spi/spi-phytium.o
CC [M] drivers/spi/spi-phytium-pci.o
CC [M] drivers/spi/spi-phytium-dma.o
In file included from ./include/linux/bits.h:6,
from ./include/linux/bitops.h:6,
from ./include/linux/kernel.h:23,
from ./include/linux/clk.h:13,
from drivers/spi/spi-phytium.c:11:
drivers/spi/spi-phytium.c: In function ‘phytium_spi_set_cs’:
./include/vdso/bits.h:7:40: error: invalid operands to binary << (have ‘long unsigned int’ and ‘u8 *’ {aka ‘unsigned char *’})
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
| |
| u8 * {aka unsigned char *}
drivers/spi/spi-phytium.c:56:42: note: in expansion of macro ‘BIT’
56 | phytium_writel(fts, SER, BIT(spi->chip_select));
| ^~~
drivers/spi/spi-phytium.c:59:63: error: invalid operands to binary << (have ‘int’ and ‘u8 *’ {aka ‘unsigned char *’})
59 | phytium_writel(fts, GCSR, origin | (1 << spi->chip_select));
| ^~
| |
| u8 * {aka unsigned char *}
drivers/spi/spi-phytium.c:64:64: error: invalid operands to binary << (have ‘int’ and ‘u8 *’ {aka ‘unsigned char *’})
64 | phytium_writel(fts, GCSR, origin & ~(1 << spi->chip_select));
| ^~
| |
| u8 * {aka unsigned char *}
In file included from ./include/linux/device.h:15,
from ./include/linux/platform_device.h:13,
from drivers/spi/spi-phytium.c:17:
drivers/spi/spi-phytium.c: In function ‘phytium_spi_check_status’:
drivers/spi/spi-phytium.c:133:37: error: invalid use of undefined type ‘struct spi_master’
133 | dev_err(&fts->master->dev, "RX FIFO overflow detected\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:133:17: note: in expansion of macro ‘dev_err’
133 | dev_err(&fts->master->dev, "RX FIFO overflow detected\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:138:37: error: invalid use of undefined type ‘struct spi_master’
138 | dev_err(&fts->master->dev, "RX FIFO underflow detected\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:138:17: note: in expansion of macro ‘dev_err’
138 | dev_err(&fts->master->dev, "RX FIFO underflow detected\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:143:37: error: invalid use of undefined type ‘struct spi_master’
143 | dev_err(&fts->master->dev, "TX FIFO overflow detected\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:143:17: note: in expansion of macro ‘dev_err’
143 | dev_err(&fts->master->dev, "TX FIFO overflow detected\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:150:32: error: invalid use of undefined type ‘struct spi_master’
150 | if (fts->master->cur_msg)
| ^~
drivers/spi/spi-phytium.c:151:36: error: invalid use of undefined type ‘struct spi_master’
151 | fts->master->cur_msg->status = ret;
| ^~
drivers/spi/spi-phytium.c: In function ‘int_error_stop’:
drivers/spi/spi-phytium.c:161:29: error: invalid use of undefined type ‘struct spi_master’
161 | dev_err(&fts->master->dev, "%s\n", msg);
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:161:9: note: in expansion of macro ‘dev_err’
161 | dev_err(&fts->master->dev, "%s\n", msg);
| ^~~~~~~
drivers/spi/spi-phytium.c:162:20: error: invalid use of undefined type ‘struct spi_master’
162 | fts->master->cur_msg->status = -EIO;
| ^~
drivers/spi/spi-phytium.c:163:42: error: passing argument 1 of ‘spi_finalize_current_transfer’ from incompatible pointer type [-Werror=incompatible-pointer-types]
163 | spi_finalize_current_transfer(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
In file included from drivers/spi/spi-phytium.c:19:
./include/linux/spi/spi.h:821:66: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
821 | extern void spi_finalize_current_transfer(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘interrupt_transfer’:
drivers/spi/spi-phytium.c:179:50: error: passing argument 1 of ‘spi_finalize_current_transfer’ from incompatible pointer type [-Werror=incompatible-pointer-types]
179 | spi_finalize_current_transfer(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:821:66: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
821 | extern void spi_finalize_current_transfer(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_init’:
drivers/spi/spi-phytium-dma.c:79:20: error: invalid use of undefined type ‘struct spi_master’
79 | fts->master->dma_rx = fts->rxchan;
| ^~
drivers/spi/spi-phytium-dma.c:80:20: error: invalid use of undefined type ‘struct spi_master’
80 | fts->master->dma_tx = fts->txchan;
| ^~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_irq’:
drivers/spi/spi-phytium.c:194:62: error: ‘controller’ undeclared (first use in this function); did you mean ‘spi_controller’?
194 | struct phytium_spi *fts = spi_controller_get_devdata(controller);
| ^~~~~~~~~~
| spi_controller
drivers/spi/spi-phytium.c:194:62: note: each undeclared identifier is reported only once for each function it appears in
In file included from ./include/linux/device.h:15,
from ./include/linux/dma-mapping.h:8,
from drivers/spi/spi-phytium-dma.c:8:
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_wait’:
drivers/spi/spi-phytium.c:200:20: error: invalid use of undefined type ‘struct spi_master’
200 | if (!master->cur_msg) {
| ^~
drivers/spi/spi-phytium-dma.c:146:37: error: invalid use of undefined type ‘struct spi_master’
146 | dev_err(&fts->master->cur_msg->spi->dev,
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium-dma.c:146:17: note: in expansion of macro ‘dev_err’
146 | dev_err(&fts->master->cur_msg->spi->dev,
| ^~~~~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_transfer_one’:
drivers/spi/spi-phytium.c:225:62: error: passing argument 1 of ‘spi_controller_get_devdata’ from incompatible pointer type [-Werror=incompatible-pointer-types]
225 | struct phytium_spi *fts = spi_controller_get_devdata(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:780:71: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
780 | static inline void *spi_controller_get_devdata(struct spi_controller *ctlr)
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_wait_tx_done’:
drivers/spi/spi-phytium-dma.c:190:37: error: invalid use of undefined type ‘struct spi_master’
190 | dev_err(&fts->master->dev, "Tx hanged up\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium-dma.c:190:17: note: in expansion of macro ‘dev_err’
190 | dev_err(&fts->master->dev, "Tx hanged up\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:281:19: error: invalid use of undefined type ‘struct spi_master’
281 | if (master->can_dma && master->can_dma(master, spi, transfer))
| ^~
drivers/spi/spi-phytium.c:281:38: error: invalid use of undefined type ‘struct spi_master’
281 | if (master->can_dma && master->can_dma(master, spi, transfer))
| ^~
drivers/spi/spi-phytium.c:282:41: error: invalid use of undefined type ‘struct spi_master’
282 | fts->dma_mapped = master->cur_msg_mapped;
| ^~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_wait_rx_done’:
drivers/spi/spi-phytium-dma.c:283:37: error: invalid use of undefined type ‘struct spi_master’
283 | dev_err(&fts->master->dev, "Rx hanged up, nents = %d\n", nents);
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium-dma.c:283:17: note: in expansion of macro ‘dev_err’
283 | dev_err(&fts->master->dev, "Rx hanged up, nents = %d\n", nents);
| ^~~~~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_handle_err’:
drivers/spi/spi-phytium.c:318:62: error: passing argument 1 of ‘spi_controller_get_devdata’ from incompatible pointer type [-Werror=incompatible-pointer-types]
318 | struct phytium_spi *fts = spi_controller_get_devdata(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:780:71: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
780 | static inline void *spi_controller_get_devdata(struct spi_controller *ctlr)
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_setup’:
drivers/spi/spi-phytium.c:330:40: error: ‘struct spi_device’ has no member named ‘master’
330 | struct spi_master *master = spi->master;
| ^~
drivers/spi/spi-phytium.c:331:62: error: passing argument 1 of ‘spi_controller_get_devdata’ from incompatible pointer type [-Werror=incompatible-pointer-types]
331 | struct phytium_spi *fts = spi_controller_get_devdata(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:780:71: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
780 | static inline void *spi_controller_get_devdata(struct spi_controller *ctlr)
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_add_host’:
drivers/spi/spi-phytium.c:400:16: error: assignment to ‘struct spi_master *’ from incompatible pointer type ‘struct spi_controller *’ [-Werror=incompatible-pointer-types]
400 | master = spi_alloc_master(dev, 0);
| ^
drivers/spi/spi-phytium.c:415:15: error: invalid use of undefined type ‘struct spi_master’
415 | master->use_gpio_descriptors = true;
| ^~
drivers/spi/spi-phytium.c:416:15: error: invalid use of undefined type ‘struct spi_master’
416 | master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LOOP;
| ^~
drivers/spi/spi-phytium.c:417:15: error: invalid use of undefined type ‘struct spi_master’
417 | master->bits_per_word_mask = SPI_BPW_MASK(8) | SPI_BPW_MASK(16);
| ^~
drivers/spi/spi-phytium.c:418:15: error: invalid use of undefined type ‘struct spi_master’
418 | master->bus_num = fts->bus_num;
| ^~
drivers/spi/spi-phytium.c:419:15: error: invalid use of undefined type ‘struct spi_master’
419 | master->num_chipselect = fts->num_cs;
| ^~
drivers/spi/spi-phytium-pci.c: In function ‘spi_suspend’:
drivers/spi/spi-phytium.c:420:15: error: invalid use of undefined type ‘struct spi_master’
420 | master->setup = phytium_spi_setup;
| ^~
drivers/spi/spi-phytium-pci.c:92:62: error: ‘controller’ undeclared (first use in this function); did you mean ‘spi_controller’?
92 | struct phytium_spi *fts = spi_controller_get_devdata(controller);
| ^~~~~~~~~~
| spi_controller
drivers/spi/spi-phytium.c:421:15: error: invalid use of undefined type ‘struct spi_master’
421 | master->cleanup = phytium_spi_cleanup;
| ^~
drivers/spi/spi-phytium-pci.c:92:62: note: each undeclared identifier is reported only once for each function it appears in
drivers/spi/spi-phytium.c:422:15: error: invalid use of undefined type ‘struct spi_master’
422 | master->set_cs = phytium_spi_set_cs;
| ^~
drivers/spi/spi-phytium-pci.c:91:28: error: unused variable ‘master’ [-Werror=unused-variable]
91 | struct spi_master *master = dev_get_drvdata(dev);
| ^~~~~~
drivers/spi/spi-phytium.c:423:15: error: invalid use of undefined type ‘struct spi_master’
423 | master->transfer_one = phytium_spi_transfer_one;
| ^~
drivers/spi/spi-phytium.c:424:15: error: invalid use of undefined type ‘struct spi_master’
424 | master->handle_err = phytium_spi_handle_err;
| ^~
drivers/spi/spi-phytium.c:425:15: error: invalid use of undefined type ‘struct spi_master’
425 | master->max_speed_hz = fts->max_freq;
| ^~
drivers/spi/spi-phytium.c:426:15: error: invalid use of undefined type ‘struct spi_master’
426 | master->dev.of_node = dev->of_node;
| ^~
drivers/spi/spi-phytium.c:427:15: error: invalid use of undefined type ‘struct spi_master’
427 | master->dev.fwnode = dev->fwnode;
| ^~
drivers/spi/spi-phytium.c:428:15: error: invalid use of undefined type ‘struct spi_master’
428 | master->flags = SPI_CONTROLLER_GPIO_SS;
| ^~
drivers/spi/spi-phytium.c:437:31: error: invalid use of undefined type ‘struct spi_master’
437 | master->can_dma = fts->dma_ops->can_dma;
| ^~
drivers/spi/spi-phytium.c:438:31: error: invalid use of undefined type ‘struct spi_master’
438 | master->flags |= SPI_CONTROLLER_MUST_TX;
| ^~
drivers/spi/spi-phytium.c:442:36: error: passing argument 1 of ‘spi_controller_set_devdata’ from incompatible pointer type [-Werror=incompatible-pointer-types]
442 | spi_controller_set_devdata(master, fts);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:785:70: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
785 | static inline void spi_controller_set_devdata(struct spi_controller *ctlr,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c:443:39: error: passing argument 1 of ‘spi_register_controller’ from incompatible pointer type [-Werror=incompatible-pointer-types]
443 | ret = spi_register_controller(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:899:59: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
899 | extern int spi_register_controller(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c:445:32: error: invalid use of undefined type ‘struct spi_master’
445 | dev_err(&master->dev, "problem registering spi master\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:445:17: note: in expansion of macro ‘dev_err’
445 | dev_err(&master->dev, "problem registering spi master\n");
| ^~~~~~~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_transfer’:
drivers/spi/spi-phytium-dma.c:514:24: error: invalid use of undefined type ‘struct spi_master’
514 | if (fts->master->cur_msg->status == -EINPROGRESS) {
| ^~
drivers/spi/spi-phytium-dma.c:520:40: error: invalid use of undefined type ‘struct spi_master’
520 | if (xfer->rx_buf && fts->master->cur_msg->status == -EINPROGRESS)
| ^~
drivers/spi/spi-phytium-pci.c: In function ‘spi_resume’:
drivers/spi/spi-phytium-pci.c:100:62: error: ‘spi_controller’ undeclared (first use in this function)
100 | struct phytium_spi *fts = spi_controller_get_devdata(spi_controller);
| ^~~~~~~~~~~~~~
drivers/spi/spi-phytium-pci.c:99:28: error: unused variable ‘master’ [-Werror=unused-variable]
99 | struct spi_master *master = dev_get_drvdata(dev);
| ^~~~~~
cc1: all warnings being treated as errors
drivers/spi/spi-phytium.c:457:9: error: implicit declaration of function ‘spi_master_put’; did you mean ‘spi_dev_put’? [-Werror=implicit-function-declaration]
457 | spi_master_put(master);
| ^~~~~~~~~~~~~~
| spi_dev_put
drivers/spi/spi-phytium.c: In function ‘phytium_spi_remove_host’:
drivers/spi/spi-phytium.c:468:38: error: passing argument 1 of ‘spi_unregister_controller’ from incompatible pointer type [-Werror=incompatible-pointer-types]
468 | spi_unregister_controller(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:902:62: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
902 | extern void spi_unregister_controller(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_suspend_host’:
drivers/spi/spi-phytium.c:478:41: error: passing argument 1 of ‘spi_controller_suspend’ from incompatible pointer type [-Werror=incompatible-pointer-types]
478 | ret = spi_controller_suspend(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:815:58: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
815 | extern int spi_controller_suspend(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_resume_host’:
drivers/spi/spi-phytium.c:491:33: error: invalid use of undefined type ‘struct spi_master’
491 | spi_hw_init(&fts->master->dev, fts);
| ^~
make[7]: *** [scripts/Makefile.build:244:drivers/spi/spi-phytium-dma.o] 错误 1
make[7]: *** 正在等待未完成的任务....
drivers/spi/spi-phytium.c:492:37: error: ‘spi_controller’ undeclared (first use in this function)
492 | ret = spi_controller_resume(spi_controller);
| ^~~~~~~~~~~~~~
drivers/spi/spi-phytium.c:494:37: error: invalid use of undefined type ‘struct spi_master’
494 | dev_err(&fts->master->dev, "fail to start queue (%d)\n", ret);
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:494:17: note: in expansion of macro ‘dev_err’
494 | dev_err(&fts->master->dev, "fail to start queue (%d)\n", ret);
| ^~~~~~~
make[7]: *** [scripts/Makefile.build:244:drivers/spi/spi-phytium-pci.o] 错误 1
cc1: all warnings being treated as errors
make[7]: *** [scripts/Makefile.build:244:drivers/spi/spi-phytium.o] 错误 1
make[6]: *** [scripts/Makefile.build:485:drivers/spi] 错误 2
make[6]: *** 正在等待未完成的任务....
CHK kernel/kheaders_data.tar.xz
make[5]: *** [scripts/Makefile.build:485:drivers] 错误 2
make[4]: *** [Makefile:1915:.] 错误 2
make[3]: *** [debian/rules:74:build-arch] 错误 2
dpkg-buildpackage: error: make -f debian/rules binary subprocess returned exit status 2
make[2]: *** [scripts/Makefile.package:121:bindeb-pkg] 错误 2
make[1]: *** [/root/linux/Makefile:1537:bindeb-pkg] 错误 2
make: *** [Makefile:240:__sub-make] 错误 2
root@deepinci-amd7:~/linux# ^C
root@deepinci-amd7:~/linux# git checkout -- drivers
root@deepinci-amd7:~/linux# make bindeb-pkg -j$(nproc)
GEN debian
dpkg-buildpackage --build=binary --no-pre-clean --unsigned-changes -R'make -f debian/rules' -j1 -a$(cat debian/arch)
dpkg-buildpackage: info: source package linux-upstream
dpkg-buildpackage: info: source version 23.01.01.01
dpkg-buildpackage: info: source distribution beige
dpkg-buildpackage: info: source changed by root <root@deepinci-amd7>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build .
make -f debian/rules binary
#
# No change to .config
#
mkdir -p /root/linux/tools/objtool && make O=/root/linux subdir=tools/objtool --no-print-directory -C objtool
mkdir -p /root/linux/tools/bpf/resolve_btfids && make O=/root/linux subdir=tools/bpf/resolve_btfids --no-print-directory -C bpf/resolve_btfids
INSTALL libsubcmd_headers
INSTALL libsubcmd_headers
CALL scripts/checksyscalls.sh
CC [M] drivers/spi/spi-phytium.o
CC [M] drivers/spi/spi-phytium-pci.o
CC [M] drivers/spi/spi-phytium-dma.o
CHK kernel/kheaders_data.tar.xz
drivers/spi/spi-phytium.c: In function ‘phytium_spi_set_cs’:
drivers/spi/spi-phytium.c:48:35: error: implicit declaration of function ‘spi_master_get_devdata’; did you mean ‘spi_controller_get_devdata’? [-Werror=implicit-function-declaration]
48 | struct phytium_spi *fts = spi_master_get_devdata(spi->master);
| ^~~~~~~~~~~~~~~~~~~~~~
| spi_controller_get_devdata
drivers/spi/spi-phytium.c:48:61: error: ‘struct spi_device’ has no member named ‘master’
48 | struct phytium_spi *fts = spi_master_get_devdata(spi->master);
| ^~
In file included from ./include/linux/bits.h:6,
from ./include/linux/bitops.h:6,
from ./include/linux/kernel.h:23,
from ./include/linux/clk.h:13,
from drivers/spi/spi-phytium.c:11:
./include/vdso/bits.h:7:40: error: invalid operands to binary << (have ‘long unsigned int’ and ‘u8 *’ {aka ‘unsigned char *’})
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
| |
| u8 * {aka unsigned char *}
drivers/spi/spi-phytium.c:56:42: note: in expansion of macro ‘BIT’
56 | phytium_writel(fts, SER, BIT(spi->chip_select));
| ^~~
drivers/spi/spi-phytium.c:59:63: error: invalid operands to binary << (have ‘int’ and ‘u8 *’ {aka ‘unsigned char *’})
59 | phytium_writel(fts, GCSR, origin | (1 << spi->chip_select));
| ^~
| |
| u8 * {aka unsigned char *}
drivers/spi/spi-phytium.c:64:64: error: invalid operands to binary << (have ‘int’ and ‘u8 *’ {aka ‘unsigned char *’})
64 | phytium_writel(fts, GCSR, origin & ~(1 << spi->chip_select));
| ^~
| |
| u8 * {aka unsigned char *}
In file included from ./include/linux/device.h:15,
from ./include/linux/platform_device.h:13,
from drivers/spi/spi-phytium.c:17:
drivers/spi/spi-phytium.c: In function ‘phytium_spi_check_status’:
drivers/spi/spi-phytium.c:133:37: error: invalid use of undefined type ‘struct spi_master’
133 | dev_err(&fts->master->dev, "RX FIFO overflow detected\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:133:17: note: in expansion of macro ‘dev_err’
133 | dev_err(&fts->master->dev, "RX FIFO overflow detected\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:138:37: error: invalid use of undefined type ‘struct spi_master’
138 | dev_err(&fts->master->dev, "RX FIFO underflow detected\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:138:17: note: in expansion of macro ‘dev_err’
138 | dev_err(&fts->master->dev, "RX FIFO underflow detected\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:143:37: error: invalid use of undefined type ‘struct spi_master’
143 | dev_err(&fts->master->dev, "TX FIFO overflow detected\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:143:17: note: in expansion of macro ‘dev_err’
143 | dev_err(&fts->master->dev, "TX FIFO overflow detected\n");
| ^~~~~~~
drivers/spi/spi-phytium.c:150:32: error: invalid use of undefined type ‘struct spi_master’
150 | if (fts->master->cur_msg)
| ^~
drivers/spi/spi-phytium.c:151:36: error: invalid use of undefined type ‘struct spi_master’
151 | fts->master->cur_msg->status = ret;
| ^~
drivers/spi/spi-phytium.c: In function ‘int_error_stop’:
drivers/spi/spi-phytium.c:161:29: error: invalid use of undefined type ‘struct spi_master’
161 | dev_err(&fts->master->dev, "%s\n", msg);
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:161:9: note: in expansion of macro ‘dev_err’
161 | dev_err(&fts->master->dev, "%s\n", msg);
| ^~~~~~~
drivers/spi/spi-phytium.c:162:20: error: invalid use of undefined type ‘struct spi_master’
162 | fts->master->cur_msg->status = -EIO;
| ^~
drivers/spi/spi-phytium.c:163:42: error: passing argument 1 of ‘spi_finalize_current_transfer’ from incompatible pointer type [-Werror=incompatible-pointer-types]
163 | spi_finalize_current_transfer(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
In file included from drivers/spi/spi-phytium.c:19:
./include/linux/spi/spi.h:821:66: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
821 | extern void spi_finalize_current_transfer(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘interrupt_transfer’:
drivers/spi/spi-phytium.c:179:50: error: passing argument 1 of ‘spi_finalize_current_transfer’ from incompatible pointer type [-Werror=incompatible-pointer-types]
179 | spi_finalize_current_transfer(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:821:66: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
821 | extern void spi_finalize_current_transfer(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_irq’:
drivers/spi/spi-phytium.c:194:35: error: initialization of ‘struct phytium_spi *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
194 | struct phytium_spi *fts = spi_master_get_devdata(master);
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/spi/spi-phytium.c:200:20: error: invalid use of undefined type ‘struct spi_master’
200 | if (!master->cur_msg) {
| ^~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_transfer_one’:
drivers/spi/spi-phytium.c:225:35: error: initialization of ‘struct phytium_spi *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
225 | struct phytium_spi *fts = spi_master_get_devdata(master);
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/spi/spi-phytium.c:281:19: error: invalid use of undefined type ‘struct spi_master’
281 | if (master->can_dma && master->can_dma(master, spi, transfer))
| ^~
drivers/spi/spi-phytium.c:281:38: error: invalid use of undefined type ‘struct spi_master’
281 | if (master->can_dma && master->can_dma(master, spi, transfer))
| ^~
drivers/spi/spi-phytium.c:282:41: error: invalid use of undefined type ‘struct spi_master’
282 | fts->dma_mapped = master->cur_msg_mapped;
| ^~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_handle_err’:
drivers/spi/spi-phytium.c:318:35: error: initialization of ‘struct phytium_spi *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
318 | struct phytium_spi *fts = spi_master_get_devdata(master);
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_setup’:
drivers/spi/spi-phytium.c:330:40: error: ‘struct spi_device’ has no member named ‘master’
330 | struct spi_master *master = spi->master;
| ^~
drivers/spi/spi-phytium.c:331:35: error: initialization of ‘struct phytium_spi *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
331 | struct phytium_spi *fts = spi_master_get_devdata(master);
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_add_host’:
drivers/spi/spi-phytium.c:400:16: error: assignment to ‘struct spi_master *’ from incompatible pointer type ‘struct spi_controller *’ [-Werror=incompatible-pointer-types]
400 | master = spi_alloc_master(dev, 0);
| ^
drivers/spi/spi-phytium.c:415:15: error: invalid use of undefined type ‘struct spi_master’
415 | master->use_gpio_descriptors = true;
| ^~
drivers/spi/spi-phytium.c:416:15: error: invalid use of undefined type ‘struct spi_master’
416 | master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LOOP;
| ^~
drivers/spi/spi-phytium.c:417:15: error: invalid use of undefined type ‘struct spi_master’
417 | master->bits_per_word_mask = SPI_BPW_MASK(8) | SPI_BPW_MASK(16);
| ^~
drivers/spi/spi-phytium.c:418:15: error: invalid use of undefined type ‘struct spi_master’
418 | master->bus_num = fts->bus_num;
| ^~
drivers/spi/spi-phytium.c:419:15: error: invalid use of undefined type ‘struct spi_master’
419 | master->num_chipselect = fts->num_cs;
| ^~
drivers/spi/spi-phytium.c:420:15: error: invalid use of undefined type ‘struct spi_master’
420 | master->setup = phytium_spi_setup;
| ^~
drivers/spi/spi-phytium.c:421:15: error: invalid use of undefined type ‘struct spi_master’
421 | master->cleanup = phytium_spi_cleanup;
| ^~
drivers/spi/spi-phytium.c:422:15: error: invalid use of undefined type ‘struct spi_master’
422 | master->set_cs = phytium_spi_set_cs;
| ^~
drivers/spi/spi-phytium.c:423:15: error: invalid use of undefined type ‘struct spi_master’
423 | master->transfer_one = phytium_spi_transfer_one;
| ^~
drivers/spi/spi-phytium.c:424:15: error: invalid use of undefined type ‘struct spi_master’
424 | master->handle_err = phytium_spi_handle_err;
| ^~
drivers/spi/spi-phytium.c:425:15: error: invalid use of undefined type ‘struct spi_master’
425 | master->max_speed_hz = fts->max_freq;
| ^~
drivers/spi/spi-phytium.c:426:15: error: invalid use of undefined type ‘struct spi_master’
426 | master->dev.of_node = dev->of_node;
| ^~
drivers/spi/spi-phytium.c:427:15: error: invalid use of undefined type ‘struct spi_master’
427 | master->dev.fwnode = dev->fwnode;
| ^~
drivers/spi/spi-phytium.c:428:15: error: invalid use of undefined type ‘struct spi_master’
428 | master->flags = SPI_CONTROLLER_GPIO_SS;
| ^~
drivers/spi/spi-phytium.c:437:31: error: invalid use of undefined type ‘struct spi_master’
437 | master->can_dma = fts->dma_ops->can_dma;
| ^~
drivers/spi/spi-phytium.c:438:31: error: invalid use of undefined type ‘struct spi_master’
438 | master->flags |= SPI_CONTROLLER_MUST_TX;
| ^~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_init’:
drivers/spi/spi-phytium-dma.c:79:20: error: invalid use of undefined type ‘struct spi_master’
79 | fts->master->dma_rx = fts->rxchan;
| ^~
drivers/spi/spi-phytium-dma.c:80:20: error: invalid use of undefined type ‘struct spi_master’
80 | fts->master->dma_tx = fts->txchan;
| ^~
In file included from ./include/linux/device.h:15,
from ./include/linux/dma-mapping.h:8,
from drivers/spi/spi-phytium-dma.c:8:
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_wait’:
drivers/spi/spi-phytium-dma.c:146:37: error: invalid use of undefined type ‘struct spi_master’
146 | dev_err(&fts->master->cur_msg->spi->dev,
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium-dma.c:146:17: note: in expansion of macro ‘dev_err’
146 | dev_err(&fts->master->cur_msg->spi->dev,
| ^~~~~~~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_wait_tx_done’:
drivers/spi/spi-phytium-dma.c:190:37: error: invalid use of undefined type ‘struct spi_master’
190 | dev_err(&fts->master->dev, "Tx hanged up\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium-dma.c:190:17: note: in expansion of macro ‘dev_err’
190 | dev_err(&fts->master->dev, "Tx hanged up\n");
| ^~~~~~~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_wait_rx_done’:
drivers/spi/spi-phytium-dma.c:283:37: error: invalid use of undefined type ‘struct spi_master’
283 | dev_err(&fts->master->dev, "Rx hanged up, nents = %d\n", nents);
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium-dma.c:283:17: note: in expansion of macro ‘dev_err’
283 | dev_err(&fts->master->dev, "Rx hanged up, nents = %d\n", nents);
| ^~~~~~~
drivers/spi/spi-phytium-dma.c: In function ‘phytium_spi_dma_transfer’:
drivers/spi/spi-phytium-dma.c:514:24: error: invalid use of undefined type ‘struct spi_master’
514 | if (fts->master->cur_msg->status == -EINPROGRESS) {
| ^~
drivers/spi/spi-phytium-pci.c: In function ‘spi_suspend’:
drivers/spi/spi-phytium-pci.c:92:35: error: implicit declaration of function ‘spi_master_get_devdata’; did you mean ‘spi_controller_get_devdata’? [-Werror=implicit-function-declaration]
92 | struct phytium_spi *fts = spi_master_get_devdata(master);
| ^~~~~~~~~~~~~~~~~~~~~~
| spi_controller_get_devdata
drivers/spi/spi-phytium-pci.c:92:35: error: initialization of ‘struct phytium_spi *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
drivers/spi/spi-phytium-dma.c:520:40: error: invalid use of undefined type ‘struct spi_master’
520 | if (xfer->rx_buf && fts->master->cur_msg->status == -EINPROGRESS)
| ^~
drivers/spi/spi-phytium-pci.c: In function ‘spi_resume’:
drivers/spi/spi-phytium-pci.c:100:35: error: initialization of ‘struct phytium_spi *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
100 | struct phytium_spi *fts = spi_master_get_devdata(master);
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/spi/spi-phytium.c:442:9: error: implicit declaration of function ‘spi_master_set_devdata’; did you mean ‘spi_controller_set_devdata’? [-Werror=implicit-function-declaration]
442 | spi_master_set_devdata(master, fts);
| ^~~~~~~~~~~~~~~~~~~~~~
| spi_controller_set_devdata
drivers/spi/spi-phytium.c:443:39: error: passing argument 1 of ‘spi_register_controller’ from incompatible pointer type [-Werror=incompatible-pointer-types]
443 | ret = spi_register_controller(master);
| ^~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:899:59: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
899 | extern int spi_register_controller(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c:445:32: error: invalid use of undefined type ‘struct spi_master’
445 | dev_err(&master->dev, "problem registering spi master\n");
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:445:17: note: in expansion of macro ‘dev_err’
445 | dev_err(&master->dev, "problem registering spi master\n");
| ^~~~~~~
make[7]: *** [scripts/Makefile.build:244:drivers/spi/spi-phytium-dma.o] 错误 1
make[7]: *** 正在等待未完成的任务....
drivers/spi/spi-phytium.c:457:9: error: implicit declaration of function ‘spi_master_put’; did you mean ‘spi_dev_put’? [-Werror=implicit-function-declaration]
457 | spi_master_put(master);
| ^~~~~~~~~~~~~~
| spi_dev_put
drivers/spi/spi-phytium.c: In function ‘phytium_spi_remove_host’:
drivers/spi/spi-phytium.c:468:38: error: passing argument 1 of ‘spi_unregister_controller’ from incompatible pointer type [-Werror=incompatible-pointer-types]
468 | spi_unregister_controller(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:902:62: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
902 | extern void spi_unregister_controller(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c: In function ‘phytium_spi_suspend_host’:
drivers/spi/spi-phytium.c:478:41: error: passing argument 1 of ‘spi_controller_suspend’ from incompatible pointer type [-Werror=incompatible-pointer-types]
478 | ret = spi_controller_suspend(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:815:58: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
815 | extern int spi_controller_suspend(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
cc1: all warnings being treated as errors
drivers/spi/spi-phytium.c: In function ‘phytium_spi_resume_host’:
drivers/spi/spi-phytium.c:491:33: error: invalid use of undefined type ‘struct spi_master’
491 | spi_hw_init(&fts->master->dev, fts);
| ^~
drivers/spi/spi-phytium.c:492:40: error: passing argument 1 of ‘spi_controller_resume’ from incompatible pointer type [-Werror=incompatible-pointer-types]
492 | ret = spi_controller_resume(fts->master);
| ~~~^~~~~~~~
| |
| struct spi_master *
./include/linux/spi/spi.h:816:57: note: expected ‘struct spi_controller *’ but argument is of type ‘struct spi_master *’
816 | extern int spi_controller_resume(struct spi_controller *ctlr);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/spi/spi-phytium.c:494:37: error: invalid use of undefined type ‘struct spi_master’
494 | dev_err(&fts->master->dev, "fail to start queue (%d)\n", ret);
| ^~
./include/linux/dev_printk.h:110:25: note: in definition of macro ‘dev_printk_index_wrap’
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/spi/spi-phytium.c:494:17: note: in expansion of macro ‘dev_err’
494 | dev_err(&fts->master->dev, "fail to start queue (%d)\n", ret);
| ^~~~~~~
cc1: all warnings being treated as errors
make[7]: *** [scripts/Makefile.build:244:drivers/spi/spi-phytium-pci.o] 错误 1
make[7]: *** [scripts/Makefile.build:244:drivers/spi/spi-phytium.o] 错误 1
make[6]: *** [scripts/Makefile.build:485:drivers/spi] 错误 2
make[6]: *** 正在等待未完成的任务....
make[5]: *** [scripts/Makefile.build:485:drivers] 错误 2
make[4]: *** [Makefile:1915:.] 错误 2
make[3]: *** [debian/rules:74:build-arch] 错误 2
dpkg-buildpackage: error: make -f debian/rules binary subprocess returned exit status 2
make[2]: *** [scripts/Makefile.package:121:bindeb-pkg] 错误 2
make[1]: *** [/root/linux/Makefile:1537:bindeb-pkg] 错误 2
make: *** [Makefile:240:__sub-make] 错误 2Metadata
Metadata
Assignees
Labels
No labels