From: kbuild test robot <lkp@intel.com>
To: Guru Das Srinagesh <gurus@codeaurora.org>
Cc: kbuild-all@lists.01.org, linux-pwm@vger.kernel.org
Subject: Re: [PATCH v9 11/11] pwm: core: Convert period and duty cycle to u64
Date: Thu, 19 Mar 2020 02:51:06 +0800 [thread overview]
Message-ID: <202003190213.FmFOPsfh%lkp@intel.com> (raw)
In-Reply-To: <ecc35a71d489baa0dd46d1a583edafa8399a0a64.1584473399.git.gurus@codeaurora.org>
[-- Attachment #1: Type: text/plain, Size: 6515 bytes --]
Hi Guru,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on pwm/for-next]
[also build test ERROR on hwmon/hwmon-next linuxtv-media/master shawnguo/for-next stm32/stm32-next sunxi/sunxi/for-next v5.6-rc6]
[cannot apply to drm-intel/for-linux-next next-20200317]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Guru-Das-Srinagesh/Convert-PWM-period-and-duty-cycle-to-u64/20200318-094102
base: https://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git for-next
config: microblaze-randconfig-a001-20200318 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 9.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=microblaze
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
microblaze-linux-ld: drivers/clk/clk-pwm.o: in function `clk_pwm_probe':
>> drivers/clk/clk-pwm.c:92: undefined reference to `__udivdi3'
`.exit.data' referenced in section `.exit.text' of drivers/tty/n_hdlc.o: defined in discarded section `.exit.data' of drivers/tty/n_hdlc.o
`.exit.data' referenced in section `.exit.text' of drivers/tty/n_hdlc.o: defined in discarded section `.exit.data' of drivers/tty/n_hdlc.o
vim +92 drivers/clk/clk-pwm.c
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 66
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 67 static int clk_pwm_probe(struct platform_device *pdev)
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 68 {
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 69 struct device_node *node = pdev->dev.of_node;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 70 struct clk_init_data init;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 71 struct clk_pwm *clk_pwm;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 72 struct pwm_device *pwm;
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 73 struct pwm_args pargs;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 74 const char *clk_name;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 75 int ret;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 76
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 77 clk_pwm = devm_kzalloc(&pdev->dev, sizeof(*clk_pwm), GFP_KERNEL);
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 78 if (!clk_pwm)
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 79 return -ENOMEM;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 80
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 81 pwm = devm_pwm_get(&pdev->dev, NULL);
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 82 if (IS_ERR(pwm))
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 83 return PTR_ERR(pwm);
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 84
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 85 pwm_get_args(pwm, &pargs);
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 86 if (!pargs.period) {
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 87 dev_err(&pdev->dev, "invalid PWM period\n");
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 88 return -EINVAL;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 89 }
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 90
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 91 if (of_property_read_u32(node, "clock-frequency", &clk_pwm->fixed_rate))
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 @92 clk_pwm->fixed_rate = NSEC_PER_SEC / pargs.period;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 93
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 94 if (pargs.period != NSEC_PER_SEC / clk_pwm->fixed_rate &&
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 95 pargs.period != DIV_ROUND_UP(NSEC_PER_SEC, clk_pwm->fixed_rate)) {
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 96 dev_err(&pdev->dev,
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 97 "clock-frequency does not match PWM period\n");
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 98 return -EINVAL;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 99 }
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 100
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 101 /*
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 102 * FIXME: pwm_apply_args() should be removed when switching to the
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 103 * atomic PWM API.
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 104 */
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 105 pwm_apply_args(pwm);
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 106 ret = pwm_config(pwm, (pargs.period + 1) >> 1, pargs.period);
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 107 if (ret < 0)
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 108 return ret;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 109
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 110 clk_name = node->name;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 111 of_property_read_string(node, "clock-output-names", &clk_name);
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 112
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 113 init.name = clk_name;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 114 init.ops = &clk_pwm_ops;
90b6c5c73c6904 Stephen Boyd 2019-04-25 115 init.flags = 0;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 116 init.num_parents = 0;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 117
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 118 clk_pwm->pwm = pwm;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 119 clk_pwm->hw.init = &init;
4cf915dfb8ede6 Stephen Boyd 2016-06-01 120 ret = devm_clk_hw_register(&pdev->dev, &clk_pwm->hw);
4cf915dfb8ede6 Stephen Boyd 2016-06-01 121 if (ret)
4cf915dfb8ede6 Stephen Boyd 2016-06-01 122 return ret;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 123
4cf915dfb8ede6 Stephen Boyd 2016-06-01 124 return of_clk_add_hw_provider(node, of_clk_hw_simple_get, &clk_pwm->hw);
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 125 }
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 126
:::::: The code at line 92 was first introduced by commit
:::::: dd0b38b7ca0d8c8aadcf8a17d7c90d36ab8ab6e4 clk: pwm: Use pwm_get_args() where appropriate
:::::: TO: Boris Brezillon <boris.brezillon@free-electrons.com>
:::::: CC: Thierry Reding <thierry.reding@gmail.com>
---
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: 31297 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v9 11/11] pwm: core: Convert period and duty cycle to u64
Date: Thu, 19 Mar 2020 02:51:06 +0800 [thread overview]
Message-ID: <202003190213.FmFOPsfh%lkp@intel.com> (raw)
In-Reply-To: <ecc35a71d489baa0dd46d1a583edafa8399a0a64.1584473399.git.gurus@codeaurora.org>
[-- Attachment #1: Type: text/plain, Size: 6621 bytes --]
Hi Guru,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on pwm/for-next]
[also build test ERROR on hwmon/hwmon-next linuxtv-media/master shawnguo/for-next stm32/stm32-next sunxi/sunxi/for-next v5.6-rc6]
[cannot apply to drm-intel/for-linux-next next-20200317]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Guru-Das-Srinagesh/Convert-PWM-period-and-duty-cycle-to-u64/20200318-094102
base: https://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git for-next
config: microblaze-randconfig-a001-20200318 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 9.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=microblaze
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
microblaze-linux-ld: drivers/clk/clk-pwm.o: in function `clk_pwm_probe':
>> drivers/clk/clk-pwm.c:92: undefined reference to `__udivdi3'
`.exit.data' referenced in section `.exit.text' of drivers/tty/n_hdlc.o: defined in discarded section `.exit.data' of drivers/tty/n_hdlc.o
`.exit.data' referenced in section `.exit.text' of drivers/tty/n_hdlc.o: defined in discarded section `.exit.data' of drivers/tty/n_hdlc.o
vim +92 drivers/clk/clk-pwm.c
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 66
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 67 static int clk_pwm_probe(struct platform_device *pdev)
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 68 {
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 69 struct device_node *node = pdev->dev.of_node;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 70 struct clk_init_data init;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 71 struct clk_pwm *clk_pwm;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 72 struct pwm_device *pwm;
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 73 struct pwm_args pargs;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 74 const char *clk_name;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 75 int ret;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 76
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 77 clk_pwm = devm_kzalloc(&pdev->dev, sizeof(*clk_pwm), GFP_KERNEL);
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 78 if (!clk_pwm)
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 79 return -ENOMEM;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 80
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 81 pwm = devm_pwm_get(&pdev->dev, NULL);
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 82 if (IS_ERR(pwm))
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 83 return PTR_ERR(pwm);
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 84
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 85 pwm_get_args(pwm, &pargs);
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 86 if (!pargs.period) {
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 87 dev_err(&pdev->dev, "invalid PWM period\n");
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 88 return -EINVAL;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 89 }
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 90
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 91 if (of_property_read_u32(node, "clock-frequency", &clk_pwm->fixed_rate))
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 @92 clk_pwm->fixed_rate = NSEC_PER_SEC / pargs.period;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 93
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 94 if (pargs.period != NSEC_PER_SEC / clk_pwm->fixed_rate &&
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 95 pargs.period != DIV_ROUND_UP(NSEC_PER_SEC, clk_pwm->fixed_rate)) {
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 96 dev_err(&pdev->dev,
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 97 "clock-frequency does not match PWM period\n");
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 98 return -EINVAL;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 99 }
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 100
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 101 /*
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 102 * FIXME: pwm_apply_args() should be removed when switching to the
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 103 * atomic PWM API.
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 104 */
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 105 pwm_apply_args(pwm);
dd0b38b7ca0d8c Boris Brezillon 2016-04-14 106 ret = pwm_config(pwm, (pargs.period + 1) >> 1, pargs.period);
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 107 if (ret < 0)
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 108 return ret;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 109
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 110 clk_name = node->name;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 111 of_property_read_string(node, "clock-output-names", &clk_name);
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 112
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 113 init.name = clk_name;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 114 init.ops = &clk_pwm_ops;
90b6c5c73c6904 Stephen Boyd 2019-04-25 115 init.flags = 0;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 116 init.num_parents = 0;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 117
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 118 clk_pwm->pwm = pwm;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 119 clk_pwm->hw.init = &init;
4cf915dfb8ede6 Stephen Boyd 2016-06-01 120 ret = devm_clk_hw_register(&pdev->dev, &clk_pwm->hw);
4cf915dfb8ede6 Stephen Boyd 2016-06-01 121 if (ret)
4cf915dfb8ede6 Stephen Boyd 2016-06-01 122 return ret;
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 123
4cf915dfb8ede6 Stephen Boyd 2016-06-01 124 return of_clk_add_hw_provider(node, of_clk_hw_simple_get, &clk_pwm->hw);
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 125 }
9a74ccdbbb8fa6 Philipp Zabel 2015-02-13 126
:::::: The code at line 92 was first introduced by commit
:::::: dd0b38b7ca0d8c8aadcf8a17d7c90d36ab8ab6e4 clk: pwm: Use pwm_get_args() where appropriate
:::::: TO: Boris Brezillon <boris.brezillon@free-electrons.com>
:::::: CC: Thierry Reding <thierry.reding@gmail.com>
---
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: 31297 bytes --]
next prev parent reply other threads:[~2020-03-18 18:52 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-17 20:05 [PATCH v9 00/11] Convert PWM period and duty cycle to u64 Guru Das Srinagesh
2020-03-17 20:05 ` [Intel-gfx] " Guru Das Srinagesh
2020-03-17 20:05 ` Guru Das Srinagesh
2020-03-17 20:05 ` Guru Das Srinagesh
2020-03-17 20:05 ` [PATCH v9 01/11] drm/i915: Use 64-bit division macro Guru Das Srinagesh
2020-03-17 20:05 ` [Intel-gfx] " Guru Das Srinagesh
2020-03-17 20:05 ` Guru Das Srinagesh
2020-03-18 19:08 ` Jani Nikula
2020-03-18 19:08 ` Jani Nikula
2020-03-18 19:08 ` [Intel-gfx] " Jani Nikula
2020-03-18 19:08 ` Jani Nikula
2020-03-19 19:35 ` Guru Das Srinagesh
2020-03-19 19:35 ` [Intel-gfx] " Guru Das Srinagesh
2020-03-19 19:35 ` Guru Das Srinagesh
2020-03-17 20:05 ` [PATCH v9 02/11] hwmon: pwm-fan: " Guru Das Srinagesh
2020-03-17 20:05 ` [PATCH v9 03/11] ir-rx51: " Guru Das Srinagesh
2020-03-17 20:05 ` [PATCH v9 04/11] pwm: clps711x: " Guru Das Srinagesh
2020-03-17 22:22 ` Arnd Bergmann
2020-03-17 23:30 ` Guru Das Srinagesh
2020-03-18 9:49 ` Arnd Bergmann
2020-03-18 17:00 ` Guru Das Srinagesh
2020-03-18 19:38 ` Arnd Bergmann
2020-03-19 20:51 ` Guru Das Srinagesh
2020-03-17 20:05 ` [PATCH v9 05/11] pwm: pwm-imx-tpm: " Guru Das Srinagesh
2020-03-17 20:05 ` [PATCH v9 06/11] pwm: imx27: Use 64-bit division macro and function Guru Das Srinagesh
2020-03-17 20:05 ` [PATCH v9 07/11] pwm: sifive: Use 64-bit division macro Guru Das Srinagesh
2020-03-17 20:05 ` Guru Das Srinagesh
2020-03-17 20:05 ` [PATCH v9 08/11] pwm: stm32-lp: Use %llu format specifier for period Guru Das Srinagesh
2020-03-17 20:05 ` [PATCH v9 09/11] pwm: sun4i: Use 64-bit division function Guru Das Srinagesh
2020-03-17 20:05 ` [PATCH v9 10/11] backlight: pwm_bl: " Guru Das Srinagesh
2020-03-17 20:05 ` Guru Das Srinagesh
2020-03-17 20:05 ` Guru Das Srinagesh
2020-03-17 20:05 ` [PATCH v9 11/11] pwm: core: Convert period and duty cycle to u64 Guru Das Srinagesh
2020-03-18 18:51 ` kbuild test robot [this message]
2020-03-18 18:51 ` kbuild 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=202003190213.FmFOPsfh%lkp@intel.com \
--to=lkp@intel.com \
--cc=gurus@codeaurora.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-pwm@vger.kernel.org \
/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: link
Be 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.