2023-07-18 03:24:33

by Wang Ming

[permalink] [raw]
Subject: [PATCH v1] reset: hisilicon: Use dev_err_probe instead of dev_err

The probe process may generate EPROBE_DEFER. In this case,
dev_err_probe can still record err information.
This helps simplify code and standardize error output.

Signed-off-by: Wang Ming <[email protected]>
---
drivers/reset/hisilicon/reset-hi3660.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/reset/hisilicon/reset-hi3660.c b/drivers/reset/hisilicon/reset-hi3660.c
index 965f5ceba7d8..bc8fee6dc14e 100644
--- a/drivers/reset/hisilicon/reset-hi3660.c
+++ b/drivers/reset/hisilicon/reset-hi3660.c
@@ -90,7 +90,7 @@ static int hi3660_reset_probe(struct platform_device *pdev)
"hisi,rst-syscon");
}
if (IS_ERR(rc->map)) {
- dev_err(dev, "failed to get hisilicon,rst-syscon\n");
+ dev_err_probe(dev, "failed to get hisilicon,rst-syscon\n");
return PTR_ERR(rc->map);
}

--
2.25.1



2023-07-19 01:13:14

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v1] reset: hisilicon: Use dev_err_probe instead of dev_err

Hi Wang,

kernel test robot noticed the following build warnings:

[auto build test WARNING on pza/reset/next]
[also build test WARNING on pza/imx-drm/next linus/master v6.5-rc2 next-20230718]
[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/Wang-Ming/reset-hisilicon-Use-dev_err_probe-instead-of-dev_err/20230718-203055
base: https://git.pengutronix.de/git/pza/linux reset/next
patch link: https://lore.kernel.org/r/20230718030511.16065-1-machel%40vivo.com
patch subject: [PATCH v1] reset: hisilicon: Use dev_err_probe instead of dev_err
config: arm-defconfig (https://download.01.org/0day-ci/archive/20230719/[email protected]/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230719/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

drivers/reset/hisilicon/reset-hi3660.c: In function 'hi3660_reset_probe':
>> drivers/reset/hisilicon/reset-hi3660.c:93:36: warning: passing argument 2 of 'dev_err_probe' makes integer from pointer without a cast [-Wint-conversion]
93 | dev_err_probe(dev, "failed to get hisilicon,rst-syscon\n");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
In file included from include/linux/platform_device.h:13,
from include/linux/of_device.h:5,
from drivers/reset/hisilicon/reset-hi3660.c:9:
include/linux/device.h:1091:64: note: expected 'int' but argument is of type 'char *'
1091 | __printf(3, 4) int dev_err_probe(const struct device *dev, int err, const char *fmt, ...);
| ~~~~^~~
drivers/reset/hisilicon/reset-hi3660.c:93:17: error: too few arguments to function 'dev_err_probe'
93 | dev_err_probe(dev, "failed to get hisilicon,rst-syscon\n");
| ^~~~~~~~~~~~~
include/linux/device.h:1091:20: note: declared here
1091 | __printf(3, 4) int dev_err_probe(const struct device *dev, int err, const char *fmt, ...);
| ^~~~~~~~~~~~~


vim +/dev_err_probe +93 drivers/reset/hisilicon/reset-hi3660.c

75
76 static int hi3660_reset_probe(struct platform_device *pdev)
77 {
78 struct hi3660_reset_controller *rc;
79 struct device_node *np = pdev->dev.of_node;
80 struct device *dev = &pdev->dev;
81
82 rc = devm_kzalloc(dev, sizeof(*rc), GFP_KERNEL);
83 if (!rc)
84 return -ENOMEM;
85
86 rc->map = syscon_regmap_lookup_by_phandle(np, "hisilicon,rst-syscon");
87 if (rc->map == ERR_PTR(-ENODEV)) {
88 /* fall back to the deprecated compatible */
89 rc->map = syscon_regmap_lookup_by_phandle(np,
90 "hisi,rst-syscon");
91 }
92 if (IS_ERR(rc->map)) {
> 93 dev_err_probe(dev, "failed to get hisilicon,rst-syscon\n");
94 return PTR_ERR(rc->map);
95 }
96
97 rc->rst.ops = &hi3660_reset_ops,
98 rc->rst.of_node = np;
99 rc->rst.of_reset_n_cells = 2;
100 rc->rst.of_xlate = hi3660_reset_xlate;
101
102 return reset_controller_register(&rc->rst);
103 }
104

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

2023-07-19 03:06:46

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v1] reset: hisilicon: Use dev_err_probe instead of dev_err

Hi Wang,

kernel test robot noticed the following build errors:

[auto build test ERROR on pza/reset/next]
[also build test ERROR on linus/master v6.5-rc2 next-20230718]
[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/Wang-Ming/reset-hisilicon-Use-dev_err_probe-instead-of-dev_err/20230718-203055
base: https://git.pengutronix.de/git/pza/linux reset/next
patch link: https://lore.kernel.org/r/20230718030511.16065-1-machel%40vivo.com
patch subject: [PATCH v1] reset: hisilicon: Use dev_err_probe instead of dev_err
config: arm-randconfig-r003-20230718 (https://download.01.org/0day-ci/archive/20230719/[email protected]/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce: (https://download.01.org/0day-ci/archive/20230719/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

>> drivers/reset/hisilicon/reset-hi3660.c:93:60: error: too few arguments to function call, expected at least 3, have 2
93 | dev_err_probe(dev, "failed to get hisilicon,rst-syscon\n");
| ~~~~~~~~~~~~~ ^
include/linux/device.h:1091:20: note: 'dev_err_probe' declared here
1091 | __printf(3, 4) int dev_err_probe(const struct device *dev, int err, const char *fmt, ...);
| ^
1 error generated.


vim +93 drivers/reset/hisilicon/reset-hi3660.c

75
76 static int hi3660_reset_probe(struct platform_device *pdev)
77 {
78 struct hi3660_reset_controller *rc;
79 struct device_node *np = pdev->dev.of_node;
80 struct device *dev = &pdev->dev;
81
82 rc = devm_kzalloc(dev, sizeof(*rc), GFP_KERNEL);
83 if (!rc)
84 return -ENOMEM;
85
86 rc->map = syscon_regmap_lookup_by_phandle(np, "hisilicon,rst-syscon");
87 if (rc->map == ERR_PTR(-ENODEV)) {
88 /* fall back to the deprecated compatible */
89 rc->map = syscon_regmap_lookup_by_phandle(np,
90 "hisi,rst-syscon");
91 }
92 if (IS_ERR(rc->map)) {
> 93 dev_err_probe(dev, "failed to get hisilicon,rst-syscon\n");
94 return PTR_ERR(rc->map);
95 }
96
97 rc->rst.ops = &hi3660_reset_ops,
98 rc->rst.of_node = np;
99 rc->rst.of_reset_n_cells = 2;
100 rc->rst.of_xlate = hi3660_reset_xlate;
101
102 return reset_controller_register(&rc->rst);
103 }
104

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

2023-07-19 03:29:23

by Wang Ming

[permalink] [raw]
Subject: 回复: [PATCH v1] reset: hisilicon: Use dev_er r_probe instead of dev_err

I resubmitted version v2.

-----?ʼ?ԭ??-----
??????: kernel test robot <[email protected]>
????ʱ??: 2023??7??19?? 10:57
?ռ???: ????-?????ײ㼼???? <[email protected]>; Philipp Zabel <[email protected]>; [email protected]
????: [email protected]; [email protected]; opensource.kernel <[email protected]>
????: Re: [PATCH v1] reset: hisilicon: Use dev_err_probe instead of dev_err

Hi Wang,

kernel test robot noticed the following build errors:

[auto build test ERROR on pza/reset/next] [also build test ERROR on linus/master v6.5-rc2 next-20230718] [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/Wang-Ming/reset-hisilicon-Use-dev_err_probe-instead-of-dev_err/20230718-203055
base: https://git.pengutronix.de/git/pza/linux reset/next
patch link: https://lore.kernel.org/r/20230718030511.16065-1-machel%40vivo.com
patch subject: [PATCH v1] reset: hisilicon: Use dev_err_probe instead of dev_err
config: arm-randconfig-r003-20230718 (https://download.01.org/0day-ci/archive/20230719/[email protected]/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce: (https://download.01.org/0day-ci/archive/20230719/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes:
| https://lore.kernel.org/oe-kbuild-all/202307191040.jWQyBc5s-lkp@intel.
| com/

All errors (new ones prefixed by >>):

>> drivers/reset/hisilicon/reset-hi3660.c:93:60: error: too few
>> arguments to function call, expected at least 3, have 2
93 | dev_err_probe(dev, "failed to get hisilicon,rst-syscon\n");
| ~~~~~~~~~~~~~ ^
include/linux/device.h:1091:20: note: 'dev_err_probe' declared here
1091 | __printf(3, 4) int dev_err_probe(const struct device *dev, int err, const char *fmt, ...);
| ^
1 error generated.


vim +93 drivers/reset/hisilicon/reset-hi3660.c

75
76 static int hi3660_reset_probe(struct platform_device *pdev)
77 {
78 struct hi3660_reset_controller *rc;
79 struct device_node *np = pdev->dev.of_node;
80 struct device *dev = &pdev->dev;
81
82 rc = devm_kzalloc(dev, sizeof(*rc), GFP_KERNEL);
83 if (!rc)
84 return -ENOMEM;
85
86 rc->map = syscon_regmap_lookup_by_phandle(np, "hisilicon,rst-syscon");
87 if (rc->map == ERR_PTR(-ENODEV)) {
88 /* fall back to the deprecated compatible */
89 rc->map = syscon_regmap_lookup_by_phandle(np,
90 "hisi,rst-syscon");
91 }
92 if (IS_ERR(rc->map)) {
> 93 dev_err_probe(dev, "failed to get hisilicon,rst-syscon\n");
94 return PTR_ERR(rc->map);
95 }
96
97 rc->rst.ops = &hi3660_reset_ops,
98 rc->rst.of_node = np;
99 rc->rst.of_reset_n_cells = 2;
100 rc->rst.of_xlate = hi3660_reset_xlate;
101
102 return reset_controller_register(&rc->rst);
103 }
104

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

2023-07-19 05:23:17

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v1] reset: hisilicon: Use dev_err_probe instead of dev_err

Hi Wang,

kernel test robot noticed the following build errors:

[auto build test ERROR on pza/reset/next]
[also build test ERROR on pza/imx-drm/next linus/master v6.5-rc2 next-20230718]
[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/Wang-Ming/reset-hisilicon-Use-dev_err_probe-instead-of-dev_err/20230718-203055
base: https://git.pengutronix.de/git/pza/linux reset/next
patch link: https://lore.kernel.org/r/20230718030511.16065-1-machel%40vivo.com
patch subject: [PATCH v1] reset: hisilicon: Use dev_err_probe instead of dev_err
config: arm-defconfig (https://download.01.org/0day-ci/archive/20230719/[email protected]/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230719/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

drivers/reset/hisilicon/reset-hi3660.c: In function 'hi3660_reset_probe':
drivers/reset/hisilicon/reset-hi3660.c:93:36: warning: passing argument 2 of 'dev_err_probe' makes integer from pointer without a cast [-Wint-conversion]
93 | dev_err_probe(dev, "failed to get hisilicon,rst-syscon\n");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
In file included from include/linux/platform_device.h:13,
from include/linux/of_device.h:5,
from drivers/reset/hisilicon/reset-hi3660.c:9:
include/linux/device.h:1091:64: note: expected 'int' but argument is of type 'char *'
1091 | __printf(3, 4) int dev_err_probe(const struct device *dev, int err, const char *fmt, ...);
| ~~~~^~~
>> drivers/reset/hisilicon/reset-hi3660.c:93:17: error: too few arguments to function 'dev_err_probe'
93 | dev_err_probe(dev, "failed to get hisilicon,rst-syscon\n");
| ^~~~~~~~~~~~~
include/linux/device.h:1091:20: note: declared here
1091 | __printf(3, 4) int dev_err_probe(const struct device *dev, int err, const char *fmt, ...);
| ^~~~~~~~~~~~~


vim +/dev_err_probe +93 drivers/reset/hisilicon/reset-hi3660.c

75
76 static int hi3660_reset_probe(struct platform_device *pdev)
77 {
78 struct hi3660_reset_controller *rc;
79 struct device_node *np = pdev->dev.of_node;
80 struct device *dev = &pdev->dev;
81
82 rc = devm_kzalloc(dev, sizeof(*rc), GFP_KERNEL);
83 if (!rc)
84 return -ENOMEM;
85
86 rc->map = syscon_regmap_lookup_by_phandle(np, "hisilicon,rst-syscon");
87 if (rc->map == ERR_PTR(-ENODEV)) {
88 /* fall back to the deprecated compatible */
89 rc->map = syscon_regmap_lookup_by_phandle(np,
90 "hisi,rst-syscon");
91 }
92 if (IS_ERR(rc->map)) {
> 93 dev_err_probe(dev, "failed to get hisilicon,rst-syscon\n");
94 return PTR_ERR(rc->map);
95 }
96
97 rc->rst.ops = &hi3660_reset_ops,
98 rc->rst.of_node = np;
99 rc->rst.of_reset_n_cells = 2;
100 rc->rst.of_xlate = hi3660_reset_xlate;
101
102 return reset_controller_register(&rc->rst);
103 }
104

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki