Re: [PATCH 2/2] clk: Add ccf driver for Renesas 8T49N241
From: kernel test robot
Date: Thu Jul 01 2021 - 18:23:06 EST
Hi Alex,
I love your patch! Yet something to improve:
[auto build test ERROR on renesas-drivers/renesas-clk]
[also build test ERROR on clk/clk-next linux/master v5.13]
[cannot apply to linus/master next-20210701]
[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/Alex-Helms/Renesas-8T49N241-device-driver/20210702-034238
base: https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git renesas-clk
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/e0b191d2c432b4ff388f13a2be4dbdfb75a5545e
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alex-Helms/Renesas-8T49N241-device-driver/20210702-034238
git checkout e0b191d2c432b4ff388f13a2be4dbdfb75a5545e
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross O=build_dir ARCH=m68k SHELL=/bin/bash drivers/clk/renesas/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
drivers/clk/renesas/8t49n24x-core.c: In function 'renesas24x_enable_output':
>> drivers/clk/renesas/8t49n24x-core.c:516:2: error: expected ';' before 'chip'
516 | chip->reg_out_en_x = chip->reg_out_en_x & ~offsets.oe_mask;
| ^~~~
vim +516 drivers/clk/renesas/8t49n24x-core.c
475
476 /**
477 * renesas24x_enable_output - Enable/disable a particular output
478 * @chip: Device data structure
479 * @output: Output to enable/disable
480 * @enable: Enable (true/false)
481 *
482 * Return: passes on regmap_write return value.
483 */
484 static int renesas24x_enable_output(struct clk_renesas24x_chip *chip, u8 output,
485 bool enable)
486 {
487 int err = 0;
488 struct clk_register_offsets offsets;
489 struct i2c_client *client = chip->i2c_client;
490
491 /*
492 * When an output is enabled, enable it in the original
493 * data read from the chip and cached. Otherwise it may be
494 * accidentally turned off when another output is enabled.
495 *
496 * E.g., the driver starts with all outputs off in reg_out_en_x.
497 * Q1 is enabled with the appropriate mask. Q2 is then enabled,
498 * which results in Q1 being turned back off (because Q1 was off
499 * in reg_out_en_x).
500 */
501
502 err = renesas24x_get_offsets(output, &offsets);
503 if (err) {
504 dev_err(&client->dev, "error calling renesas24x_get_offsets for %d: %i",
505 output, err);
506 return err;
507 }
508
509 dev_dbg(&client->dev,
510 "q%u enable? %d. reg_out_en_x before: 0x%x, reg_out_mode_0_1 before: 0x%x",
511 output, enable, chip->reg_out_en_x, chip->reg_out_mode_0_1);
512
513 dev_dbg(&client->dev, "reg_out_mode_2_3 before: 0x%x, reg_qx_dis before: 0x%x",
514 chip->reg_out_mode_2_3, chip->reg_qx_dis)
515
> 516 chip->reg_out_en_x = chip->reg_out_en_x & ~offsets.oe_mask;
517 if (enable)
518 chip->reg_out_en_x |= (1 << __renesas_bits_to_shift(offsets.oe_mask));
519
520 chip->reg_qx_dis = chip->reg_qx_dis & ~offsets.dis_mask;
521 dev_dbg(&client->dev,
522 "q%u enable? %d. reg_qx_dis mask: 0x%x, before checking enable: 0x%x",
523 output, enable, offsets.dis_mask, chip->reg_qx_dis);
524
525 if (!enable)
526 chip->reg_qx_dis |= (1 << __renesas_bits_to_shift(offsets.dis_mask));
527
528 dev_dbg(&client->dev,
529 "q%u enable? %d. reg_out_en_x after: 0x%x, reg_qx_dis after: 0x%x",
530 output, enable, chip->reg_out_en_x, chip->reg_qx_dis);
531
532 err = __i2c_write(client, chip->regmap, RENESAS24X_REG_OUTEN, chip->reg_out_en_x);
533 if (err) {
534 dev_err(&client->dev, "error setting RENESAS24X_REG_OUTEN: %i", err);
535 return err;
536 }
537
538 err = __i2c_write(client, chip->regmap, RENESAS24X_REG_OUTMODE0_1, chip->reg_out_mode_0_1);
539 if (err) {
540 dev_err(&client->dev, "error setting RENESAS24X_REG_OUTMODE0_1: %i", err);
541 return err;
542 }
543
544 err = __i2c_write(client, chip->regmap, RENESAS24X_REG_OUTMODE2_3, chip->reg_out_mode_2_3);
545 if (err) {
546 dev_err(&client->dev, "error setting RENESAS24X_REG_OUTMODE2_3: %i", err);
547 return err;
548 }
549
550 err = __i2c_write(client, chip->regmap, RENESAS24X_REG_Q_DIS, chip->reg_qx_dis);
551 if (err) {
552 dev_err(&client->dev, "error setting RENESAS24X_REG_Q_DIS: %i", err);
553 return err;
554 }
555
556 return 0;
557 }
558
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip