Re: [RFC Patch Resend 1/2] i2c debug counters as sysfs attributes
by kernel test robot
Hi Sui,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on wsa/i2c/for-next]
[also build test ERROR on linux/master linus/master v5.15 next-20211111]
[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/Sui-Chen/I2C-statistics-as-sysfs...
base: https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next
config: openrisc-buildonly-randconfig-r003-20211111 (attached as .config)
compiler: or1k-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/0day-ci/linux/commit/769ea06c7d8b5744deba5e6cfe2df6d90...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sui-Chen/I2C-statistics-as-sysfs-attributes/20211110-065938
git checkout 769ea06c7d8b5744deba5e6cfe2df6d9079b41df
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=openrisc
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/i2c/i2c-dev.c: In function 'ber_cnt_show':
>> drivers/i2c/i2c-dev.c:779:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
779 | ssize_t ret = sprintf(buf, "%llu\n", *ber_cnt);
| ^~~~~~~
drivers/i2c/i2c-dev.c: At top level:
>> drivers/i2c/i2c-dev.c:784:9: error: no previous prototype for 'nack_cnt_show' [-Werror=missing-prototypes]
784 | ssize_t nack_cnt_show(struct device* pdev,
| ^~~~~~~~~~~~~
drivers/i2c/i2c-dev.c: In function 'nack_cnt_show':
drivers/i2c/i2c-dev.c:788:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
788 | ssize_t ret = sprintf(buf, "%llu\n", *nack_cnt);
| ^~~~~~~
drivers/i2c/i2c-dev.c: At top level:
>> drivers/i2c/i2c-dev.c:793:9: error: no previous prototype for 'rec_succ_cnt_show' [-Werror=missing-prototypes]
793 | ssize_t rec_succ_cnt_show(struct device* pdev,
| ^~~~~~~~~~~~~~~~~
drivers/i2c/i2c-dev.c: In function 'rec_succ_cnt_show':
drivers/i2c/i2c-dev.c:797:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
797 | ssize_t ret = sprintf(buf, "%llu\n", *rec_succ_cnt);
| ^~~~~~~
drivers/i2c/i2c-dev.c: At top level:
>> drivers/i2c/i2c-dev.c:802:9: error: no previous prototype for 'rec_fail_cnt_show' [-Werror=missing-prototypes]
802 | ssize_t rec_fail_cnt_show(struct device* pdev,
| ^~~~~~~~~~~~~~~~~
drivers/i2c/i2c-dev.c: In function 'rec_fail_cnt_show':
drivers/i2c/i2c-dev.c:806:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
806 | ssize_t ret = sprintf(buf, "%llu\n", *rec_fail_cnt);
| ^~~~~~~
drivers/i2c/i2c-dev.c: At top level:
>> drivers/i2c/i2c-dev.c:811:9: error: no previous prototype for 'timeout_cnt_show' [-Werror=missing-prototypes]
811 | ssize_t timeout_cnt_show(struct device* pdev,
| ^~~~~~~~~~~~~~~~
drivers/i2c/i2c-dev.c: In function 'timeout_cnt_show':
drivers/i2c/i2c-dev.c:815:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
815 | ssize_t ret = sprintf(buf, "%llu\n", *timeout_cnt);
| ^~~~~~~
drivers/i2c/i2c-dev.c: At top level:
>> drivers/i2c/i2c-dev.c:820:9: error: no previous prototype for 'i2c_speed_show' [-Werror=missing-prototypes]
820 | ssize_t i2c_speed_show(struct device* pdev,
| ^~~~~~~~~~~~~~
drivers/i2c/i2c-dev.c: In function 'i2c_speed_show':
drivers/i2c/i2c-dev.c:824:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
824 | ssize_t ret = sprintf(buf, "%llu\n", *i2c_speed);
| ^~~~~~~
cc1: all warnings being treated as errors
vim +779 drivers/i2c/i2c-dev.c
774
775 static ssize_t ber_cnt_show(struct device* pdev,
776 struct device_attribute* attr, char* buf) {
777 u64* ber_cnt = kobj_to_adapter(pdev)->stats->ber_cnt;
778 if (ber_cnt == NULL) return 0;
> 779 ssize_t ret = sprintf(buf, "%llu\n", *ber_cnt);
780 return ret;
781 }
782 DEVICE_ATTR_RO(ber_cnt);
783
> 784 ssize_t nack_cnt_show(struct device* pdev,
785 struct device_attribute* attr, char* buf) {
786 u64* nack_cnt = kobj_to_adapter(pdev)->stats->nack_cnt;
787 if (nack_cnt == NULL) return 0;
788 ssize_t ret = sprintf(buf, "%llu\n", *nack_cnt);
789 return ret;
790 }
791 DEVICE_ATTR_RO(nack_cnt);
792
> 793 ssize_t rec_succ_cnt_show(struct device* pdev,
794 struct device_attribute* attr, char* buf) {
795 u64* rec_succ_cnt = kobj_to_adapter(pdev)->stats->rec_succ_cnt;
796 if (rec_succ_cnt == NULL) return 0;
797 ssize_t ret = sprintf(buf, "%llu\n", *rec_succ_cnt);
798 return ret;
799 }
800 DEVICE_ATTR_RO(rec_succ_cnt);
801
> 802 ssize_t rec_fail_cnt_show(struct device* pdev,
803 struct device_attribute* attr, char* buf) {
804 u64* rec_fail_cnt = kobj_to_adapter(pdev)->stats->rec_fail_cnt;
805 if (rec_fail_cnt == NULL) return 0;
806 ssize_t ret = sprintf(buf, "%llu\n", *rec_fail_cnt);
807 return ret;
808 }
809 DEVICE_ATTR_RO(rec_fail_cnt);
810
> 811 ssize_t timeout_cnt_show(struct device* pdev,
812 struct device_attribute* attr, char* buf) {
813 u64* timeout_cnt = kobj_to_adapter(pdev)->stats->timeout_cnt;
814 if (timeout_cnt == NULL) return 0;
815 ssize_t ret = sprintf(buf, "%llu\n", *timeout_cnt);
816 return ret;
817 }
818 DEVICE_ATTR_RO(timeout_cnt);
819
> 820 ssize_t i2c_speed_show(struct device* pdev,
821 struct device_attribute* attr, char* buf) {
822 u64* i2c_speed = kobj_to_adapter(pdev)->stats->i2c_speed;
823 if (i2c_speed == NULL) return 0;
824 ssize_t ret = sprintf(buf, "%llu\n", *i2c_speed);
825 return ret;
826 }
827 DEVICE_ATTR_RO(i2c_speed);
828
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
Re: [RFC PATCH v4 1/8] leds: add support for hardware driven LEDs
by kernel test robot
Hi Ansuel,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on net/master]
[also build test ERROR on linus/master next-20211111]
[cannot apply to pavel-leds/for-next robh/for-next net-next/master v5.15]
[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/Ansuel-Smith/Adds-support-for-PH...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git e5d5aadcf3cd59949316df49c27cb21788d7efe4
config: riscv-buildonly-randconfig-r002-20211111 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 63ef0e17e28827eae53133b3467bdac7d9729318)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/c56c3d000ada0de02ec9ecf03e9332773...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ansuel-Smith/Adds-support-for-PHY-LEDs-with-offload-triggers/20211111-093724
git checkout c56c3d000ada0de02ec9ecf03e93327733b91930
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash arch/riscv/kernel/ drivers/gpu/drm/ drivers/leds/ net/core/
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/leds/led-triggers.c:198:17: error: no member named 'hw_control_status' in 'struct led_classdev'
led_cdev->hw_control_status(led_cdev))
~~~~~~~~ ^
>> drivers/leds/led-triggers.c:199:14: error: no member named 'hw_control_stop' in 'struct led_classdev'
led_cdev->hw_control_stop(led_cdev);
~~~~~~~~ ^
2 errors generated.
vim +198 drivers/leds/led-triggers.c
170
171 /* Caller must ensure led_cdev->trigger_lock held */
172 int led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig)
173 {
174 char *event = NULL;
175 char *envp[2];
176 const char *name;
177 int ret;
178
179 if (!led_cdev->trigger && !trig)
180 return 0;
181
182 name = trig ? trig->name : "none";
183 event = kasprintf(GFP_KERNEL, "TRIGGER=%s", name);
184
185 /* Remove any existing trigger */
186 if (led_cdev->trigger) {
187 spin_lock(&led_cdev->trigger->leddev_list_lock);
188 list_del_rcu(&led_cdev->trig_list);
189 spin_unlock(&led_cdev->trigger->leddev_list_lock);
190
191 /* ensure it's no longer visible on the led_cdevs list */
192 synchronize_rcu();
193
194 cancel_work_sync(&led_cdev->set_brightness_work);
195 led_stop_software_blink(led_cdev);
196 /* Disable hardware mode on trigger change if supported */
197 if ((led_cdev->flags & LED_HARDWARE_CONTROLLED) &&
> 198 led_cdev->hw_control_status(led_cdev))
> 199 led_cdev->hw_control_stop(led_cdev);
200 if (led_cdev->trigger->deactivate)
201 led_cdev->trigger->deactivate(led_cdev);
202 device_remove_groups(led_cdev->dev, led_cdev->trigger->groups);
203 led_cdev->trigger = NULL;
204 led_cdev->trigger_data = NULL;
205 led_cdev->activated = false;
206 led_set_brightness(led_cdev, LED_OFF);
207 }
208 if (trig) {
209 /* Make sure the trigger support the LED blink mode */
210 if (!led_trigger_is_supported(led_cdev, trig))
211 return -EINVAL;
212
213 spin_lock(&trig->leddev_list_lock);
214 list_add_tail_rcu(&led_cdev->trig_list, &trig->led_cdevs);
215 spin_unlock(&trig->leddev_list_lock);
216 led_cdev->trigger = trig;
217
218 if (trig->activate)
219 ret = trig->activate(led_cdev);
220 else
221 ret = 0;
222
223 if (ret)
224 goto err_activate;
225
226 ret = device_add_groups(led_cdev->dev, trig->groups);
227 if (ret) {
228 dev_err(led_cdev->dev, "Failed to add trigger attributes\n");
229 goto err_add_groups;
230 }
231 }
232
233 if (event) {
234 envp[0] = event;
235 envp[1] = NULL;
236 if (kobject_uevent_env(&led_cdev->dev->kobj, KOBJ_CHANGE, envp))
237 dev_err(led_cdev->dev,
238 "%s: Error sending uevent\n", __func__);
239 kfree(event);
240 }
241
242 return 0;
243
244 err_add_groups:
245
246 if (trig->deactivate)
247 trig->deactivate(led_cdev);
248 err_activate:
249
250 spin_lock(&led_cdev->trigger->leddev_list_lock);
251 list_del_rcu(&led_cdev->trig_list);
252 spin_unlock(&led_cdev->trigger->leddev_list_lock);
253 synchronize_rcu();
254 led_cdev->trigger = NULL;
255 led_cdev->trigger_data = NULL;
256 led_set_brightness(led_cdev, LED_OFF);
257 kfree(event);
258
259 return ret;
260 }
261 EXPORT_SYMBOL_GPL(led_trigger_set);
262
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[toke:xdp-queueing-01 1/9] kernel/bpf/pifomap.c:197:6: error: no previous prototype for 'pifo_set_bit'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git xdp-queueing-01
head: 7cdc645073a59261514e56e1a4c6d0dac1b24b32
commit: 181bc9e4a64cc89cae2fe5b0091ed328383ad40c [1/9] Add a PIFO map type for queueing packets
config: openrisc-buildonly-randconfig-r003-20211111 (attached as .config)
compiler: or1k-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/toke/linux.git/commit/?id...
git remote add toke https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git
git fetch --no-tags toke xdp-queueing-01
git checkout 181bc9e4a64cc89cae2fe5b0091ed328383ad40c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=openrisc
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/pifomap.c:197:6: error: no previous prototype for 'pifo_set_bit' [-Werror=missing-prototypes]
197 | void pifo_set_bit(struct bpf_pifo_queue *queue, u32 rank)
| ^~~~~~~~~~~~
>> kernel/bpf/pifomap.c:208:6: error: no previous prototype for 'pifo_clear_bit' [-Werror=missing-prototypes]
208 | void pifo_clear_bit(struct bpf_pifo_queue *queue, u32 rank)
| ^~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/pifo_set_bit +197 kernel/bpf/pifomap.c
196
> 197 void pifo_set_bit(struct bpf_pifo_queue *queue, u32 rank)
198 {
199 u32 i;
200
201 for (i = queue->levels; i > 0; i--) {
202 unsigned long *bitmap = queue->lvl_bitmap[i-1];
203 set_bit(rank, bitmap);
204 rank /= BITS_PER_TYPE(long);
205 }
206 }
207
> 208 void pifo_clear_bit(struct bpf_pifo_queue *queue, u32 rank)
209 {
210 u32 i;
211
212 for (i = queue->levels; i > 0; i--) {
213 unsigned long *bitmap = queue->lvl_bitmap[i-1];
214 clear_bit(rank, bitmap);
215 rank /= BITS_PER_TYPE(long);
216
217 // another bit is set in this word, don't clear bit in higher
218 // level
219 if (*(bitmap + rank))
220 break;
221 }
222 }
223
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
Re: [PATCH 18/29] fsdax: decouple zeroing from the iomap buffered I/O code
by kernel test robot
Hi Christoph,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[cannot apply to xfs-linux/for-next device-mapper-dm/for-next tytso-ext4/dev v5.15 next-20211111]
[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/Christoph-Hellwig/nvdimm-pmem-mo...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git d2f38a3c6507b2520101f9a3807ed98f1bdc545a
config: um-i386_defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/5ea2c91584999019cd215022cca4d292c...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Christoph-Hellwig/nvdimm-pmem-move-dax_attribute_group-from-dax-to-pmem/20211109-173316
git checkout 5ea2c91584999019cd215022cca4d292c9296294
# save the attached .config to linux build tree
make W=1 ARCH=um SUBARCH=i386
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 >>):
fs/ext4/inode.c: In function 'ext4_block_zero_page_range':
>> fs/ext4/inode.c:3786:10: error: implicit declaration of function 'dax_zero_range'; did you mean 'iomap_zero_range'? [-Werror=implicit-function-declaration]
3786 | return dax_zero_range(inode, from, length, NULL,
| ^~~~~~~~~~~~~~
| iomap_zero_range
cc1: some warnings being treated as errors
vim +3786 fs/ext4/inode.c
3762
3763 /*
3764 * ext4_block_zero_page_range() zeros out a mapping of length 'length'
3765 * starting from file offset 'from'. The range to be zero'd must
3766 * be contained with in one block. If the specified range exceeds
3767 * the end of the block it will be shortened to end of the block
3768 * that corresponds to 'from'
3769 */
3770 static int ext4_block_zero_page_range(handle_t *handle,
3771 struct address_space *mapping, loff_t from, loff_t length)
3772 {
3773 struct inode *inode = mapping->host;
3774 unsigned offset = from & (PAGE_SIZE-1);
3775 unsigned blocksize = inode->i_sb->s_blocksize;
3776 unsigned max = blocksize - (offset & (blocksize - 1));
3777
3778 /*
3779 * correct length if it does not fall between
3780 * 'from' and the end of the block
3781 */
3782 if (length > max || length < 0)
3783 length = max;
3784
3785 if (IS_DAX(inode)) {
> 3786 return dax_zero_range(inode, from, length, NULL,
3787 &ext4_iomap_ops);
3788 }
3789 return __ext4_block_zero_page_range(handle, mapping, from, length);
3790 }
3791
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
Re: [RFC PATCH v4 5/8] leds: trigger: netdev: add hardware control support
by kernel test robot
Hi Ansuel,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on net/master]
[also build test ERROR on linus/master next-20211111]
[cannot apply to pavel-leds/for-next robh/for-next net-next/master v5.15]
[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/Ansuel-Smith/Adds-support-for-PH...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git e5d5aadcf3cd59949316df49c27cb21788d7efe4
config: openrisc-buildonly-randconfig-r003-20211111 (attached as .config)
compiler: or1k-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/0day-ci/linux/commit/9d84c5c79622ad5b17b116d01303f74a4...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ansuel-Smith/Adds-support-for-PHY-LEDs-with-offload-triggers/20211111-093724
git checkout 9d84c5c79622ad5b17b116d01303f74a4ae94d10
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=openrisc SHELL=/bin/bash drivers/i2c/ drivers/leds/trigger/ kernel/bpf/
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/leds/trigger/ledtrig-netdev.c: In function 'set_baseline_state':
>> drivers/leds/trigger/ledtrig-netdev.c:61:33: error: 'struct led_classdev' has no member named 'hw_control_start'
61 | led_cdev->hw_control_start(led_cdev);
| ^~
vim +61 drivers/leds/trigger/ledtrig-netdev.c
44
45 static void set_baseline_state(struct led_netdev_data *trigger_data)
46 {
47 int current_brightness, can_offload;
48 struct led_classdev *led_cdev = trigger_data->led_cdev;
49
50 if (LED_HARDWARE_CONTROLLED & led_cdev->flags) {
51 /* Check if blink mode can he set in hardware mode.
52 * The LED driver will chose a interval based on the trigger_data
53 * and its implementation.
54 */
55 can_offload = led_cdev->blink_set(led_cdev, 0, 0);
56
57 /* If blink_set doesn't return error we can run in hardware mode
58 * So actually activate it.
59 */
60 if (!can_offload) {
> 61 led_cdev->hw_control_start(led_cdev);
62 return;
63 }
64 }
65
66 /* If LED supports only hardware mode and we reach this point,
67 * then skip any software handling.
68 */
69 if (!(LED_SOFTWARE_CONTROLLED & led_cdev->flags))
70 return;
71
72 current_brightness = led_cdev->brightness;
73 if (current_brightness)
74 led_cdev->blink_brightness = current_brightness;
75 if (!led_cdev->blink_brightness)
76 led_cdev->blink_brightness = led_cdev->max_brightness;
77
78 if (!trigger_data->carrier_link_up) {
79 led_set_brightness(led_cdev, LED_OFF);
80 } else {
81 if (test_bit(TRIGGER_NETDEV_LINK, &trigger_data->mode))
82 led_set_brightness(led_cdev,
83 led_cdev->blink_brightness);
84 else
85 led_set_brightness(led_cdev, LED_OFF);
86
87 /* If we are looking for RX/TX start periodically
88 * checking stats
89 */
90 if (test_bit(TRIGGER_NETDEV_TX, &trigger_data->mode) ||
91 test_bit(TRIGGER_NETDEV_RX, &trigger_data->mode))
92 schedule_delayed_work(&trigger_data->work, 0);
93 }
94 }
95
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week