All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.