dtbs_check: arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml: mdss@fd900000: status:0: 'ok' is not one of ['okay', 'disabled', 'reserved']
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a33f5c380c4bd3fa5278d690421b72052456d9fe
commit: 3657b677d20d4b6bda441bd568d037446bd6d880 ARM: dts: qcom: msm8974-klte: add support for display
date: 12 months ago
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce: make ARCH=arm dtbs_check
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
dtcheck warnings: (new ones prefixed by >>)
arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml: tcsr-mutex: 'syscon' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/hwlock/qcom-hwspinlock.yaml
arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml: memory@fc428000: 'device_type' is a required property
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/memory.yaml
arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml: vadc@3100: 'die_temp', 'ref_1250v', 'ref_625mv', 'ref_buf_625mv', 'ref_gnd', 'ref_vdd' do not match any of the regexes: '^.*@[0-9a-f]+$', 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml
arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml: ocmem@fdd00000: 'ranges' is a required property
From schema: Documentation/devicetree/bindings/sram/qcom,ocmem.yaml
arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml: adreno@fdb00000: status:0: 'ok' is not one of ['okay', 'disabled', 'reserved']
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/dt-core.yaml
>> arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml: mdss@fd900000: status:0: 'ok' is not one of ['okay', 'disabled', 'reserved']
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/dt-core.yaml
>> arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml: mdp@fd900000: status:0: 'ok' is not one of ['okay', 'disabled', 'reserved']
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/dt-core.yaml
>> arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml: dsi@fd922800: status:0: 'ok' is not one of ['okay', 'disabled', 'reserved']
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/dt-core.yaml
>> arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml: dsi-phy@fd922a00: status:0: 'ok' is not one of ['okay', 'disabled', 'reserved']
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/dt-core.yaml
schemas/input/input.yaml: ignoring, error in schema: properties: power-off-time-sec
Traceback (most recent call last):
File "/usr/local/bin/dt-validate", line 170, in <module>
sg.check_trees(filename, testtree)
File "/usr/local/bin/dt-validate", line 119, in check_trees
self.check_subtree(dt, subtree, False, "/", "/", filename)
File "/usr/local/bin/dt-validate", line 110, in check_subtree
self.check_subtree(tree, value, disabled, name, fullname + name, filename)
File "/usr/local/bin/dt-validate", line 110, in check_subtree
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
[freescale-fslc:pr/521 6407/9999] drivers/firmware/imx/s400-api.c:455:17: error: implicit declaration of function '__cpuc_flush_dcache_area'
by kernel test robot
Hi Pankaj,
FYI, the error/warning still remains.
tree: https://github.com/Freescale/linux-fslc pr/521
head: e1200a7e26459892adfac6cb313bd8458b21fa95
commit: b57b8221587134978fbcd522e87aab6f44fea710 [6407/9999] s4muap arm: fix for compilation issue.
config: riscv-allyesconfig (https://download.01.org/0day-ci/archive/20220116/202201161711.lopoM1qY-lk...)
compiler: riscv64-linux-gcc (GCC) 11.2.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://github.com/Freescale/linux-fslc/commit/b57b8221587134978fbcd522e8...
git remote add freescale-fslc https://github.com/Freescale/linux-fslc
git fetch --no-tags freescale-fslc pr/521
git checkout b57b8221587134978fbcd522e87aab6f44fea710
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=riscv 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/firmware/imx/s400-api.c:245:16: warning: no previous prototype for 'imx_soc_device_register' [-Wmissing-prototypes]
245 | struct device *imx_soc_device_register(void)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/imx/s400-api.c: In function 's4_muap_ioctl_img_auth_cmd_handler':
>> drivers/firmware/imx/s400-api.c:455:17: error: implicit declaration of function '__cpuc_flush_dcache_area' [-Werror=implicit-function-declaration]
455 | __cpuc_flush_dcache_area((void *) s, e);
| ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/__cpuc_flush_dcache_area +455 drivers/firmware/imx/s400-api.c
338
339 static int s4_muap_ioctl_get_info(struct s4_mu_device_ctx *dev_ctx,
340 unsigned long arg)
341 {
342 struct imx_s400_api *s400_muap_priv = dev_ctx->s400_muap_priv;
343 struct s4_read_info info;
344
345 int ret = -EINVAL;
346
347 ret = (int)copy_from_user(&info, (u8 *)arg,
348 sizeof(info));
349 if (ret) {
350 devctx_err(dev_ctx, "Fail copy shared memory config to user\n");
351 ret = -EFAULT;
352 goto exit;
353 }
354
355 s400_muap_priv->tx_msg.header = (s400_muap_priv->cmd_tag << 24) |
356 (info.cmd_id << 16) |
357 (info.size << 8) |
358 S400_VERSION;
359
360 ret = imx_s400_api_call(s400_muap_priv, (void *) &info.resp);
361 if (ret) {
362 devctx_err(dev_ctx, "%s: imx_s400_api_call failed for cmd [0x%x]\n",
363 __func__, info.cmd_id);
364 ret = -EIO;
365 }
366
367 ret = (int)copy_to_user((u8 *)arg, &info,
368 sizeof(info));
369 if (ret) {
370 devctx_err(dev_ctx, "Failed to copy iobuff setup to user\n");
371 ret = -EFAULT;
372 }
373
374 exit:
375 return ret;
376 }
377 static int s4_muap_ioctl_img_auth_cmd_handler(struct s4_mu_device_ctx *dev_ctx,
378 unsigned long arg)
379 {
380 struct imx_s400_api *s400_muap_priv = dev_ctx->s400_muap_priv;
381 struct s4_muap_auth_image s4_muap_auth_image;
382 struct container_hdr *phdr = &s4_muap_auth_image.chdr;
383 struct image_info *img = &s4_muap_auth_image.img_info[0];
384 unsigned long base_addr = (unsigned long) &s4_muap_auth_image;
385
386 int i;
387 u16 length;
388 unsigned long s, e;
389 int ret = -EINVAL;
390
391 /* Check if not already configured. */
392 if (dev_ctx->secure_mem.dma_addr != 0u) {
393 devctx_err(dev_ctx, "Shared memory not configured\n");
394 goto exit;
395 }
396
397 ret = (int)copy_from_user(&s4_muap_auth_image, (u8 *)arg,
398 sizeof(s4_muap_auth_image));
399 if (ret) {
400 devctx_err(dev_ctx, "Fail copy shared memory config to user\n");
401 ret = -EFAULT;
402 goto exit;
403 }
404
405
406 if (!IS_ALIGNED(base_addr, 4)) {
407 devctx_err(dev_ctx, "Error: Image's address is not 4 byte aligned\n");
408 return -EINVAL;
409 }
410
411 if (phdr->tag != 0x87 && phdr->version != 0x0) {
412 devctx_err(dev_ctx, "Error: Wrong container header\n");
413 return -EFAULT;
414 }
415
416 if (!phdr->num_images) {
417 devctx_err(dev_ctx, "Error: Wrong container, no image found\n");
418 return -EFAULT;
419 }
420 length = phdr->length_lsb + (phdr->length_msb << 8);
421
422 devctx_dbg(dev_ctx, "container length %u\n", length);
423
424 s400_muap_priv->tx_msg.header = (s400_muap_priv->cmd_tag << 24) |
425 (S400_OEM_CNTN_AUTH_REQ << 16) |
426 (S400_OEM_CNTN_AUTH_REQ_SIZE << 8) |
427 S400_VERSION;
428 s400_muap_priv->tx_msg.data[0] = ((u32)(((base_addr) >> 16) >> 16));
429 s400_muap_priv->tx_msg.data[1] = ((u32)(base_addr));
430
431 ret = imx_s400_api_call(s400_muap_priv, (void *) &s4_muap_auth_image.resp);
432 if (ret || (s4_muap_auth_image.resp != S400_SUCCESS_IND)) {
433 devctx_err(dev_ctx, "Error: Container Authentication failed.\n");
434 ret = -EIO;
435 goto exit;
436 }
437
438 /* Copy images to dest address */
439 for (i = 0; i < phdr->num_images; i++) {
440 img = img + i;
441
442 //devctx_dbg(dev_ctx, "img %d, dst 0x%x, src 0x%lux, size 0x%x\n",
443 // i, (u32) img->dst,
444 // (unsigned long)img->offset + phdr, img->size);
445
446 memcpy((void *)img->dst, (const void *)(img->offset + phdr),
447 img->size);
448
449 s = img->dst & ~(CACHELINE_SIZE - 1);
450 e = ALIGN(img->dst + img->size, CACHELINE_SIZE) - 1;
451
452 #ifdef CONFIG_ARM64
453 __flush_dcache_area((void *) s, e);
454 #else
> 455 __cpuc_flush_dcache_area((void *) s, e);
456 #endif
457 s400_muap_priv->tx_msg.header = (s400_muap_priv->cmd_tag << 24) |
458 (S400_VERIFY_IMAGE_REQ << 16) |
459 (S400_VERIFY_IMAGE_REQ_SIZE << 8) |
460 S400_VERSION;
461 s400_muap_priv->tx_msg.data[0] = 1 << i;
462 ret = imx_s400_api_call(s400_muap_priv, (void *) &s4_muap_auth_image.resp);
463 if (ret || (s4_muap_auth_image.resp != S400_SUCCESS_IND)) {
464 devctx_err(dev_ctx, "Error: Image Verification failed.\n");
465 ret = -EIO;
466 goto exit;
467 }
468 }
469
470 exit:
471 s400_muap_priv->tx_msg.header = (s400_muap_priv->cmd_tag << 24) |
472 (S400_RELEASE_CONTAINER_REQ << 16) |
473 (S400_RELEASE_CONTAINER_REQ_SIZE << 8) |
474 S400_VERSION;
475 ret = imx_s400_api_call(s400_muap_priv, (void *) &s4_muap_auth_image.resp);
476 if (ret || (s4_muap_auth_image.resp != S400_SUCCESS_IND)) {
477 devctx_err(dev_ctx, "Error: Release Container failed.\n");
478 ret = -EIO;
479 }
480
481 ret = (int)copy_to_user((u8 *)arg, &s4_muap_auth_image,
482 sizeof(s4_muap_auth_image));
483 if (ret) {
484 devctx_err(dev_ctx, "Failed to copy iobuff setup to user\n");
485 ret = -EFAULT;
486 }
487 return ret;
488 }
489
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
Message from Olivia
by Olivia Guei
Hi,
Greetings,My name is Olivia Guei from Cote d'ivoire West Africa,the daughter of late former military head of state of Ivory Coast.I would like to know you and discuss investment issue with you, I wish to let you know that i will be interested to invest in your company or any lucrative business with someone who has a business experience.
I have Inherited Fund ( USD$ 5.5M) i will like to invest through your assistant, please kindly get back to me through my contacts for more details.
I will be waiting to hear from you.
SKYPE: olivia.guei
Regards
Olivia Guei.
8 months, 1 week
[intel-lts:5.10/yocto 10648/20368] drivers/media/i2c/ti960-des.c:129:5: warning: no previous prototype for function 'bus_switch'
by kernel test robot
Hi Ng,
FYI, the error/warning still remains.
tree: https://github.com/intel/linux-intel-lts.git 5.10/yocto
head: 1941d4b82f36cc6ecc513f3e496ad62726d00514
commit: bd8c7120c481ebe8e2e40e6b9308d689f8adfff7 [10648/20368] media: ti960: remove crlmodule dependency
config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220116/202201161252.GcREL4O4-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 650fc40b6d8d9a5869b4fca525d5f237b0ee2803)
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://github.com/intel/linux-intel-lts/commit/bd8c7120c481ebe8e2e40e6b9...
git remote add intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 5.10/yocto
git checkout bd8c7120c481ebe8e2e40e6b9308d689f8adfff7
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/gpio/ drivers/gpu/drm/i915/ drivers/media/i2c/ drivers/ptp/
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 >>):
>> drivers/media/i2c/ti960-des.c:129:5: warning: no previous prototype for function 'bus_switch' [-Wmissing-prototypes]
int bus_switch(struct ti960 *va)
^
drivers/media/i2c/ti960-des.c:129:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int bus_switch(struct ti960 *va)
^
static
>> drivers/media/i2c/ti960-des.c:249:6: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses]
if (!reg_val & TI960_FSIN_ENABLE) {
^ ~
drivers/media/i2c/ti960-des.c:249:6: note: add parentheses after the '!' to evaluate the bitwise operator first
if (!reg_val & TI960_FSIN_ENABLE) {
^
( )
drivers/media/i2c/ti960-des.c:249:6: note: add parentheses around left hand side expression to silence this warning
if (!reg_val & TI960_FSIN_ENABLE) {
^
( )
drivers/media/i2c/ti960-des.c:1240:15: warning: unused variable 'reset_gpio' [-Wunused-variable]
unsigned int reset_gpio = va->pdata->reset_gpio;
^
3 warnings generated.
vim +/bus_switch +129 drivers/media/i2c/ti960-des.c
1aafb1e0df5527 Ng Khai Wen 2021-07-01 128
d2753af810c799 Ng Khai Wen 2021-07-01 @129 int bus_switch(struct ti960 *va)
d2753af810c799 Ng Khai Wen 2021-07-01 130 {
d2753af810c799 Ng Khai Wen 2021-07-01 131 int ret;
d2753af810c799 Ng Khai Wen 2021-07-01 132 int retry, timeout = 10;
d2753af810c799 Ng Khai Wen 2021-07-01 133 struct i2c_client *client = v4l2_get_subdevdata(&va->sd);
d2753af810c799 Ng Khai Wen 2021-07-01 134
d2753af810c799 Ng Khai Wen 2021-07-01 135 dev_dbg(&client->dev, "bus switch");
d2753af810c799 Ng Khai Wen 2021-07-01 136 client->addr = 0x70;
d2753af810c799 Ng Khai Wen 2021-07-01 137 for (retry = 0; retry < timeout; retry++) {
d2753af810c799 Ng Khai Wen 2021-07-01 138 ret = i2c_smbus_write_byte(client, 0x01);
d2753af810c799 Ng Khai Wen 2021-07-01 139 if (ret < 0)
d2753af810c799 Ng Khai Wen 2021-07-01 140 usleep_range(5000, 6000);
d2753af810c799 Ng Khai Wen 2021-07-01 141 else
d2753af810c799 Ng Khai Wen 2021-07-01 142 break;
d2753af810c799 Ng Khai Wen 2021-07-01 143 }
d2753af810c799 Ng Khai Wen 2021-07-01 144
d2753af810c799 Ng Khai Wen 2021-07-01 145 client->addr = TI960_I2C_ADDRESS;
d2753af810c799 Ng Khai Wen 2021-07-01 146 if (retry >= timeout) {
d2753af810c799 Ng Khai Wen 2021-07-01 147 dev_err(&client->dev, "bus switch failed");
d2753af810c799 Ng Khai Wen 2021-07-01 148 return -EREMOTEIO;
d2753af810c799 Ng Khai Wen 2021-07-01 149 }
d2753af810c799 Ng Khai Wen 2021-07-01 150
d2753af810c799 Ng Khai Wen 2021-07-01 151 return 0;
d2753af810c799 Ng Khai Wen 2021-07-01 152 }
d2753af810c799 Ng Khai Wen 2021-07-01 153
1aafb1e0df5527 Ng Khai Wen 2021-07-01 154 static int ti960_reg_read(struct ti960 *va, unsigned char reg, unsigned int *val)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 155 {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 156 int ret, retry, timeout = 10;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 157
1aafb1e0df5527 Ng Khai Wen 2021-07-01 158 for (retry = 0; retry < timeout; retry++) {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 159 ret = regmap_read(va->regmap8, reg, val);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 160 if (ret < 0) {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 161 dev_err(va->sd.dev, "960 reg read ret=%x", ret);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 162 usleep_range(5000, 6000);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 163 } else {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 164 break;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 165 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 166 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 167
1aafb1e0df5527 Ng Khai Wen 2021-07-01 168 if (retry >= timeout) {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 169 dev_err(va->sd.dev,
1aafb1e0df5527 Ng Khai Wen 2021-07-01 170 "%s:devid read failed: reg=%2x, ret=%d\n",
1aafb1e0df5527 Ng Khai Wen 2021-07-01 171 __func__, reg, ret);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 172 return -EREMOTEIO;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 173 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 174
1aafb1e0df5527 Ng Khai Wen 2021-07-01 175 return 0;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 176 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 177
1aafb1e0df5527 Ng Khai Wen 2021-07-01 178 static int ti960_reg_set_bit(struct ti960 *va, unsigned char reg,
1aafb1e0df5527 Ng Khai Wen 2021-07-01 179 unsigned char bit, unsigned char val)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 180 {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 181 int ret;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 182 unsigned int reg_val;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 183
1aafb1e0df5527 Ng Khai Wen 2021-07-01 184 ret = regmap_read(va->regmap8, reg, ®_val);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 185 if (ret)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 186 return ret;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 187 if (val)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 188 reg_val |= 1 << bit;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 189 else
1aafb1e0df5527 Ng Khai Wen 2021-07-01 190 reg_val &= ~(1 << bit);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 191
1aafb1e0df5527 Ng Khai Wen 2021-07-01 192 return regmap_write(va->regmap8, reg, reg_val);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 193 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 194
1aafb1e0df5527 Ng Khai Wen 2021-07-01 195 static int ti960_map_phy_i2c_addr(struct ti960 *va, unsigned short rx_port,
1aafb1e0df5527 Ng Khai Wen 2021-07-01 196 unsigned short addr)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 197 {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 198 int rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 199
1aafb1e0df5527 Ng Khai Wen 2021-07-01 200 rval = regmap_write(va->regmap8, TI960_RX_PORT_SEL,
1aafb1e0df5527 Ng Khai Wen 2021-07-01 201 (rx_port << 4) + (1 << rx_port));
1aafb1e0df5527 Ng Khai Wen 2021-07-01 202 if (rval)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 203 return rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 204
1aafb1e0df5527 Ng Khai Wen 2021-07-01 205 return regmap_write(va->regmap8, TI960_SLAVE_ID0, addr);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 206 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 207
1aafb1e0df5527 Ng Khai Wen 2021-07-01 208 static int ti960_map_alias_i2c_addr(struct ti960 *va, unsigned short rx_port,
1aafb1e0df5527 Ng Khai Wen 2021-07-01 209 unsigned short addr)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 210 {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 211 int rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 212
1aafb1e0df5527 Ng Khai Wen 2021-07-01 213 rval = regmap_write(va->regmap8, TI960_RX_PORT_SEL,
1aafb1e0df5527 Ng Khai Wen 2021-07-01 214 (rx_port << 4) + (1 << rx_port));
1aafb1e0df5527 Ng Khai Wen 2021-07-01 215 if (rval)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 216 return rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 217
1aafb1e0df5527 Ng Khai Wen 2021-07-01 218 return regmap_write(va->regmap8, TI960_SLAVE_ALIAS_ID0, addr);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 219 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 220
1aafb1e0df5527 Ng Khai Wen 2021-07-01 221 static int ti960_map_ser_alias_addr(struct ti960 *va, unsigned short rx_port,
1aafb1e0df5527 Ng Khai Wen 2021-07-01 222 unsigned short ser_alias)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 223 {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 224 int rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 225
1aafb1e0df5527 Ng Khai Wen 2021-07-01 226 dev_dbg(va->sd.dev, "%s port %d, ser_alias %x\n", __func__, rx_port, ser_alias);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 227 rval = regmap_write(va->regmap8, TI960_RX_PORT_SEL,
1aafb1e0df5527 Ng Khai Wen 2021-07-01 228 (rx_port << 4) + (1 << rx_port));
1aafb1e0df5527 Ng Khai Wen 2021-07-01 229 if (rval)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 230 return rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 231
1aafb1e0df5527 Ng Khai Wen 2021-07-01 232 return regmap_write(va->regmap8, TI960_SER_ALIAS_ID, ser_alias);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 233 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 234
1aafb1e0df5527 Ng Khai Wen 2021-07-01 235 static int ti960_fsin_gpio_init(struct ti960 *va, unsigned short rx_port,
1aafb1e0df5527 Ng Khai Wen 2021-07-01 236 unsigned short ser_alias, unsigned short fsin_gpio)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 237 {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 238 unsigned char gpio_data;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 239 int rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 240 int reg_val;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 241
1aafb1e0df5527 Ng Khai Wen 2021-07-01 242 dev_dbg(va->sd.dev, "%s\n", __func__);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 243 rval = regmap_read(va->regmap8, TI960_FS_CTL, ®_val);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 244 if (rval) {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 245 dev_dbg(va->sd.dev, "Failed to read gpio status.\n");
1aafb1e0df5527 Ng Khai Wen 2021-07-01 246 return rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 247 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 248
1aafb1e0df5527 Ng Khai Wen 2021-07-01 @249 if (!reg_val & TI960_FSIN_ENABLE) {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 250 dev_dbg(va->sd.dev, "FSIN not enabled, skip config FSIN GPIO.\n");
1aafb1e0df5527 Ng Khai Wen 2021-07-01 251 return 0;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 252 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 253
1aafb1e0df5527 Ng Khai Wen 2021-07-01 254 rval = regmap_write(va->regmap8, TI960_RX_PORT_SEL,
1aafb1e0df5527 Ng Khai Wen 2021-07-01 255 (rx_port << 4) + (1 << rx_port));
1aafb1e0df5527 Ng Khai Wen 2021-07-01 256 if (rval)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 257 return rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 258
1aafb1e0df5527 Ng Khai Wen 2021-07-01 259 switch (fsin_gpio) {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 260 case 0:
1aafb1e0df5527 Ng Khai Wen 2021-07-01 261 case 1:
1aafb1e0df5527 Ng Khai Wen 2021-07-01 262 rval = regmap_read(va->regmap8, TI960_BC_GPIO_CTL0, ®_val);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 263 if (rval) {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 264 dev_dbg(va->sd.dev, "Failed to read gpio status.\n");
1aafb1e0df5527 Ng Khai Wen 2021-07-01 265 return rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 266 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 267
1aafb1e0df5527 Ng Khai Wen 2021-07-01 268 if (fsin_gpio == 0) {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 269 reg_val &= ~TI960_GPIO0_MASK;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 270 reg_val |= TI960_GPIO0_FSIN;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 271 } else {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 272 reg_val &= ~TI960_GPIO1_MASK;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 273 reg_val |= TI960_GPIO1_FSIN;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 274 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 275
1aafb1e0df5527 Ng Khai Wen 2021-07-01 276 rval = regmap_write(va->regmap8, TI960_BC_GPIO_CTL0, reg_val);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 277 if (rval)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 278 dev_dbg(va->sd.dev, "Failed to set gpio.\n");
1aafb1e0df5527 Ng Khai Wen 2021-07-01 279 break;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 280 case 2:
1aafb1e0df5527 Ng Khai Wen 2021-07-01 281 case 3:
1aafb1e0df5527 Ng Khai Wen 2021-07-01 282 rval = regmap_read(va->regmap8, TI960_BC_GPIO_CTL1, ®_val);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 283 if (rval) {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 284 dev_dbg(va->sd.dev, "Failed to read gpio status.\n");
1aafb1e0df5527 Ng Khai Wen 2021-07-01 285 return rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 286 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 287
1aafb1e0df5527 Ng Khai Wen 2021-07-01 288 if (fsin_gpio == 2) {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 289 reg_val &= ~TI960_GPIO2_MASK;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 290 reg_val |= TI960_GPIO2_FSIN;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 291 } else {
1aafb1e0df5527 Ng Khai Wen 2021-07-01 292 reg_val &= ~TI960_GPIO3_MASK;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 293 reg_val |= TI960_GPIO3_FSIN;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 294 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 295
1aafb1e0df5527 Ng Khai Wen 2021-07-01 296 rval = regmap_write(va->regmap8, TI960_BC_GPIO_CTL1, reg_val);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 297 if (rval)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 298 dev_dbg(va->sd.dev, "Failed to set gpio.\n");
1aafb1e0df5527 Ng Khai Wen 2021-07-01 299 break;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 300 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 301
1aafb1e0df5527 Ng Khai Wen 2021-07-01 302 /* enable output and remote control */
1aafb1e0df5527 Ng Khai Wen 2021-07-01 303 ti953_reg_write(&va->sd, rx_port, ser_alias, TI953_GPIO_INPUT_CTRL, TI953_GPIO_OUT_EN);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 304 rval = ti953_reg_read(&va->sd, rx_port, ser_alias, TI953_LOCAL_GPIO_DATA,
1aafb1e0df5527 Ng Khai Wen 2021-07-01 305 &gpio_data);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 306 if (rval)
1aafb1e0df5527 Ng Khai Wen 2021-07-01 307 return rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 308 ti953_reg_write(&va->sd, rx_port, ser_alias, TI953_LOCAL_GPIO_DATA,
1aafb1e0df5527 Ng Khai Wen 2021-07-01 309 gpio_data | TI953_GPIO0_RMTEN << fsin_gpio);
1aafb1e0df5527 Ng Khai Wen 2021-07-01 310
1aafb1e0df5527 Ng Khai Wen 2021-07-01 311 return rval;
1aafb1e0df5527 Ng Khai Wen 2021-07-01 312 }
1aafb1e0df5527 Ng Khai Wen 2021-07-01 313
:::::: The code at line 129 was first introduced by commit
:::::: d2753af810c79927ae6a70fd532a0b19d9816dc5 media: intel-ipu6: add ti960 driver
:::::: TO: Ng Khai Wen <khai.wen.ng(a)intel.com>
:::::: CC: Pan, Kris <kris.pan(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
[mingo-tip:sched/headers 2375/2384] include/linux/device/driver.h:164:1: error: type defaults to 'int' in declaration of 'module_init'
by kernel test robot
tree: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git sched/headers
head: 4c707c1c0de83967079b4e385012fa5b00e2cd11
commit: fbd3e447670c4087ece6324134c77241b9c119b9 [2375/2384] headers/deps: RDMA: Optimize <rdma/ib_verbs.h> dependencies, remove <linux/dim.h> inclusion
config: sparc-allyesconfig (https://download.01.org/0day-ci/archive/20220116/202201160854.9JuTmAwF-lk...)
compiler: sparc64-linux-gcc (GCC) 11.2.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/mingo/tip.git/commit/?id=...
git remote add mingo-tip git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git
git fetch --no-tags mingo-tip sched/headers
git checkout fbd3e447670c4087ece6324134c77241b9c119b9
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=sparc 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/infiniband/hw/hns/hns_roce_hw_v1.c:4460:1: warning: data definition has no type or storage class
4460 | MODULE_DEVICE_TABLE(of, hns_roce_of_match);
| ^~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4460:1: error: type defaults to 'int' in declaration of 'MODULE_DEVICE_TABLE' [-Werror=implicit-int]
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4460:1: warning: parameter names (without types) in function declaration
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4466:1: warning: data definition has no type or storage class
4466 | MODULE_DEVICE_TABLE(acpi, hns_roce_acpi_match);
| ^~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4466:1: error: type defaults to 'int' in declaration of 'MODULE_DEVICE_TABLE' [-Werror=implicit-int]
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4466:1: warning: parameter names (without types) in function declaration
In file included from include/linux/device_api.h:34,
from drivers/infiniband/hw/hns/hns_roce_hw_v1.c:46:
include/linux/device/driver.h:164:1: warning: data definition has no type or storage class
164 | module_init(__driver##_init); \
| ^~~~~~~~~~~
include/linux/platform_device.h:253:9: note: in expansion of macro 'module_driver'
253 | module_driver(__platform_driver, platform_driver_register, \
| ^~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4686:1: note: in expansion of macro 'module_platform_driver'
4686 | module_platform_driver(hns_roce_driver);
| ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/device/driver.h:164:1: error: type defaults to 'int' in declaration of 'module_init' [-Werror=implicit-int]
164 | module_init(__driver##_init); \
| ^~~~~~~~~~~
include/linux/platform_device.h:253:9: note: in expansion of macro 'module_driver'
253 | module_driver(__platform_driver, platform_driver_register, \
| ^~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4686:1: note: in expansion of macro 'module_platform_driver'
4686 | module_platform_driver(hns_roce_driver);
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/linkage.h:7,
from include/linux/printk.h:7,
from include/asm-generic/bug.h:22,
from arch/sparc/include/asm/bug.h:25,
from include/linux/bug.h:5,
from include/linux/cpumask_types.h:12,
from include/linux/cpumask.h:5,
from include/linux/smp_api.h:12,
from include/linux/lockdep_api.h:27,
from include/linux/timer.h:5,
from include/linux/workqueue_types.h:9,
from include/linux/workqueue_api.h:10,
from drivers/infiniband/hw/hns/hns_roce_hw_v1.c:33:
include/linux/export.h:19:30: warning: parameter names (without types) in function declaration
19 | #define THIS_MODULE ((struct module *)0)
| ^~~~~~
include/linux/platform_device.h:223:41: note: in expansion of macro 'THIS_MODULE'
223 | __platform_driver_register(drv, THIS_MODULE)
| ^~~~~~~~~~~
include/linux/device/driver.h:162:16: note: in expansion of macro 'platform_driver_register'
162 | return __register(&(__driver) , ##__VA_ARGS__); \
| ^~~~~~~~~~
include/linux/platform_device.h:253:9: note: in expansion of macro 'module_driver'
253 | module_driver(__platform_driver, platform_driver_register, \
| ^~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4686:1: note: in expansion of macro 'module_platform_driver'
4686 | module_platform_driver(hns_roce_driver);
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/device_api.h:34,
from drivers/infiniband/hw/hns/hns_roce_hw_v1.c:46:
include/linux/device/driver.h:169:1: warning: data definition has no type or storage class
169 | module_exit(__driver##_exit);
| ^~~~~~~~~~~
include/linux/platform_device.h:253:9: note: in expansion of macro 'module_driver'
253 | module_driver(__platform_driver, platform_driver_register, \
| ^~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4686:1: note: in expansion of macro 'module_platform_driver'
4686 | module_platform_driver(hns_roce_driver);
| ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/device/driver.h:169:1: error: type defaults to 'int' in declaration of 'module_exit' [-Werror=implicit-int]
169 | module_exit(__driver##_exit);
| ^~~~~~~~~~~
include/linux/platform_device.h:253:9: note: in expansion of macro 'module_driver'
253 | module_driver(__platform_driver, platform_driver_register, \
| ^~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4686:1: note: in expansion of macro 'module_platform_driver'
4686 | module_platform_driver(hns_roce_driver);
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/linkage.h:7,
from include/linux/printk.h:7,
from include/asm-generic/bug.h:22,
from arch/sparc/include/asm/bug.h:25,
from include/linux/bug.h:5,
from include/linux/cpumask_types.h:12,
from include/linux/cpumask.h:5,
from include/linux/smp_api.h:12,
from include/linux/lockdep_api.h:27,
from include/linux/timer.h:5,
from include/linux/workqueue_types.h:9,
from include/linux/workqueue_api.h:10,
from drivers/infiniband/hw/hns/hns_roce_hw_v1.c:33:
include/linux/export.h:19:30: warning: parameter names (without types) in function declaration
19 | #define THIS_MODULE ((struct module *)0)
| ^~~~~~
include/linux/platform_device.h:223:41: note: in expansion of macro 'THIS_MODULE'
223 | __platform_driver_register(drv, THIS_MODULE)
| ^~~~~~~~~~~
include/linux/device/driver.h:162:16: note: in expansion of macro 'platform_driver_register'
162 | return __register(&(__driver) , ##__VA_ARGS__); \
| ^~~~~~~~~~
include/linux/platform_device.h:253:9: note: in expansion of macro 'module_driver'
253 | module_driver(__platform_driver, platform_driver_register, \
| ^~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4686:1: note: in expansion of macro 'module_platform_driver'
4686 | module_platform_driver(hns_roce_driver);
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4688:16: error: expected declaration specifiers or '...' before string constant
4688 | MODULE_LICENSE("Dual BSD/GPL");
| ^~~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4689:15: error: expected declaration specifiers or '...' before string constant
4689 | MODULE_AUTHOR("Wei Hu <xavier.huwei(a)huawei.com>");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4690:15: error: expected declaration specifiers or '...' before string constant
4690 | MODULE_AUTHOR("Nenglong Zhao <zhaonenglong(a)hisilicon.com>");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4691:15: error: expected declaration specifiers or '...' before string constant
4691 | MODULE_AUTHOR("Lijun Ou <oulijun(a)huawei.com>");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4692:20: error: expected declaration specifiers or '...' before string constant
4692 | MODULE_DESCRIPTION("Hisilicon Hip06 Family RoCE Driver");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/device_api.h:34,
from drivers/infiniband/hw/hns/hns_roce_hw_v1.c:46:
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4686:24: warning: 'hns_roce_driver_init' defined but not used [-Wunused-function]
4686 | module_platform_driver(hns_roce_driver);
| ^~~~~~~~~~~~~~~
include/linux/device/driver.h:160:19: note: in definition of macro 'module_driver'
160 | static int __init __driver##_init(void) \
| ^~~~~~~~
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:4686:1: note: in expansion of macro 'module_platform_driver'
4686 | module_platform_driver(hns_roce_driver);
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +164 include/linux/device/driver.h
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 144
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 145 /**
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 146 * module_driver() - Helper macro for drivers that don't do anything
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 147 * special in module init/exit. This eliminates a lot of boilerplate.
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 148 * Each module may only use this macro once, and calling it replaces
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 149 * module_init() and module_exit().
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 150 *
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 151 * @__driver: driver name
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 152 * @__register: register function for this driver type
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 153 * @__unregister: unregister function for this driver type
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 154 * @...: Additional arguments to be passed to __register and __unregister.
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 155 *
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 156 * Use this macro to construct bus specific macros for registering
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 157 * drivers, and do not use it on its own.
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 158 */
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 159 #define module_driver(__driver, __register, __unregister, ...) \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 160 static int __init __driver##_init(void) \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 161 { \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 162 return __register(&(__driver) , ##__VA_ARGS__); \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 163 } \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 @164 module_init(__driver##_init); \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 165 static void __exit __driver##_exit(void) \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 166 { \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 167 __unregister(&(__driver) , ##__VA_ARGS__); \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 168 } \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 @169 module_exit(__driver##_exit);
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 170
:::::: The code at line 164 was first introduced by commit
:::::: 4c002c978b7f2f2306d53de051c054504af920a9 device.h: move 'struct driver' stuff out to device/driver.h
:::::: TO: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
:::::: CC: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
fs/xfs/xfs_qm_syscalls.c:633:2: warning: Redundant assignment of 'dqp' to itself. [selfAssignment]
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a33f5c380c4bd3fa5278d690421b72052456d9fe
commit: 7ac6eb46c9f32d3e6ae37943191cd744ffa1ef33 xfs: fix up build warnings when quotas are disabled
date: 12 months ago
compiler: sparc64-linux-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
cppcheck warnings: (new ones prefixed by >>)
>> fs/xfs/xfs_qm_syscalls.c:633:2: warning: Redundant assignment of 'dqp' to itself. [selfAssignment]
xfs_qm_dqrele(dqp);
^
fs/xfs/xfs_qm_syscalls.c:770:3: warning: Redundant assignment of 'ip->i_udquot' to itself. [selfAssignment]
xfs_qm_dqrele(ip->i_udquot);
^
fs/xfs/xfs_qm_syscalls.c:774:3: warning: Redundant assignment of 'ip->i_gdquot' to itself. [selfAssignment]
xfs_qm_dqrele(ip->i_gdquot);
^
fs/xfs/xfs_qm_syscalls.c:778:3: warning: Redundant assignment of 'ip->i_pdquot' to itself. [selfAssignment]
xfs_qm_dqrele(ip->i_pdquot);
^
vim +/dqp +633 fs/xfs/xfs_qm_syscalls.c
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 496
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 497 /*
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 498 * Adjust quota limits, and start/stop timers accordingly.
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 499 */
fcafb71b57a039f fs/xfs/quota/xfs_qm_syscalls.c Christoph Hellwig 2009-02-09 500 int
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 501 xfs_qm_scall_setqlim(
b136645116e5471 fs/xfs/xfs_qm_syscalls.c Brian Foster 2013-03-18 502 struct xfs_mount *mp,
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 503 xfs_dqid_t id,
1a7ed271653a4f4 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-15 504 xfs_dqtype_t type,
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 505 struct qc_dqblk *newlim)
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 506 {
8a7b8a89a3ae5b5 fs/xfs/quota/xfs_qm_syscalls.c Christoph Hellwig 2010-04-20 507 struct xfs_quotainfo *q = mp->m_quotainfo;
b136645116e5471 fs/xfs/xfs_qm_syscalls.c Brian Foster 2013-03-18 508 struct xfs_dquot *dqp;
b136645116e5471 fs/xfs/xfs_qm_syscalls.c Brian Foster 2013-03-18 509 struct xfs_trans *tp;
be6079461abf796 fs/xfs/xfs_qm_syscalls.c Carlos Maiolino 2016-02-08 510 struct xfs_def_quota *defq;
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 511 struct xfs_dquot_res *res;
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 512 struct xfs_quota_limits *qlim;
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 513 int error;
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 514 xfs_qcnt_t hard, soft;
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 515
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 516 if (newlim->d_fieldmask & ~XFS_QC_MASK)
2451337dd043901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2014-06-25 517 return -EINVAL;
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 518 if ((newlim->d_fieldmask & XFS_QC_MASK) == 0)
c472b4327597651 fs/xfs/quota/xfs_qm_syscalls.c Christoph Hellwig 2010-05-06 519 return 0;
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 520
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 521 /*
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 522 * We don't want to race with a quotaoff so take the quotaoff lock.
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 523 * We don't hold an inode lock, so there's nothing else to stop
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 524 * a quotaoff from happening.
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 525 */
8a7b8a89a3ae5b5 fs/xfs/quota/xfs_qm_syscalls.c Christoph Hellwig 2010-04-20 526 mutex_lock(&q->qi_quotaofflock);
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 527
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 528 /*
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 529 * Get the dquot (locked) before we start, as we need to do a
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 530 * transaction to allocate it if it doesn't exist. Once we have the
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 531 * dquot, unlock it so we can start the next transaction safely. We hold
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 532 * a reference to the dquot, so it's safe to do this unlock/lock without
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 533 * it being reclaimed in the mean time.
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 534 */
30ab2dcf2c0693e fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2018-05-04 535 error = xfs_qm_dqget(mp, id, type, true, &dqp);
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 536 if (error) {
2451337dd043901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2014-06-25 537 ASSERT(error != -ENOENT);
8a7b8a89a3ae5b5 fs/xfs/quota/xfs_qm_syscalls.c Christoph Hellwig 2010-04-20 538 goto out_unlock;
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 539 }
be6079461abf796 fs/xfs/xfs_qm_syscalls.c Carlos Maiolino 2016-02-08 540
ce6e7e79ced35a8 fs/xfs/xfs_qm_syscalls.c Eric Sandeen 2020-05-21 541 defq = xfs_get_defquota(q, xfs_dquot_type(dqp));
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 542 xfs_dqunlock(dqp);
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 543
253f4911f297b83 fs/xfs/xfs_qm_syscalls.c Christoph Hellwig 2016-04-06 544 error = xfs_trans_alloc(mp, &M_RES(mp)->tr_qm_setqlim, 0, 0, 0, &tp);
253f4911f297b83 fs/xfs/xfs_qm_syscalls.c Christoph Hellwig 2016-04-06 545 if (error)
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 546 goto out_rele;
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 547
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 548 xfs_dqlock(dqp);
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 549 xfs_trans_dqjoin(tp, dqp);
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 550
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 551 /*
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 552 * Update quota limits, warnings, and timers, and the defaults
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 553 * if we're touching id == 0.
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 554 *
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 555 * Make sure that hardlimits are >= soft limits before changing.
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 556 *
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 557 * Update warnings counter(s) if requested.
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 558 *
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 559 * Timelimits for the super user set the relative time the other users
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 560 * can be over quota for this file system. If it is zero a default is
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 561 * used. Ditto for the default soft and hard limit values (already
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 562 * done, above), and for warnings.
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 563 *
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 564 * For other IDs, userspace can bump out the grace period if over
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 565 * the soft limit.
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 566 */
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 567
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 568 /* Blocks on the data device. */
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 569 hard = (newlim->d_fieldmask & QC_SPC_HARD) ?
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 570 (xfs_qcnt_t) XFS_B_TO_FSB(mp, newlim->d_spc_hardlimit) :
d3537cf93e5e2f8 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 571 dqp->q_blk.hardlimit;
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 572 soft = (newlim->d_fieldmask & QC_SPC_SOFT) ?
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 573 (xfs_qcnt_t) XFS_B_TO_FSB(mp, newlim->d_spc_softlimit) :
d3537cf93e5e2f8 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 574 dqp->q_blk.softlimit;
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 575 res = &dqp->q_blk;
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 576 qlim = id == 0 ? &defq->blk : NULL;
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 577
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 578 if (xfs_setqlim_limits(mp, res, qlim, hard, soft, "blk"))
b136645116e5471 fs/xfs/xfs_qm_syscalls.c Brian Foster 2013-03-18 579 xfs_dquot_set_prealloc_limits(dqp);
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 580 if (newlim->d_fieldmask & QC_SPC_WARNS)
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 581 xfs_setqlim_warns(res, qlim, newlim->d_spc_warns);
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 582 if (newlim->d_fieldmask & QC_SPC_TIMER)
11d8a9190275855 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-08-17 583 xfs_setqlim_timer(mp, res, qlim, newlim->d_spc_timer);
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 584
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 585 /* Blocks on the realtime device. */
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 586 hard = (newlim->d_fieldmask & QC_RT_SPC_HARD) ?
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 587 (xfs_qcnt_t) XFS_B_TO_FSB(mp, newlim->d_rt_spc_hardlimit) :
d3537cf93e5e2f8 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 588 dqp->q_rtb.hardlimit;
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 589 soft = (newlim->d_fieldmask & QC_RT_SPC_SOFT) ?
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 590 (xfs_qcnt_t) XFS_B_TO_FSB(mp, newlim->d_rt_spc_softlimit) :
d3537cf93e5e2f8 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 591 dqp->q_rtb.softlimit;
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 592 res = &dqp->q_rtb;
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 593 qlim = id == 0 ? &defq->rtb : NULL;
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 594
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 595 xfs_setqlim_limits(mp, res, qlim, hard, soft, "rtb");
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 596 if (newlim->d_fieldmask & QC_RT_SPC_WARNS)
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 597 xfs_setqlim_warns(res, qlim, newlim->d_rt_spc_warns);
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 598 if (newlim->d_fieldmask & QC_RT_SPC_TIMER)
11d8a9190275855 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-08-17 599 xfs_setqlim_timer(mp, res, qlim, newlim->d_rt_spc_timer);
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 600
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 601 /* Inodes */
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 602 hard = (newlim->d_fieldmask & QC_INO_HARD) ?
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 603 (xfs_qcnt_t) newlim->d_ino_hardlimit :
d3537cf93e5e2f8 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 604 dqp->q_ino.hardlimit;
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 605 soft = (newlim->d_fieldmask & QC_INO_SOFT) ?
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 606 (xfs_qcnt_t) newlim->d_ino_softlimit :
d3537cf93e5e2f8 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 607 dqp->q_ino.softlimit;
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 608 res = &dqp->q_ino;
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 609 qlim = id == 0 ? &defq->ino : NULL;
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 610
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 611 xfs_setqlim_limits(mp, res, qlim, hard, soft, "ino");
14bf61ffe6ac54a fs/xfs/xfs_qm_syscalls.c Jan Kara 2014-10-09 612 if (newlim->d_fieldmask & QC_INO_WARNS)
d1520deab039ca1 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 613 xfs_setqlim_warns(res, qlim, newlim->d_ino_warns);
df42ce64dc3eb7f fs/xfs/xfs_qm_syscalls.c Eric Sandeen 2020-05-21 614 if (newlim->d_fieldmask & QC_INO_TIMER)
11d8a9190275855 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-08-17 615 xfs_setqlim_timer(mp, res, qlim, newlim->d_ino_timer);
df42ce64dc3eb7f fs/xfs/xfs_qm_syscalls.c Eric Sandeen 2020-05-21 616
df42ce64dc3eb7f fs/xfs/xfs_qm_syscalls.c Eric Sandeen 2020-05-21 617 if (id != 0) {
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 618 /*
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 619 * If the user is now over quota, start the timelimit.
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 620 * The user will not be 'warned'.
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 621 * Note that we keep the timers ticking, whether enforcement
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 622 * is on or off. We don't really want to bother with iterating
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 623 * over all ondisk dquots and turning the timers on/off.
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 624 */
c8c753e19a76507 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 625 xfs_qm_adjust_dqtimers(dqp);
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 626 }
985a78fdde15e17 fs/xfs/xfs_qm_syscalls.c Darrick J. Wong 2020-07-14 627 dqp->q_flags |= XFS_DQFLAG_DIRTY;
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 628 xfs_trans_log_dquot(tp, dqp);
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 629
70393313dd0b26a fs/xfs/xfs_qm_syscalls.c Christoph Hellwig 2015-06-04 630 error = xfs_trans_commit(tp);
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 631
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 632 out_rele:
f648167f3ac7901 fs/xfs/xfs_qm_syscalls.c Dave Chinner 2013-05-21 @633 xfs_qm_dqrele(dqp);
8a7b8a89a3ae5b5 fs/xfs/quota/xfs_qm_syscalls.c Christoph Hellwig 2010-04-20 634 out_unlock:
8a7b8a89a3ae5b5 fs/xfs/quota/xfs_qm_syscalls.c Christoph Hellwig 2010-04-20 635 mutex_unlock(&q->qi_quotaofflock);
e5720eec0548c08 fs/xfs/quota/xfs_qm_syscalls.c David Chinner 2008-04-10 636 return error;
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 637 }
^1da177e4c3f415 fs/xfs/quota/xfs_qm_syscalls.c Linus Torvalds 2005-04-16 638
:::::: The code at line 633 was first introduced by commit
:::::: f648167f3ac79018c210112508c732ea9bf67c7b xfs: avoid nesting transactions in xfs_qm_scall_setqlim()
:::::: TO: Dave Chinner <dchinner(a)redhat.com>
:::::: CC: Ben Myers <bpm(a)sgi.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week