Re: [PATCH] libbpf: Remove from kernel tree.
by kernel test robot
Hi Michal,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on bpf/master]
[also build test ERROR on linus/master next-20210716]
[cannot apply to bpf-next/master sparc-next/master v5.14-rc1]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Michal-Suchanek/libbpf-Remove-fr...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git master
config: i386-randconfig-a001-20210718 (attached as .config)
compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/2ea8ab79c2a463d1811eca90527b055e1...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Michal-Suchanek/libbpf-Remove-from-kernel-tree/20210718-145456
git checkout 2ea8ab79c2a463d1811eca90527b055e1763decd
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> kernel/bpf/preload/iterators/iterators.c:10:10: fatal error: bpf/libbpf.h: No such file or directory
10 | #include <bpf/libbpf.h>
| ^~~~~~~~~~~~~~
compilation terminated.
vim +10 kernel/bpf/preload/iterators/iterators.c
d71fa5c9763c24 Alexei Starovoitov 2020-08-18 @10 #include <bpf/libbpf.h>
d71fa5c9763c24 Alexei Starovoitov 2020-08-18 11 #include <bpf/bpf.h>
d71fa5c9763c24 Alexei Starovoitov 2020-08-18 12 #include <sys/mount.h>
d71fa5c9763c24 Alexei Starovoitov 2020-08-18 13 #include "iterators.skel.h"
d71fa5c9763c24 Alexei Starovoitov 2020-08-18 14 #include "bpf_preload_common.h"
d71fa5c9763c24 Alexei Starovoitov 2020-08-18 15
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[chrome-os:chromeos-5.4 73/74] sound/soc/sof/intel/cnl.c:169:26: warning: variable 'hdr' set but not used
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 73cdf293503d84ee122c0d7e360c5eb0d594c051
commit: dc8070310769ab1bb78dc66a1f7435fd64dc39ca [73/74] CHROMIUM: WA: ASoC: SOF: Intel: Do not enable D0i3 work
config: x86_64-randconfig-a013-20210718 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 5d5b08761f944d5b9822d582378333cc4b36a0a7)
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
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.4
git checkout dc8070310769ab1bb78dc66a1f7435fd64dc39ca
# 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 >>):
sound/soc/sof/intel/cnl.c:168:28: warning: unused variable 'hdev' [-Wunused-variable]
struct sof_intel_hda_dev *hdev = sdev->pdata->hw_pdata;
^
>> sound/soc/sof/intel/cnl.c:169:26: warning: variable 'hdr' set but not used [-Wunused-but-set-variable]
struct sof_ipc_cmd_hdr *hdr;
^
2 warnings generated.
--
>> sound/soc/sof/intel/cnl.c:169:26: warning: variable 'hdr' set but not used [-Wunused-but-set-variable]
struct sof_ipc_cmd_hdr *hdr;
^
sound/soc/sof/intel/cnl.c:168:28: warning: unused variable 'hdev' [-Wunused-variable]
struct sof_intel_hda_dev *hdev = sdev->pdata->hw_pdata;
^
2 warnings generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for SOUNDWIRE_INTEL
Depends on SOUNDWIRE && ACPI && SND_SOC
Selected by
- SND_SOC_SOF_INTEL_SOUNDWIRE && SOUND && !UML && SND && SND_SOC && SND_SOC_SOF_TOPLEVEL && SND_SOC_SOF_INTEL_TOPLEVEL && SND_SOC_SOF_INTEL_PCI
vim +/hdr +169 sound/soc/sof/intel/cnl.c
186198347be755 Keyon Jie 2019-10-25 165
47bf66a5e72ba1 Ranjani Sridharan 2020-08-26 166 int cnl_ipc_send_msg(struct snd_sof_dev *sdev, struct snd_sof_ipc_msg *msg)
273020522ef623 Liam Girdwood 2019-04-12 167 {
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 168 struct sof_intel_hda_dev *hdev = sdev->pdata->hw_pdata;
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 @169 struct sof_ipc_cmd_hdr *hdr;
186198347be755 Keyon Jie 2019-10-25 170 u32 dr = 0;
186198347be755 Keyon Jie 2019-10-25 171 u32 dd = 0;
186198347be755 Keyon Jie 2019-10-25 172
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 173 /*
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 174 * Currently the only compact IPC supported is the PM_GATE
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 175 * IPC which is used for transitioning the DSP between the
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 176 * D0I0 and D0I3 states. And these are sent only during the
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 177 * set_power_state() op. Therefore, there will never be a case
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 178 * that a compact IPC results in the DSP exiting D0I3 without
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 179 * the host and FW being in sync.
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 180 */
186198347be755 Keyon Jie 2019-10-25 181 if (cnl_compact_ipc_compress(msg, &dr, &dd)) {
186198347be755 Keyon Jie 2019-10-25 182 /* send the message via IPC registers */
186198347be755 Keyon Jie 2019-10-25 183 snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDD,
186198347be755 Keyon Jie 2019-10-25 184 dd);
186198347be755 Keyon Jie 2019-10-25 185 snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDR,
186198347be755 Keyon Jie 2019-10-25 186 CNL_DSP_REG_HIPCIDR_BUSY | dr);
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 187 return 0;
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 188 }
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 189
186198347be755 Keyon Jie 2019-10-25 190 /* send the message via mailbox */
273020522ef623 Liam Girdwood 2019-04-12 191 sof_mailbox_write(sdev, sdev->host_box.offset, msg->msg_data,
273020522ef623 Liam Girdwood 2019-04-12 192 msg->msg_size);
273020522ef623 Liam Girdwood 2019-04-12 193 snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDR,
6fbbc18ead0f4f Daniel Baluta 2019-06-03 194 CNL_DSP_REG_HIPCIDR_BUSY);
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 195
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 196 hdr = msg->msg_data;
35bc77bfc585f8 Ranjani Sridharan 2020-01-29 197
273020522ef623 Liam Girdwood 2019-04-12 198 return 0;
273020522ef623 Liam Girdwood 2019-04-12 199 }
273020522ef623 Liam Girdwood 2019-04-12 200
:::::: The code at line 169 was first introduced by commit
:::::: 35bc77bfc585f82e90c52e6d1dccef301035ecb5 FROMGIT: ASoC: SOF: Intel: cnl: Implement feature to support DSP D0i3 in S0
:::::: TO: Ranjani Sridharan <ranjani.sridharan(a)linux.intel.com>
:::::: CC: Commit Bot <commit-bot(a)chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[RFC PATCH] erofs: erofs_iomap_end() can be static
by kernel test robot
fs/erofs/data.c:133:5: warning: symbol 'erofs_iomap_end' was not declared. Should it be static?
Reported-by: kernel test robot <lkp(a)intel.com>
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
data.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/erofs/data.c b/fs/erofs/data.c
index 90b6c27c7abca..fa2f65081b172 100644
--- a/fs/erofs/data.c
+++ b/fs/erofs/data.c
@@ -130,7 +130,7 @@ static int erofs_iomap_begin(struct inode *inode, loff_t offset, loff_t length,
return 0;
}
-int erofs_iomap_end(struct inode *inode, loff_t pos, loff_t length,
+static int erofs_iomap_end(struct inode *inode, loff_t pos, loff_t length,
ssize_t written, unsigned flags, struct iomap *iomap)
{
struct page *ipage = iomap->private;
1 year, 2 months
[iio:testing 20/38] drivers/iio/dac/ad5624r_spi.c:317:1: warning: 'alias' attribute ignored
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git testing
head: 49be30ad801804ba0ba0051eefd61f2ce74060d7
commit: 78379c9664cf4c92b7789d04d4dcc8714edb8385 [20/38] iio: dac: ad5624r: Fix incorrect handling of an optional regulator.
config: microblaze-buildonly-randconfig-r004-20210718 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 10.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
# https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/commit/?id=...
git remote add iio https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
git fetch --no-tags iio testing
git checkout 78379c9664cf4c92b7789d04d4dcc8714edb8385
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=microblaze
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 >>):
drivers/iio/dac/ad5624r_spi.c: In function 'ad5624r_probe':
drivers/iio/dac/ad5624r_spi.c:296:12: error: invalid storage class for function 'ad5624r_remove'
296 | static int ad5624r_remove(struct spi_device *spi)
| ^~~~~~~~~~~~~~
drivers/iio/dac/ad5624r_spi.c:296:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
296 | static int ad5624r_remove(struct spi_device *spi)
| ^~~~~~
>> drivers/iio/dac/ad5624r_spi.c:317:1: warning: 'alias' attribute ignored [-Wattributes]
317 | MODULE_DEVICE_TABLE(spi, ad5624r_id);
| ^~~~~~~~~~~~~~~~~~~
drivers/iio/dac/ad5624r_spi.c:324:12: error: initializer element is not constant
324 | .remove = ad5624r_remove,
| ^~~~~~~~~~~~~~
drivers/iio/dac/ad5624r_spi.c:324:12: note: (near initialization for 'ad5624r_driver.remove')
In file included from include/linux/device.h:32,
from drivers/iio/dac/ad5624r_spi.c:10:
drivers/iio/dac/ad5624r_spi.c:327:19: error: invalid storage class for function 'ad5624r_driver_init'
327 | module_spi_driver(ad5624r_driver);
| ^~~~~~~~~~~~~~
include/linux/device/driver.h:259:19: note: in definition of macro 'module_driver'
259 | static int __init __driver##_init(void) \
| ^~~~~~~~
drivers/iio/dac/ad5624r_spi.c:327:1: note: in expansion of macro 'module_spi_driver'
327 | module_spi_driver(ad5624r_driver);
| ^~~~~~~~~~~~~~~~~
In file included from include/linux/bpf.h:19,
from include/linux/bpf-cgroup.h:5,
from include/linux/cgroup-defs.h:22,
from include/linux/cgroup.h:28,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from include/linux/regulator/consumer.h:35,
from drivers/iio/dac/ad5624r_spi.c:15:
>> include/linux/module.h:131:42: error: invalid storage class for function '__inittest'
131 | static inline initcall_t __maybe_unused __inittest(void) \
| ^~~~~~~~~~
include/linux/device/driver.h:263:1: note: in expansion of macro 'module_init'
263 | module_init(__driver##_init); \
| ^~~~~~~~~~~
include/linux/spi/spi.h:317:2: note: in expansion of macro 'module_driver'
317 | module_driver(__spi_driver, spi_register_driver, \
| ^~~~~~~~~~~~~
drivers/iio/dac/ad5624r_spi.c:327:1: note: in expansion of macro 'module_spi_driver'
327 | module_spi_driver(ad5624r_driver);
| ^~~~~~~~~~~~~~~~~
drivers/iio/dac/ad5624r_spi.c:327:1: warning: 'alias' attribute ignored [-Wattributes]
In file included from include/linux/device.h:32,
from drivers/iio/dac/ad5624r_spi.c:10:
drivers/iio/dac/ad5624r_spi.c:327:19: error: invalid storage class for function 'ad5624r_driver_exit'
327 | module_spi_driver(ad5624r_driver);
| ^~~~~~~~~~~~~~
include/linux/device/driver.h:264:20: note: in definition of macro 'module_driver'
264 | static void __exit __driver##_exit(void) \
| ^~~~~~~~
drivers/iio/dac/ad5624r_spi.c:327:1: note: in expansion of macro 'module_spi_driver'
327 | module_spi_driver(ad5624r_driver);
| ^~~~~~~~~~~~~~~~~
include/linux/device/driver.h:264:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
264 | static void __exit __driver##_exit(void) \
| ^~~~~~
include/linux/spi/spi.h:317:2: note: in expansion of macro 'module_driver'
317 | module_driver(__spi_driver, spi_register_driver, \
| ^~~~~~~~~~~~~
drivers/iio/dac/ad5624r_spi.c:327:1: note: in expansion of macro 'module_spi_driver'
327 | module_spi_driver(ad5624r_driver);
| ^~~~~~~~~~~~~~~~~
In file included from include/linux/bpf.h:19,
from include/linux/bpf-cgroup.h:5,
from include/linux/cgroup-defs.h:22,
from include/linux/cgroup.h:28,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from include/linux/regulator/consumer.h:35,
from drivers/iio/dac/ad5624r_spi.c:15:
>> include/linux/module.h:139:42: error: invalid storage class for function '__exittest'
139 | static inline exitcall_t __maybe_unused __exittest(void) \
| ^~~~~~~~~~
include/linux/device/driver.h:268:1: note: in expansion of macro 'module_exit'
268 | module_exit(__driver##_exit);
| ^~~~~~~~~~~
include/linux/spi/spi.h:317:2: note: in expansion of macro 'module_driver'
317 | module_driver(__spi_driver, spi_register_driver, \
| ^~~~~~~~~~~~~
drivers/iio/dac/ad5624r_spi.c:327:1: note: in expansion of macro 'module_spi_driver'
327 | module_spi_driver(ad5624r_driver);
| ^~~~~~~~~~~~~~~~~
drivers/iio/dac/ad5624r_spi.c:327:1: warning: 'alias' attribute ignored [-Wattributes]
In file included from include/linux/module.h:22,
from include/linux/bpf.h:19,
from include/linux/bpf-cgroup.h:5,
from include/linux/cgroup-defs.h:22,
from include/linux/cgroup.h:28,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from include/linux/regulator/consumer.h:35,
from drivers/iio/dac/ad5624r_spi.c:15:
include/linux/moduleparam.h:24:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
24 | static const char __UNIQUE_ID(name)[] \
| ^~~~~~
include/linux/module.h:166:32: note: in expansion of macro '__MODULE_INFO'
166 | #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
| ^~~~~~~~~~~~~
include/linux/module.h:236:32: note: in expansion of macro 'MODULE_INFO'
236 | #define MODULE_AUTHOR(_author) MODULE_INFO(author, _author)
| ^~~~~~~~~~~
drivers/iio/dac/ad5624r_spi.c:329:1: note: in expansion of macro 'MODULE_AUTHOR'
329 | MODULE_AUTHOR("Barry Song <21cnbao(a)gmail.com>");
| ^~~~~~~~~~~~~
drivers/iio/dac/ad5624r_spi.c:331:1: error: expected declaration or statement at end of input
331 | MODULE_LICENSE("GPL v2");
| ^~~~~~~~~~~~~~
At top level:
drivers/iio/dac/ad5624r_spi.c:222:12: warning: 'ad5624r_probe' defined but not used [-Wunused-function]
222 | static int ad5624r_probe(struct spi_device *spi)
| ^~~~~~~~~~~~~
vim +/alias +317 drivers/iio/dac/ad5624r_spi.c
6790e29fef61b2 drivers/staging/iio/dac/ad5624r_spi.c Barry Song 2010-10-27 307
ece30c15921f94 drivers/staging/iio/dac/ad5624r_spi.c Michael Hennerich 2010-11-19 308 static const struct spi_device_id ad5624r_id[] = {
14f88f1b07e03b drivers/staging/iio/dac/ad5624r_spi.c Michael Hennerich 2011-03-09 309 {"ad5624r3", ID_AD5624R3},
14f88f1b07e03b drivers/staging/iio/dac/ad5624r_spi.c Michael Hennerich 2011-03-09 310 {"ad5644r3", ID_AD5644R3},
14f88f1b07e03b drivers/staging/iio/dac/ad5624r_spi.c Michael Hennerich 2011-03-09 311 {"ad5664r3", ID_AD5664R3},
14f88f1b07e03b drivers/staging/iio/dac/ad5624r_spi.c Michael Hennerich 2011-03-09 312 {"ad5624r5", ID_AD5624R5},
14f88f1b07e03b drivers/staging/iio/dac/ad5624r_spi.c Michael Hennerich 2011-03-09 313 {"ad5644r5", ID_AD5644R5},
14f88f1b07e03b drivers/staging/iio/dac/ad5624r_spi.c Michael Hennerich 2011-03-09 314 {"ad5664r5", ID_AD5664R5},
ece30c15921f94 drivers/staging/iio/dac/ad5624r_spi.c Michael Hennerich 2010-11-19 315 {}
ece30c15921f94 drivers/staging/iio/dac/ad5624r_spi.c Michael Hennerich 2010-11-19 316 };
55e4390cb04e8b drivers/staging/iio/dac/ad5624r_spi.c Lars-Peter Clausen 2011-11-16 @317 MODULE_DEVICE_TABLE(spi, ad5624r_id);
ece30c15921f94 drivers/staging/iio/dac/ad5624r_spi.c Michael Hennerich 2010-11-19 318
:::::: The code at line 317 was first introduced by commit
:::::: 55e4390cb04e8b0fbae8983c3494c9e24132db1b staging:iio: Add missing MODULE_DEVICE_TABLE and MODULE_ALIAS
:::::: TO: Lars-Peter Clausen <lars(a)metafoo.de>
:::::: CC: Greg Kroah-Hartman <gregkh(a)suse.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[sashal-linux-stable:pending-5.13 372/570] drivers/power/supply/ab8500_fg.c:3061:32: error: 'np' undeclared; did you mean 'up'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.13
head: 0c91fa6be7e9e93e0ff59925e742ebb9d86fb057
commit: 600a61ac017d081e0bbefc88ad24c787a8942c55 [372/570] power: supply: ab8500: Move to componentized binding
config: arm-allyesconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 10.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
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-5.13
git checkout 600a61ac017d081e0bbefc88ad24c787a8942c55
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/power/supply/ab8500_fg.c: In function 'ab8500_fg_probe':
>> drivers/power/supply/ab8500_fg.c:3061:32: error: 'np' undeclared (first use in this function); did you mean 'up'?
3061 | ret = ab8500_bm_of_probe(dev, np, di->bm);
| ^~
| up
drivers/power/supply/ab8500_fg.c:3061:32: note: each undeclared identifier is reported only once for each function it appears in
vim +3061 drivers/power/supply/ab8500_fg.c
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3046
c8afa6406e60ae drivers/power/ab8500_fg.c Bill Pemberton 2012-11-19 3047 static int ab8500_fg_probe(struct platform_device *pdev)
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3048 {
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3049 struct device *dev = &pdev->dev;
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3050 struct power_supply_config psy_cfg = {};
e0f1abeba5c2d8 drivers/power/ab8500_fg.c Rajanikanth H.V 2012-11-18 3051 struct ab8500_fg *di;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3052 int i, irq;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3053 int ret = 0;
2aac3de19b7260 drivers/power/ab8500_fg.c Lee Jones 2012-05-05 3054
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3055 di = devm_kzalloc(dev, sizeof(*di), GFP_KERNEL);
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3056 if (!di)
e0f1abeba5c2d8 drivers/power/ab8500_fg.c Rajanikanth H.V 2012-11-18 3057 return -ENOMEM;
195c1c660c1868 drivers/power/ab8500_fg.c Lee Jones 2012-11-30 3058
417c0fc24dd4db drivers/power/supply/ab8500_fg.c Linus Walleij 2021-03-12 3059 di->bm = &ab8500_bm_data;
195c1c660c1868 drivers/power/ab8500_fg.c Lee Jones 2012-11-30 3060
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 @3061 ret = ab8500_bm_of_probe(dev, np, di->bm);
e0f1abeba5c2d8 drivers/power/ab8500_fg.c Rajanikanth H.V 2012-11-18 3062 if (ret) {
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3063 dev_err(dev, "failed to get battery information\n");
e0f1abeba5c2d8 drivers/power/ab8500_fg.c Rajanikanth H.V 2012-11-18 3064 return ret;
e0f1abeba5c2d8 drivers/power/ab8500_fg.c Rajanikanth H.V 2012-11-18 3065 }
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3066
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3067 mutex_init(&di->cc_lock);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3068
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3069 /* get parent data */
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3070 di->dev = dev;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3071 di->parent = dev_get_drvdata(pdev->dev.parent);
1e82623c3ca6f5 drivers/power/supply/ab8500_fg.c Linus Walleij 2019-10-11 3072
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3073 di->main_bat_v = devm_iio_channel_get(dev, "main_bat_v");
1e82623c3ca6f5 drivers/power/supply/ab8500_fg.c Linus Walleij 2019-10-11 3074 if (IS_ERR(di->main_bat_v)) {
36f1de0d5c4630 drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3075 ret = dev_err_probe(dev, PTR_ERR(di->main_bat_v),
36f1de0d5c4630 drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3076 "failed to get main battery ADC channel\n");
36f1de0d5c4630 drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3077 return ret;
1e82623c3ca6f5 drivers/power/supply/ab8500_fg.c Linus Walleij 2019-10-11 3078 }
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3079
2dc9215d7c94f7 drivers/power/ab8500_fg.c Krzysztof Kozlowski 2015-03-12 3080 psy_cfg.supplied_to = supply_interface;
2dc9215d7c94f7 drivers/power/ab8500_fg.c Krzysztof Kozlowski 2015-03-12 3081 psy_cfg.num_supplicants = ARRAY_SIZE(supply_interface);
297d716f6260cc drivers/power/ab8500_fg.c Krzysztof Kozlowski 2015-03-12 3082 psy_cfg.drv_data = di;
2dc9215d7c94f7 drivers/power/ab8500_fg.c Krzysztof Kozlowski 2015-03-12 3083
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3084 di->bat_cap.max_mah_design = MILLI_TO_MICRO *
b0284de05e07d5 drivers/power/ab8500_fg.c Lee Jones 2012-11-30 3085 di->bm->bat_type[di->bm->batt_id].charge_full_design;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3086
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3087 di->bat_cap.max_mah = di->bat_cap.max_mah_design;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3088
b0284de05e07d5 drivers/power/ab8500_fg.c Lee Jones 2012-11-30 3089 di->vbat_nom = di->bm->bat_type[di->bm->batt_id].nominal_voltage;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3090
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3091 di->init_capacity = true;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3092
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3093 ab8500_fg_charge_state_to(di, AB8500_FG_CHARGE_INIT);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3094 ab8500_fg_discharge_state_to(di, AB8500_FG_DISCHARGE_INIT);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3095
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3096 /* Init work for running the fg algorithm instantly */
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3097 INIT_WORK(&di->fg_work, ab8500_fg_instant_work);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3098
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3099 /* Init work for getting the battery accumulated current */
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3100 INIT_WORK(&di->fg_acc_cur_work, ab8500_fg_acc_cur_work);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3101
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3102 /* Init work for reinitialising the fg algorithm */
203b42f7317494 drivers/power/ab8500_fg.c Tejun Heo 2012-08-21 3103 INIT_DEFERRABLE_WORK(&di->fg_reinit_work,
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3104 ab8500_fg_reinit_work);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3105
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3106 /* Work delayed Queue to run the state machine */
203b42f7317494 drivers/power/ab8500_fg.c Tejun Heo 2012-08-21 3107 INIT_DEFERRABLE_WORK(&di->fg_periodic_work,
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3108 ab8500_fg_periodic_work);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3109
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3110 /* Work to check low battery condition */
203b42f7317494 drivers/power/ab8500_fg.c Tejun Heo 2012-08-21 3111 INIT_DEFERRABLE_WORK(&di->fg_low_bat_work,
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3112 ab8500_fg_low_bat_work);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3113
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3114 /* Init work for HW failure check */
203b42f7317494 drivers/power/ab8500_fg.c Tejun Heo 2012-08-21 3115 INIT_DEFERRABLE_WORK(&di->fg_check_hw_failure_work,
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3116 ab8500_fg_check_hw_failure_work);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3117
75f2a219ff11e6 drivers/power/ab8500_fg.c Hakan Berg 2012-05-10 3118 /* Reset battery low voltage flag */
75f2a219ff11e6 drivers/power/ab8500_fg.c Hakan Berg 2012-05-10 3119 di->flags.low_bat = false;
75f2a219ff11e6 drivers/power/ab8500_fg.c Hakan Berg 2012-05-10 3120
75f2a219ff11e6 drivers/power/ab8500_fg.c Hakan Berg 2012-05-10 3121 /* Initialize low battery counter */
75f2a219ff11e6 drivers/power/ab8500_fg.c Hakan Berg 2012-05-10 3122 di->low_bat_cnt = 10;
75f2a219ff11e6 drivers/power/ab8500_fg.c Hakan Berg 2012-05-10 3123
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3124 /* Initialize OVV, and other registers */
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3125 ret = ab8500_fg_init_hw_registers(di);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3126 if (ret) {
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3127 dev_err(dev, "failed to initialize registers\n");
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3128 return ret;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3129 }
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3130
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3131 /* Consider battery unknown until we're informed otherwise */
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3132 di->flags.batt_unknown = true;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3133 di->flags.batt_id_received = false;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3134
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3135 /* Register FG power supply class */
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3136 di->fg_psy = devm_power_supply_register(dev, &ab8500_fg_desc, &psy_cfg);
297d716f6260cc drivers/power/ab8500_fg.c Krzysztof Kozlowski 2015-03-12 3137 if (IS_ERR(di->fg_psy)) {
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3138 dev_err(dev, "failed to register FG psy\n");
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3139 return PTR_ERR(di->fg_psy);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3140 }
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3141
b0284de05e07d5 drivers/power/ab8500_fg.c Lee Jones 2012-11-30 3142 di->fg_samples = SEC_TO_SAMPLE(di->bm->fg_params->init_timer);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3143
3988a4df3499e6 drivers/power/ab8500_fg.c Johan Bjornstedt 2013-01-11 3144 /*
3988a4df3499e6 drivers/power/ab8500_fg.c Johan Bjornstedt 2013-01-11 3145 * Initialize completion used to notify completion and start
3988a4df3499e6 drivers/power/ab8500_fg.c Johan Bjornstedt 2013-01-11 3146 * of inst current
3988a4df3499e6 drivers/power/ab8500_fg.c Johan Bjornstedt 2013-01-11 3147 */
3988a4df3499e6 drivers/power/ab8500_fg.c Johan Bjornstedt 2013-01-11 3148 init_completion(&di->ab8500_fg_started);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3149 init_completion(&di->ab8500_fg_complete);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3150
02232be7a2bf6e drivers/power/ab8500_fg.c Valentin Rothberg 2015-02-16 3151 /* Register primary interrupt handlers */
807042539d8ed1 drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3152 for (i = 0; i < ARRAY_SIZE(ab8500_fg_irq); i++) {
807042539d8ed1 drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3153 irq = platform_get_irq_byname(pdev, ab8500_fg_irq[i].name);
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3154 if (irq < 0)
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3155 return irq;
b10e97003d28f6 drivers/power/supply/ab8500_fg.c Krzysztof Kozlowski 2019-10-04 3156
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3157 ret = devm_request_threaded_irq(dev, irq, NULL,
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3158 ab8500_fg_irq[i].isr,
02232be7a2bf6e drivers/power/ab8500_fg.c Valentin Rothberg 2015-02-16 3159 IRQF_SHARED | IRQF_NO_SUSPEND | IRQF_ONESHOT,
807042539d8ed1 drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3160 ab8500_fg_irq[i].name, di);
02232be7a2bf6e drivers/power/ab8500_fg.c Valentin Rothberg 2015-02-16 3161
02232be7a2bf6e drivers/power/ab8500_fg.c Valentin Rothberg 2015-02-16 3162 if (ret != 0) {
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3163 dev_err(dev, "failed to request %s IRQ %d: %d\n",
807042539d8ed1 drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3164 ab8500_fg_irq[i].name, irq, ret);
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3165 return ret;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3166 }
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3167 dev_dbg(dev, "Requested %s IRQ %d: %d\n",
807042539d8ed1 drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3168 ab8500_fg_irq[i].name, irq, ret);
807042539d8ed1 drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3169 }
02232be7a2bf6e drivers/power/ab8500_fg.c Valentin Rothberg 2015-02-16 3170
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3171 di->irq = platform_get_irq_byname(pdev, "CCEOC");
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3172 disable_irq(di->irq);
3988a4df3499e6 drivers/power/ab8500_fg.c Johan Bjornstedt 2013-01-11 3173 di->nbr_cceoc_irq_cnt = 0;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3174
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3175 platform_set_drvdata(pdev, di);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3176
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3177 ret = ab8500_fg_sysfs_init(di);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3178 if (ret) {
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3179 dev_err(dev, "failed to create sysfs entry\n");
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3180 return ret;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3181 }
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3182
c75cfa9e27818b drivers/power/ab8500_fg.c Krzysztof Kozlowski 2015-01-29 3183 ret = ab8500_fg_sysfs_psy_create_attrs(di);
93ff722e88530b drivers/power/ab8500_fg.c Lee Jones 2012-05-31 3184 if (ret) {
ad89cb5f0a1ffa drivers/power/supply/ab8500_fg.c Linus Walleij 2020-12-12 3185 dev_err(dev, "failed to create FG psy\n");
93ff722e88530b drivers/power/ab8500_fg.c Lee Jones 2012-05-31 3186 ab8500_fg_sysfs_exit(di);
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3187 return ret;
93ff722e88530b drivers/power/ab8500_fg.c Lee Jones 2012-05-31 3188 }
93ff722e88530b drivers/power/ab8500_fg.c Lee Jones 2012-05-31 3189
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3190 /* Calibrate the fg first time */
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3191 di->flags.calibrate = true;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3192 di->calib_state = AB8500_FG_CALIB_INIT;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3193
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3194 /* Use room temp as default value until we get an update from driver. */
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3195 di->bat_temp = 210;
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3196
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3197 list_add_tail(&di->node, &ab8500_fg_list);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3198
600a61ac017d08 drivers/power/supply/ab8500_fg.c Linus Walleij 2021-05-23 3199 return component_add(dev, &ab8500_fg_component_ops);
13151631b5bd06 drivers/power/ab8500_fg.c Arun Murthy 2012-02-29 3200 }
ccc023a5817556 drivers/power/supply/ab8500_fg.c Krzysztof Kozlowski 2019-10-04 3201
:::::: The code at line 3061 was first introduced by commit
:::::: ad89cb5f0a1ffad6ae9ba277f99fea830d135e7c power: supply: ab8500: Use local helper
:::::: TO: Linus Walleij <linus.walleij(a)linaro.org>
:::::: CC: Sebastian Reichel <sebastian.reichel(a)collabora.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[linux-stable-rc:linux-4.9.y 2197/2294] /opt/cross/gcc-10.3.0-nolibc/s390-linux/bin/../lib/gcc/s390-linux/10.3.0/plugin/include/attribs.h:125:12: error: 'get_identifier_with_length' was not declared in this scope
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
head: f44373a3e7a37999a7506c79891abbb8f1318471
commit: aeeb58019ef157459f561b5e122064a058e862f2 [2197/2294] init/Kconfig: make COMPILE_TEST depend on !S390
config: s390-randconfig-r003-20210718 (attached as .config)
compiler: s390-linux-gcc (GCC) 10.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
# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gi...
git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc linux-4.9.y
git checkout aeeb58019ef157459f561b5e122064a058e862f2
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross O=build_dir ARCH=s390 prepare
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from scripts/gcc-plugins/gcc-common.h:89,
from <stdin>:1:
/opt/cross/gcc-10.3.0-nolibc/s390-linux/bin/../lib/gcc/s390-linux/10.3.0/plugin/include/attribs.h: In function 'tree_node* canonicalize_attr_name(tree)':
>> /opt/cross/gcc-10.3.0-nolibc/s390-linux/bin/../lib/gcc/s390-linux/10.3.0/plugin/include/attribs.h:125:12: error: 'get_identifier_with_length' was not declared in this scope
125 | return get_identifier_with_length (s + 2, l - 4);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from scripts/gcc-plugins/gcc-common.h:89,
from <stdin>:1:
/opt/cross/gcc-10.3.0-nolibc/s390-linux/bin/../lib/gcc/s390-linux/10.3.0/plugin/include/attribs.h: In function 'tree_node* canonicalize_attr_name(tree)':
>> /opt/cross/gcc-10.3.0-nolibc/s390-linux/bin/../lib/gcc/s390-linux/10.3.0/plugin/include/attribs.h:125:12: error: 'get_identifier_with_length' was not declared in this scope
125 | return get_identifier_with_length (s + 2, l - 4);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
Cannot use CONFIG_GCC_PLUGINS: your gcc installation does not support plugins, perhaps the necessary headers are missing?
make[1]: *** [scripts/Makefile.gcc-plugins:52: gcc-plugins-check] Error 1
make[1]: Target 'modules_prepare' not remade because of errors.
make: *** [Makefile:152: sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
--
warning: (KCOV) selects GCC_PLUGINS which has unmet direct dependencies (HAVE_GCC_PLUGINS && !COMPILE_TEST)
warning: (KCOV) selects GCC_PLUGINS which has unmet direct dependencies (HAVE_GCC_PLUGINS && !COMPILE_TEST)
In file included from scripts/gcc-plugins/gcc-common.h:89,
from <stdin>:1:
/opt/cross/gcc-10.3.0-nolibc/s390-linux/bin/../lib/gcc/s390-linux/10.3.0/plugin/include/attribs.h: In function 'tree_node* canonicalize_attr_name(tree)':
>> /opt/cross/gcc-10.3.0-nolibc/s390-linux/bin/../lib/gcc/s390-linux/10.3.0/plugin/include/attribs.h:125:12: error: 'get_identifier_with_length' was not declared in this scope
125 | return get_identifier_with_length (s + 2, l - 4);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
Cannot use CONFIG_GCC_PLUGINS: your gcc installation does not support plugins, perhaps the necessary headers are missing?
make[1]: *** [scripts/Makefile.gcc-plugins:52: gcc-plugins-check] Error 1
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:152: sub-make] Error 2
make: Target 'prepare' not remade because of errors.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[sashal-linux-stable:pending-5.13 462/570] drivers/cpufreq/cppc_cpufreq.c:199:2: error: implicit declaration of function 'cppc_cpufreq_put_cpu_data'; did you mean 'cppc_cpufreq_stop_cpu'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.13
head: 0c91fa6be7e9e93e0ff59925e742ebb9d86fb057
commit: b8fe99c7a5fa0b89e7dba24344c839d2e5f938f4 [462/570] cpufreq: CPPC: Fix potential memleak in cppc_cpufreq_cpu_init
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 10.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
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-5.13
git checkout b8fe99c7a5fa0b89e7dba24344c839d2e5f938f4
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/cpufreq/cppc_cpufreq.c: In function 'cppc_cpufreq_stop_cpu':
>> drivers/cpufreq/cppc_cpufreq.c:199:2: error: implicit declaration of function 'cppc_cpufreq_put_cpu_data'; did you mean 'cppc_cpufreq_stop_cpu'? [-Werror=implicit-function-declaration]
199 | cppc_cpufreq_put_cpu_data(policy);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| cppc_cpufreq_stop_cpu
drivers/cpufreq/cppc_cpufreq.c: At top level:
drivers/cpufreq/cppc_cpufreq.c:276:13: warning: conflicting types for 'cppc_cpufreq_put_cpu_data'
276 | static void cppc_cpufreq_put_cpu_data(struct cpufreq_policy *policy)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/cpufreq/cppc_cpufreq.c:276:13: error: static declaration of 'cppc_cpufreq_put_cpu_data' follows non-static declaration
drivers/cpufreq/cppc_cpufreq.c:199:2: note: previous implicit declaration of 'cppc_cpufreq_put_cpu_data' was here
199 | cppc_cpufreq_put_cpu_data(policy);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +199 drivers/cpufreq/cppc_cpufreq.c
184
185 static void cppc_cpufreq_stop_cpu(struct cpufreq_policy *policy)
186 {
187 struct cppc_cpudata *cpu_data = policy->driver_data;
188 struct cppc_perf_caps *caps = &cpu_data->perf_caps;
189 unsigned int cpu = policy->cpu;
190 int ret;
191
192 cpu_data->perf_ctrls.desired_perf = caps->lowest_perf;
193
194 ret = cppc_set_perf(cpu, &cpu_data->perf_ctrls);
195 if (ret)
196 pr_debug("Err setting perf value:%d on CPU:%d. ret:%d\n",
197 caps->lowest_perf, cpu, ret);
198
> 199 cppc_cpufreq_put_cpu_data(policy);
200 }
201
202 /*
203 * The PCC subspace describes the rate at which platform can accept commands
204 * on the shared PCC channel (including READs which do not count towards freq
205 * transition requests), so ideally we need to use the PCC values as a fallback
206 * if we don't have a platform specific transition_delay_us
207 */
208 #ifdef CONFIG_ARM64
209 #include <asm/cputype.h>
210
211 static unsigned int cppc_cpufreq_get_transition_delay_us(unsigned int cpu)
212 {
213 unsigned long implementor = read_cpuid_implementor();
214 unsigned long part_num = read_cpuid_part_number();
215
216 switch (implementor) {
217 case ARM_CPU_IMP_QCOM:
218 switch (part_num) {
219 case QCOM_CPU_PART_FALKOR_V1:
220 case QCOM_CPU_PART_FALKOR:
221 return 10000;
222 }
223 }
224 return cppc_get_transition_latency(cpu) / NSEC_PER_USEC;
225 }
226
227 #else
228
229 static unsigned int cppc_cpufreq_get_transition_delay_us(unsigned int cpu)
230 {
231 return cppc_get_transition_latency(cpu) / NSEC_PER_USEC;
232 }
233 #endif
234
235
236 static struct cppc_cpudata *cppc_cpufreq_get_cpu_data(unsigned int cpu)
237 {
238 struct cppc_cpudata *cpu_data;
239 int ret;
240
241 cpu_data = kzalloc(sizeof(struct cppc_cpudata), GFP_KERNEL);
242 if (!cpu_data)
243 goto out;
244
245 if (!zalloc_cpumask_var(&cpu_data->shared_cpu_map, GFP_KERNEL))
246 goto free_cpu;
247
248 ret = acpi_get_psd_map(cpu, cpu_data);
249 if (ret) {
250 pr_debug("Err parsing CPU%d PSD data: ret:%d\n", cpu, ret);
251 goto free_mask;
252 }
253
254 ret = cppc_get_perf_caps(cpu, &cpu_data->perf_caps);
255 if (ret) {
256 pr_debug("Err reading CPU%d perf caps: ret:%d\n", cpu, ret);
257 goto free_mask;
258 }
259
260 /* Convert the lowest and nominal freq from MHz to KHz */
261 cpu_data->perf_caps.lowest_freq *= 1000;
262 cpu_data->perf_caps.nominal_freq *= 1000;
263
264 list_add(&cpu_data->node, &cpu_data_list);
265
266 return cpu_data;
267
268 free_mask:
269 free_cpumask_var(cpu_data->shared_cpu_map);
270 free_cpu:
271 kfree(cpu_data);
272 out:
273 return NULL;
274 }
275
> 276 static void cppc_cpufreq_put_cpu_data(struct cpufreq_policy *policy)
277 {
278 struct cppc_cpudata *cpu_data = policy->driver_data;
279
280 list_del(&cpu_data->node);
281 free_cpumask_var(cpu_data->shared_cpu_map);
282 kfree(cpu_data);
283 policy->driver_data = NULL;
284 }
285
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
Re: [PATCH 1/5] drm: Define DRM_FORMAT_MAX_PLANES
by kernel test robot
Hi Thomas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on 4d00e2309398147acdbfefbe1deb4b0e78868466]
url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/drm-Provide-fr...
base: 4d00e2309398147acdbfefbe1deb4b0e78868466
config: x86_64-randconfig-m001-20210718 (attached as .config)
compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
smatch warnings:
drivers/gpu/drm/drm_gem_framebuffer_helper.c:192 drm_gem_fb_init_with_funcs() warn: always true condition '(i >= 0) => (0-u32max >= 0)'
drivers/gpu/drm/drm_gem_framebuffer_helper.c:192 drm_gem_fb_init_with_funcs() warn: always true condition '(i >= 0) => (0-u32max >= 0)'
vim +192 drivers/gpu/drm/drm_gem_framebuffer_helper.c
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 119
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 120 /**
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 121 * drm_gem_fb_init_with_funcs() - Helper function for implementing
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 122 * &drm_mode_config_funcs.fb_create
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 123 * callback in cases when the driver
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 124 * allocates a subclass of
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 125 * struct drm_framebuffer
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 126 * @dev: DRM device
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 127 * @fb: framebuffer object
2e187b2099034a Noralf Trønnes 2017-09-22 128 * @file: DRM file that holds the GEM handle(s) backing the framebuffer
2e187b2099034a Noralf Trønnes 2017-09-22 129 * @mode_cmd: Metadata from the userspace framebuffer creation request
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 130 * @funcs: vtable to be used for the new framebuffer object
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 131 *
dbd62e16fd53d3 Noralf Trønnes 2019-01-15 132 * This function can be used to set &drm_framebuffer_funcs for drivers that need
dbd62e16fd53d3 Noralf Trønnes 2019-01-15 133 * custom framebuffer callbacks. Use drm_gem_fb_create() if you don't need to
dbd62e16fd53d3 Noralf Trønnes 2019-01-15 134 * change &drm_framebuffer_funcs. The function does buffer size validation.
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 135 * The buffer size validation is for a general case, though, so users should
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 136 * pay attention to the checks being appropriate for them or, at least,
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 137 * non-conflicting.
2e187b2099034a Noralf Trønnes 2017-09-22 138 *
2e187b2099034a Noralf Trønnes 2017-09-22 139 * Returns:
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 140 * Zero or a negative error code.
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 141 */
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 142 int drm_gem_fb_init_with_funcs(struct drm_device *dev,
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 143 struct drm_framebuffer *fb,
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 144 struct drm_file *file,
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 145 const struct drm_mode_fb_cmd2 *mode_cmd,
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 146 const struct drm_framebuffer_funcs *funcs)
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 147 {
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 148 const struct drm_format_info *info;
6065e7036e073e Thomas Zimmermann 2021-07-15 149 struct drm_gem_object *objs[DRM_FORMAT_MAX_PLANES];
6065e7036e073e Thomas Zimmermann 2021-07-15 150 unsigned int i;
6065e7036e073e Thomas Zimmermann 2021-07-15 151 int ret;
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 152
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 153 info = drm_get_format_info(dev, mode_cmd);
f7f525030854b1 Simon Ser 2021-05-03 154 if (!info) {
f7f525030854b1 Simon Ser 2021-05-03 155 drm_dbg_kms(dev, "Failed to get FB format info\n");
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 156 return -EINVAL;
f7f525030854b1 Simon Ser 2021-05-03 157 }
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 158
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 159 for (i = 0; i < info->num_planes; i++) {
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 160 unsigned int width = mode_cmd->width / (i ? info->hsub : 1);
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 161 unsigned int height = mode_cmd->height / (i ? info->vsub : 1);
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 162 unsigned int min_size;
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 163
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 164 objs[i] = drm_gem_object_lookup(file, mode_cmd->handles[i]);
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 165 if (!objs[i]) {
24f03be4aa7922 Jani Nikula 2019-12-10 166 drm_dbg_kms(dev, "Failed to lookup GEM object\n");
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 167 ret = -ENOENT;
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 168 goto err_gem_object_put;
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 169 }
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 170
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 171 min_size = (height - 1) * mode_cmd->pitches[i]
042bf753842ddb Alexandru Gheorghe 2018-11-01 172 + drm_format_info_min_pitch(info, i, width)
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 173 + mode_cmd->offsets[i];
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 174
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 175 if (objs[i]->size < min_size) {
f7f525030854b1 Simon Ser 2021-05-03 176 drm_dbg_kms(dev,
f7f525030854b1 Simon Ser 2021-05-03 177 "GEM object size (%zu) smaller than minimum size (%u) for plane %d\n",
f7f525030854b1 Simon Ser 2021-05-03 178 objs[i]->size, min_size, i);
be6ee102341bc4 Emil Velikov 2020-05-15 179 drm_gem_object_put(objs[i]);
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 180 ret = -EINVAL;
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 181 goto err_gem_object_put;
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 182 }
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 183 }
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 184
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 185 ret = drm_gem_fb_init(dev, fb, mode_cmd, objs, i, funcs);
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 186 if (ret)
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 187 goto err_gem_object_put;
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 188
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 189 return 0;
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 190
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 191 err_gem_object_put:
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 @192 for (i--; i >= 0; i--)
be6ee102341bc4 Emil Velikov 2020-05-15 193 drm_gem_object_put(objs[i]);
4c3dbb2c312c9f Noralf Trønnes 2017-08-13 194
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 195 return ret;
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 196 }
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 197 EXPORT_SYMBOL_GPL(drm_gem_fb_init_with_funcs);
f2b816d78a9431 Andrzej Pietrasiewicz 2020-03-11 198
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[sashal-linux-stable:pending-5.13 486/570] fs/nfs/read.c:388:1: warning: unused label 'out'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.13
head: 0c91fa6be7e9e93e0ff59925e742ebb9d86fb057
commit: d5f5a6fb40d533ecd6613fad3d7566011f54470c [486/570] NFS: Fix fscache read from NFS after cache error
config: powerpc-randconfig-r021-20210718 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 5d5b08761f944d5b9822d582378333cc4b36a0a7)
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 powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-5.13
git checkout d5f5a6fb40d533ecd6613fad3d7566011f54470c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
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 >>):
>> fs/nfs/read.c:388:1: warning: unused label 'out' [-Wunused-label]
out:
^~~~
1 warning generated.
vim +/out +388 fs/nfs/read.c
1e83b173b2663b Dave Wysochanski 2021-01-28 324
^1da177e4c3f41 Linus Torvalds 2005-04-16 325 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 326 * Read a page over NFS.
^1da177e4c3f41 Linus Torvalds 2005-04-16 327 * We read the page synchronously in the following case:
^1da177e4c3f41 Linus Torvalds 2005-04-16 328 * - The error flag is set for this page. This happens only when a
^1da177e4c3f41 Linus Torvalds 2005-04-16 329 * previous async read operation failed.
^1da177e4c3f41 Linus Torvalds 2005-04-16 330 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 331 int nfs_readpage(struct file *file, struct page *page)
^1da177e4c3f41 Linus Torvalds 2005-04-16 332 {
1af7e7f8c12f52 Dave Wysochanski 2021-01-28 333 struct nfs_readdesc desc;
d56b4ddf7781ef Mel Gorman 2012-07-31 334 struct inode *inode = page_file_mapping(page)->host;
49dee70052b894 Dave Wysochanski 2021-01-28 335 int ret;
^1da177e4c3f41 Linus Torvalds 2005-04-16 336
^1da177e4c3f41 Linus Torvalds 2005-04-16 337 dprintk("NFS: nfs_readpage (%p %ld@%lu)\n",
8cd797887ae0a7 Huang Ying 2016-10-07 338 page, PAGE_SIZE, page_index(page));
91d5b47023b608 Chuck Lever 2006-03-20 339 nfs_inc_stats(inode, NFSIOS_VFSREADPAGE);
91d5b47023b608 Chuck Lever 2006-03-20 340
^1da177e4c3f41 Linus Torvalds 2005-04-16 341 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 342 * Try to flush any pending writes to the file..
^1da177e4c3f41 Linus Torvalds 2005-04-16 343 *
^1da177e4c3f41 Linus Torvalds 2005-04-16 344 * NOTE! Because we own the page lock, there cannot
^1da177e4c3f41 Linus Torvalds 2005-04-16 345 * be any new pending writes generated at this point
^1da177e4c3f41 Linus Torvalds 2005-04-16 346 * for this page (other pages can be written to).
^1da177e4c3f41 Linus Torvalds 2005-04-16 347 */
49dee70052b894 Dave Wysochanski 2021-01-28 348 ret = nfs_wb_page(inode, page);
49dee70052b894 Dave Wysochanski 2021-01-28 349 if (ret)
de05a0cc2a2ae1 Trond Myklebust 2007-05-20 350 goto out_unlock;
de05a0cc2a2ae1 Trond Myklebust 2007-05-20 351 if (PageUptodate(page))
de05a0cc2a2ae1 Trond Myklebust 2007-05-20 352 goto out_unlock;
^1da177e4c3f41 Linus Torvalds 2005-04-16 353
49dee70052b894 Dave Wysochanski 2021-01-28 354 ret = -ESTALE;
5f004cf2aa8494 Trond Myklebust 2006-09-14 355 if (NFS_STALE(inode))
de05a0cc2a2ae1 Trond Myklebust 2007-05-20 356 goto out_unlock;
5f004cf2aa8494 Trond Myklebust 2006-09-14 357
^1da177e4c3f41 Linus Torvalds 2005-04-16 358 if (file == NULL) {
49dee70052b894 Dave Wysochanski 2021-01-28 359 ret = -EBADF;
1af7e7f8c12f52 Dave Wysochanski 2021-01-28 360 desc.ctx = nfs_find_open_context(inode, NULL, FMODE_READ);
1af7e7f8c12f52 Dave Wysochanski 2021-01-28 361 if (desc.ctx == NULL)
de05a0cc2a2ae1 Trond Myklebust 2007-05-20 362 goto out_unlock;
^1da177e4c3f41 Linus Torvalds 2005-04-16 363 } else
1af7e7f8c12f52 Dave Wysochanski 2021-01-28 364 desc.ctx = get_nfs_open_context(nfs_file_open_context(file));
8e0969f0451eaf Trond Myklebust 2006-12-13 365
d5f5a6fb40d533 Dave Wysochanski 2021-06-29 366 xchg(&desc.ctx->error, 0);
9a9fc1c03315f1 David Howells 2009-04-03 367 if (!IS_SYNC(inode)) {
1af7e7f8c12f52 Dave Wysochanski 2021-01-28 368 ret = nfs_readpage_from_fscache(desc.ctx, inode, page);
49dee70052b894 Dave Wysochanski 2021-01-28 369 if (ret == 0)
d5f5a6fb40d533 Dave Wysochanski 2021-06-29 370 goto out_wait;
9a9fc1c03315f1 David Howells 2009-04-03 371 }
9a9fc1c03315f1 David Howells 2009-04-03 372
1e83b173b2663b Dave Wysochanski 2021-01-28 373 nfs_pageio_init_read(&desc.pgio, inode, false,
1e83b173b2663b Dave Wysochanski 2021-01-28 374 &nfs_async_read_completion_ops);
1e83b173b2663b Dave Wysochanski 2021-01-28 375
1e83b173b2663b Dave Wysochanski 2021-01-28 376 ret = readpage_async_filler(&desc, page);
1e83b173b2663b Dave Wysochanski 2021-01-28 377
1e83b173b2663b Dave Wysochanski 2021-01-28 378 if (!ret)
1e83b173b2663b Dave Wysochanski 2021-01-28 379 nfs_pageio_complete_read(&desc.pgio, inode);
1e83b173b2663b Dave Wysochanski 2021-01-28 380
1e83b173b2663b Dave Wysochanski 2021-01-28 381 ret = desc.pgio.pg_error < 0 ? desc.pgio.pg_error : 0;
d5f5a6fb40d533 Dave Wysochanski 2021-06-29 382 out_wait:
49dee70052b894 Dave Wysochanski 2021-01-28 383 if (!ret) {
49dee70052b894 Dave Wysochanski 2021-01-28 384 ret = wait_on_page_locked_killable(page);
49dee70052b894 Dave Wysochanski 2021-01-28 385 if (!PageUptodate(page) && !ret)
1af7e7f8c12f52 Dave Wysochanski 2021-01-28 386 ret = xchg(&desc.ctx->error, 0);
8f54c7a4babf58 Trond Myklebust 2019-08-15 387 }
9a9fc1c03315f1 David Howells 2009-04-03 @388 out:
1af7e7f8c12f52 Dave Wysochanski 2021-01-28 389 put_nfs_open_context(desc.ctx);
49dee70052b894 Dave Wysochanski 2021-01-28 390 return ret;
de05a0cc2a2ae1 Trond Myklebust 2007-05-20 391 out_unlock:
^1da177e4c3f41 Linus Torvalds 2005-04-16 392 unlock_page(page);
49dee70052b894 Dave Wysochanski 2021-01-28 393 return ret;
^1da177e4c3f41 Linus Torvalds 2005-04-16 394 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 395
:::::: The code at line 388 was first introduced by commit
:::::: 9a9fc1c03315f1606596e55b4096d39e2079a041 NFS: Read pages from FS-Cache into an NFS inode
:::::: TO: David Howells <dhowells(a)redhat.com>
:::::: CC: David Howells <dhowells(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months