tree: git://git.infradead.org/users/hch/block.git blkdev.h-includes head: 48f7fda047613ceec07881f14a5eaf1ee19d4433 commit: 48f7fda047613ceec07881f14a5eaf1ee19d4433 [16/16] block: move the integrity definitions from bio.h to blk-integrity.h config: powerpc-randconfig-s032-20210724 (attached as .config) compiler: powerpc-linux-gcc (GCC) 10.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-341-g8af24329-dirty git remote add hch-block git://git.infradead.org/users/hch/block.git git fetch --no-tags hch-block blkdev.h-includes git checkout 48f7fda047613ceec07881f14a5eaf1ee19d4433 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/nvdimm/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): In file included from include/linux/blk_types.h:10, from include/linux/genhd.h:19, from include/linux/blkdev.h:7, from drivers/nvdimm/btt.c:8: drivers/nvdimm/btt.c: In function 'btt_rw_integrity': >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/bvec.h:58:41: note: in definition of macro '__bvec_iter_bvec' 58 | #define __bvec_iter_bvec(bvec, iter) (&(bvec)[(iter).bi_idx]) | ^~~~ include/linux/bvec.h:90:3: note: in expansion of macro 'mp_bvec_iter_page' 90 | (mp_bvec_iter_page((bvec), (iter)) + \ | ^~~~~~~~~~~~~~~~~ include/linux/bvec.h:95:13: note: in expansion of macro 'bvec_iter_page' 95 | .bv_page = bvec_iter_page((bvec), (iter)), \ | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/bvec.h:58:48: note: in definition of macro '__bvec_iter_bvec' 58 | #define __bvec_iter_bvec(bvec, iter) (&(bvec)[(iter).bi_idx]) | ^~~~ include/linux/bvec.h:90:3: note: in expansion of macro 'mp_bvec_iter_page' 90 | (mp_bvec_iter_page((bvec), (iter)) + \ | ^~~~~~~~~~~~~~~~~ include/linux/bvec.h:95:13: note: in expansion of macro 'bvec_iter_page' 95 | .bv_page = bvec_iter_page((bvec), (iter)), \ | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/bvec.h:58:41: note: in definition of macro '__bvec_iter_bvec' 58 | #define __bvec_iter_bvec(bvec, iter) (&(bvec)[(iter).bi_idx]) | ^~~~ include/linux/bvec.h:72:3: note: in expansion of macro 'mp_bvec_iter_offset' 72 | (mp_bvec_iter_offset((bvec), (iter)) / PAGE_SIZE) | ^~~~~~~~~~~~~~~~~~~ include/linux/bvec.h:91:3: note: in expansion of macro 'mp_bvec_iter_page_idx' 91 | mp_bvec_iter_page_idx((bvec), (iter))) | ^~~~~~~~~~~~~~~~~~~~~ include/linux/bvec.h:95:13: note: in expansion of macro 'bvec_iter_page' 95 | .bv_page = bvec_iter_page((bvec), (iter)), \ | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/bvec.h:58:48: note: in definition of macro '__bvec_iter_bvec' 58 | #define __bvec_iter_bvec(bvec, iter) (&(bvec)[(iter).bi_idx]) | ^~~~ include/linux/bvec.h:72:3: note: in expansion of macro 'mp_bvec_iter_offset' 72 | (mp_bvec_iter_offset((bvec), (iter)) / PAGE_SIZE) | ^~~~~~~~~~~~~~~~~~~ include/linux/bvec.h:91:3: note: in expansion of macro 'mp_bvec_iter_page_idx' 91 | mp_bvec_iter_page_idx((bvec), (iter))) | ^~~~~~~~~~~~~~~~~~~~~ include/linux/bvec.h:95:13: note: in expansion of macro 'bvec_iter_page' 95 | .bv_page = bvec_iter_page((bvec), (iter)), \ | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/bvec.h:69:50: note: in definition of macro 'mp_bvec_iter_offset' 69 | (__bvec_iter_bvec((bvec), (iter))->bv_offset + (iter).bi_bvec_done) | ^~~~ include/linux/bvec.h:91:3: note: in expansion of macro 'mp_bvec_iter_page_idx' 91 | mp_bvec_iter_page_idx((bvec), (iter))) | ^~~~~~~~~~~~~~~~~~~~~ include/linux/bvec.h:95:13: note: in expansion of macro 'bvec_iter_page' 95 | .bv_page = bvec_iter_page((bvec), (iter)), \ | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ In file included from include/linux/kernel.h:16, from include/linux/list.h:9, from include/linux/wait.h:7, from include/linux/wait_bit.h:8, from include/linux/fs.h:6, from include/linux/highmem.h:5, from drivers/nvdimm/btt.c:6: drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:23:4: note: in expansion of macro '__is_constexpr' 23 | (__is_constexpr(x) && __is_constexpr(y)) | ^~~~~~~~~~~~~~ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:23:25: note: in expansion of macro '__is_constexpr' 23 | (__is_constexpr(x) && __is_constexpr(y)) | ^~~~~~~~~~~~~~ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:23:25: note: in expansion of macro '__is_constexpr' 23 | (__is_constexpr(x) && __is_constexpr(y)) | ^~~~~~~~~~~~~~ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:23:25: note: in expansion of macro '__is_constexpr' 23 | (__is_constexpr(x) && __is_constexpr(y)) | ^~~~~~~~~~~~~~ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ include/linux/minmax.h:36:2: error: first argument to '__builtin_choose_expr' not a constant 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~~~~~~~~~~~~ include/linux/minmax.h:20:21: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:39: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/bvec.h:69:3: note: in expansion of macro '__bvec_iter_bvec' 69 | (__bvec_iter_bvec((bvec), (iter))->bv_offset + (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:83:3: note: in expansion of macro 'mp_bvec_iter_offset' 83 | (mp_bvec_iter_offset((bvec), (iter)) % PAGE_SIZE) | ^~~~~~~~~~~~~~~~~~~ include/linux/bvec.h:87:20: note: in expansion of macro 'bvec_iter_offset' 87 | PAGE_SIZE - bvec_iter_offset((bvec), (iter))) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:39: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/bvec.h:69:3: note: in expansion of macro '__bvec_iter_bvec' 69 | (__bvec_iter_bvec((bvec), (iter))->bv_offset + (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:83:3: note: in expansion of macro 'mp_bvec_iter_offset' 83 | (mp_bvec_iter_offset((bvec), (iter)) % PAGE_SIZE) | ^~~~~~~~~~~~~~~~~~~ include/linux/bvec.h:87:20: note: in expansion of macro 'bvec_iter_offset' 87 | PAGE_SIZE - bvec_iter_offset((bvec), (iter))) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:20:39: note: in definition of macro '__typecheck' 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/bvec.h:83:3: note: in expansion of macro 'mp_bvec_iter_offset' 83 | (mp_bvec_iter_offset((bvec), (iter)) % PAGE_SIZE) | ^~~~~~~~~~~~~~~~~~~ include/linux/bvec.h:87:20: note: in expansion of macro 'bvec_iter_offset' 87 | PAGE_SIZE - bvec_iter_offset((bvec), (iter))) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ In file included from include/linux/list.h:8, from include/linux/wait.h:7, from include/linux/wait_bit.h:8, from include/linux/fs.h:6, from include/linux/highmem.h:5, from drivers/nvdimm/btt.c:6: drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:23:4: note: in expansion of macro '__is_constexpr' 23 | (__is_constexpr(x) && __is_constexpr(y)) | ^~~~~~~~~~~~~~ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:23:25: note: in expansion of macro '__is_constexpr' 23 | (__is_constexpr(x) && __is_constexpr(y)) | ^~~~~~~~~~~~~~ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:23:25: note: in expansion of macro '__is_constexpr' 23 | (__is_constexpr(x) && __is_constexpr(y)) | ^~~~~~~~~~~~~~ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:23:25: note: in expansion of macro '__is_constexpr' 23 | (__is_constexpr(x) && __is_constexpr(y)) | ^~~~~~~~~~~~~~ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:38:3: note: in expansion of macro '__cmp_once' 38 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ include/linux/minmax.h:36:2: error: first argument to '__builtin_choose_expr' not a constant 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~~~~~~~~~~~~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/bvec.h:69:3: note: in expansion of macro '__bvec_iter_bvec' 69 | (__bvec_iter_bvec((bvec), (iter))->bv_offset + (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:83:3: note: in expansion of macro 'mp_bvec_iter_offset' 83 | (mp_bvec_iter_offset((bvec), (iter)) % PAGE_SIZE) | ^~~~~~~~~~~~~~~~~~~ include/linux/bvec.h:87:20: note: in expansion of macro 'bvec_iter_offset' 87 | PAGE_SIZE - bvec_iter_offset((bvec), (iter))) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/bvec.h:69:3: note: in expansion of macro '__bvec_iter_bvec' 69 | (__bvec_iter_bvec((bvec), (iter))->bv_offset + (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:83:3: note: in expansion of macro 'mp_bvec_iter_offset' 83 | (mp_bvec_iter_offset((bvec), (iter)) % PAGE_SIZE) | ^~~~~~~~~~~~~~~~~~~ include/linux/bvec.h:87:20: note: in expansion of macro 'bvec_iter_offset' 87 | PAGE_SIZE - bvec_iter_offset((bvec), (iter))) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/const.h:12:48: note: in definition of macro '__is_constexpr' 12 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) | ^ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/bvec.h:83:3: note: in expansion of macro 'mp_bvec_iter_offset' 83 | (mp_bvec_iter_offset((bvec), (iter)) % PAGE_SIZE) | ^~~~~~~~~~~~~~~~~~~ include/linux/bvec.h:87:20: note: in expansion of macro 'bvec_iter_offset' 87 | PAGE_SIZE - bvec_iter_offset((bvec), (iter))) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ In file included from include/linux/kernel.h:16, from include/linux/list.h:9, from include/linux/wait.h:7, from include/linux/wait_bit.h:8, from include/linux/fs.h:6, from include/linux/highmem.h:5, from drivers/nvdimm/btt.c:6: drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:23:4: note: in expansion of macro '__is_constexpr' 23 | (__is_constexpr(x) && __is_constexpr(y)) | ^~~~~~~~~~~~~~ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:23:25: note: in expansion of macro '__is_constexpr' 23 | (__is_constexpr(x) && __is_constexpr(y)) | ^~~~~~~~~~~~~~ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:23:25: note: in expansion of macro '__is_constexpr' 23 | (__is_constexpr(x) && __is_constexpr(y)) | ^~~~~~~~~~~~~~ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:23:25: note: in expansion of macro '__is_constexpr' 23 | (__is_constexpr(x) && __is_constexpr(y)) | ^~~~~~~~~~~~~~ include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~~~~~~~ include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ >> drivers/nvdimm/btt.c:1159:26: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:66:6: note: in expansion of macro '__bvec_iter_bvec' 66 | __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^ include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp' 104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <) | ^~~~~~~~~~~~~ include/linux/bvec.h:86:2: note: in expansion of macro 'min_t' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~ include/linux/minmax.h:37:3: note: in expansion of macro '__cmp' 37 | __cmp(x, y, op), \ | ^~~~~ include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ include/linux/bvec.h:65:2: note: in expansion of macro 'min' 65 | min((iter).bi_size, \ | ^~~ include/linux/bvec.h:86:18: note: in expansion of macro 'mp_bvec_iter_len' 86 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~~~~ include/linux/bvec.h:96:13: note: in expansion of macro 'bvec_iter_len' 96 | .bv_len = bvec_iter_len((bvec), (iter)), \ | ^~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:8: note: in expansion of macro 'bvec_iter_bvec' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~~~~~~~~~~~~~ drivers/nvdimm/btt.c:1159:40: error: invalid use of undefined type 'struct bio_integrity_payload' 1159 | bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); | ^~ include/linux/minmax.h:28:27: note: in definition of macro '__cmp' 28 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) .. vim +1159 drivers/nvdimm/btt.c 5212e11fde4d40 Vishal Verma 2015-06-25 1140 41cd8b70c37ace Vishal Verma 2015-06-25 1141 #ifdef CONFIG_BLK_DEV_INTEGRITY 41cd8b70c37ace Vishal Verma 2015-06-25 1142 static int btt_rw_integrity(struct btt *btt, struct bio_integrity_payload *bip, 41cd8b70c37ace Vishal Verma 2015-06-25 1143 struct arena_info *arena, u32 postmap, int rw) 41cd8b70c37ace Vishal Verma 2015-06-25 1144 { 41cd8b70c37ace Vishal Verma 2015-06-25 1145 unsigned int len = btt_meta_size(btt); 41cd8b70c37ace Vishal Verma 2015-06-25 1146 u64 meta_nsoff; 41cd8b70c37ace Vishal Verma 2015-06-25 1147 int ret = 0; 41cd8b70c37ace Vishal Verma 2015-06-25 1148 41cd8b70c37ace Vishal Verma 2015-06-25 1149 if (bip == NULL) 41cd8b70c37ace Vishal Verma 2015-06-25 1150 return 0; 41cd8b70c37ace Vishal Verma 2015-06-25 1151 41cd8b70c37ace Vishal Verma 2015-06-25 1152 meta_nsoff = to_namespace_offset(arena, postmap) + btt->sector_size; 41cd8b70c37ace Vishal Verma 2015-06-25 1153 41cd8b70c37ace Vishal Verma 2015-06-25 1154 while (len) { 41cd8b70c37ace Vishal Verma 2015-06-25 1155 unsigned int cur_len; 41cd8b70c37ace Vishal Verma 2015-06-25 1156 struct bio_vec bv; 41cd8b70c37ace Vishal Verma 2015-06-25 1157 void *mem; 41cd8b70c37ace Vishal Verma 2015-06-25 1158 41cd8b70c37ace Vishal Verma 2015-06-25 @1159 bv = bvec_iter_bvec(bip->bip_vec, bip->bip_iter); 41cd8b70c37ace Vishal Verma 2015-06-25 1160 /* 41cd8b70c37ace Vishal Verma 2015-06-25 1161 * The 'bv' obtained from bvec_iter_bvec has its .bv_len and 41cd8b70c37ace Vishal Verma 2015-06-25 1162 * .bv_offset already adjusted for iter->bi_bvec_done, and we 41cd8b70c37ace Vishal Verma 2015-06-25 1163 * can use those directly 41cd8b70c37ace Vishal Verma 2015-06-25 1164 */ 41cd8b70c37ace Vishal Verma 2015-06-25 1165 41cd8b70c37ace Vishal Verma 2015-06-25 1166 cur_len = min(len, bv.bv_len); 41cd8b70c37ace Vishal Verma 2015-06-25 1167 mem = kmap_atomic(bv.bv_page); 41cd8b70c37ace Vishal Verma 2015-06-25 1168 if (rw) 41cd8b70c37ace Vishal Verma 2015-06-25 1169 ret = arena_write_bytes(arena, meta_nsoff, 3ae3d67ba705c7 Vishal Verma 2017-05-10 1170 mem + bv.bv_offset, cur_len, 3ae3d67ba705c7 Vishal Verma 2017-05-10 1171 NVDIMM_IO_ATOMIC); 41cd8b70c37ace Vishal Verma 2015-06-25 1172 else 41cd8b70c37ace Vishal Verma 2015-06-25 1173 ret = arena_read_bytes(arena, meta_nsoff, 3ae3d67ba705c7 Vishal Verma 2017-05-10 1174 mem + bv.bv_offset, cur_len, 3ae3d67ba705c7 Vishal Verma 2017-05-10 1175 NVDIMM_IO_ATOMIC); 41cd8b70c37ace Vishal Verma 2015-06-25 1176 41cd8b70c37ace Vishal Verma 2015-06-25 1177 kunmap_atomic(mem); 41cd8b70c37ace Vishal Verma 2015-06-25 1178 if (ret) 41cd8b70c37ace Vishal Verma 2015-06-25 1179 return ret; 41cd8b70c37ace Vishal Verma 2015-06-25 1180 41cd8b70c37ace Vishal Verma 2015-06-25 1181 len -= cur_len; 41cd8b70c37ace Vishal Verma 2015-06-25 1182 meta_nsoff += cur_len; b1fb2c52b2d85f Dmitry Monakhov 2017-06-29 1183 if (!bvec_iter_advance(bip->bip_vec, &bip->bip_iter, cur_len)) b1fb2c52b2d85f Dmitry Monakhov 2017-06-29 1184 return -EIO; 41cd8b70c37ace Vishal Verma 2015-06-25 1185 } 41cd8b70c37ace Vishal Verma 2015-06-25 1186 41cd8b70c37ace Vishal Verma 2015-06-25 1187 return ret; 41cd8b70c37ace Vishal Verma 2015-06-25 1188 } 41cd8b70c37ace Vishal Verma 2015-06-25 1189 :::::: The code at line 1159 was first introduced by commit :::::: 41cd8b70c37ace40077c8d6ec0b74b983178c192 libnvdimm, btt: add support for blk integrity :::::: TO: Vishal Verma :::::: CC: Dan Williams --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org