All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [freescale-fslc:pr/316 11826/18270] include/asm-generic/div64.h:243:22: error: passing argument 1 of '__div64_32' from incompatible pointer type
Date: Thu, 22 Apr 2021 23:54:03 +0800	[thread overview]
Message-ID: <202104222352.ED1fTF2Q-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 6308 bytes --]

Hi Adrian,

FYI, the error/warning still remains.

tree:   https://github.com/Freescale/linux-fslc pr/316
head:   68003439250c6199cbbc4262bd98dc5dd4a074d8
commit: cdfd304a32248295f7d77f61d32137f1bb5bf64e [11826/18270] MLK-24423: sound: soc: fsl: imx pdm: fixed mclk improve voice
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-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/Freescale/linux-fslc/commit/cdfd304a32248295f7d77f61d32137f1bb5bf64e
        git remote add freescale-fslc https://github.com/Freescale/linux-fslc
        git fetch --no-tags freescale-fslc pr/316
        git checkout cdfd304a32248295f7d77f61d32137f1bb5bf64e
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=arc 

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 >>):

   In file included from ./arch/arc/include/generated/asm/div64.h:1,
                    from include/linux/kernel.h:18,
                    from include/linux/list.h:9,
                    from include/linux/module.h:9,
                    from sound/soc/fsl/imx-pdm.c:12:
   sound/soc/fsl/imx-pdm.c: In function 'imx_pdm_mic_hw_params':
   include/asm-generic/div64.h:226:28: warning: comparison of distinct pointer types lacks a cast
     226 |  (void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
         |                            ^~
   sound/soc/fsl/imx-pdm.c:241:16: note: in expansion of macro 'do_div'
     241 |   mclk_freq = (do_div(sample_rate, 8000) ?
         |                ^~~~~~
   In file included from include/linux/kernel.h:11,
                    from include/linux/list.h:9,
                    from include/linux/module.h:9,
                    from sound/soc/fsl/imx-pdm.c:12:
   include/asm-generic/div64.h:239:25: warning: right shift count >= width of type [-Wshift-count-overflow]
     239 |  } else if (likely(((n) >> 32) == 0)) {  \
         |                         ^~
   include/linux/compiler.h:77:40: note: in definition of macro 'likely'
      77 | # define likely(x) __builtin_expect(!!(x), 1)
         |                                        ^
   sound/soc/fsl/imx-pdm.c:241:16: note: in expansion of macro 'do_div'
     241 |   mclk_freq = (do_div(sample_rate, 8000) ?
         |                ^~~~~~
   In file included from ./arch/arc/include/generated/asm/div64.h:1,
                    from include/linux/kernel.h:18,
                    from include/linux/list.h:9,
                    from include/linux/module.h:9,
                    from sound/soc/fsl/imx-pdm.c:12:
>> include/asm-generic/div64.h:243:22: error: passing argument 1 of '__div64_32' from incompatible pointer type [-Werror=incompatible-pointer-types]
     243 |   __rem = __div64_32(&(n), __base); \
         |                      ^~~~
         |                      |
         |                      unsigned int *
   sound/soc/fsl/imx-pdm.c:241:16: note: in expansion of macro 'do_div'
     241 |   mclk_freq = (do_div(sample_rate, 8000) ?
         |                ^~~~~~
   include/asm-generic/div64.h:217:38: note: expected 'uint64_t *' {aka 'long long unsigned int *'} but argument is of type 'unsigned int *'
     217 | extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor);
         |                            ~~~~~~~~~~^~~~~~~~
   cc1: some warnings being treated as errors


vim +/__div64_32 +243 include/asm-generic/div64.h

^1da177e4c3f41 Linus Torvalds 2005-04-16  219  
^1da177e4c3f41 Linus Torvalds 2005-04-16  220  /* The unnecessary pointer compare is there
^1da177e4c3f41 Linus Torvalds 2005-04-16  221   * to check for type safety (n must be 64bit)
^1da177e4c3f41 Linus Torvalds 2005-04-16  222   */
^1da177e4c3f41 Linus Torvalds 2005-04-16  223  # define do_div(n,base) ({				\
^1da177e4c3f41 Linus Torvalds 2005-04-16  224  	uint32_t __base = (base);			\
^1da177e4c3f41 Linus Torvalds 2005-04-16  225  	uint32_t __rem;					\
^1da177e4c3f41 Linus Torvalds 2005-04-16  226  	(void)(((typeof((n)) *)0) == ((uint64_t *)0));	\
911918aa7ef6f8 Nicolas Pitre  2015-11-02  227  	if (__builtin_constant_p(__base) &&		\
911918aa7ef6f8 Nicolas Pitre  2015-11-02  228  	    is_power_of_2(__base)) {			\
911918aa7ef6f8 Nicolas Pitre  2015-11-02  229  		__rem = (n) & (__base - 1);		\
911918aa7ef6f8 Nicolas Pitre  2015-11-02  230  		(n) >>= ilog2(__base);			\
461a5e51060c93 Nicolas Pitre  2015-10-30  231  	} else if (__div64_const32_is_OK &&		\
461a5e51060c93 Nicolas Pitre  2015-10-30  232  		   __builtin_constant_p(__base) &&	\
461a5e51060c93 Nicolas Pitre  2015-10-30  233  		   __base != 0) {			\
461a5e51060c93 Nicolas Pitre  2015-10-30  234  		uint32_t __res_lo, __n_lo = (n);	\
461a5e51060c93 Nicolas Pitre  2015-10-30  235  		(n) = __div64_const32(n, __base);	\
461a5e51060c93 Nicolas Pitre  2015-10-30  236  		/* the remainder can be computed with 32-bit regs */ \
461a5e51060c93 Nicolas Pitre  2015-10-30  237  		__res_lo = (n);				\
461a5e51060c93 Nicolas Pitre  2015-10-30  238  		__rem = __n_lo - __res_lo * __base;	\
911918aa7ef6f8 Nicolas Pitre  2015-11-02  239  	} else if (likely(((n) >> 32) == 0)) {		\
^1da177e4c3f41 Linus Torvalds 2005-04-16  240  		__rem = (uint32_t)(n) % __base;		\
^1da177e4c3f41 Linus Torvalds 2005-04-16  241  		(n) = (uint32_t)(n) / __base;		\
^1da177e4c3f41 Linus Torvalds 2005-04-16  242  	} else 						\
^1da177e4c3f41 Linus Torvalds 2005-04-16 @243  		__rem = __div64_32(&(n), __base);	\
^1da177e4c3f41 Linus Torvalds 2005-04-16  244  	__rem;						\
^1da177e4c3f41 Linus Torvalds 2005-04-16  245   })
^1da177e4c3f41 Linus Torvalds 2005-04-16  246  

:::::: The code at line 243 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

---
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: 62184 bytes --]

                 reply	other threads:[~2021-04-22 15:54 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202104222352.ED1fTF2Q-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.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.