[PATCH v6 3/4] clk: sophgo: Add SG2042 clock generator driver
Chen Wang
unicorn_wang at outlook.com
Mon Dec 11 16:05:32 PST 2023
On 2023/12/9 14:22, Dan Carpenter wrote:
> Hi Chen,
>
> kernel test robot noticed the following build warnings:
>
> url: https://github.com/intel-lab-lkp/linux/commits/Chen-Wang/dt-bindings-soc-sophgo-Add-Sophgo-system-control-module/20231208-091702
> base: b85ea95d086471afb4ad062012a4d73cd328fa86
> patch link: https://lore.kernel.org/r/d1aa4f76f360ebd7b790a4786641f1b0188dbba8.1701997033.git.unicorn_wang%40outlook.com
> patch subject: [PATCH v6 3/4] clk: sophgo: Add SG2042 clock generator driver
> config: xtensa-randconfig-r071-20231208 (https://download.01.org/0day-ci/archive/20231208/202312081933.MUdHNASt-lkp@intel.com/config)
> compiler: xtensa-linux-gcc (GCC) 13.2.0
> reproduce: (https://download.01.org/0day-ci/archive/20231208/202312081933.MUdHNASt-lkp@intel.com/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 <lkp at intel.com>
> | Reported-by: Dan Carpenter <dan.carpenter at linaro.org>
> | Closes: https://lore.kernel.org/r/202312081933.MUdHNASt-lkp@intel.com/
>
> smatch warnings:
> drivers/clk/sophgo/clk-sophgo-sg2042.c:1282 sg2042_clk_init_clk_data() warn: passing zero to 'PTR_ERR'
Thank you, Dan. I will try to remove this warning in next revision.
>
> vim +/PTR_ERR +1282 drivers/clk/sophgo/clk-sophgo-sg2042.c
>
> 7c68ebea1041f9 Chen Wang 2023-12-08 1258 static int __init sg2042_clk_init_clk_data(
> 7c68ebea1041f9 Chen Wang 2023-12-08 1259 struct device_node *node,
> 7c68ebea1041f9 Chen Wang 2023-12-08 1260 int num_clks,
> 7c68ebea1041f9 Chen Wang 2023-12-08 1261 struct sg2042_clk_data **pp_clk_data)
> 7c68ebea1041f9 Chen Wang 2023-12-08 1262 {
> 7c68ebea1041f9 Chen Wang 2023-12-08 1263 int ret = 0;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1264 struct sg2042_clk_data *clk_data = NULL;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1265 struct device_node *np_syscon;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1266
> 7c68ebea1041f9 Chen Wang 2023-12-08 1267 np_syscon = of_parse_phandle(node, "sophgo,system-ctrl", 0);
> 7c68ebea1041f9 Chen Wang 2023-12-08 1268 if (!np_syscon) {
> 7c68ebea1041f9 Chen Wang 2023-12-08 1269 pr_err("failed to get system-ctrl node\n");
> 7c68ebea1041f9 Chen Wang 2023-12-08 1270 ret = -EINVAL;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1271 goto error_out;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1272 }
> 7c68ebea1041f9 Chen Wang 2023-12-08 1273
> 7c68ebea1041f9 Chen Wang 2023-12-08 1274 clk_data = kzalloc(struct_size(clk_data, onecell_data.hws, num_clks), GFP_KERNEL);
> 7c68ebea1041f9 Chen Wang 2023-12-08 1275 if (!clk_data) {
> 7c68ebea1041f9 Chen Wang 2023-12-08 1276 ret = -ENOMEM;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1277 goto error_out;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1278 }
> 7c68ebea1041f9 Chen Wang 2023-12-08 1279
> 7c68ebea1041f9 Chen Wang 2023-12-08 1280 clk_data->regmap_syscon = device_node_to_regmap(np_syscon);
> 7c68ebea1041f9 Chen Wang 2023-12-08 1281 if (IS_ERR_OR_NULL(clk_data->regmap_syscon)) {
> 7c68ebea1041f9 Chen Wang 2023-12-08 @1282 pr_err("cannot get regmap_syscon %ld\n", PTR_ERR(clk_data->regmap_syscon));
>
> I don't think device_node_to_regmap() can return NULL, but if it could
> then it shouldn't be handled like this:
>
> https://staticthinking.wordpress.com/2022/08/01/mixing-error-pointers-and-null/
>
>
> 7c68ebea1041f9 Chen Wang 2023-12-08 1283 ret = -ENODEV;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1284 goto cleanup;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1285 }
> 7c68ebea1041f9 Chen Wang 2023-12-08 1286 clk_data->iobase_syscon = of_iomap(np_syscon, 0);
> 7c68ebea1041f9 Chen Wang 2023-12-08 1287 clk_data->iobase = of_iomap(node, 0);
> 7c68ebea1041f9 Chen Wang 2023-12-08 1288 clk_data->onecell_data.num = num_clks;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1289
> 7c68ebea1041f9 Chen Wang 2023-12-08 1290 *pp_clk_data = clk_data;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1291 return ret;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1292
> 7c68ebea1041f9 Chen Wang 2023-12-08 1293 cleanup:
> 7c68ebea1041f9 Chen Wang 2023-12-08 1294 kfree(clk_data);
> 7c68ebea1041f9 Chen Wang 2023-12-08 1295
> 7c68ebea1041f9 Chen Wang 2023-12-08 1296 error_out:
> 7c68ebea1041f9 Chen Wang 2023-12-08 1297 return ret;
> 7c68ebea1041f9 Chen Wang 2023-12-08 1298 }
>
More information about the linux-riscv
mailing list