linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] staging: comedi: remove warnings of comedi_lrange
@ 2020-12-24  0:58 Song Chen
  2020-12-28 14:04 ` Greg KH
  0 siblings, 1 reply; 7+ messages in thread
From: Song Chen @ 2020-12-24  0:58 UTC (permalink / raw)
  To: greg, linux-kernel; +Cc: abbotti, hsweeten, Song Chen

Checkpatch.pl reports "warning: struct comedi_lrange should
normally be const" in some places, which are supposed to
be removed.

Signed-off-by: Song Chen <chensong_2000@189.cn>
---
 drivers/staging/comedi/drivers/das16.c   | 4 ++--
 drivers/staging/comedi/drivers/jr3_pci.c | 4 ++--
 drivers/staging/comedi/drivers/ni_670x.c | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/comedi/drivers/das16.c b/drivers/staging/comedi/drivers/das16.c
index 4ac2622..40bfd84 100644
--- a/drivers/staging/comedi/drivers/das16.c
+++ b/drivers/staging/comedi/drivers/das16.c
@@ -958,7 +958,7 @@ static const struct comedi_lrange *das16_ai_range(struct comedi_device *dev,
 
 	/* get any user-defined input range */
 	if (pg_type == das16_pg_none && (min || max)) {
-		struct comedi_lrange *lrange;
+		const struct comedi_lrange *lrange;
 		struct comedi_krange *krange;
 
 		/* allocate single-range range table */
@@ -992,7 +992,7 @@ static const struct comedi_lrange *das16_ao_range(struct comedi_device *dev,
 
 	/* get any user-defined output range */
 	if (min || max) {
-		struct comedi_lrange *lrange;
+		const struct comedi_lrange *lrange;
 		struct comedi_krange *krange;
 
 		/* allocate single-range range table */
diff --git a/drivers/staging/comedi/drivers/jr3_pci.c b/drivers/staging/comedi/drivers/jr3_pci.c
index 7a02c4f..c35db0b 100644
--- a/drivers/staging/comedi/drivers/jr3_pci.c
+++ b/drivers/staging/comedi/drivers/jr3_pci.c
@@ -91,8 +91,8 @@ struct jr3_pci_dev_private {
 };
 
 union jr3_pci_single_range {
-	struct comedi_lrange l;
-	char _reserved[offsetof(struct comedi_lrange, range[1])];
+	const struct comedi_lrange l;
+	char _reserved[offsetof(const struct comedi_lrange, range[1])];
 };
 
 enum jr3_pci_poll_state {
diff --git a/drivers/staging/comedi/drivers/ni_670x.c b/drivers/staging/comedi/drivers/ni_670x.c
index c197e47..66485ec 100644
--- a/drivers/staging/comedi/drivers/ni_670x.c
+++ b/drivers/staging/comedi/drivers/ni_670x.c
@@ -200,7 +200,7 @@ static int ni_670x_auto_attach(struct comedi_device *dev,
 		const struct comedi_lrange **range_table_list;
 
 		range_table_list = kmalloc_array(32,
-						 sizeof(struct comedi_lrange *),
+						 sizeof(const struct comedi_lrange *),
 						 GFP_KERNEL);
 		if (!range_table_list)
 			return -ENOMEM;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] staging: comedi: remove warnings of comedi_lrange
  2020-12-24  0:58 [PATCH] staging: comedi: remove warnings of comedi_lrange Song Chen
@ 2020-12-28 14:04 ` Greg KH
  0 siblings, 0 replies; 7+ messages in thread
From: Greg KH @ 2020-12-28 14:04 UTC (permalink / raw)
  To: Song Chen; +Cc: linux-kernel, abbotti, hsweeten

On Thu, Dec 24, 2020 at 08:58:18AM +0800, Song Chen wrote:
> Checkpatch.pl reports "warning: struct comedi_lrange should
> normally be const" in some places, which are supposed to
> be removed.
> 
> Signed-off-by: Song Chen <chensong_2000@189.cn>
> ---
>  drivers/staging/comedi/drivers/das16.c   | 4 ++--
>  drivers/staging/comedi/drivers/jr3_pci.c | 4 ++--
>  drivers/staging/comedi/drivers/ni_670x.c | 2 +-
>  3 files changed, 5 insertions(+), 5 deletions(-)

Never send out patches that you do not test-build yourself.  Breaking
the build is a quick way to make a maintainer grumpy :(

greg k-h

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] staging: comedi: remove warnings of comedi_lrange
  2020-12-23  2:24 chensong
                   ` (2 preceding siblings ...)
  2020-12-29  3:56 ` kernel test robot
@ 2020-12-29  4:00 ` kernel test robot
  3 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2020-12-29  4:00 UTC (permalink / raw)
  To: chensong, greg, linux-kernel
  Cc: kbuild-all, clang-built-linux, abbotti, hsweeten, chensong, chensong

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

Hi chensong,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on staging/staging-testing]

url:    https://github.com/0day-ci/linux/commits/chensong/staging-comedi-remove-warnings-of-comedi_lrange/20201223-104542
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 5e60366d56c630e32befce7ef05c569e04391ca3
config: x86_64-randconfig-r012-20201223 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project cee1e7d14f4628d6174b33640d502bff3b54ae45)
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
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/fec78f1f56c0e63e9240b5b30c3b98d29ecc9a49
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review chensong/staging-comedi-remove-warnings-of-comedi_lrange/20201223-104542
        git checkout fec78f1f56c0e63e9240b5b30c3b98d29ecc9a49
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

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/staging/comedi/drivers/das16.c:971:18: error: cannot assign to variable 'lrange' with const-qualified type 'const struct comedi_lrange *'
                   lrange->length = 1;
                   ~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/das16.c:961:31: note: variable 'lrange' declared const here
                   const struct comedi_lrange *lrange;
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
>> drivers/staging/comedi/drivers/das16.c:972:10: error: assigning to 'struct comedi_krange *' from 'struct comedi_krange const[]' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
                   krange = lrange->range;
                          ^ ~~~~~~~~~~~~~
   drivers/staging/comedi/drivers/das16.c:1005:18: error: cannot assign to variable 'lrange' with const-qualified type 'const struct comedi_lrange *'
                   lrange->length = 1;
                   ~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/das16.c:995:31: note: variable 'lrange' declared const here
                   const struct comedi_lrange *lrange;
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
   drivers/staging/comedi/drivers/das16.c:1006:10: error: assigning to 'struct comedi_krange *' from 'struct comedi_krange const[]' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
                   krange = lrange->range;
                          ^ ~~~~~~~~~~~~~
   4 errors generated.
--
>> drivers/staging/comedi/drivers/jr3_pci.c:527:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[0].l.range[0].min = -get_s16(&fs->fx) * 1000;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:528:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[0].l.range[0].max = get_s16(&fs->fx) * 1000;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:529:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[1].l.range[0].min = -get_s16(&fs->fy) * 1000;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:530:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[1].l.range[0].max = get_s16(&fs->fy) * 1000;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:531:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[2].l.range[0].min = -get_s16(&fs->fz) * 1000;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:532:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[2].l.range[0].max = get_s16(&fs->fz) * 1000;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:533:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[3].l.range[0].min = -get_s16(&fs->mx) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:534:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[3].l.range[0].max = get_s16(&fs->mx) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:535:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[4].l.range[0].min = -get_s16(&fs->my) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:536:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[4].l.range[0].max = get_s16(&fs->my) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:537:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[5].l.range[0].min = -get_s16(&fs->mz) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:539:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[5].l.range[0].max = get_s16(&fs->mz) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:540:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[6].l.range[0].min = -get_s16(&fs->v1) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:541:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[6].l.range[0].max = get_s16(&fs->v1) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:542:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[7].l.range[0].min = -get_s16(&fs->v2) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:543:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[7].l.range[0].max = get_s16(&fs->v2) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:544:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[8].l.range[0].min = 0;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;


vim +971 drivers/staging/comedi/drivers/das16.c

742c4a095973f69 H Hartley Sweeten 2015-01-12  949  
0ce8280e2876091 H Hartley Sweeten 2015-01-26  950  static const struct comedi_lrange *das16_ai_range(struct comedi_device *dev,
0ce8280e2876091 H Hartley Sweeten 2015-01-26  951  						  struct comedi_subdevice *s,
0ce8280e2876091 H Hartley Sweeten 2015-01-26  952  						  struct comedi_devconfig *it,
0ce8280e2876091 H Hartley Sweeten 2015-01-26  953  						  unsigned int pg_type,
0ce8280e2876091 H Hartley Sweeten 2015-01-26  954  						  unsigned int status)
0ce8280e2876091 H Hartley Sweeten 2015-01-26  955  {
0ce8280e2876091 H Hartley Sweeten 2015-01-26  956  	unsigned int min = it->options[4];
0ce8280e2876091 H Hartley Sweeten 2015-01-26  957  	unsigned int max = it->options[5];
0ce8280e2876091 H Hartley Sweeten 2015-01-26  958  
0ce8280e2876091 H Hartley Sweeten 2015-01-26  959  	/* get any user-defined input range */
0ce8280e2876091 H Hartley Sweeten 2015-01-26  960  	if (pg_type == das16_pg_none && (min || max)) {
fec78f1f56c0e63 chensong          2020-12-23  961  		const struct comedi_lrange *lrange;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  962  		struct comedi_krange *krange;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  963  
0ce8280e2876091 H Hartley Sweeten 2015-01-26  964  		/* allocate single-range range table */
0ce8280e2876091 H Hartley Sweeten 2015-01-26  965  		lrange = comedi_alloc_spriv(s,
0ce8280e2876091 H Hartley Sweeten 2015-01-26  966  					    sizeof(*lrange) + sizeof(*krange));
0ce8280e2876091 H Hartley Sweeten 2015-01-26  967  		if (!lrange)
0ce8280e2876091 H Hartley Sweeten 2015-01-26  968  			return &range_unknown;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  969  
0ce8280e2876091 H Hartley Sweeten 2015-01-26  970  		/* initialize ai range */
0ce8280e2876091 H Hartley Sweeten 2015-01-26 @971  		lrange->length = 1;
0ce8280e2876091 H Hartley Sweeten 2015-01-26 @972  		krange = lrange->range;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  973  		krange->min = min;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  974  		krange->max = max;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  975  		krange->flags = UNIT_volt;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  976  
0ce8280e2876091 H Hartley Sweeten 2015-01-26  977  		return lrange;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  978  	}
0ce8280e2876091 H Hartley Sweeten 2015-01-26  979  
0ce8280e2876091 H Hartley Sweeten 2015-01-26  980  	/* use software programmable range */
0ce8280e2876091 H Hartley Sweeten 2015-01-26  981  	if (status & DAS16_STATUS_UNIPOLAR)
0ce8280e2876091 H Hartley Sweeten 2015-01-26  982  		return das16_ai_uni_lranges[pg_type];
0ce8280e2876091 H Hartley Sweeten 2015-01-26  983  	return das16_ai_bip_lranges[pg_type];
0ce8280e2876091 H Hartley Sweeten 2015-01-26  984  }
0ce8280e2876091 H Hartley Sweeten 2015-01-26  985  

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] staging: comedi: remove warnings of comedi_lrange
  2020-12-23  2:24 chensong
  2020-12-23  8:06 ` Greg KH
  2020-12-29  3:50 ` kernel test robot
@ 2020-12-29  3:56 ` kernel test robot
  2020-12-29  4:00 ` kernel test robot
  3 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2020-12-29  3:56 UTC (permalink / raw)
  To: chensong, greg, linux-kernel
  Cc: kbuild-all, clang-built-linux, abbotti, hsweeten, chensong, chensong

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

Hi chensong,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on staging/staging-testing]

url:    https://github.com/0day-ci/linux/commits/chensong/staging-comedi-remove-warnings-of-comedi_lrange/20201223-104542
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 5e60366d56c630e32befce7ef05c569e04391ca3
config: x86_64-randconfig-a011-20201223 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project cee1e7d14f4628d6174b33640d502bff3b54ae45)
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
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/fec78f1f56c0e63e9240b5b30c3b98d29ecc9a49
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review chensong/staging-comedi-remove-warnings-of-comedi_lrange/20201223-104542
        git checkout fec78f1f56c0e63e9240b5b30c3b98d29ecc9a49
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

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/staging/comedi/drivers/jr3_pci.c:527:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[0].l.range[0].min = -get_s16(&fs->fx) * 1000;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:528:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[0].l.range[0].max = get_s16(&fs->fx) * 1000;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:529:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[1].l.range[0].min = -get_s16(&fs->fy) * 1000;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:530:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[1].l.range[0].max = get_s16(&fs->fy) * 1000;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:531:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[2].l.range[0].min = -get_s16(&fs->fz) * 1000;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:532:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[2].l.range[0].max = get_s16(&fs->fz) * 1000;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:533:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[3].l.range[0].min = -get_s16(&fs->mx) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:534:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[3].l.range[0].max = get_s16(&fs->mx) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:535:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[4].l.range[0].min = -get_s16(&fs->my) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:536:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[4].l.range[0].max = get_s16(&fs->my) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:537:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[5].l.range[0].min = -get_s16(&fs->mz) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:539:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[5].l.range[0].max = get_s16(&fs->mz) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:540:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[6].l.range[0].min = -get_s16(&fs->v1) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:541:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[6].l.range[0].max = get_s16(&fs->v1) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:542:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[7].l.range[0].min = -get_s16(&fs->v2) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:543:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[7].l.range[0].max = get_s16(&fs->v2) * 100;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   drivers/staging/comedi/drivers/jr3_pci.c:544:24: error: cannot assign to non-static data member 'l' with const-qualified type 'const struct comedi_lrange'
                           r[8].l.range[0].min = 0;
                           ~~~~~~~~~~~~~~~~~~~ ^
   drivers/staging/comedi/drivers/jr3_pci.c:94:29: note: non-static data member 'l' declared const here
           const struct comedi_lrange l;


vim +527 drivers/staging/comedi/drivers/jr3_pci.c

07b509e6584a552 Anders Blomdell   2009-02-12  437  
d5e59c967830f99 Anson Jacob       2016-08-26  438  static struct jr3_pci_poll_delay
d5e59c967830f99 Anson Jacob       2016-08-26  439  jr3_pci_poll_subdevice(struct comedi_subdevice *s)
07b509e6584a552 Anders Blomdell   2009-02-12  440  {
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  441  	struct jr3_pci_subdev_private *spriv = s->private;
da1331a50315a0a H Hartley Sweeten 2014-03-07  442  	struct jr3_pci_poll_delay result = poll_delay_min_max(1000, 2000);
713eab88c66de4e Ian Abbott        2017-03-08  443  	struct jr3_sensor __iomem *sensor;
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  444  	u16 model_no;
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  445  	u16 serial_no;
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  446  	int errors;
b1f68dc1d610159 Ian Abbott        2009-09-21  447  	int i;
07b509e6584a552 Anders Blomdell   2009-02-12  448  
713eab88c66de4e Ian Abbott        2017-03-08  449  	sensor = spriv->sensor;
713eab88c66de4e Ian Abbott        2017-03-08  450  	errors = get_u16(&sensor->errors);
7803d8e05d63d74 Kumar Amit Mehta  2012-11-07  451  
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  452  	if (errors != spriv->errors)
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  453  		spriv->errors = errors;
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  454  
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  455  	/* Sensor communication lost? force poll mode */
7803d8e05d63d74 Kumar Amit Mehta  2012-11-07  456  	if (errors & (watch_dog | watch_dog2 | sensor_change))
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  457  		spriv->state = state_jr3_poll;
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  458  
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  459  	switch (spriv->state) {
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  460  	case state_jr3_poll:
713eab88c66de4e Ian Abbott        2017-03-08  461  		model_no = get_u16(&sensor->model_no);
713eab88c66de4e Ian Abbott        2017-03-08  462  		serial_no = get_u16(&sensor->serial_no);
07b509e6584a552 Anders Blomdell   2009-02-12  463  
07b509e6584a552 Anders Blomdell   2009-02-12  464  		if ((errors & (watch_dog | watch_dog2)) ||
07b509e6584a552 Anders Blomdell   2009-02-12  465  		    model_no == 0 || serial_no == 0) {
2696fb57e6af653 Bill Pemberton    2009-03-27  466  			/*
abcdc99f7cb387f Ian Abbott        2012-11-01  467  			 * Still no sensor, keep on polling.
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  468  			 * Since it takes up to 10 seconds for offsets to
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  469  			 * stabilize, polling each second should suffice.
2696fb57e6af653 Bill Pemberton    2009-03-27  470  			 */
07b509e6584a552 Anders Blomdell   2009-02-12  471  		} else {
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  472  			spriv->retries = 0;
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  473  			spriv->state = state_jr3_init_wait_for_offset;
07b509e6584a552 Anders Blomdell   2009-02-12  474  		}
07b509e6584a552 Anders Blomdell   2009-02-12  475  		break;
abcdc99f7cb387f Ian Abbott        2012-11-01  476  	case state_jr3_init_wait_for_offset:
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  477  		spriv->retries++;
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  478  		if (spriv->retries < 10) {
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  479  			/*
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  480  			 * Wait for offeset to stabilize
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  481  			 * (< 10 s according to manual)
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  482  			 */
07b509e6584a552 Anders Blomdell   2009-02-12  483  		} else {
0a44493fb18738c H Hartley Sweeten 2014-03-07  484  			struct jr3_pci_transform transf;
07b509e6584a552 Anders Blomdell   2009-02-12  485  
713eab88c66de4e Ian Abbott        2017-03-08  486  			spriv->model_no = get_u16(&sensor->model_no);
713eab88c66de4e Ian Abbott        2017-03-08  487  			spriv->serial_no = get_u16(&sensor->serial_no);
07b509e6584a552 Anders Blomdell   2009-02-12  488  
2696fb57e6af653 Bill Pemberton    2009-03-27  489  			/* Transformation all zeros */
b1f68dc1d610159 Ian Abbott        2009-09-21  490  			for (i = 0; i < ARRAY_SIZE(transf.link); i++) {
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  491  				transf.link[i].link_type = (enum link_types)0;
b1f68dc1d610159 Ian Abbott        2009-09-21  492  				transf.link[i].link_amount = 0;
b1f68dc1d610159 Ian Abbott        2009-09-21  493  			}
07b509e6584a552 Anders Blomdell   2009-02-12  494  
713eab88c66de4e Ian Abbott        2017-03-08  495  			set_transforms(sensor, &transf, 0);
713eab88c66de4e Ian Abbott        2017-03-08  496  			use_transform(sensor, 0);
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  497  			spriv->state = state_jr3_init_transform_complete;
abcdc99f7cb387f Ian Abbott        2012-11-01  498  			/* Allow 20 ms for completion */
abcdc99f7cb387f Ian Abbott        2012-11-01  499  			result = poll_delay_min_max(20, 100);
07b509e6584a552 Anders Blomdell   2009-02-12  500  		}
abcdc99f7cb387f Ian Abbott        2012-11-01  501  		break;
abcdc99f7cb387f Ian Abbott        2012-11-01  502  	case state_jr3_init_transform_complete:
713eab88c66de4e Ian Abbott        2017-03-08  503  		if (!is_complete(sensor)) {
07b509e6584a552 Anders Blomdell   2009-02-12  504  			result = poll_delay_min_max(20, 100);
07b509e6584a552 Anders Blomdell   2009-02-12  505  		} else {
2696fb57e6af653 Bill Pemberton    2009-03-27  506  			/* Set full scale */
050509fa5583063 Bill Pemberton    2009-03-16  507  			struct six_axis_t min_full_scale;
050509fa5583063 Bill Pemberton    2009-03-16  508  			struct six_axis_t max_full_scale;
07b509e6584a552 Anders Blomdell   2009-02-12  509  
713eab88c66de4e Ian Abbott        2017-03-08  510  			min_full_scale = get_min_full_scales(sensor);
713eab88c66de4e Ian Abbott        2017-03-08  511  			max_full_scale = get_max_full_scales(sensor);
713eab88c66de4e Ian Abbott        2017-03-08  512  			set_full_scales(sensor, max_full_scale);
07b509e6584a552 Anders Blomdell   2009-02-12  513  
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  514  			spriv->state = state_jr3_init_set_full_scale_complete;
abcdc99f7cb387f Ian Abbott        2012-11-01  515  			/* Allow 20 ms for completion */
abcdc99f7cb387f Ian Abbott        2012-11-01  516  			result = poll_delay_min_max(20, 100);
07b509e6584a552 Anders Blomdell   2009-02-12  517  		}
07b509e6584a552 Anders Blomdell   2009-02-12  518  		break;
abcdc99f7cb387f Ian Abbott        2012-11-01  519  	case state_jr3_init_set_full_scale_complete:
713eab88c66de4e Ian Abbott        2017-03-08  520  		if (!is_complete(sensor)) {
07b509e6584a552 Anders Blomdell   2009-02-12  521  			result = poll_delay_min_max(20, 100);
07b509e6584a552 Anders Blomdell   2009-02-12  522  		} else {
713eab88c66de4e Ian Abbott        2017-03-08  523  			struct force_array __iomem *fs = &sensor->full_scale;
4af8c8195188b5d Ian Abbott        2017-02-17  524  			union jr3_pci_single_range *r = spriv->range;
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  525  
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  526  			/* Use ranges in kN or we will overflow around 2000N! */
4af8c8195188b5d Ian Abbott        2017-02-17 @527  			r[0].l.range[0].min = -get_s16(&fs->fx) * 1000;
4af8c8195188b5d Ian Abbott        2017-02-17  528  			r[0].l.range[0].max = get_s16(&fs->fx) * 1000;
4af8c8195188b5d Ian Abbott        2017-02-17  529  			r[1].l.range[0].min = -get_s16(&fs->fy) * 1000;
4af8c8195188b5d Ian Abbott        2017-02-17  530  			r[1].l.range[0].max = get_s16(&fs->fy) * 1000;
4af8c8195188b5d Ian Abbott        2017-02-17  531  			r[2].l.range[0].min = -get_s16(&fs->fz) * 1000;
4af8c8195188b5d Ian Abbott        2017-02-17  532  			r[2].l.range[0].max = get_s16(&fs->fz) * 1000;
4af8c8195188b5d Ian Abbott        2017-02-17  533  			r[3].l.range[0].min = -get_s16(&fs->mx) * 100;
4af8c8195188b5d Ian Abbott        2017-02-17  534  			r[3].l.range[0].max = get_s16(&fs->mx) * 100;
4af8c8195188b5d Ian Abbott        2017-02-17  535  			r[4].l.range[0].min = -get_s16(&fs->my) * 100;
4af8c8195188b5d Ian Abbott        2017-02-17  536  			r[4].l.range[0].max = get_s16(&fs->my) * 100;
4af8c8195188b5d Ian Abbott        2017-02-17  537  			r[5].l.range[0].min = -get_s16(&fs->mz) * 100;
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  538  			/* the next five are questionable */
4af8c8195188b5d Ian Abbott        2017-02-17  539  			r[5].l.range[0].max = get_s16(&fs->mz) * 100;
4af8c8195188b5d Ian Abbott        2017-02-17  540  			r[6].l.range[0].min = -get_s16(&fs->v1) * 100;
4af8c8195188b5d Ian Abbott        2017-02-17  541  			r[6].l.range[0].max = get_s16(&fs->v1) * 100;
4af8c8195188b5d Ian Abbott        2017-02-17  542  			r[7].l.range[0].min = -get_s16(&fs->v2) * 100;
4af8c8195188b5d Ian Abbott        2017-02-17  543  			r[7].l.range[0].max = get_s16(&fs->v2) * 100;
4af8c8195188b5d Ian Abbott        2017-02-17  544  			r[8].l.range[0].min = 0;
4af8c8195188b5d Ian Abbott        2017-02-17  545  			r[8].l.range[0].max = 65535;
07b509e6584a552 Anders Blomdell   2009-02-12  546  
713eab88c66de4e Ian Abbott        2017-03-08  547  			use_offset(sensor, 0);
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  548  			spriv->state = state_jr3_init_use_offset_complete;
abcdc99f7cb387f Ian Abbott        2012-11-01  549  			/* Allow 40 ms for completion */
abcdc99f7cb387f Ian Abbott        2012-11-01  550  			result = poll_delay_min_max(40, 100);
07b509e6584a552 Anders Blomdell   2009-02-12  551  		}
07b509e6584a552 Anders Blomdell   2009-02-12  552  		break;
abcdc99f7cb387f Ian Abbott        2012-11-01  553  	case state_jr3_init_use_offset_complete:
713eab88c66de4e Ian Abbott        2017-03-08  554  		if (!is_complete(sensor)) {
07b509e6584a552 Anders Blomdell   2009-02-12  555  			result = poll_delay_min_max(20, 100);
07b509e6584a552 Anders Blomdell   2009-02-12  556  		} else {
713eab88c66de4e Ian Abbott        2017-03-08  557  			set_s16(&sensor->offsets.fx, 0);
713eab88c66de4e Ian Abbott        2017-03-08  558  			set_s16(&sensor->offsets.fy, 0);
713eab88c66de4e Ian Abbott        2017-03-08  559  			set_s16(&sensor->offsets.fz, 0);
713eab88c66de4e Ian Abbott        2017-03-08  560  			set_s16(&sensor->offsets.mx, 0);
713eab88c66de4e Ian Abbott        2017-03-08  561  			set_s16(&sensor->offsets.my, 0);
713eab88c66de4e Ian Abbott        2017-03-08  562  			set_s16(&sensor->offsets.mz, 0);
07b509e6584a552 Anders Blomdell   2009-02-12  563  
713eab88c66de4e Ian Abbott        2017-03-08  564  			set_offset(sensor);
07b509e6584a552 Anders Blomdell   2009-02-12  565  
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  566  			spriv->state = state_jr3_done;
07b509e6584a552 Anders Blomdell   2009-02-12  567  		}
07b509e6584a552 Anders Blomdell   2009-02-12  568  		break;
abcdc99f7cb387f Ian Abbott        2012-11-01  569  	case state_jr3_done:
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  570  		result = poll_delay_min_max(10000, 20000);
07b509e6584a552 Anders Blomdell   2009-02-12  571  		break;
abcdc99f7cb387f Ian Abbott        2012-11-01  572  	default:
07b509e6584a552 Anders Blomdell   2009-02-12  573  		break;
07b509e6584a552 Anders Blomdell   2009-02-12  574  	}
01fca4732b98ab5 H Hartley Sweeten 2014-03-07  575  
07b509e6584a552 Anders Blomdell   2009-02-12  576  	return result;
07b509e6584a552 Anders Blomdell   2009-02-12  577  }
07b509e6584a552 Anders Blomdell   2009-02-12  578  

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] staging: comedi: remove warnings of comedi_lrange
  2020-12-23  2:24 chensong
  2020-12-23  8:06 ` Greg KH
@ 2020-12-29  3:50 ` kernel test robot
  2020-12-29  3:56 ` kernel test robot
  2020-12-29  4:00 ` kernel test robot
  3 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2020-12-29  3:50 UTC (permalink / raw)
  To: chensong, greg, linux-kernel
  Cc: kbuild-all, abbotti, hsweeten, chensong, chensong

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

Hi chensong,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on staging/staging-testing]

url:    https://github.com/0day-ci/linux/commits/chensong/staging-comedi-remove-warnings-of-comedi_lrange/20201223-104542
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 5e60366d56c630e32befce7ef05c569e04391ca3
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-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/fec78f1f56c0e63e9240b5b30c3b98d29ecc9a49
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review chensong/staging-comedi-remove-warnings-of-comedi_lrange/20201223-104542
        git checkout fec78f1f56c0e63e9240b5b30c3b98d29ecc9a49
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/staging/comedi/drivers/das16.c: In function 'das16_ai_range':
   drivers/staging/comedi/drivers/das16.c:971:18: error: assignment of member 'length' in read-only object
     971 |   lrange->length = 1;
         |                  ^
>> drivers/staging/comedi/drivers/das16.c:972:10: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     972 |   krange = lrange->range;
         |          ^
   drivers/staging/comedi/drivers/das16.c: In function 'das16_ao_range':
   drivers/staging/comedi/drivers/das16.c:1005:18: error: assignment of member 'length' in read-only object
    1005 |   lrange->length = 1;
         |                  ^
   drivers/staging/comedi/drivers/das16.c:1006:10: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    1006 |   krange = lrange->range;
         |          ^


vim +/const +972 drivers/staging/comedi/drivers/das16.c

742c4a095973f69 H Hartley Sweeten 2015-01-12  949  
0ce8280e2876091 H Hartley Sweeten 2015-01-26  950  static const struct comedi_lrange *das16_ai_range(struct comedi_device *dev,
0ce8280e2876091 H Hartley Sweeten 2015-01-26  951  						  struct comedi_subdevice *s,
0ce8280e2876091 H Hartley Sweeten 2015-01-26  952  						  struct comedi_devconfig *it,
0ce8280e2876091 H Hartley Sweeten 2015-01-26  953  						  unsigned int pg_type,
0ce8280e2876091 H Hartley Sweeten 2015-01-26  954  						  unsigned int status)
0ce8280e2876091 H Hartley Sweeten 2015-01-26  955  {
0ce8280e2876091 H Hartley Sweeten 2015-01-26  956  	unsigned int min = it->options[4];
0ce8280e2876091 H Hartley Sweeten 2015-01-26  957  	unsigned int max = it->options[5];
0ce8280e2876091 H Hartley Sweeten 2015-01-26  958  
0ce8280e2876091 H Hartley Sweeten 2015-01-26  959  	/* get any user-defined input range */
0ce8280e2876091 H Hartley Sweeten 2015-01-26  960  	if (pg_type == das16_pg_none && (min || max)) {
fec78f1f56c0e63 chensong          2020-12-23  961  		const struct comedi_lrange *lrange;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  962  		struct comedi_krange *krange;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  963  
0ce8280e2876091 H Hartley Sweeten 2015-01-26  964  		/* allocate single-range range table */
0ce8280e2876091 H Hartley Sweeten 2015-01-26  965  		lrange = comedi_alloc_spriv(s,
0ce8280e2876091 H Hartley Sweeten 2015-01-26  966  					    sizeof(*lrange) + sizeof(*krange));
0ce8280e2876091 H Hartley Sweeten 2015-01-26  967  		if (!lrange)
0ce8280e2876091 H Hartley Sweeten 2015-01-26  968  			return &range_unknown;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  969  
0ce8280e2876091 H Hartley Sweeten 2015-01-26  970  		/* initialize ai range */
0ce8280e2876091 H Hartley Sweeten 2015-01-26 @971  		lrange->length = 1;
0ce8280e2876091 H Hartley Sweeten 2015-01-26 @972  		krange = lrange->range;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  973  		krange->min = min;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  974  		krange->max = max;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  975  		krange->flags = UNIT_volt;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  976  
0ce8280e2876091 H Hartley Sweeten 2015-01-26  977  		return lrange;
0ce8280e2876091 H Hartley Sweeten 2015-01-26  978  	}
0ce8280e2876091 H Hartley Sweeten 2015-01-26  979  
0ce8280e2876091 H Hartley Sweeten 2015-01-26  980  	/* use software programmable range */
0ce8280e2876091 H Hartley Sweeten 2015-01-26  981  	if (status & DAS16_STATUS_UNIPOLAR)
0ce8280e2876091 H Hartley Sweeten 2015-01-26  982  		return das16_ai_uni_lranges[pg_type];
0ce8280e2876091 H Hartley Sweeten 2015-01-26  983  	return das16_ai_bip_lranges[pg_type];
0ce8280e2876091 H Hartley Sweeten 2015-01-26  984  }
0ce8280e2876091 H Hartley Sweeten 2015-01-26  985  

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] staging: comedi: remove warnings of comedi_lrange
  2020-12-23  2:24 chensong
@ 2020-12-23  8:06 ` Greg KH
  2020-12-29  3:50 ` kernel test robot
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Greg KH @ 2020-12-23  8:06 UTC (permalink / raw)
  To: chensong; +Cc: linux-kernel, abbotti, hsweeten, chensong

On Wed, Dec 23, 2020 at 10:24:23AM +0800, chensong wrote:
> Checkpatch.pl reports "warning: struct comedi_lrange should
> normally be const" in some places, which are supposed to
> be removed.
> 
> Signed-off-by: chensong <chensong_2000@189.cn>
> ---
>  drivers/staging/comedi/drivers/das16.c   | 4 ++--
>  drivers/staging/comedi/drivers/jr3_pci.c | 4 ++--
>  drivers/staging/comedi/drivers/ni_670x.c | 2 +-
>  3 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/staging/comedi/drivers/das16.c b/drivers/staging/comedi/drivers/das16.c
> index 4ac2622..40bfd84 100644
> --- a/drivers/staging/comedi/drivers/das16.c
> +++ b/drivers/staging/comedi/drivers/das16.c
> @@ -958,7 +958,7 @@ static const struct comedi_lrange *das16_ai_range(struct comedi_device *dev,
>  
>  	/* get any user-defined input range */
>  	if (pg_type == das16_pg_none && (min || max)) {
> -		struct comedi_lrange *lrange;
> +		const struct comedi_lrange *lrange;
>  		struct comedi_krange *krange;
>  
>  		/* allocate single-range range table */
> @@ -992,7 +992,7 @@ static const struct comedi_lrange *das16_ao_range(struct comedi_device *dev,
>  
>  	/* get any user-defined output range */
>  	if (min || max) {
> -		struct comedi_lrange *lrange;
> +		const struct comedi_lrange *lrange;
>  		struct comedi_krange *krange;
>  
>  		/* allocate single-range range table */
> diff --git a/drivers/staging/comedi/drivers/jr3_pci.c b/drivers/staging/comedi/drivers/jr3_pci.c
> index 7a02c4f..c35db0b 100644
> --- a/drivers/staging/comedi/drivers/jr3_pci.c
> +++ b/drivers/staging/comedi/drivers/jr3_pci.c
> @@ -91,8 +91,8 @@ struct jr3_pci_dev_private {
>  };
>  
>  union jr3_pci_single_range {
> -	struct comedi_lrange l;
> -	char _reserved[offsetof(struct comedi_lrange, range[1])];
> +	const struct comedi_lrange l;
> +	char _reserved[offsetof(const struct comedi_lrange, range[1])];
>  };
>  
>  enum jr3_pci_poll_state {
> diff --git a/drivers/staging/comedi/drivers/ni_670x.c b/drivers/staging/comedi/drivers/ni_670x.c
> index c197e47..66485ec 100644
> --- a/drivers/staging/comedi/drivers/ni_670x.c
> +++ b/drivers/staging/comedi/drivers/ni_670x.c
> @@ -200,7 +200,7 @@ static int ni_670x_auto_attach(struct comedi_device *dev,
>  		const struct comedi_lrange **range_table_list;
>  
>  		range_table_list = kmalloc_array(32,
> -						 sizeof(struct comedi_lrange *),
> +						 sizeof(const struct comedi_lrange *),
>  						 GFP_KERNEL);
>  		if (!range_table_list)
>  			return -ENOMEM;
> -- 
> 2.7.4
> 

Hi,

This is the friendly patch-bot of Greg Kroah-Hartman.  You have sent him
a patch that has triggered this response.  He used to manually respond
to these common problems, but in order to save his sanity (he kept
writing the same thing over and over, yet to different people), I was
created.  Hopefully you will not take offence and will fix the problem
in your patch and resubmit it so that it can be accepted into the Linux
kernel tree.

You are receiving this message because of the following common error(s)
as indicated below:

- It looks like you did not use your "real" name for the patch on either
  the Signed-off-by: line, or the From: line (both of which have to
  match).  Please read the kernel file, Documentation/SubmittingPatches
  for how to do this correctly.

If you wish to discuss this problem further, or you have questions about
how to resolve this issue, please feel free to respond to this email and
Greg will reply once he has dug out from the pending patches received
from other developers.

thanks,

greg k-h's patch email bot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] staging: comedi: remove warnings of comedi_lrange
@ 2020-12-23  2:24 chensong
  2020-12-23  8:06 ` Greg KH
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: chensong @ 2020-12-23  2:24 UTC (permalink / raw)
  To: greg, linux-kernel; +Cc: abbotti, hsweeten, chensong, chensong

Checkpatch.pl reports "warning: struct comedi_lrange should
normally be const" in some places, which are supposed to
be removed.

Signed-off-by: chensong <chensong_2000@189.cn>
---
 drivers/staging/comedi/drivers/das16.c   | 4 ++--
 drivers/staging/comedi/drivers/jr3_pci.c | 4 ++--
 drivers/staging/comedi/drivers/ni_670x.c | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/comedi/drivers/das16.c b/drivers/staging/comedi/drivers/das16.c
index 4ac2622..40bfd84 100644
--- a/drivers/staging/comedi/drivers/das16.c
+++ b/drivers/staging/comedi/drivers/das16.c
@@ -958,7 +958,7 @@ static const struct comedi_lrange *das16_ai_range(struct comedi_device *dev,
 
 	/* get any user-defined input range */
 	if (pg_type == das16_pg_none && (min || max)) {
-		struct comedi_lrange *lrange;
+		const struct comedi_lrange *lrange;
 		struct comedi_krange *krange;
 
 		/* allocate single-range range table */
@@ -992,7 +992,7 @@ static const struct comedi_lrange *das16_ao_range(struct comedi_device *dev,
 
 	/* get any user-defined output range */
 	if (min || max) {
-		struct comedi_lrange *lrange;
+		const struct comedi_lrange *lrange;
 		struct comedi_krange *krange;
 
 		/* allocate single-range range table */
diff --git a/drivers/staging/comedi/drivers/jr3_pci.c b/drivers/staging/comedi/drivers/jr3_pci.c
index 7a02c4f..c35db0b 100644
--- a/drivers/staging/comedi/drivers/jr3_pci.c
+++ b/drivers/staging/comedi/drivers/jr3_pci.c
@@ -91,8 +91,8 @@ struct jr3_pci_dev_private {
 };
 
 union jr3_pci_single_range {
-	struct comedi_lrange l;
-	char _reserved[offsetof(struct comedi_lrange, range[1])];
+	const struct comedi_lrange l;
+	char _reserved[offsetof(const struct comedi_lrange, range[1])];
 };
 
 enum jr3_pci_poll_state {
diff --git a/drivers/staging/comedi/drivers/ni_670x.c b/drivers/staging/comedi/drivers/ni_670x.c
index c197e47..66485ec 100644
--- a/drivers/staging/comedi/drivers/ni_670x.c
+++ b/drivers/staging/comedi/drivers/ni_670x.c
@@ -200,7 +200,7 @@ static int ni_670x_auto_attach(struct comedi_device *dev,
 		const struct comedi_lrange **range_table_list;
 
 		range_table_list = kmalloc_array(32,
-						 sizeof(struct comedi_lrange *),
+						 sizeof(const struct comedi_lrange *),
 						 GFP_KERNEL);
 		if (!range_table_list)
 			return -ENOMEM;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-12-29  4:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-24  0:58 [PATCH] staging: comedi: remove warnings of comedi_lrange Song Chen
2020-12-28 14:04 ` Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2020-12-23  2:24 chensong
2020-12-23  8:06 ` Greg KH
2020-12-29  3:50 ` kernel test robot
2020-12-29  3:56 ` kernel test robot
2020-12-29  4:00 ` kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).