deepin-community / kernel-rolling

Kernel source tree for rolling-stable and mainline releases
Other
2 stars 1 forks source link

【6.9】飞腾 SPI 驱动无法构建 #2

Open MingcongBai opened 3 weeks ago

MingcongBai commented 3 weeks ago

详见日志(需要进行移植适配):

  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] 错误 2