From: kernel test robot <lkp@intel.com> To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>, "Michael Turquette" <mturquette@baylibre.com>, "Stephen Boyd" <sboyd@kernel.org>, "Oleksij Rempel" <linux@rempel-privat.de>, "Shawn Guo" <shawnguo@kernel.org>, "Sascha Hauer" <s.hauer@pengutronix.de>, "Fabio Estevam" <festevam@gmail.com>, "NXP Linux Team" <linux-imx@nxp.com> Cc: kbuild-all@lists.01.org, linux-i2c@vger.kernel.org, Pengutronix Kernel Team <kernel@pengutronix.de>, linux-clk@vger.kernel.org Subject: Re: [PATCH] i2c: imx: Simplify using devm_clk_get_prepared() Date: Wed, 31 Mar 2021 11:37:02 +0800 [thread overview] Message-ID: <202103311121.l9vlI454-lkp@intel.com> (raw) In-Reply-To: <20210324201223.75921-1-u.kleine-koenig@pengutronix.de> [-- Attachment #1: Type: text/plain, Size: 6886 bytes --] Hi "Uwe, I love your patch! Yet something to improve: [auto build test ERROR on wsa/i2c/for-next] [also build test ERROR on clk/clk-next shawnguo/for-next 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/Uwe-Kleine-K-nig/i2c-imx-Simplify-using-devm_clk_get_prepared/20210325-041454 base: https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next config: arm-multi_v7_defconfig (attached as .config) compiler: arm-linux-gnueabi-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/2241b5e30667c72568ec9dc31ab14475bb04a408 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Uwe-Kleine-K-nig/i2c-imx-Simplify-using-devm_clk_get_prepared/20210325-041454 git checkout 2241b5e30667c72568ec9dc31ab14475bb04a408 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): drivers/i2c/busses/i2c-imx.c: In function 'i2c_imx_probe': >> drivers/i2c/busses/i2c-imx.c:1408:17: error: implicit declaration of function 'devm_clk_get_prepared' [-Werror=implicit-function-declaration] 1408 | i2c_imx->clk = devm_clk_get_prepared(&pdev->dev, NULL); | ^~~~~~~~~~~~~~~~~~~~~ drivers/i2c/busses/i2c-imx.c:1408:15: warning: assignment to 'struct clk *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1408 | i2c_imx->clk = devm_clk_get_prepared(&pdev->dev, NULL); | ^ cc1: some warnings being treated as errors vim +/devm_clk_get_prepared +1408 drivers/i2c/busses/i2c-imx.c 1363 1364 static int i2c_imx_probe(struct platform_device *pdev) 1365 { 1366 struct imx_i2c_struct *i2c_imx; 1367 struct resource *res; 1368 struct imxi2c_platform_data *pdata = dev_get_platdata(&pdev->dev); 1369 void __iomem *base; 1370 int irq, ret; 1371 dma_addr_t phy_addr; 1372 const struct imx_i2c_hwdata *match; 1373 1374 dev_dbg(&pdev->dev, "<%s>\n", __func__); 1375 1376 irq = platform_get_irq(pdev, 0); 1377 if (irq < 0) 1378 return irq; 1379 1380 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1381 base = devm_ioremap_resource(&pdev->dev, res); 1382 if (IS_ERR(base)) 1383 return PTR_ERR(base); 1384 1385 phy_addr = (dma_addr_t)res->start; 1386 i2c_imx = devm_kzalloc(&pdev->dev, sizeof(*i2c_imx), GFP_KERNEL); 1387 if (!i2c_imx) 1388 return -ENOMEM; 1389 1390 match = device_get_match_data(&pdev->dev); 1391 if (match) 1392 i2c_imx->hwdata = match; 1393 else 1394 i2c_imx->hwdata = (struct imx_i2c_hwdata *) 1395 platform_get_device_id(pdev)->driver_data; 1396 1397 /* Setup i2c_imx driver structure */ 1398 strlcpy(i2c_imx->adapter.name, pdev->name, sizeof(i2c_imx->adapter.name)); 1399 i2c_imx->adapter.owner = THIS_MODULE; 1400 i2c_imx->adapter.algo = &i2c_imx_algo; 1401 i2c_imx->adapter.dev.parent = &pdev->dev; 1402 i2c_imx->adapter.nr = pdev->id; 1403 i2c_imx->adapter.dev.of_node = pdev->dev.of_node; 1404 i2c_imx->base = base; 1405 ACPI_COMPANION_SET(&i2c_imx->adapter.dev, ACPI_COMPANION(&pdev->dev)); 1406 1407 /* Get I2C clock */ > 1408 i2c_imx->clk = devm_clk_get_prepared(&pdev->dev, NULL); 1409 if (IS_ERR(i2c_imx->clk)) 1410 return dev_err_probe(&pdev->dev, PTR_ERR(i2c_imx->clk), 1411 "can't get prepared I2C clock\n"); 1412 1413 /* Init queue */ 1414 init_waitqueue_head(&i2c_imx->queue); 1415 1416 /* Set up adapter data */ 1417 i2c_set_adapdata(&i2c_imx->adapter, i2c_imx); 1418 1419 /* Set up platform driver data */ 1420 platform_set_drvdata(pdev, i2c_imx); 1421 1422 pm_runtime_set_autosuspend_delay(&pdev->dev, I2C_PM_TIMEOUT); 1423 pm_runtime_use_autosuspend(&pdev->dev); 1424 pm_runtime_set_active(&pdev->dev); 1425 pm_runtime_enable(&pdev->dev); 1426 1427 ret = pm_runtime_get_sync(&pdev->dev); 1428 if (ret < 0) 1429 goto rpm_disable; 1430 1431 /* Request IRQ */ 1432 ret = request_threaded_irq(irq, i2c_imx_isr, NULL, IRQF_SHARED, 1433 pdev->name, i2c_imx); 1434 if (ret) { 1435 dev_err(&pdev->dev, "can't claim irq %d\n", irq); 1436 goto rpm_disable; 1437 } 1438 1439 /* Set up clock divider */ 1440 i2c_imx->bitrate = I2C_MAX_STANDARD_MODE_FREQ; 1441 ret = of_property_read_u32(pdev->dev.of_node, 1442 "clock-frequency", &i2c_imx->bitrate); 1443 if (ret < 0 && pdata && pdata->bitrate) 1444 i2c_imx->bitrate = pdata->bitrate; 1445 i2c_imx->clk_change_nb.notifier_call = i2c_imx_clk_notifier_call; 1446 clk_notifier_register(i2c_imx->clk, &i2c_imx->clk_change_nb); 1447 i2c_imx_set_clk(i2c_imx, clk_get_rate(i2c_imx->clk)); 1448 1449 i2c_imx_reset_regs(i2c_imx); 1450 1451 /* Init optional bus recovery function */ 1452 ret = i2c_imx_init_recovery_info(i2c_imx, pdev); 1453 /* Give it another chance if pinctrl used is not ready yet */ 1454 if (ret == -EPROBE_DEFER) 1455 goto clk_notifier_unregister; 1456 1457 /* Add I2C adapter */ 1458 ret = i2c_add_numbered_adapter(&i2c_imx->adapter); 1459 if (ret < 0) 1460 goto clk_notifier_unregister; 1461 1462 pm_runtime_mark_last_busy(&pdev->dev); 1463 pm_runtime_put_autosuspend(&pdev->dev); 1464 1465 dev_dbg(&i2c_imx->adapter.dev, "claimed irq %d\n", irq); 1466 dev_dbg(&i2c_imx->adapter.dev, "device resources: %pR\n", res); 1467 dev_dbg(&i2c_imx->adapter.dev, "adapter name: \"%s\"\n", 1468 i2c_imx->adapter.name); 1469 dev_info(&i2c_imx->adapter.dev, "IMX I2C adapter registered\n"); 1470 1471 /* Init DMA config if supported */ 1472 i2c_imx_dma_request(i2c_imx, phy_addr); 1473 1474 return 0; /* Return OK */ 1475 1476 clk_notifier_unregister: 1477 clk_notifier_unregister(i2c_imx->clk, &i2c_imx->clk_change_nb); 1478 free_irq(irq, i2c_imx); 1479 rpm_disable: 1480 pm_runtime_put_noidle(&pdev->dev); 1481 pm_runtime_disable(&pdev->dev); 1482 pm_runtime_set_suspended(&pdev->dev); 1483 pm_runtime_dont_use_autosuspend(&pdev->dev); 1484 clk_disable_unprepare(i2c_imx->clk); 1485 return ret; 1486 } 1487 --- 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: 54357 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] i2c: imx: Simplify using devm_clk_get_prepared() Date: Wed, 31 Mar 2021 11:37:02 +0800 [thread overview] Message-ID: <202103311121.l9vlI454-lkp@intel.com> (raw) In-Reply-To: <20210324201223.75921-1-u.kleine-koenig@pengutronix.de> [-- Attachment #1: Type: text/plain, Size: 7058 bytes --] Hi "Uwe, I love your patch! Yet something to improve: [auto build test ERROR on wsa/i2c/for-next] [also build test ERROR on clk/clk-next shawnguo/for-next 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/Uwe-Kleine-K-nig/i2c-imx-Simplify-using-devm_clk_get_prepared/20210325-041454 base: https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next config: arm-multi_v7_defconfig (attached as .config) compiler: arm-linux-gnueabi-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/2241b5e30667c72568ec9dc31ab14475bb04a408 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Uwe-Kleine-K-nig/i2c-imx-Simplify-using-devm_clk_get_prepared/20210325-041454 git checkout 2241b5e30667c72568ec9dc31ab14475bb04a408 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): drivers/i2c/busses/i2c-imx.c: In function 'i2c_imx_probe': >> drivers/i2c/busses/i2c-imx.c:1408:17: error: implicit declaration of function 'devm_clk_get_prepared' [-Werror=implicit-function-declaration] 1408 | i2c_imx->clk = devm_clk_get_prepared(&pdev->dev, NULL); | ^~~~~~~~~~~~~~~~~~~~~ drivers/i2c/busses/i2c-imx.c:1408:15: warning: assignment to 'struct clk *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1408 | i2c_imx->clk = devm_clk_get_prepared(&pdev->dev, NULL); | ^ cc1: some warnings being treated as errors vim +/devm_clk_get_prepared +1408 drivers/i2c/busses/i2c-imx.c 1363 1364 static int i2c_imx_probe(struct platform_device *pdev) 1365 { 1366 struct imx_i2c_struct *i2c_imx; 1367 struct resource *res; 1368 struct imxi2c_platform_data *pdata = dev_get_platdata(&pdev->dev); 1369 void __iomem *base; 1370 int irq, ret; 1371 dma_addr_t phy_addr; 1372 const struct imx_i2c_hwdata *match; 1373 1374 dev_dbg(&pdev->dev, "<%s>\n", __func__); 1375 1376 irq = platform_get_irq(pdev, 0); 1377 if (irq < 0) 1378 return irq; 1379 1380 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1381 base = devm_ioremap_resource(&pdev->dev, res); 1382 if (IS_ERR(base)) 1383 return PTR_ERR(base); 1384 1385 phy_addr = (dma_addr_t)res->start; 1386 i2c_imx = devm_kzalloc(&pdev->dev, sizeof(*i2c_imx), GFP_KERNEL); 1387 if (!i2c_imx) 1388 return -ENOMEM; 1389 1390 match = device_get_match_data(&pdev->dev); 1391 if (match) 1392 i2c_imx->hwdata = match; 1393 else 1394 i2c_imx->hwdata = (struct imx_i2c_hwdata *) 1395 platform_get_device_id(pdev)->driver_data; 1396 1397 /* Setup i2c_imx driver structure */ 1398 strlcpy(i2c_imx->adapter.name, pdev->name, sizeof(i2c_imx->adapter.name)); 1399 i2c_imx->adapter.owner = THIS_MODULE; 1400 i2c_imx->adapter.algo = &i2c_imx_algo; 1401 i2c_imx->adapter.dev.parent = &pdev->dev; 1402 i2c_imx->adapter.nr = pdev->id; 1403 i2c_imx->adapter.dev.of_node = pdev->dev.of_node; 1404 i2c_imx->base = base; 1405 ACPI_COMPANION_SET(&i2c_imx->adapter.dev, ACPI_COMPANION(&pdev->dev)); 1406 1407 /* Get I2C clock */ > 1408 i2c_imx->clk = devm_clk_get_prepared(&pdev->dev, NULL); 1409 if (IS_ERR(i2c_imx->clk)) 1410 return dev_err_probe(&pdev->dev, PTR_ERR(i2c_imx->clk), 1411 "can't get prepared I2C clock\n"); 1412 1413 /* Init queue */ 1414 init_waitqueue_head(&i2c_imx->queue); 1415 1416 /* Set up adapter data */ 1417 i2c_set_adapdata(&i2c_imx->adapter, i2c_imx); 1418 1419 /* Set up platform driver data */ 1420 platform_set_drvdata(pdev, i2c_imx); 1421 1422 pm_runtime_set_autosuspend_delay(&pdev->dev, I2C_PM_TIMEOUT); 1423 pm_runtime_use_autosuspend(&pdev->dev); 1424 pm_runtime_set_active(&pdev->dev); 1425 pm_runtime_enable(&pdev->dev); 1426 1427 ret = pm_runtime_get_sync(&pdev->dev); 1428 if (ret < 0) 1429 goto rpm_disable; 1430 1431 /* Request IRQ */ 1432 ret = request_threaded_irq(irq, i2c_imx_isr, NULL, IRQF_SHARED, 1433 pdev->name, i2c_imx); 1434 if (ret) { 1435 dev_err(&pdev->dev, "can't claim irq %d\n", irq); 1436 goto rpm_disable; 1437 } 1438 1439 /* Set up clock divider */ 1440 i2c_imx->bitrate = I2C_MAX_STANDARD_MODE_FREQ; 1441 ret = of_property_read_u32(pdev->dev.of_node, 1442 "clock-frequency", &i2c_imx->bitrate); 1443 if (ret < 0 && pdata && pdata->bitrate) 1444 i2c_imx->bitrate = pdata->bitrate; 1445 i2c_imx->clk_change_nb.notifier_call = i2c_imx_clk_notifier_call; 1446 clk_notifier_register(i2c_imx->clk, &i2c_imx->clk_change_nb); 1447 i2c_imx_set_clk(i2c_imx, clk_get_rate(i2c_imx->clk)); 1448 1449 i2c_imx_reset_regs(i2c_imx); 1450 1451 /* Init optional bus recovery function */ 1452 ret = i2c_imx_init_recovery_info(i2c_imx, pdev); 1453 /* Give it another chance if pinctrl used is not ready yet */ 1454 if (ret == -EPROBE_DEFER) 1455 goto clk_notifier_unregister; 1456 1457 /* Add I2C adapter */ 1458 ret = i2c_add_numbered_adapter(&i2c_imx->adapter); 1459 if (ret < 0) 1460 goto clk_notifier_unregister; 1461 1462 pm_runtime_mark_last_busy(&pdev->dev); 1463 pm_runtime_put_autosuspend(&pdev->dev); 1464 1465 dev_dbg(&i2c_imx->adapter.dev, "claimed irq %d\n", irq); 1466 dev_dbg(&i2c_imx->adapter.dev, "device resources: %pR\n", res); 1467 dev_dbg(&i2c_imx->adapter.dev, "adapter name: \"%s\"\n", 1468 i2c_imx->adapter.name); 1469 dev_info(&i2c_imx->adapter.dev, "IMX I2C adapter registered\n"); 1470 1471 /* Init DMA config if supported */ 1472 i2c_imx_dma_request(i2c_imx, phy_addr); 1473 1474 return 0; /* Return OK */ 1475 1476 clk_notifier_unregister: 1477 clk_notifier_unregister(i2c_imx->clk, &i2c_imx->clk_change_nb); 1478 free_irq(irq, i2c_imx); 1479 rpm_disable: 1480 pm_runtime_put_noidle(&pdev->dev); 1481 pm_runtime_disable(&pdev->dev); 1482 pm_runtime_set_suspended(&pdev->dev); 1483 pm_runtime_dont_use_autosuspend(&pdev->dev); 1484 clk_disable_unprepare(i2c_imx->clk); 1485 return ret; 1486 } 1487 --- 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: 54357 bytes --]
next prev parent reply other threads:[~2021-03-31 3:38 UTC|newest] Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-03-01 13:50 [PATCH v3 0/3] clk: provide new devm helpers for prepared and enabled clocks Uwe Kleine-König 2021-03-01 13:50 ` [PATCH v3 1/3] clk: generalize devm_clk_get() a bit Uwe Kleine-König 2021-03-01 13:50 ` [PATCH v3 2/3] clk: Provide new devm_clk_helpers for prepared and enabled clocks Uwe Kleine-König 2021-03-01 13:50 ` [PATCH v3 3/3] pwm: atmel: Simplify using devm_clk_get_prepared() Uwe Kleine-König 2021-03-22 14:22 ` [PATCH v3 0/3] clk: provide new devm helpers for prepared and enabled clocks Uwe Kleine-König 2021-03-24 20:12 ` [PATCH] i2c: imx: Simplify using devm_clk_get_prepared() Uwe Kleine-König 2021-03-24 20:22 ` Uwe Kleine-König 2021-03-25 4:49 ` Oleksij Rempel 2021-03-26 13:42 ` kernel test robot 2021-03-26 13:42 ` kernel test robot 2021-03-31 3:37 ` kernel test robot [this message] 2021-03-31 3:37 ` kernel test robot 2021-03-24 20:17 ` [PATCH] spi: davinci: " Uwe Kleine-König 2021-03-24 20:22 ` Uwe Kleine-König 2021-03-30 17:04 ` Mark Brown 2021-03-30 4:09 ` kernel test robot 2021-03-30 4:09 ` kernel test robot 2021-03-24 20:27 ` [PATCH] rtc: at91sma9: Simplify using devm_clk_get_enabled() Uwe Kleine-König 2021-03-24 20:27 ` Uwe Kleine-König 2021-03-25 1:11 ` kernel test robot 2021-03-25 1:11 ` kernel test robot 2021-03-25 1:11 ` kernel test robot 2021-03-25 15:15 ` kernel test robot 2021-03-25 15:15 ` kernel test robot 2021-03-25 15:15 ` kernel test robot
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=202103311121.l9vlI454-lkp@intel.com \ --to=lkp@intel.com \ --cc=festevam@gmail.com \ --cc=kbuild-all@lists.01.org \ --cc=kernel@pengutronix.de \ --cc=linux-clk@vger.kernel.org \ --cc=linux-i2c@vger.kernel.org \ --cc=linux-imx@nxp.com \ --cc=linux@rempel-privat.de \ --cc=mturquette@baylibre.com \ --cc=s.hauer@pengutronix.de \ --cc=sboyd@kernel.org \ --cc=shawnguo@kernel.org \ --cc=u.kleine-koenig@pengutronix.de \ /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.