From: kernel test robot <lkp@intel.com> To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>, Wolfram Sang <wsa-dev@sang-engineering.com>, Serge Semin <Sergey.Semin@baikalelectronics.ru>, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: kbuild-all@lists.01.org, Jarkko Nikula <jarkko.nikula@linux.intel.com>, Mika Westerberg <mika.westerberg@linux.intel.com>, Yicong Yang <yangyicong@hisilicon.com> Subject: Re: [PATCH v1 1/1] i2c: designware: Switch over to i2c_freq_mode_string() Date: Tue, 30 Mar 2021 22:45:44 +0800 [thread overview] Message-ID: <202103302210.r6wUfKqW-lkp@intel.com> (raw) In-Reply-To: <20210330134633.29889-1-andriy.shevchenko@linux.intel.com> [-- Attachment #1: Type: text/plain, Size: 7917 bytes --] Hi Andy, I love your patch! Yet something to improve: [auto build test ERROR on wsa/i2c/for-next] [also build test ERROR on v5.12-rc5 next-20210330] [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/Andy-Shevchenko/i2c-designware-Switch-over-to-i2c_freq_mode_string/20210330-214856 base: https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next config: parisc-randconfig-r021-20210330 (attached as .config) compiler: hppa-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/fc212e73959cd6616bd734027805962593a28d9a git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Andy-Shevchenko/i2c-designware-Switch-over-to-i2c_freq_mode_string/20210330-214856 git checkout fc212e73959cd6616bd734027805962593a28d9a # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All error/warnings (new ones prefixed by >>): In file included from include/linux/device.h:15, from include/linux/acpi.h:15, from include/linux/i2c.h:13, from drivers/i2c/busses/i2c-designware-master.c:16: drivers/i2c/busses/i2c-designware-master.c: In function 'i2c_dw_set_timings_master': >> drivers/i2c/busses/i2c-designware-master.c:158:39: error: implicit declaration of function 'i2c_freq_mode_string' [-Werror=implicit-function-declaration] 158 | dev_dbg(dev->dev, "Bus speed: %s\n", i2c_freq_mode_string(t->bus_freq_hz)); | ^~~~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:126:46: note: in definition of macro 'dev_dbg' 126 | dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~ >> drivers/i2c/busses/i2c-designware-master.c:158:20: warning: format '%s' expects argument of type 'char *', but argument 4 has type 'int' [-Wformat=] 158 | dev_dbg(dev->dev, "Bus speed: %s\n", i2c_freq_mode_string(t->bus_freq_hz)); | ^~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:19:22: note: in definition of macro 'dev_fmt' 19 | #define dev_fmt(fmt) fmt | ^~~ drivers/i2c/busses/i2c-designware-master.c:158:2: note: in expansion of macro 'dev_dbg' 158 | dev_dbg(dev->dev, "Bus speed: %s\n", i2c_freq_mode_string(t->bus_freq_hz)); | ^~~~~~~ drivers/i2c/busses/i2c-designware-master.c:158:33: note: format string is defined here 158 | dev_dbg(dev->dev, "Bus speed: %s\n", i2c_freq_mode_string(t->bus_freq_hz)); | ~^ | | | char * | %d cc1: some warnings being treated as errors vim +/i2c_freq_mode_string +158 drivers/i2c/busses/i2c-designware-master.c 35 36 static int i2c_dw_set_timings_master(struct dw_i2c_dev *dev) 37 { 38 u32 comp_param1; 39 u32 sda_falling_time, scl_falling_time; 40 struct i2c_timings *t = &dev->timings; 41 const char *fp_str = ""; 42 u32 ic_clk; 43 int ret; 44 45 ret = i2c_dw_acquire_lock(dev); 46 if (ret) 47 return ret; 48 49 ret = regmap_read(dev->map, DW_IC_COMP_PARAM_1, &comp_param1); 50 i2c_dw_release_lock(dev); 51 if (ret) 52 return ret; 53 54 /* Set standard and fast speed dividers for high/low periods */ 55 sda_falling_time = t->sda_fall_ns ?: 300; /* ns */ 56 scl_falling_time = t->scl_fall_ns ?: 300; /* ns */ 57 58 /* Calculate SCL timing parameters for standard mode if not set */ 59 if (!dev->ss_hcnt || !dev->ss_lcnt) { 60 ic_clk = i2c_dw_clk_rate(dev); 61 dev->ss_hcnt = 62 i2c_dw_scl_hcnt(ic_clk, 63 4000, /* tHD;STA = tHIGH = 4.0 us */ 64 sda_falling_time, 65 0, /* 0: DW default, 1: Ideal */ 66 0); /* No offset */ 67 dev->ss_lcnt = 68 i2c_dw_scl_lcnt(ic_clk, 69 4700, /* tLOW = 4.7 us */ 70 scl_falling_time, 71 0); /* No offset */ 72 } 73 dev_dbg(dev->dev, "Standard Mode HCNT:LCNT = %d:%d\n", 74 dev->ss_hcnt, dev->ss_lcnt); 75 76 /* 77 * Set SCL timing parameters for fast mode or fast mode plus. Only 78 * difference is the timing parameter values since the registers are 79 * the same. 80 */ 81 if (t->bus_freq_hz == 1000000) { 82 /* 83 * Check are Fast Mode Plus parameters available. Calculate 84 * SCL timing parameters for Fast Mode Plus if not set. 85 */ 86 if (dev->fp_hcnt && dev->fp_lcnt) { 87 dev->fs_hcnt = dev->fp_hcnt; 88 dev->fs_lcnt = dev->fp_lcnt; 89 } else { 90 ic_clk = i2c_dw_clk_rate(dev); 91 dev->fs_hcnt = 92 i2c_dw_scl_hcnt(ic_clk, 93 260, /* tHIGH = 260 ns */ 94 sda_falling_time, 95 0, /* DW default */ 96 0); /* No offset */ 97 dev->fs_lcnt = 98 i2c_dw_scl_lcnt(ic_clk, 99 500, /* tLOW = 500 ns */ 100 scl_falling_time, 101 0); /* No offset */ 102 } 103 fp_str = " Plus"; 104 } 105 /* 106 * Calculate SCL timing parameters for fast mode if not set. They are 107 * needed also in high speed mode. 108 */ 109 if (!dev->fs_hcnt || !dev->fs_lcnt) { 110 ic_clk = i2c_dw_clk_rate(dev); 111 dev->fs_hcnt = 112 i2c_dw_scl_hcnt(ic_clk, 113 600, /* tHD;STA = tHIGH = 0.6 us */ 114 sda_falling_time, 115 0, /* 0: DW default, 1: Ideal */ 116 0); /* No offset */ 117 dev->fs_lcnt = 118 i2c_dw_scl_lcnt(ic_clk, 119 1300, /* tLOW = 1.3 us */ 120 scl_falling_time, 121 0); /* No offset */ 122 } 123 dev_dbg(dev->dev, "Fast Mode%s HCNT:LCNT = %d:%d\n", 124 fp_str, dev->fs_hcnt, dev->fs_lcnt); 125 126 /* Check is high speed possible and fall back to fast mode if not */ 127 if ((dev->master_cfg & DW_IC_CON_SPEED_MASK) == 128 DW_IC_CON_SPEED_HIGH) { 129 if ((comp_param1 & DW_IC_COMP_PARAM_1_SPEED_MODE_MASK) 130 != DW_IC_COMP_PARAM_1_SPEED_MODE_HIGH) { 131 dev_err(dev->dev, "High Speed not supported!\n"); 132 dev->master_cfg &= ~DW_IC_CON_SPEED_MASK; 133 dev->master_cfg |= DW_IC_CON_SPEED_FAST; 134 dev->hs_hcnt = 0; 135 dev->hs_lcnt = 0; 136 } else if (!dev->hs_hcnt || !dev->hs_lcnt) { 137 ic_clk = i2c_dw_clk_rate(dev); 138 dev->hs_hcnt = 139 i2c_dw_scl_hcnt(ic_clk, 140 160, /* tHIGH = 160 ns */ 141 sda_falling_time, 142 0, /* DW default */ 143 0); /* No offset */ 144 dev->hs_lcnt = 145 i2c_dw_scl_lcnt(ic_clk, 146 320, /* tLOW = 320 ns */ 147 scl_falling_time, 148 0); /* No offset */ 149 } 150 dev_dbg(dev->dev, "High Speed Mode HCNT:LCNT = %d:%d\n", 151 dev->hs_hcnt, dev->hs_lcnt); 152 } 153 154 ret = i2c_dw_set_sda_hold(dev); 155 if (ret) 156 return ret; 157 > 158 dev_dbg(dev->dev, "Bus speed: %s\n", i2c_freq_mode_string(t->bus_freq_hz)); 159 return 0; 160 } 161 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 27812 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com> To: kbuild-all@lists.01.org Subject: Re: [PATCH v1 1/1] i2c: designware: Switch over to i2c_freq_mode_string() Date: Tue, 30 Mar 2021 22:45:44 +0800 [thread overview] Message-ID: <202103302210.r6wUfKqW-lkp@intel.com> (raw) In-Reply-To: <20210330134633.29889-1-andriy.shevchenko@linux.intel.com> [-- Attachment #1: Type: text/plain, Size: 8110 bytes --] Hi Andy, I love your patch! Yet something to improve: [auto build test ERROR on wsa/i2c/for-next] [also build test ERROR on v5.12-rc5 next-20210330] [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/Andy-Shevchenko/i2c-designware-Switch-over-to-i2c_freq_mode_string/20210330-214856 base: https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next config: parisc-randconfig-r021-20210330 (attached as .config) compiler: hppa-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/fc212e73959cd6616bd734027805962593a28d9a git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Andy-Shevchenko/i2c-designware-Switch-over-to-i2c_freq_mode_string/20210330-214856 git checkout fc212e73959cd6616bd734027805962593a28d9a # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All error/warnings (new ones prefixed by >>): In file included from include/linux/device.h:15, from include/linux/acpi.h:15, from include/linux/i2c.h:13, from drivers/i2c/busses/i2c-designware-master.c:16: drivers/i2c/busses/i2c-designware-master.c: In function 'i2c_dw_set_timings_master': >> drivers/i2c/busses/i2c-designware-master.c:158:39: error: implicit declaration of function 'i2c_freq_mode_string' [-Werror=implicit-function-declaration] 158 | dev_dbg(dev->dev, "Bus speed: %s\n", i2c_freq_mode_string(t->bus_freq_hz)); | ^~~~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:126:46: note: in definition of macro 'dev_dbg' 126 | dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~ >> drivers/i2c/busses/i2c-designware-master.c:158:20: warning: format '%s' expects argument of type 'char *', but argument 4 has type 'int' [-Wformat=] 158 | dev_dbg(dev->dev, "Bus speed: %s\n", i2c_freq_mode_string(t->bus_freq_hz)); | ^~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:19:22: note: in definition of macro 'dev_fmt' 19 | #define dev_fmt(fmt) fmt | ^~~ drivers/i2c/busses/i2c-designware-master.c:158:2: note: in expansion of macro 'dev_dbg' 158 | dev_dbg(dev->dev, "Bus speed: %s\n", i2c_freq_mode_string(t->bus_freq_hz)); | ^~~~~~~ drivers/i2c/busses/i2c-designware-master.c:158:33: note: format string is defined here 158 | dev_dbg(dev->dev, "Bus speed: %s\n", i2c_freq_mode_string(t->bus_freq_hz)); | ~^ | | | char * | %d cc1: some warnings being treated as errors vim +/i2c_freq_mode_string +158 drivers/i2c/busses/i2c-designware-master.c 35 36 static int i2c_dw_set_timings_master(struct dw_i2c_dev *dev) 37 { 38 u32 comp_param1; 39 u32 sda_falling_time, scl_falling_time; 40 struct i2c_timings *t = &dev->timings; 41 const char *fp_str = ""; 42 u32 ic_clk; 43 int ret; 44 45 ret = i2c_dw_acquire_lock(dev); 46 if (ret) 47 return ret; 48 49 ret = regmap_read(dev->map, DW_IC_COMP_PARAM_1, &comp_param1); 50 i2c_dw_release_lock(dev); 51 if (ret) 52 return ret; 53 54 /* Set standard and fast speed dividers for high/low periods */ 55 sda_falling_time = t->sda_fall_ns ?: 300; /* ns */ 56 scl_falling_time = t->scl_fall_ns ?: 300; /* ns */ 57 58 /* Calculate SCL timing parameters for standard mode if not set */ 59 if (!dev->ss_hcnt || !dev->ss_lcnt) { 60 ic_clk = i2c_dw_clk_rate(dev); 61 dev->ss_hcnt = 62 i2c_dw_scl_hcnt(ic_clk, 63 4000, /* tHD;STA = tHIGH = 4.0 us */ 64 sda_falling_time, 65 0, /* 0: DW default, 1: Ideal */ 66 0); /* No offset */ 67 dev->ss_lcnt = 68 i2c_dw_scl_lcnt(ic_clk, 69 4700, /* tLOW = 4.7 us */ 70 scl_falling_time, 71 0); /* No offset */ 72 } 73 dev_dbg(dev->dev, "Standard Mode HCNT:LCNT = %d:%d\n", 74 dev->ss_hcnt, dev->ss_lcnt); 75 76 /* 77 * Set SCL timing parameters for fast mode or fast mode plus. Only 78 * difference is the timing parameter values since the registers are 79 * the same. 80 */ 81 if (t->bus_freq_hz == 1000000) { 82 /* 83 * Check are Fast Mode Plus parameters available. Calculate 84 * SCL timing parameters for Fast Mode Plus if not set. 85 */ 86 if (dev->fp_hcnt && dev->fp_lcnt) { 87 dev->fs_hcnt = dev->fp_hcnt; 88 dev->fs_lcnt = dev->fp_lcnt; 89 } else { 90 ic_clk = i2c_dw_clk_rate(dev); 91 dev->fs_hcnt = 92 i2c_dw_scl_hcnt(ic_clk, 93 260, /* tHIGH = 260 ns */ 94 sda_falling_time, 95 0, /* DW default */ 96 0); /* No offset */ 97 dev->fs_lcnt = 98 i2c_dw_scl_lcnt(ic_clk, 99 500, /* tLOW = 500 ns */ 100 scl_falling_time, 101 0); /* No offset */ 102 } 103 fp_str = " Plus"; 104 } 105 /* 106 * Calculate SCL timing parameters for fast mode if not set. They are 107 * needed also in high speed mode. 108 */ 109 if (!dev->fs_hcnt || !dev->fs_lcnt) { 110 ic_clk = i2c_dw_clk_rate(dev); 111 dev->fs_hcnt = 112 i2c_dw_scl_hcnt(ic_clk, 113 600, /* tHD;STA = tHIGH = 0.6 us */ 114 sda_falling_time, 115 0, /* 0: DW default, 1: Ideal */ 116 0); /* No offset */ 117 dev->fs_lcnt = 118 i2c_dw_scl_lcnt(ic_clk, 119 1300, /* tLOW = 1.3 us */ 120 scl_falling_time, 121 0); /* No offset */ 122 } 123 dev_dbg(dev->dev, "Fast Mode%s HCNT:LCNT = %d:%d\n", 124 fp_str, dev->fs_hcnt, dev->fs_lcnt); 125 126 /* Check is high speed possible and fall back to fast mode if not */ 127 if ((dev->master_cfg & DW_IC_CON_SPEED_MASK) == 128 DW_IC_CON_SPEED_HIGH) { 129 if ((comp_param1 & DW_IC_COMP_PARAM_1_SPEED_MODE_MASK) 130 != DW_IC_COMP_PARAM_1_SPEED_MODE_HIGH) { 131 dev_err(dev->dev, "High Speed not supported!\n"); 132 dev->master_cfg &= ~DW_IC_CON_SPEED_MASK; 133 dev->master_cfg |= DW_IC_CON_SPEED_FAST; 134 dev->hs_hcnt = 0; 135 dev->hs_lcnt = 0; 136 } else if (!dev->hs_hcnt || !dev->hs_lcnt) { 137 ic_clk = i2c_dw_clk_rate(dev); 138 dev->hs_hcnt = 139 i2c_dw_scl_hcnt(ic_clk, 140 160, /* tHIGH = 160 ns */ 141 sda_falling_time, 142 0, /* DW default */ 143 0); /* No offset */ 144 dev->hs_lcnt = 145 i2c_dw_scl_lcnt(ic_clk, 146 320, /* tLOW = 320 ns */ 147 scl_falling_time, 148 0); /* No offset */ 149 } 150 dev_dbg(dev->dev, "High Speed Mode HCNT:LCNT = %d:%d\n", 151 dev->hs_hcnt, dev->hs_lcnt); 152 } 153 154 ret = i2c_dw_set_sda_hold(dev); 155 if (ret) 156 return ret; 157 > 158 dev_dbg(dev->dev, "Bus speed: %s\n", i2c_freq_mode_string(t->bus_freq_hz)); 159 return 0; 160 } 161 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 27812 bytes --]
next prev parent reply other threads:[~2021-03-30 14:47 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-03-30 13:46 [PATCH v1 1/1] i2c: designware: Switch over to i2c_freq_mode_string() Andy Shevchenko 2021-03-30 14:45 ` kernel test robot [this message] 2021-03-30 14:45 ` kernel test robot 2021-03-30 14:55 ` kernel test robot 2021-03-30 14:55 ` kernel test robot 2021-03-31 8:38 ` Jarkko Nikula 2021-03-31 10:13 ` Andy Shevchenko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=202103302210.r6wUfKqW-lkp@intel.com \ --to=lkp@intel.com \ --cc=Sergey.Semin@baikalelectronics.ru \ --cc=andriy.shevchenko@linux.intel.com \ --cc=jarkko.nikula@linux.intel.com \ --cc=kbuild-all@lists.01.org \ --cc=linux-i2c@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mika.westerberg@linux.intel.com \ --cc=wsa-dev@sang-engineering.com \ --cc=yangyicong@hisilicon.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.