lkml.org 
[lkml]   [2022]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] reset: mediatek: Move mediatek system clock reset to reset folder
Hi Bo-Chen,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on v6.0-rc6]
[also build test ERROR on linus/master]
[cannot apply to clk/clk-next pza/reset/next mbgg-mediatek/for-next next-20220921]
[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#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Bo-Chen-Chen/reset-mediatek-Move-mediatek-system-clock-reset-to-reset-folder/20220922-221303
base: 521a547ced6477c54b4b0cc206000406c221b4d6
config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20220923/202209230958.2rV4kEVM-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/69ce72445492a02115b1e7c7527a8a107f48aab8
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Bo-Chen-Chen/reset-mediatek-Move-mediatek-system-clock-reset-to-reset-folder/20220922-221303
git checkout 69ce72445492a02115b1e7c7527a8a107f48aab8
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sh SHELL=/bin/bash drivers/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

In file included from include/linux/device/driver.h:21,
from include/linux/device.h:32,
from include/linux/auxiliary_bus.h:11,
from drivers/reset/reset-mediatek-sysclk.c:6:
>> drivers/reset/reset-mediatek-sysclk.c:499:32: error: 'mtk_reset_ids' undeclared here (not in a function); did you mean 'mtk_reset_ops'?
499 | MODULE_DEVICE_TABLE(auxiliary, mtk_reset_ids);
| ^~~~~~~~~~~~~
include/linux/module.h:244:15: note: in definition of macro 'MODULE_DEVICE_TABLE'
244 | extern typeof(name) __mod_##type##__##name##_device_table \
| ^~~~
>> drivers/reset/reset-mediatek-sysclk.c:539:5: warning: no previous prototype for 'mtk_reset_init_with_node' [-Wmissing-prototypes]
539 | int mtk_reset_init_with_node(struct device_node *np, const char *name)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/reset/reset-mediatek-sysclk.c:550:6: warning: no previous prototype for 'mtk_rst_remove_with_node' [-Wmissing-prototypes]
550 | void mtk_rst_remove_with_node(struct device_node *np, const char *name)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/module.h:244:21: error: '__mod_auxiliary__mtk_reset_ids_device_table' aliased to undefined symbol 'mtk_reset_ids'
244 | extern typeof(name) __mod_##type##__##name##_device_table \
| ^~~~~~
drivers/reset/reset-mediatek-sysclk.c:499:1: note: in expansion of macro 'MODULE_DEVICE_TABLE'
499 | MODULE_DEVICE_TABLE(auxiliary, mtk_reset_ids);
| ^~~~~~~~~~~~~~~~~~~


vim +499 drivers/reset/reset-mediatek-sysclk.c

402
403 static struct auxiliary_device_id mtk_sysclk_reset_ids[] = {
404 {
405 .name = "clk_mt2701_eth.mt2701-eth-rst",
406 .driver_data = MTK_RST_ID_MT2701_ETH,
407 },
408 {
409 .name = "clk_mt2701_g3d.mt2701-g3d-rst",
410 .driver_data = MTK_RST_ID_MT2701_G3D,
411 },
412 {
413 .name = "clk_mt2701_hif.mt2701-hif-rst",
414 .driver_data = MTK_RST_ID_MT2701_HIF,
415 },
416 {
417 .name = "clk_mt2701.mt2701-infrasys-rst",
418 .driver_data = MTK_RST_ID_MT2701_INFRASYS,
419 },
420 {
421 .name = "clk_mt2701.mt2701-pericfg-rst",
422 .driver_data = MTK_RST_ID_MT2701_PERICFG,
423 },
424 {
425 .name = "clk_mt2712.mt2712-infra-rst",
426 .driver_data = MTK_RST_ID_MT2712_INFRA,
427 },
428 {
429 .name = "clk_mt2712.mt2712-peri-rst",
430 .driver_data = MTK_RST_ID_MT2712_PERI,
431 },
432 {
433 .name = "clk_mt7622_eth.mt7622-eth-rst",
434 .driver_data = MTK_RST_ID_MT7622_ETH,
435 },
436 {
437 .name = "clk_mt7622_hif.mt7622-usb-rst",
438 .driver_data = MTK_RST_ID_MT7622_SSUSBSYS,
439 },
440 {
441 .name = "clk_mt7622_hif.mt7622-pcie-rst",
442 .driver_data = MTK_RST_ID_MT7622_PCIESYS,
443 },
444 {
445 .name = "clk_mt7622.mt7622-infrasys-rst",
446 .driver_data = MTK_RST_ID_MT7622_INFRASYS,
447 },
448 {
449 .name = "clk_mt7622.mt7622-pericfg-rst",
450 .driver_data = MTK_RST_ID_MT7622_PERICFG,
451 },
452 {
453 .name = "clk_mt7629_eth.mt7629-ethsys-rst",
454 .driver_data = MTK_RST_ID_MT7629_ETHSYS,
455 },
456 {
457 .name = "clk_mt7629_hif.mt7629-usb-rst",
458 .driver_data = MTK_RST_ID_MT7629_SSUSBSYS,
459 },
460 {
461 .name = "clk_mt7629_hif.mt7629-pcie-rst",
462 .driver_data = MTK_RST_ID_MT7629_PCIESYS,
463 },
464 {
465 .name = "clk_mt8135.mt8135-infrasys-rst",
466 .driver_data = MTK_RST_ID_MT8135_INFRASYS,
467 },
468 {
469 .name = "clk_mt8135.mt8135-pericfg-rst",
470 .driver_data = MTK_RST_ID_MT8135_PERICFG,
471 },
472 {
473 .name = "clk_mt8173.mt8173-infracfg-rst",
474 .driver_data = MTK_RST_ID_MT8173_INFRACFG,
475 },
476 {
477 .name = "clk_mt8173.mt8173-pericfg-rst",
478 .driver_data = MTK_RST_ID_MT8173_PERICFG,
479 },
480 {
481 .name = "clk_mt8183.mt8183-infra-rst",
482 .driver_data = MTK_RST_ID_MT8183_INFRA,
483 },
484 {
485 .name = "clk_mtk.mt8186-infra-ao-rst",
486 .driver_data = MTK_RST_ID_MT8186_INFRA_AO,
487 },
488 {
489 .name = "clk_mt8192.mt8192-infra-rst",
490 .driver_data = MTK_RST_ID_MT8192_INFRA,
491 },
492 {
493 .name = "clk_mtk.mt8195-infra-ao-rst",
494 .driver_data = MTK_RST_ID_MT8195_INFRA_AO,
495 },
496 {
497 },
498 };
> 499 MODULE_DEVICE_TABLE(auxiliary, mtk_reset_ids);
500
501 /* reset data */
502 static struct mtk_clk_rst_data clk_rst_data[] = {
503 [MTK_RST_ID_MT2701_ETH] = { .desc = &mt2701_eth_rst_desc, },
504 [MTK_RST_ID_MT2701_G3D] = { .desc = &mt2701_g3d_clk_rst_desc, },
505 [MTK_RST_ID_MT2701_HIF] = { .desc = &mt2701_eth_rst_desc, },
506 [MTK_RST_ID_MT2701_INFRASYS] = { .desc = &mt2701_infrasys_clk_rst_desc, },
507 [MTK_RST_ID_MT2701_PERICFG] = { .desc = &mt2701_pericfg_clk_rst_desc, },
508 [MTK_RST_ID_MT2712_INFRA] = { .desc = &mt2701_infrasys_clk_rst_desc, },
509 [MTK_RST_ID_MT2712_PERI] = { .desc = &mt2701_pericfg_clk_rst_desc, },
510 [MTK_RST_ID_MT7622_ETH] = { .desc = &mt2701_eth_rst_desc, },
511 [MTK_RST_ID_MT7622_SSUSBSYS] = { .desc = &mt2701_eth_rst_desc, },
512 [MTK_RST_ID_MT7622_PCIESYS] = { .desc = &mt2701_eth_rst_desc, },
513 [MTK_RST_ID_MT7622_INFRASYS] = { .desc = &mt7622_infrasys_clk_rst_desc, },
514 [MTK_RST_ID_MT7622_PERICFG] = { .desc = &mt2701_pericfg_clk_rst_desc, },
515 [MTK_RST_ID_MT7629_ETHSYS] = { .desc = &mt2701_eth_rst_desc, },
516 [MTK_RST_ID_MT7629_SSUSBSYS] = { .desc = &mt2701_eth_rst_desc, },
517 [MTK_RST_ID_MT7629_PCIESYS] = { .desc = &mt2701_eth_rst_desc, },
518 [MTK_RST_ID_MT8135_INFRASYS] = { .desc = &mt2701_infrasys_clk_rst_desc, },
519 [MTK_RST_ID_MT8135_PERICFG] = { .desc = &mt2701_pericfg_clk_rst_desc, },
520 [MTK_RST_ID_MT8173_INFRACFG] = { .desc = &mt2701_infrasys_clk_rst_desc, },
521 [MTK_RST_ID_MT8173_PERICFG] = { .desc = &mt2701_pericfg_clk_rst_desc, },
522 [MTK_RST_ID_MT8183_INFRA] = { .desc = &mt8183_rst_desc, },
523 [MTK_RST_ID_MT8186_INFRA_AO] = { .desc = &mt8186_rst_desc, },
524 [MTK_RST_ID_MT8192_INFRA] = { .desc = &mt8192_rst_desc, },
525 [MTK_RST_ID_MT8195_INFRA_AO] = { .desc = &mt8195_rst_desc, },
526 {},
527 };
528
529 static struct mtk_clk_rst_data *find_rst_data(const char *name)
530 {
531 int i;
532
533 for (i = 0; i < ARRAY_SIZE(mtk_sysclk_reset_ids); i++)
534 if (mtk_sysclk_reset_ids[i].name == name)
535 return &clk_rst_data[mtk_sysclk_reset_ids[i].driver_data];
536 return NULL;
537 }
538
> 539 int mtk_reset_init_with_node(struct device_node *np, const char *name)
540 {
541 struct mtk_clk_rst_data *data = find_rst_data(name);
542
543 if (!np || !data)
544 return -EINVAL;
545
546 return register_rst_ctrl_with_node(np, data);
547 }
548 EXPORT_SYMBOL_GPL(mtk_reset_init_with_node);
549
> 550 void mtk_rst_remove_with_node(struct device_node *np, const char *name)
551 {
552 struct mtk_clk_rst_data *data = find_rst_data(name);
553
554 if (!np || !data)
555 return;
556
557 reset_controller_unregister(&data->rcdev);
558 }
559 EXPORT_SYMBOL_GPL(mtk_rst_remove_with_node);
560

--
0-DAY CI Kernel Test Service
https://01.org/lkp

\
 
 \ /
  Last update: 2022-09-23 03:16    [W:0.335 / U:1.272 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site