Re: [PATCH v6 2/8] mtd: rawnand: rockchip: NFC drivers for RK3308, RK2928 and others
by kernel test robot
Hi Yifeng,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on rockchip/for-next]
[also build test WARNING on robh/for-next linus/master v5.7]
[cannot apply to next-20200608]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Yifeng-Zhao/Add-Rockchip-NFC-dri...
base: https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project bc2b70982be8f5250cd0082a7190f8b417bd4dfe)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
>> drivers/mtd/nand/raw/rockchip-nand-controller.c:1180:18: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
.bch_st_off = 0x20,
^~~~
drivers/mtd/nand/raw/rockchip-nand-controller.c:1179:18: note: previous initialization is here
.bch_st_off = 0x20,
^~~~
1 warning generated.
vim +1180 drivers/mtd/nand/raw/rockchip-nand-controller.c
1166
1167 static struct nfc_cfg nfc_v8_cfg = {
1168 .type = NFC_V8,
1169 .ecc_strengths = {16, 16, 16, 16},
1170 .ecc_cfgs = {
1171 0x00000001, 0x00000001, 0x00000001, 0x00000001,
1172 },
1173 .flctl_off = 0x08,
1174 .bchctl_off = 0x0C,
1175 .dma_cfg_off = 0x10,
1176 .dma_data_buf_off = 0x14,
1177 .dma_oob_buf_off = 0x18,
1178 .dma_st_off = 0x1C,
1179 .bch_st_off = 0x20,
> 1180 .bch_st_off = 0x20,
1181 .randmz_off = 0x150,
1182 .int_en_off = 0x16C,
1183 .int_clr_off = 0x170,
1184 .int_st_off = 0x174,
1185 .oob0_off = 0x200,
1186 .oob1_off = 0x230,
1187 .ecc0 = {
1188 .err_flag_bit = 2,
1189 .low = 3,
1190 .low_mask = 0x1F,
1191 .low_bn = 5,
1192 .high = 27,
1193 .high_mask = 0x1,
1194 },
1195 .ecc1 = {
1196 .err_flag_bit = 15,
1197 .low = 16,
1198 .low_mask = 0x1F,
1199 .low_bn = 5,
1200 .high = 29,
1201 .high_mask = 0x1,
1202 },
1203 };
1204
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH v1 2/2] usb: phy: Add USB3 PHY support for Intel LGM SoC
by kernel test robot
Hi "Ramuthevar,Vadivel,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on balbi-usb/testing/next]
[also build test WARNING on usb/usb-testing linus/master v5.7 next-20200608]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Ramuthevar-Vadivel-MuruganX/usb-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git testing/next
config: sparc-allyesconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
drivers/usb/phy/phy-lgm-usb.c: In function 'phy_init':
>> drivers/usb/phy/phy-lgm-usb.c:79:13: warning: passing argument 1 of 'IS_ERR' makes pointer from integer without a cast [-Wint-conversion]
79 | if (IS_ERR(ret)) {
| ^~~
| |
| int
In file included from include/linux/io.h:12,
from include/linux/iopoll.h:14,
from drivers/usb/phy/phy-lgm-usb.c:10:
include/linux/err.h:34:60: note: expected 'const void *' but argument is of type 'int'
34 | static inline bool __must_check IS_ERR(__force const void *ptr)
| ~~~~~~~~~~~~^~~
>> drivers/usb/phy/phy-lgm-usb.c:81:18: warning: passing argument 1 of 'PTR_ERR' makes pointer from integer without a cast [-Wint-conversion]
81 | return PTR_ERR(ret);
| ^~~
| |
| int
In file included from include/linux/io.h:12,
from include/linux/iopoll.h:14,
from drivers/usb/phy/phy-lgm-usb.c:10:
include/linux/err.h:29:61: note: expected 'const void *' but argument is of type 'int'
29 | static inline long __must_check PTR_ERR(__force const void *ptr)
| ~~~~~~~~~~~~^~~
drivers/usb/phy/phy-lgm-usb.c: In function 'tca_work':
drivers/usb/phy/phy-lgm-usb.c:136:30: warning: unused variable 'property' [-Wunused-variable]
136 | union extcon_property_value property;
| ^~~~~~~~
vim +/IS_ERR +79 drivers/usb/phy/phy-lgm-usb.c
64
65 static int phy_init(struct usb_phy *phy)
66 {
67 struct tca_apb *ta = container_of(phy, struct tca_apb, phy);
68 void __iomem *ctrl1 = phy->io_priv + CTRL1_OFFSET;
69 int val, ret, i;
70
71 if (ta->phy_initialized)
72 return 0;
73
74 for (i = 0; i < ARRAY_SIZE(PHY_RESETS); i++)
75 reset_control_deassert(ta->resets[i]);
76
77 ret = readl_poll_timeout(ctrl1, val, val & SRAM_INIT_DONE,
78 10, 10 * 1000);
> 79 if (IS_ERR(ret)) {
80 dev_err(ta->phy.dev, "SRAM init failed, 0x%x\n", val);
> 81 return PTR_ERR(ret);
82 }
83
84 writel(readl(ctrl1) | SRAM_EXT_LD_DONE, ctrl1);
85
86 ta->phy_initialized = true;
87 if (!ta->phy.edev)
88 return phy->set_vbus(phy, true);
89
90 schedule_work(&ta->wk);
91
92 return 0;
93 }
94
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[RFC PATCH] pinctrl: ocelot: ocelot_pinconf_set() can be static
by kernel test robot
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
pinctrl-ocelot.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pinctrl/pinctrl-ocelot.c b/drivers/pinctrl/pinctrl-ocelot.c
index c2f8e35616278f..c5f94402d963fb 100644
--- a/drivers/pinctrl/pinctrl-ocelot.c
+++ b/drivers/pinctrl/pinctrl-ocelot.c
@@ -782,7 +782,7 @@ static int ocelot_pinconf_get(struct pinctrl_dev *pctldev,
return 0;
}
-noinline int ocelot_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
+static noinline int ocelot_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
unsigned long *configs, unsigned int num_configs)
{
struct ocelot_pinctrl *info = pinctrl_dev_get_drvdata(pctldev);
2 years, 3 months
Re: [PATCH 3/3] Btrfs: only allocate necessary space when relocating a data block group
by kernel test robot
Hi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on kdave/for-next]
[also build test WARNING on v5.7 next-20200608]
[cannot apply to btrfs/next]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/fdmanana-kernel-org/Btrfs-remove...
base: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
In file included from fs/btrfs/relocation.c:13:
fs/btrfs/ctree.h:2216:8: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
2216 | size_t __const btrfs_get_num_csums(void);
| ^~~~~~~
fs/btrfs/relocation.c: In function 'prealloc_file_extent_cluster':
>> fs/btrfs/relocation.c:2587:6: warning: variable 'cur_offset' set but not used [-Wunused-but-set-variable]
2587 | u64 cur_offset;
| ^~~~~~~~~~
vim +/cur_offset +2587 fs/btrfs/relocation.c
5d4f98a28c7d33 Yan Zheng 2009-06-10 2574
efa56464562991 Yan, Zheng 2010-05-16 2575 static noinline_for_stack
efa56464562991 Yan, Zheng 2010-05-16 2576 int prealloc_file_extent_cluster(struct inode *inode,
efa56464562991 Yan, Zheng 2010-05-16 2577 struct file_extent_cluster *cluster)
efa56464562991 Yan, Zheng 2010-05-16 2578 {
efa56464562991 Yan, Zheng 2010-05-16 2579 u64 alloc_hint = 0;
efa56464562991 Yan, Zheng 2010-05-16 2580 u64 start;
efa56464562991 Yan, Zheng 2010-05-16 2581 u64 end;
efa56464562991 Yan, Zheng 2010-05-16 2582 u64 offset = BTRFS_I(inode)->index_cnt;
efa56464562991 Yan, Zheng 2010-05-16 2583 u64 num_bytes;
efa56464562991 Yan, Zheng 2010-05-16 2584 int nr = 0;
efa56464562991 Yan, Zheng 2010-05-16 2585 int ret = 0;
dcb40c196fc85c Wang Xiaoguang 2016-07-25 2586 u64 prealloc_start = cluster->start - offset;
18513091af9483 Wang Xiaoguang 2016-07-25 @2587 u64 cur_offset;
eb4d9ef455539b Filipe Manana 2020-06-09 2588 u64 allocated = 0;
efa56464562991 Yan, Zheng 2010-05-16 2589
efa56464562991 Yan, Zheng 2010-05-16 2590 BUG_ON(cluster->start != cluster->boundary[0]);
5955102c9984fa Al Viro 2016-01-22 2591 inode_lock(inode);
efa56464562991 Yan, Zheng 2010-05-16 2592
8fa95e39f0371b Filipe Manana 2020-06-09 2593 ret = btrfs_alloc_data_chunk_ondemand(BTRFS_I(inode),
eb4d9ef455539b Filipe Manana 2020-06-09 2594 cluster->total_bytes);
efa56464562991 Yan, Zheng 2010-05-16 2595 if (ret)
efa56464562991 Yan, Zheng 2010-05-16 2596 goto out;
efa56464562991 Yan, Zheng 2010-05-16 2597
18513091af9483 Wang Xiaoguang 2016-07-25 2598 cur_offset = prealloc_start;
efa56464562991 Yan, Zheng 2010-05-16 2599 while (nr < cluster->nr) {
efa56464562991 Yan, Zheng 2010-05-16 2600 start = cluster->boundary[nr] - offset;
efa56464562991 Yan, Zheng 2010-05-16 2601 if (nr + 1 < cluster->nr)
efa56464562991 Yan, Zheng 2010-05-16 2602 end = cluster->boundary[nr + 1] - 1 - offset;
efa56464562991 Yan, Zheng 2010-05-16 2603 else
efa56464562991 Yan, Zheng 2010-05-16 2604 end = cluster->end - offset;
efa56464562991 Yan, Zheng 2010-05-16 2605
d0082371cf086e Jeff Mahoney 2012-03-01 2606 lock_extent(&BTRFS_I(inode)->io_tree, start, end);
efa56464562991 Yan, Zheng 2010-05-16 2607 num_bytes = end + 1 - start;
efa56464562991 Yan, Zheng 2010-05-16 2608 ret = btrfs_prealloc_file_range(inode, 0, start,
efa56464562991 Yan, Zheng 2010-05-16 2609 num_bytes, num_bytes,
efa56464562991 Yan, Zheng 2010-05-16 2610 end + 1, &alloc_hint);
18513091af9483 Wang Xiaoguang 2016-07-25 2611 cur_offset = end + 1;
eb4d9ef455539b Filipe Manana 2020-06-09 2612 allocated += num_bytes;
d0082371cf086e Jeff Mahoney 2012-03-01 2613 unlock_extent(&BTRFS_I(inode)->io_tree, start, end);
efa56464562991 Yan, Zheng 2010-05-16 2614 if (ret)
efa56464562991 Yan, Zheng 2010-05-16 2615 break;
efa56464562991 Yan, Zheng 2010-05-16 2616 nr++;
efa56464562991 Yan, Zheng 2010-05-16 2617 }
eb4d9ef455539b Filipe Manana 2020-06-09 2618 if (allocated < cluster->total_bytes)
8fa95e39f0371b Filipe Manana 2020-06-09 2619 btrfs_free_reserved_data_space_noquota(inode,
eb4d9ef455539b Filipe Manana 2020-06-09 2620 cluster->total_bytes - allocated);
efa56464562991 Yan, Zheng 2010-05-16 2621 out:
5955102c9984fa Al Viro 2016-01-22 2622 inode_unlock(inode);
efa56464562991 Yan, Zheng 2010-05-16 2623 return ret;
efa56464562991 Yan, Zheng 2010-05-16 2624 }
efa56464562991 Yan, Zheng 2010-05-16 2625
:::::: The code at line 2587 was first introduced by commit
:::::: 18513091af9483ba84328d42092bd4d42a3c958f btrfs: update btrfs_space_info's bytes_may_use timely
:::::: TO: Wang Xiaoguang <wangxg.fnst(a)cn.fujitsu.com>
:::::: CC: Chris Mason <clm(a)fb.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[riscv:for-next 2/11] arch/riscv/kernel/vdso/vgettimeofday.c:12:5: warning: no previous prototype for function '__vdso_clock_gettime'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git for-next
head: 5cc38fa6fc7448d40ff214d5c087f508355e8446
commit: 6e3cfcf6ea031fe2a0068fa7c380c4cf7bcd8936 [2/11] riscv: use vDSO common flow to reduce the latency of the time-related functions
config: riscv-randconfig-r022-20200607 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project bc2b70982be8f5250cd0082a7190f8b417bd4dfe)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
git checkout 6e3cfcf6ea031fe2a0068fa7c380c4cf7bcd8936
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
>> arch/riscv/kernel/vdso/vgettimeofday.c:12:5: warning: no previous prototype for function '__vdso_clock_gettime' [-Wmissing-prototypes]
int __vdso_clock_gettime(clockid_t clock, struct __kernel_timespec *ts)
^
arch/riscv/kernel/vdso/vgettimeofday.c:12:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __vdso_clock_gettime(clockid_t clock, struct __kernel_timespec *ts)
^
static
>> arch/riscv/kernel/vdso/vgettimeofday.c:17:5: warning: no previous prototype for function '__vdso_gettimeofday' [-Wmissing-prototypes]
int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)
^
arch/riscv/kernel/vdso/vgettimeofday.c:17:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)
^
static
>> arch/riscv/kernel/vdso/vgettimeofday.c:22:5: warning: no previous prototype for function '__vdso_clock_getres' [-Wmissing-prototypes]
int __vdso_clock_getres(clockid_t clock_id, struct __kernel_timespec *res)
^
arch/riscv/kernel/vdso/vgettimeofday.c:22:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __vdso_clock_getres(clockid_t clock_id, struct __kernel_timespec *res)
^
static
3 warnings generated.
vim +/__vdso_clock_gettime +12 arch/riscv/kernel/vdso/vgettimeofday.c
11
> 12 int __vdso_clock_gettime(clockid_t clock, struct __kernel_timespec *ts)
13 {
14 return __cvdso_clock_gettime(clock, ts);
15 }
16
> 17 int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)
18 {
19 return __cvdso_gettimeofday(tv, tz);
20 }
21
> 22 int __vdso_clock_getres(clockid_t clock_id, struct __kernel_timespec *res)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH v4 03/10] clk: actions: Add MMC clock-register reset bits
by kernel test robot
Hi Amit,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on robh/for-next]
[also build test ERROR on clk/clk-next pza/reset/next linus/master v5.7 next-20200608]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Amit-Singh-Tomar/Add-MMC-and-DMA...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the linux-review/Amit-Singh-Tomar/Add-MMC-and-DMA-support-for-Actions-S700/20200609-182123 HEAD 1aa888462e44552a129b6ea35f603cf6ef65a83c builds fine.
It only hurts bisectibility.
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
>> drivers/clk/actions/owl-s700.c:580:3: error: 'RESET_SD0' undeclared here (not in a function); did you mean 'RESET_SI'?
580 | [RESET_SD0] = { CMU_DEVRST0, BIT(22) },
| ^~~~~~~~~
| RESET_SI
>> drivers/clk/actions/owl-s700.c:580:3: error: array index in initializer not of integer type
drivers/clk/actions/owl-s700.c:580:3: note: (near initialization for 's700_resets')
>> drivers/clk/actions/owl-s700.c:581:3: error: 'RESET_SD1' undeclared here (not in a function); did you mean 'RESET_SI'?
581 | [RESET_SD1] = { CMU_DEVRST0, BIT(23) },
| ^~~~~~~~~
| RESET_SI
drivers/clk/actions/owl-s700.c:581:3: error: array index in initializer not of integer type
drivers/clk/actions/owl-s700.c:581:3: note: (near initialization for 's700_resets')
>> drivers/clk/actions/owl-s700.c:582:3: error: 'RESET_SD2' undeclared here (not in a function); did you mean 'RESET_SI'?
582 | [RESET_SD2] = { CMU_DEVRST0, BIT(24) },
| ^~~~~~~~~
| RESET_SI
drivers/clk/actions/owl-s700.c:582:3: error: array index in initializer not of integer type
drivers/clk/actions/owl-s700.c:582:3: note: (near initialization for 's700_resets')
>> drivers/clk/actions/owl-s700.c:587:17: warning: initialized field overwritten [-Woverride-init]
587 | [RESET_SPI0] = { CMU_DEVRST1, BIT(4) },
| ^
drivers/clk/actions/owl-s700.c:587:17: note: (near initialization for 's700_resets[12]')
drivers/clk/actions/owl-s700.c:588:17: warning: initialized field overwritten [-Woverride-init]
588 | [RESET_SPI1] = { CMU_DEVRST1, BIT(5) },
| ^
drivers/clk/actions/owl-s700.c:588:17: note: (near initialization for 's700_resets[13]')
drivers/clk/actions/owl-s700.c:589:17: warning: initialized field overwritten [-Woverride-init]
589 | [RESET_SPI2] = { CMU_DEVRST1, BIT(6) },
| ^
drivers/clk/actions/owl-s700.c:589:17: note: (near initialization for 's700_resets[14]')
vim +580 drivers/clk/actions/owl-s700.c
573
574 static const struct owl_reset_map s700_resets[] = {
575 [RESET_DE] = { CMU_DEVRST0, BIT(0) },
576 [RESET_LCD0] = { CMU_DEVRST0, BIT(1) },
577 [RESET_DSI] = { CMU_DEVRST0, BIT(2) },
578 [RESET_CSI] = { CMU_DEVRST0, BIT(13) },
579 [RESET_SI] = { CMU_DEVRST0, BIT(14) },
> 580 [RESET_SD0] = { CMU_DEVRST0, BIT(22) },
> 581 [RESET_SD1] = { CMU_DEVRST0, BIT(23) },
> 582 [RESET_SD2] = { CMU_DEVRST0, BIT(24) },
583 [RESET_I2C0] = { CMU_DEVRST1, BIT(0) },
584 [RESET_I2C1] = { CMU_DEVRST1, BIT(1) },
585 [RESET_I2C2] = { CMU_DEVRST1, BIT(2) },
586 [RESET_I2C3] = { CMU_DEVRST1, BIT(3) },
> 587 [RESET_SPI0] = { CMU_DEVRST1, BIT(4) },
588 [RESET_SPI1] = { CMU_DEVRST1, BIT(5) },
589 [RESET_SPI2] = { CMU_DEVRST1, BIT(6) },
590 [RESET_SPI3] = { CMU_DEVRST1, BIT(7) },
591 [RESET_UART0] = { CMU_DEVRST1, BIT(8) },
592 [RESET_UART1] = { CMU_DEVRST1, BIT(9) },
593 [RESET_UART2] = { CMU_DEVRST1, BIT(10) },
594 [RESET_UART3] = { CMU_DEVRST1, BIT(11) },
595 [RESET_UART4] = { CMU_DEVRST1, BIT(12) },
596 [RESET_UART5] = { CMU_DEVRST1, BIT(13) },
597 [RESET_UART6] = { CMU_DEVRST1, BIT(14) },
598 [RESET_KEY] = { CMU_DEVRST1, BIT(24) },
599 [RESET_GPIO] = { CMU_DEVRST1, BIT(25) },
600 [RESET_AUDIO] = { CMU_DEVRST1, BIT(29) },
601 };
602
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH v2 05/10] pinctrl: ocelot: Add Sparx5 SoC support
by kernel test robot
Hi Lars,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on next-20200608]
[cannot apply to robh/for-next clk/clk-next pinctrl/devel v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Lars-Povlsen/Adding-support-for-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git abfbb29297c27e3f101f348dc9e467b0fe70f919
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
drivers/pinctrl/pinctrl-ocelot.c: In function 'ocelot_hw_get_value':
>> drivers/pinctrl/pinctrl-ocelot.c:659:7: warning: variable 'value' set but not used [-Wunused-but-set-variable]
659 | u32 value;
| ^~~~~
drivers/pinctrl/pinctrl-ocelot.c: At top level:
>> drivers/pinctrl/pinctrl-ocelot.c:785:14: warning: no previous prototype for 'ocelot_pinconf_set' [-Wmissing-prototypes]
785 | noinline int ocelot_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
| ^~~~~~~~~~~~~~~~~~
vim +/value +659 drivers/pinctrl/pinctrl-ocelot.c
649
650 static int ocelot_hw_get_value(struct ocelot_pinctrl *info,
651 unsigned int pin,
652 unsigned int reg,
653 int *val)
654 {
655 int ret = -ENOTSUPP;
656
657 if (info->pincfg) {
658 u32 regcfg = readl(info->pincfg + (pin * sizeof(u32)));
> 659 u32 value;
660
661 ret = 0;
662 switch (reg) {
663 case PINCONF_BIAS:
664 value = regcfg & BIAS_BITS;
665 break;
666
667 case PINCONF_SCHMITT:
668 value = regcfg & SCHMITT_BIT;
669 break;
670
671 case PINCONF_DRIVE_STRENGTH:
672 value = regcfg & DRIVE_BITS;
673 break;
674
675 default:
676 ret = -ENOTSUPP;
677 break;
678 }
679 }
680 return ret;
681 }
682
683 static int ocelot_hw_set_value(struct ocelot_pinctrl *info,
684 unsigned int pin,
685 unsigned int reg,
686 int val)
687 {
688 int ret = -ENOTSUPP;
689
690 if (info->pincfg) {
691 void __iomem *regaddr = info->pincfg + (pin * sizeof(u32));
692
693 ret = 0;
694 switch (reg) {
695 case PINCONF_BIAS:
696 ocelot_clrsetbits(regaddr, BIAS_BITS, val);
697 break;
698
699 case PINCONF_SCHMITT:
700 ocelot_clrsetbits(regaddr, SCHMITT_BIT, val);
701 break;
702
703 case PINCONF_DRIVE_STRENGTH:
704 if (val <= 3)
705 ocelot_clrsetbits(regaddr, DRIVE_BITS, val);
706 else
707 ret = -EINVAL;
708 break;
709
710 default:
711 ret = -ENOTSUPP;
712 break;
713 }
714 }
715 return ret;
716 }
717
718 static int ocelot_pinconf_get(struct pinctrl_dev *pctldev,
719 unsigned int pin, unsigned long *config)
720 {
721 struct ocelot_pinctrl *info = pinctrl_dev_get_drvdata(pctldev);
722 u32 param = pinconf_to_config_param(*config);
723 int val, err;
724
725 switch (param) {
726 case PIN_CONFIG_BIAS_DISABLE:
727 case PIN_CONFIG_BIAS_PULL_UP:
728 case PIN_CONFIG_BIAS_PULL_DOWN:
729 err = ocelot_hw_get_value(info, pin, PINCONF_BIAS, &val);
730 if (err)
731 return err;
732 if (param == PIN_CONFIG_BIAS_DISABLE)
733 val = (val == 0 ? true : false);
734 else if (param == PIN_CONFIG_BIAS_PULL_DOWN)
735 val = (val & BIAS_PD_BIT ? true : false);
736 else /* PIN_CONFIG_BIAS_PULL_UP */
737 val = (val & BIAS_PU_BIT ? true : false);
738 break;
739
740 case PIN_CONFIG_INPUT_SCHMITT_ENABLE:
741 err = ocelot_hw_get_value(info, pin, PINCONF_SCHMITT, &val);
742 if (err)
743 return err;
744
745 val = (val & SCHMITT_BIT ? true : false);
746 break;
747
748 case PIN_CONFIG_DRIVE_STRENGTH:
749 err = ocelot_hw_get_value(info, pin, PINCONF_DRIVE_STRENGTH,
750 &val);
751 if (err)
752 return err;
753 break;
754
755 case PIN_CONFIG_OUTPUT:
756 err = regmap_read(info->map, REG(OCELOT_GPIO_OUT, info, pin),
757 &val);
758 if (err)
759 return err;
760 val = !!(val & BIT(pin % 32));
761 break;
762
763 case PIN_CONFIG_INPUT_ENABLE:
764 case PIN_CONFIG_OUTPUT_ENABLE:
765 err = regmap_read(info->map, REG(OCELOT_GPIO_OE, info, pin),
766 &val);
767 if (err)
768 return err;
769 val = val & BIT(pin % 32);
770 if (param == PIN_CONFIG_OUTPUT_ENABLE)
771 val = !!val;
772 else
773 val = !val;
774 break;
775
776 default:
777 return -ENOTSUPP;
778 }
779
780 *config = pinconf_to_config_packed(param, val);
781
782 return 0;
783 }
784
> 785 noinline int ocelot_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
786 unsigned long *configs, unsigned int num_configs)
787 {
788 struct ocelot_pinctrl *info = pinctrl_dev_get_drvdata(pctldev);
789 u32 param, arg, p;
790 int cfg, err = 0;
791
792 for (cfg = 0; cfg < num_configs; cfg++) {
793 param = pinconf_to_config_param(configs[cfg]);
794 arg = pinconf_to_config_argument(configs[cfg]);
795
796 switch (param) {
797 case PIN_CONFIG_BIAS_DISABLE:
798 case PIN_CONFIG_BIAS_PULL_UP:
799 case PIN_CONFIG_BIAS_PULL_DOWN:
800 arg = (param == PIN_CONFIG_BIAS_DISABLE) ? 0 :
801 (param == PIN_CONFIG_BIAS_PULL_UP) ? BIAS_PU_BIT :
802 BIAS_PD_BIT;
803
804 err = ocelot_hw_set_value(info, pin, PINCONF_BIAS, arg);
805 if (err)
806 goto err;
807
808 break;
809
810 case PIN_CONFIG_INPUT_SCHMITT_ENABLE:
811 arg = arg ? SCHMITT_BIT : 0;
812 err = ocelot_hw_set_value(info, pin, PINCONF_SCHMITT,
813 arg);
814 if (err)
815 goto err;
816
817 break;
818
819 case PIN_CONFIG_DRIVE_STRENGTH:
820 err = ocelot_hw_set_value(info, pin,
821 PINCONF_DRIVE_STRENGTH,
822 arg);
823 if (err)
824 goto err;
825
826 break;
827
828 case PIN_CONFIG_OUTPUT_ENABLE:
829 case PIN_CONFIG_INPUT_ENABLE:
830 case PIN_CONFIG_OUTPUT:
831 p = pin % 32;
832 if (arg)
833 regmap_write(info->map,
834 REG(OCELOT_GPIO_OUT_SET, info,
835 pin),
836 BIT(p));
837 else
838 regmap_write(info->map,
839 REG(OCELOT_GPIO_OUT_CLR, info,
840 pin),
841 BIT(p));
842 regmap_update_bits(info->map,
843 REG(OCELOT_GPIO_OE, info, pin),
844 BIT(p),
845 param == PIN_CONFIG_INPUT_ENABLE ?
846 0 : BIT(p));
847 break;
848
849 default:
850 err = -ENOTSUPP;
851 }
852 }
853 err:
854 return err;
855 }
856
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[mcgrof:20200605-blktrace-fixes-v4 8/8] kernel/trace/blktrace.c:601:12: error: invalid storage class for function '__blk_trace_setup'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git 20200605-blktrace-fixes-v4
head: 5198fc554bd362e6b4800af7fddd577e0558ed50
commit: 5198fc554bd362e6b4800af7fddd577e0558ed50 [8/8] blktrace: fix debugfs use after free
config: nds32-randconfig-r005-20200608 (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 5198fc554bd362e6b4800af7fddd577e0558ed50
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nds32
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
kernel/trace/blktrace.c: In function 'do_blk_trace_setup':
>> kernel/trace/blktrace.c:601:12: error: invalid storage class for function '__blk_trace_setup'
601 | static int __blk_trace_setup(struct request_queue *q, char *name, dev_t dev,
| ^~~~~~~~~~~~~~~~~
>> kernel/trace/blktrace.c:601:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
601 | static int __blk_trace_setup(struct request_queue *q, char *name, dev_t dev,
| ^~~~~~
In file included from include/linux/linkage.h:7,
from include/linux/kernel.h:8,
from kernel/trace/blktrace.c:9:
>> kernel/trace/blktrace.c:634:19: error: non-static declaration of 'blk_trace_setup' follows static declaration
634 | EXPORT_SYMBOL_GPL(blk_trace_setup);
| ^~~~~~~~~~~~~~~
include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
98 | extern typeof(sym) sym; | ^~~
>> include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
>> include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
>> kernel/trace/blktrace.c:634:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
634 | EXPORT_SYMBOL_GPL(blk_trace_setup);
| ^~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:622:5: note: previous definition of 'blk_trace_setup' was here
622 | int blk_trace_setup(struct request_queue *q, char *name, dev_t dev,
| ^~~~~~~~~~~~~~~
In file included from include/linux/linkage.h:7,
from include/linux/kernel.h:8,
from kernel/trace/blktrace.c:9:
>> include/linux/export.h:67:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
67 | static const struct kernel_symbol __ksymtab_##sym | ^~~~~~
>> include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY'
108 | __KSYMTAB_ENTRY(sym, sec)
| ^~~~~~~~~~~~~~~
>> include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL'
147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns)
| ^~~~~~~~~~~~~~~~
>> include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
>> include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
>> kernel/trace/blktrace.c:634:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
634 | EXPORT_SYMBOL_GPL(blk_trace_setup);
| ^~~~~~~~~~~~~~~~~
>> kernel/trace/blktrace.c:670:12: error: invalid storage class for function '__blk_trace_startstop'
670 | static int __blk_trace_startstop(struct request_queue *q, int start)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/linkage.h:7,
from include/linux/kernel.h:8,
from kernel/trace/blktrace.c:9:
>> kernel/trace/blktrace.c:722:19: error: non-static declaration of 'blk_trace_startstop' follows static declaration
722 | EXPORT_SYMBOL_GPL(blk_trace_startstop);
| ^~~~~~~~~~~~~~~~~~~
include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
98 | extern typeof(sym) sym; | ^~~
>> include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
>> include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
kernel/trace/blktrace.c:722:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
722 | EXPORT_SYMBOL_GPL(blk_trace_startstop);
| ^~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:712:5: note: previous definition of 'blk_trace_startstop' was here
712 | int blk_trace_startstop(struct request_queue *q, int start)
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/linkage.h:7,
from include/linux/kernel.h:8,
from kernel/trace/blktrace.c:9:
>> include/linux/export.h:67:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
67 | static const struct kernel_symbol __ksymtab_##sym | ^~~~~~
>> include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY'
108 | __KSYMTAB_ENTRY(sym, sec)
| ^~~~~~~~~~~~~~~
>> include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL'
147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns)
| ^~~~~~~~~~~~~~~~
>> include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
kernel/trace/blktrace.c:722:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
722 | EXPORT_SYMBOL_GPL(blk_trace_startstop);
| ^~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:796:12: error: invalid storage class for function 'blk_trace_bio_get_cgid'
796 | static u64 blk_trace_bio_get_cgid(struct request_queue *q, struct bio *bio)
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:817:1: error: invalid storage class for function 'blk_trace_request_get_cgid'
817 | blk_trace_request_get_cgid(struct request_queue *q, struct request *rq)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:841:13: error: invalid storage class for function 'blk_add_trace_rq'
841 | static void blk_add_trace_rq(struct request *rq, int error,
| ^~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:863:13: error: invalid storage class for function 'blk_add_trace_rq_insert'
863 | static void blk_add_trace_rq_insert(void *ignore,
| ^~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:870:13: error: invalid storage class for function 'blk_add_trace_rq_issue'
870 | static void blk_add_trace_rq_issue(void *ignore,
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:877:13: error: invalid storage class for function 'blk_add_trace_rq_requeue'
877 | static void blk_add_trace_rq_requeue(void *ignore,
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:885:13: error: invalid storage class for function 'blk_add_trace_rq_complete'
885 | static void blk_add_trace_rq_complete(void *ignore, struct request *rq,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:903:13: error: invalid storage class for function 'blk_add_trace_bio'
903 | static void blk_add_trace_bio(struct request_queue *q, struct bio *bio,
| ^~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:921:13: error: invalid storage class for function 'blk_add_trace_bio_bounce'
921 | static void blk_add_trace_bio_bounce(void *ignore,
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:927:13: error: invalid storage class for function 'blk_add_trace_bio_complete'
927 | static void blk_add_trace_bio_complete(void *ignore,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:934:13: error: invalid storage class for function 'blk_add_trace_bio_backmerge'
934 | static void blk_add_trace_bio_backmerge(void *ignore,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:942:13: error: invalid storage class for function 'blk_add_trace_bio_frontmerge'
942 | static void blk_add_trace_bio_frontmerge(void *ignore,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:950:13: error: invalid storage class for function 'blk_add_trace_bio_queue'
950 | static void blk_add_trace_bio_queue(void *ignore,
| ^~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:956:13: error: invalid storage class for function 'blk_add_trace_getrq'
956 | static void blk_add_trace_getrq(void *ignore,
| ^~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:975:13: error: invalid storage class for function 'blk_add_trace_sleeprq'
975 | static void blk_add_trace_sleeprq(void *ignore,
| ^~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:993:13: error: invalid storage class for function 'blk_add_trace_plug'
993 | static void blk_add_trace_plug(void *ignore, struct request_queue *q)
| ^~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:1004:13: error: invalid storage class for function 'blk_add_trace_unplug'
1004 | static void blk_add_trace_unplug(void *ignore, struct request_queue *q,
| ^~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:1025:13: error: invalid storage class for function 'blk_add_trace_split'
1025 | static void blk_add_trace_split(void *ignore,
| ^~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:1057:13: error: invalid storage class for function 'blk_add_trace_bio_remap'
1057 | static void blk_add_trace_bio_remap(void *ignore,
| ^~~~~~~~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:1094:13: error: invalid storage class for function 'blk_add_trace_rq_remap'
1094 | static void blk_add_trace_rq_remap(void *ignore,
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/linkage.h:7,
from include/linux/kernel.h:8,
from kernel/trace/blktrace.c:9:
kernel/trace/blktrace.c:1148:19: error: non-static declaration of 'blk_add_driver_data' follows static declaration
1148 | EXPORT_SYMBOL_GPL(blk_add_driver_data);
| ^~~~~~~~~~~~~~~~~~~
include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
98 | extern typeof(sym) sym; | ^~~
include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
kernel/trace/blktrace.c:1148:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
1148 | EXPORT_SYMBOL_GPL(blk_add_driver_data);
| ^~~~~~~~~~~~~~~~~
kernel/trace/blktrace.c:1130:6: note: previous definition of 'blk_add_driver_data' was here
1130 | void blk_add_driver_data(struct request_queue *q,
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/linkage.h:7,
from include/linux/kernel.h:8,
from kernel/trace/blktrace.c:9:
include/linux/export.h:67:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
67 | static const struct kernel_symbol __ksymtab_##sym | ^~~~~~
include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY'
108 | __KSYMTAB_ENTRY(sym, sec)
| ^~~~~~~~~~~~~~~
include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL'
147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns)
vim +/__blk_trace_setup +601 kernel/trace/blktrace.c
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 600
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 @601 static int __blk_trace_setup(struct request_queue *q, char *name, dev_t dev,
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 602 struct block_device *bdev, char __user *arg)
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 603 {
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 604 struct blk_user_trace_setup buts;
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 605 int ret;
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 606
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 607 ret = copy_from_user(&buts, arg, sizeof(buts));
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 608 if (ret)
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 609 return -EFAULT;
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 610
d0deef5b14af7d kernel/trace/blktrace.c Shawn Du 2009-04-14 611 ret = do_blk_trace_setup(q, name, dev, bdev, &buts);
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 612 if (ret)
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 613 return ret;
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 614
9a8c28c8311e30 kernel/trace/blktrace.c Dmitry Monakhov 2010-02-27 615 if (copy_to_user(arg, &buts, sizeof(buts))) {
2967acbb257a6a kernel/trace/blktrace.c Jens Axboe 2017-11-19 616 __blk_trace_remove(q);
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 617 return -EFAULT;
9a8c28c8311e30 kernel/trace/blktrace.c Dmitry Monakhov 2010-02-27 618 }
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 619 return 0;
171044d449611c block/blktrace.c Arnd Bergmann 2007-10-09 620 }
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 621
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 622 int blk_trace_setup(struct request_queue *q, char *name, dev_t dev,
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 623 struct block_device *bdev,
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 624 char __user *arg)
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 625 {
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 626 int ret;
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 627
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 628 mutex_lock(&q->blk_trace_mutex);
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 629 ret = __blk_trace_setup(q, name, dev, bdev, arg);
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 630 mutex_unlock(&q->blk_trace_mutex);
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 631
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 632 return ret;
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 633 }
6da127ad0918f9 block/blktrace.c Christof Schmitt 2008-01-11 @634 EXPORT_SYMBOL_GPL(blk_trace_setup);
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 635
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 636 #if defined(CONFIG_COMPAT) && defined(CONFIG_X86_64)
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 637 static int compat_blk_trace_setup(struct request_queue *q, char *name,
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 638 dev_t dev, struct block_device *bdev,
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 639 char __user *arg)
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 640 {
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 641 struct blk_user_trace_setup buts;
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 642 struct compat_blk_user_trace_setup cbuts;
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 643 int ret;
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 644
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 645 if (copy_from_user(&cbuts, arg, sizeof(cbuts)))
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 646 return -EFAULT;
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 647
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 648 buts = (struct blk_user_trace_setup) {
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 649 .act_mask = cbuts.act_mask,
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 650 .buf_size = cbuts.buf_size,
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 651 .buf_nr = cbuts.buf_nr,
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 652 .start_lba = cbuts.start_lba,
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 653 .end_lba = cbuts.end_lba,
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 654 .pid = cbuts.pid,
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 655 };
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 656
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 657 ret = do_blk_trace_setup(q, name, dev, bdev, &buts);
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 658 if (ret)
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 659 return ret;
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 660
f8c5e94486671f kernel/trace/blktrace.c Chen Gang 2013-11-03 661 if (copy_to_user(arg, &buts.name, ARRAY_SIZE(buts.name))) {
2967acbb257a6a kernel/trace/blktrace.c Jens Axboe 2017-11-19 662 __blk_trace_remove(q);
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 663 return -EFAULT;
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 664 }
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 665
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 666 return 0;
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 667 }
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 668 #endif
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 669
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 @670 static int __blk_trace_startstop(struct request_queue *q, int start)
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 671 {
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 672 int ret;
c780e86dd48ef6 kernel/trace/blktrace.c Jan Kara 2020-02-06 673 struct blk_trace *bt;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 674
c780e86dd48ef6 kernel/trace/blktrace.c Jan Kara 2020-02-06 675 bt = rcu_dereference_protected(q->blk_trace,
c780e86dd48ef6 kernel/trace/blktrace.c Jan Kara 2020-02-06 676 lockdep_is_held(&q->blk_trace_mutex));
939b366977d29b block/blktrace.c Arnaldo Carvalho de Melo 2009-02-03 677 if (bt == NULL)
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 678 return -EINVAL;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 679
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 680 /*
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 681 * For starting a trace, we can transition from a setup or stopped
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 682 * trace. For stopping a trace, the state must be running
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 683 */
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 684 ret = -EINVAL;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 685 if (start) {
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 686 if (bt->trace_state == Blktrace_setup ||
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 687 bt->trace_state == Blktrace_stopped) {
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 688 blktrace_seq++;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 689 smp_mb();
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 690 bt->trace_state = Blktrace_running;
a404d5576bbe58 kernel/trace/blktrace.c Jan Kara 2013-09-17 691 spin_lock_irq(&running_trace_lock);
a404d5576bbe58 kernel/trace/blktrace.c Jan Kara 2013-09-17 692 list_add(&bt->running_list, &running_trace_list);
a404d5576bbe58 kernel/trace/blktrace.c Jan Kara 2013-09-17 693 spin_unlock_irq(&running_trace_lock);
be1c63411addba block/blktrace.c Olaf Kirch 2006-12-01 694
be1c63411addba block/blktrace.c Olaf Kirch 2006-12-01 695 trace_note_time(bt);
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 696 ret = 0;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 697 }
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 698 } else {
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 699 if (bt->trace_state == Blktrace_running) {
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 700 bt->trace_state = Blktrace_stopped;
a404d5576bbe58 kernel/trace/blktrace.c Jan Kara 2013-09-17 701 spin_lock_irq(&running_trace_lock);
a404d5576bbe58 kernel/trace/blktrace.c Jan Kara 2013-09-17 702 list_del_init(&bt->running_list);
a404d5576bbe58 kernel/trace/blktrace.c Jan Kara 2013-09-17 703 spin_unlock_irq(&running_trace_lock);
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 704 relay_flush(bt->rchan);
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 705 ret = 0;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 706 }
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 707 }
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 708
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 709 return ret;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 710 }
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 711
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 712 int blk_trace_startstop(struct request_queue *q, int start)
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 713 {
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 714 int ret;
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 715
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 716 mutex_lock(&q->blk_trace_mutex);
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 717 ret = __blk_trace_startstop(q, start);
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 718 mutex_unlock(&q->blk_trace_mutex);
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 719
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 720 return ret;
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 721 }
6da127ad0918f9 block/blktrace.c Christof Schmitt 2008-01-11 @722 EXPORT_SYMBOL_GPL(blk_trace_startstop);
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 723
5acb3cc2c2e9d3 kernel/trace/blktrace.c Waiman Long 2017-09-20 724 /*
5acb3cc2c2e9d3 kernel/trace/blktrace.c Waiman Long 2017-09-20 725 * When reading or writing the blktrace sysfs files, the references to the
5acb3cc2c2e9d3 kernel/trace/blktrace.c Waiman Long 2017-09-20 726 * opened sysfs or device files should prevent the underlying block device
5acb3cc2c2e9d3 kernel/trace/blktrace.c Waiman Long 2017-09-20 727 * from being removed. So no further delete protection is really needed.
5acb3cc2c2e9d3 kernel/trace/blktrace.c Waiman Long 2017-09-20 728 */
5acb3cc2c2e9d3 kernel/trace/blktrace.c Waiman Long 2017-09-20 729
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 730 /**
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 731 * blk_trace_ioctl: - handle the ioctls associated with tracing
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 732 * @bdev: the block device
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 733 * @cmd: the ioctl cmd
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 734 * @arg: the argument data, if any
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 735 *
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 736 **/
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 737 int blk_trace_ioctl(struct block_device *bdev, unsigned cmd, char __user *arg)
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 738 {
165125e1e480f9 block/blktrace.c Jens Axboe 2007-07-24 739 struct request_queue *q;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 740 int ret, start = 0;
6da127ad0918f9 block/blktrace.c Christof Schmitt 2008-01-11 741 char b[BDEVNAME_SIZE];
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 742
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 743 q = bdev_get_queue(bdev);
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 744 if (!q)
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 745 return -ENXIO;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 746
5acb3cc2c2e9d3 kernel/trace/blktrace.c Waiman Long 2017-09-20 747 mutex_lock(&q->blk_trace_mutex);
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 748
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 749 switch (cmd) {
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 750 case BLKTRACESETUP:
f36f21ecca9ee6 block/blktrace.c Jean Delvare 2008-05-12 751 bdevname(bdev, b);
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 752 ret = __blk_trace_setup(q, b, bdev->bd_dev, bdev, arg);
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 753 break;
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 754 #if defined(CONFIG_COMPAT) && defined(CONFIG_X86_64)
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 755 case BLKTRACESETUP32:
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 756 bdevname(bdev, b);
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 757 ret = compat_blk_trace_setup(q, b, bdev->bd_dev, bdev, arg);
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 758 break;
62c2a7d969f301 kernel/trace/blktrace.c Arnd Bergmann 2010-07-07 759 #endif
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 760 case BLKTRACESTART:
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 761 start = 1;
f6d85f04e29859 kernel/trace/blktrace.c Mathieu Malaterre 2019-01-14 762 /* fall through */
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 763 case BLKTRACESTOP:
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 764 ret = __blk_trace_startstop(q, start);
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 765 break;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 766 case BLKTRACETEARDOWN:
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 767 ret = __blk_trace_remove(q);
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 768 break;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 769 default:
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 770 ret = -ENOTTY;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 771 break;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 772 }
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 773
5acb3cc2c2e9d3 kernel/trace/blktrace.c Waiman Long 2017-09-20 774 mutex_unlock(&q->blk_trace_mutex);
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 775 return ret;
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 776 }
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 777
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 778 /**
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 779 * blk_trace_shutdown: - stop and cleanup trace structures
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 780 * @q: the request queue associated with the device
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 781 *
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 782 **/
165125e1e480f9 block/blktrace.c Jens Axboe 2007-07-24 783 void blk_trace_shutdown(struct request_queue *q)
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 784 {
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 785 mutex_lock(&q->blk_trace_mutex);
c780e86dd48ef6 kernel/trace/blktrace.c Jan Kara 2020-02-06 786 if (rcu_dereference_protected(q->blk_trace,
c780e86dd48ef6 kernel/trace/blktrace.c Jan Kara 2020-02-06 787 lockdep_is_held(&q->blk_trace_mutex))) {
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 788 __blk_trace_startstop(q, 0);
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 789 __blk_trace_remove(q);
2056a782f8e7e6 block/blktrace.c Jens Axboe 2006-03-23 790 }
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 791
1f2cac107c591c kernel/trace/blktrace.c Jens Axboe 2017-11-05 792 mutex_unlock(&q->blk_trace_mutex);
6c5c934153513d block/blktrace.c Alexey Dobriyan 2006-09-29 793 }
5f3ea37c7716db block/blktrace.c Arnaldo Carvalho de Melo 2008-10-30 794
ca1136c99b66b1 kernel/trace/blktrace.c Shaohua Li 2017-07-12 795 #ifdef CONFIG_BLK_CGROUP
67c0496e87d193 kernel/trace/blktrace.c Tejun Heo 2019-11-04 @796 static u64 blk_trace_bio_get_cgid(struct request_queue *q, struct bio *bio)
ca1136c99b66b1 kernel/trace/blktrace.c Shaohua Li 2017-07-12 797 {
c780e86dd48ef6 kernel/trace/blktrace.c Jan Kara 2020-02-06 798 struct blk_trace *bt;
ca1136c99b66b1 kernel/trace/blktrace.c Shaohua Li 2017-07-12 799
c780e86dd48ef6 kernel/trace/blktrace.c Jan Kara 2020-02-06 800 /* We don't use the 'bt' value here except as an optimization... */
c780e86dd48ef6 kernel/trace/blktrace.c Jan Kara 2020-02-06 801 bt = rcu_dereference_protected(q->blk_trace, 1);
ca1136c99b66b1 kernel/trace/blktrace.c Shaohua Li 2017-07-12 802 if (!bt || !(blk_tracer_flags.val & TRACE_BLK_OPT_CGROUP))
67c0496e87d193 kernel/trace/blktrace.c Tejun Heo 2019-11-04 803 return 0;
ca1136c99b66b1 kernel/trace/blktrace.c Shaohua Li 2017-07-12 804
db6638d7d177a8 kernel/trace/blktrace.c Dennis Zhou 2018-12-05 805 if (!bio->bi_blkg)
67c0496e87d193 kernel/trace/blktrace.c Tejun Heo 2019-11-04 806 return 0;
743210386c0354 kernel/trace/blktrace.c Tejun Heo 2019-11-04 807 return cgroup_id(bio_blkcg(bio)->css.cgroup);
ca1136c99b66b1 kernel/trace/blktrace.c Shaohua Li 2017-07-12 808 }
ca1136c99b66b1 kernel/trace/blktrace.c Shaohua Li 2017-07-12 809 #else
67c0496e87d193 kernel/trace/blktrace.c Tejun Heo 2019-11-04 810 u64 blk_trace_bio_get_cgid(struct request_queue *q, struct bio *bio)
ca1136c99b66b1 kernel/trace/blktrace.c Shaohua Li 2017-07-12 811 {
67c0496e87d193 kernel/trace/blktrace.c Tejun Heo 2019-11-04 812 return 0;
ca1136c99b66b1 kernel/trace/blktrace.c Shaohua Li 2017-07-12 813 }
ca1136c99b66b1 kernel/trace/blktrace.c Shaohua Li 2017-07-12 814 #endif
ca1136c99b66b1 kernel/trace/blktrace.c Shaohua Li 2017-07-12 815
:::::: The code at line 601 was first introduced by commit
:::::: 1f2cac107c591c24b60b115d6050adc213d10fc0 blktrace: fix unlocked access to init/start-stop/teardown
:::::: TO: Jens Axboe <axboe(a)kernel.dk>
:::::: CC: Jens Axboe <axboe(a)kernel.dk>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months