cros_workon_make --board=${BOARD} chromeos-kernel-5_10
The warning message are about C language. Then I commented line 769 in chromiumos/src/third_party/kernel/v5.10/Makefile and run above command again
KBUILD_CFLAGS-$(CONFIG_WERROR) += -Werror
Problem solved. After the modification of kernel, I re-ran
build_package
but there are other errors like
chromeos-kernel-5_10-5.10.114-r1889: /build/amd64-generic/tmp/portage/sys-kernel/chromeos-kernel-5_10-5.10.114-r1889/work/chromeos-kernel-5_10-5.10.114/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:284:6: error: mixing declarations and code is a C99 extension [-Werror,-Wdeclaration-after-statement]
chromeos-kernel-5_10-5.10.114-r1889: u64 ctlhi = (DWAXIDMAC_GHP_AR_PORT_VAL << CH_CTL_H_AR_PORT_POS) | (DWAXIDMAC_GHP_AW_PORT_VAL << CH_CTL_H_AW_PORT_POS);
chromeos-kernel-5_10-5.10.114-r1889: ^
chromeos-kernel-5_10-5.10.114-r1889: /build/amd64-generic/tmp/portage/sys-kernel/chromeos-kernel-5_10-5.10.114-r1889/work/chromeos-kernel-5_10-5.10.114/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:319:10: error: mixing declarations and code is a C99 extension [-Werror,-Wdeclaration-after-statement]
chromeos-kernel-5_10-5.10.114-r1889: size_t block_num=first->total_blocks;//get total transfer blocks
chromeos-kernel-5_10-5.10.114-r1889: ^
chromeos-kernel-5_10-5.10.114-r1889: /build/amd64-generic/tmp/portage/sys-kernel/chromeos-kernel-5_10-5.10.114-r1889/work/chromeos-kernel-5_10-5.10.114/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:316:16: error: mixing declarations and code is a C99 extension [-Werror,-Wdeclaration-after-statement]
chromeos-kernel-5_10-5.10.114-r1889: unsigned long was_soft_llp = test_and_set_bit(DW_DMA_IS_SOFT_LLP,&chan->flags);
chromeos-kernel-5_10-5.10.114-r1889: ^
chromeos-kernel-5_10-5.10.114-r1889: 3 errors generated.
chromeos-kernel-5_10-5.10.114-r1889: make[4]: *** [/build/amd64-generic/tmp/portage/sys-kernel/chromeos-kernel-5_10-5.10.114-r1889/work/chromeos-kernel-5_10-5.10.114/scripts/Makefile.build:280: drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.o] Error 1
chromeos-kernel-5_10-5.10.114-r1889: CC fs/kernfs/inode.o
chromeos-kernel-5_10-5.10.114-r1889: CC fs/proc/inode.o
chromeos-kernel-5_10-5.10.114-r1889: CC drivers/acpi/acpica/evxfgpe.o
chromeos-kernel-5_10-5.10.114-r1889: /build/amd64-generic/tmp/portage/sys-kernel/chromeos-kernel-5_10-5.10.114-r1889/work/chromeos-kernel-5_10-5.10.114/drivers/dma/dw-axi-dmac/test_dma.c:47:22: error: mixing declarations and code is a C99 extension [-Werror,-Wdeclaration-after-statement]
chromeos-kernel-5_10-5.10.114-r1889: struct dma_chan *dma_channel;
chromeos-kernel-5_10-5.10.114-r1889: ^
chromeos-kernel-5_10-5.10.114-r1889: /build/amd64-generic/tmp/portage/sys-kernel/chromeos-kernel-5_10-5.10.114-r1889/work/chromeos-kernel-5_10-5.10.114/drivers/dma/dw-axi-dmac/test_dma.c:48:19: error: unused variable 'status' [-Werror,-Wunused-variable]
chromeos-kernel-5_10-5.10.114-r1889: unsigned char status;
chromeos-kernel-5_10-5.10.114-r1889: ^
chromeos-kernel-5_10-5.10.114-r1889: 2 errors generated.
chromeos-kernel-5_10-5.10.114-r1889: make[4]: *** [/build/amd64-generic/tmp/portage/sys-kernel/chromeos-kernel-5_10-5.10.114-r1889/work/chromeos-kernel-5_10-5.10.114/scripts/Makefile.build:280: drivers/dma/dw-axi-dmac/test_dma.o] Error 1
chromeos-kernel-5_10-5.10.114-r1889: make[4]: Target '__build' not remade because of errors.
Thus, I want to disable all options that treated warnings as errors. For example,
-Wdeclaration-after-statement, -Wunused-variable
Can anybody tell me where I can disable them?
Thus, I want to disable all options that treated warnings as errors. For example,
-Wdeclaration-after-statement, -Wunused-variable
Can anybody tell me where I can disable them?
There are my modification steps.1. cros_workon --board=${BOARD} start chromeos-kernel-5_10 //9999.ebuild2. install patched, modified kernel config by config fragment3. cros_workon_make --board=${BOARD} chromeos-kernel-5_10 //this step success, warnings are not treated as errors4. cros_workon --board=${BOARD} stop chromeos-kernel-5_10 // stop build 9999 version, use stable version5. build_packages --board=${BOARD} --autosetgov //this step failed, warnings are treated as errors
Caused by the driver, the platform does not have the bus that I need. I "forced" to use this bus without relevent headers (.h files). This is the reason that caused warnings