All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info
@ 2023-04-07 15:01 Krzysztof Kozlowski
  2023-04-07 17:50 ` kernel test robot
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-07 15:01 UTC (permalink / raw)
  To: Alim Akhtar, Avri Altman, Bart Van Assche, James E.J. Bottomley,
	Martin K. Petersen, linux-scsi, linux-kernel
  Cc: Krzysztof Kozlowski, Jean Delvare, Guenter Roeck, linux-hwmon

Statically allocated array of pointed to hwmon_channel_info can be made
const for safety.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

---

This depends on hwmon core patch:
https://lore.kernel.org/all/20230406203103.3011503-2-krzysztof.kozlowski@linaro.org/

Therefore I propose this should also go via hwmon tree.

Cc: Jean Delvare <jdelvare@suse.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: linux-hwmon@vger.kernel.org
---
 drivers/ufs/core/ufs-hwmon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/ufs/core/ufs-hwmon.c b/drivers/ufs/core/ufs-hwmon.c
index 4c6a872b7a7c..229e2ad70903 100644
--- a/drivers/ufs/core/ufs-hwmon.c
+++ b/drivers/ufs/core/ufs-hwmon.c
@@ -146,7 +146,7 @@ static umode_t ufs_hwmon_is_visible(const void *_data, enum hwmon_sensor_types t
 	return 0;
 }
 
-static const struct hwmon_channel_info *ufs_hwmon_info[] = {
+static const struct hwmon_channel_info * const ufs_hwmon_info[] = {
 	HWMON_CHANNEL_INFO(temp, HWMON_T_ENABLE | HWMON_T_INPUT | HWMON_T_CRIT | HWMON_T_LCRIT),
 	NULL
 };
-- 
2.34.1


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

* Re: [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info
  2023-04-07 15:01 [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info Krzysztof Kozlowski
@ 2023-04-07 17:50 ` kernel test robot
  2023-04-07 18:11 ` kernel test robot
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: kernel test robot @ 2023-04-07 17:50 UTC (permalink / raw)
  To: Krzysztof Kozlowski; +Cc: oe-kbuild-all

Hi Krzysztof,

kernel test robot noticed the following build warnings:

[auto build test WARNING on mkp-scsi/for-next]
[also build test WARNING on jejb-scsi/for-next linus/master v6.3-rc5 next-20230406]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Krzysztof-Kozlowski/ufs-hwmon-constify-pointers-to-hwmon_channel_info/20230407-231053
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
patch link:    https://lore.kernel.org/r/20230407150137.79947-1-krzysztof.kozlowski%40linaro.org
patch subject: [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info
config: mips-allyesconfig (https://download.01.org/0day-ci/archive/20230408/202304080101.U6AkrSrf-lkp@intel.com/config)
compiler: mips-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/7697d4619c62de396a373d422e59846af320e552
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Krzysztof-Kozlowski/ufs-hwmon-constify-pointers-to-hwmon_channel_info/20230407-231053
        git checkout 7697d4619c62de396a373d422e59846af320e552
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=mips olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/ufs/core/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304080101.U6AkrSrf-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/ufs/core/ufs-hwmon.c:162:19: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     162 |         .info   = ufs_hwmon_info,
         |                   ^~~~~~~~~~~~~~


vim +/const +162 drivers/ufs/core/ufs-hwmon.c

e88e2d32200a17 drivers/scsi/ufs/ufs-hwmon.c Avri Altman 2021-09-15  159  
e88e2d32200a17 drivers/scsi/ufs/ufs-hwmon.c Avri Altman 2021-09-15  160  static const struct hwmon_chip_info ufs_hwmon_hba_info = {
e88e2d32200a17 drivers/scsi/ufs/ufs-hwmon.c Avri Altman 2021-09-15  161  	.ops	= &ufs_hwmon_ops,
e88e2d32200a17 drivers/scsi/ufs/ufs-hwmon.c Avri Altman 2021-09-15 @162  	.info	= ufs_hwmon_info,
e88e2d32200a17 drivers/scsi/ufs/ufs-hwmon.c Avri Altman 2021-09-15  163  };
e88e2d32200a17 drivers/scsi/ufs/ufs-hwmon.c Avri Altman 2021-09-15  164  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

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

* Re: [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info
  2023-04-07 15:01 [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info Krzysztof Kozlowski
  2023-04-07 17:50 ` kernel test robot
@ 2023-04-07 18:11 ` kernel test robot
  2023-04-07 18:30 ` Bart Van Assche
  2023-04-07 23:06 ` Guenter Roeck
  3 siblings, 0 replies; 6+ messages in thread
From: kernel test robot @ 2023-04-07 18:11 UTC (permalink / raw)
  To: Krzysztof Kozlowski; +Cc: llvm, oe-kbuild-all

Hi Krzysztof,

kernel test robot noticed the following build errors:

[auto build test ERROR on mkp-scsi/for-next]
[also build test ERROR on jejb-scsi/for-next linus/master v6.3-rc5 next-20230406]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Krzysztof-Kozlowski/ufs-hwmon-constify-pointers-to-hwmon_channel_info/20230407-231053
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
patch link:    https://lore.kernel.org/r/20230407150137.79947-1-krzysztof.kozlowski%40linaro.org
patch subject: [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info
config: hexagon-randconfig-r045-20230403 (https://download.01.org/0day-ci/archive/20230408/202304080236.gChYf5FS-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 2c57868e2e877f73c339796c3374ae660bb77f0d)
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/intel-lab-lkp/linux/commit/7697d4619c62de396a373d422e59846af320e552
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Krzysztof-Kozlowski/ufs-hwmon-constify-pointers-to-hwmon_channel_info/20230407-231053
        git checkout 7697d4619c62de396a373d422e59846af320e552
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/ufs/core/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304080236.gChYf5FS-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from drivers/ufs/core/ufs-hwmon.c:10:
   In file included from include/ufs/ufshcd.h:16:
   In file included from include/linux/blk-crypto-profile.h:9:
   In file included from include/linux/bio.h:10:
   In file included from include/linux/blk_types.h:10:
   In file included from include/linux/bvec.h:10:
   In file included from include/linux/highmem.h:12:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/hexagon/include/asm/io.h:334:
   include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           val = __raw_readb(PCI_IOBASE + addr);
                             ~~~~~~~~~~ ^
   include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
                                                           ~~~~~~~~~~ ^
   include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
   #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
                                                     ^
   In file included from drivers/ufs/core/ufs-hwmon.c:10:
   In file included from include/ufs/ufshcd.h:16:
   In file included from include/linux/blk-crypto-profile.h:9:
   In file included from include/linux/bio.h:10:
   In file included from include/linux/blk_types.h:10:
   In file included from include/linux/bvec.h:10:
   In file included from include/linux/highmem.h:12:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/hexagon/include/asm/io.h:334:
   include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
                                                           ~~~~~~~~~~ ^
   include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
   #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
                                                     ^
   In file included from drivers/ufs/core/ufs-hwmon.c:10:
   In file included from include/ufs/ufshcd.h:16:
   In file included from include/linux/blk-crypto-profile.h:9:
   In file included from include/linux/bio.h:10:
   In file included from include/linux/blk_types.h:10:
   In file included from include/linux/bvec.h:10:
   In file included from include/linux/highmem.h:12:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/hexagon/include/asm/io.h:334:
   include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           __raw_writeb(value, PCI_IOBASE + addr);
                               ~~~~~~~~~~ ^
   include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
                                                         ~~~~~~~~~~ ^
   include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
           __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
                                                         ~~~~~~~~~~ ^
>> drivers/ufs/core/ufs-hwmon.c:162:10: error: initializing 'const struct hwmon_channel_info **' with an expression of type 'const struct hwmon_channel_info *const[2]' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
           .info   = ufs_hwmon_info,
                     ^~~~~~~~~~~~~~
   6 warnings and 1 error generated.


vim +162 drivers/ufs/core/ufs-hwmon.c

e88e2d32200a17 drivers/scsi/ufs/ufs-hwmon.c Avri Altman 2021-09-15  159  
e88e2d32200a17 drivers/scsi/ufs/ufs-hwmon.c Avri Altman 2021-09-15  160  static const struct hwmon_chip_info ufs_hwmon_hba_info = {
e88e2d32200a17 drivers/scsi/ufs/ufs-hwmon.c Avri Altman 2021-09-15  161  	.ops	= &ufs_hwmon_ops,
e88e2d32200a17 drivers/scsi/ufs/ufs-hwmon.c Avri Altman 2021-09-15 @162  	.info	= ufs_hwmon_info,
e88e2d32200a17 drivers/scsi/ufs/ufs-hwmon.c Avri Altman 2021-09-15  163  };
e88e2d32200a17 drivers/scsi/ufs/ufs-hwmon.c Avri Altman 2021-09-15  164  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

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

* Re: [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info
  2023-04-07 15:01 [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info Krzysztof Kozlowski
  2023-04-07 17:50 ` kernel test robot
  2023-04-07 18:11 ` kernel test robot
@ 2023-04-07 18:30 ` Bart Van Assche
  2023-04-07 18:49   ` Krzysztof Kozlowski
  2023-04-07 23:06 ` Guenter Roeck
  3 siblings, 1 reply; 6+ messages in thread
From: Bart Van Assche @ 2023-04-07 18:30 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Alim Akhtar, Avri Altman,
	James E.J. Bottomley, Martin K. Petersen, linux-scsi,
	linux-kernel
  Cc: Jean Delvare, Guenter Roeck, linux-hwmon

On 4/7/23 08:01, Krzysztof Kozlowski wrote:
> -static const struct hwmon_channel_info *ufs_hwmon_info[] = {
> +static const struct hwmon_channel_info * const ufs_hwmon_info[] = {
>   	HWMON_CHANNEL_INFO(temp, HWMON_T_ENABLE | HWMON_T_INPUT | HWMON_T_CRIT | HWMON_T_LCRIT),
>   	NULL
>   };

A nit: to me the use of whitespace in this patch does not seem to be 
compliant with the Linux kernel coding style.

Thanks,

Bart.

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

* Re: [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info
  2023-04-07 18:30 ` Bart Van Assche
@ 2023-04-07 18:49   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-07 18:49 UTC (permalink / raw)
  To: Bart Van Assche, Alim Akhtar, Avri Altman, James E.J. Bottomley,
	Martin K. Petersen, linux-scsi, linux-kernel
  Cc: Jean Delvare, Guenter Roeck, linux-hwmon

On 07/04/2023 20:30, Bart Van Assche wrote:
> On 4/7/23 08:01, Krzysztof Kozlowski wrote:
>> -static const struct hwmon_channel_info *ufs_hwmon_info[] = {
>> +static const struct hwmon_channel_info * const ufs_hwmon_info[] = {
>>   	HWMON_CHANNEL_INFO(temp, HWMON_T_ENABLE | HWMON_T_INPUT | HWMON_T_CRIT | HWMON_T_LCRIT),
>>   	NULL
>>   };
> 
> A nit: to me the use of whitespace in this patch does not seem to be 
> compliant with the Linux kernel coding style.

You mean it should be:
	hwmon_channel_info *const ufs_hwmon_info
?

I think the pointer * is tied only to variable name, but not to const.
Majority seems to choose similarly:

git grep "\*const" | wc -l
2763
git grep "\* const" | wc -l
16204

But if this is more than a nit, but your preference, I can fix it.

Best regards,
Krzysztof


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

* Re: [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info
  2023-04-07 15:01 [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info Krzysztof Kozlowski
                   ` (2 preceding siblings ...)
  2023-04-07 18:30 ` Bart Van Assche
@ 2023-04-07 23:06 ` Guenter Roeck
  3 siblings, 0 replies; 6+ messages in thread
From: Guenter Roeck @ 2023-04-07 23:06 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Alim Akhtar, Avri Altman, Bart Van Assche,
	James E.J. Bottomley, Martin K. Petersen, linux-scsi,
	linux-kernel
  Cc: Jean Delvare, linux-hwmon

On 4/7/23 08:01, Krzysztof Kozlowski wrote:
> Statically allocated array of pointed to hwmon_channel_info can be made
> const for safety.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> ---
> 
> This depends on hwmon core patch:
> https://lore.kernel.org/all/20230406203103.3011503-2-krzysztof.kozlowski@linaro.org/
> 
> Therefore I propose this should also go via hwmon tree.
> 

I am not going to apply patches for 10+ subsystems through the hwmon tree.
This can only result in chaos. The dependent patch is available at

git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-const

or wait until after the next commit window to apply this patch.

Thanks,
Guenter

> Cc: Jean Delvare <jdelvare@suse.com>
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: linux-hwmon@vger.kernel.org
> ---
>   drivers/ufs/core/ufs-hwmon.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/ufs/core/ufs-hwmon.c b/drivers/ufs/core/ufs-hwmon.c
> index 4c6a872b7a7c..229e2ad70903 100644
> --- a/drivers/ufs/core/ufs-hwmon.c
> +++ b/drivers/ufs/core/ufs-hwmon.c
> @@ -146,7 +146,7 @@ static umode_t ufs_hwmon_is_visible(const void *_data, enum hwmon_sensor_types t
>   	return 0;
>   }
>   
> -static const struct hwmon_channel_info *ufs_hwmon_info[] = {
> +static const struct hwmon_channel_info * const ufs_hwmon_info[] = {
>   	HWMON_CHANNEL_INFO(temp, HWMON_T_ENABLE | HWMON_T_INPUT | HWMON_T_CRIT | HWMON_T_LCRIT),
>   	NULL
>   };


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

end of thread, other threads:[~2023-04-07 23:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-07 15:01 [PATCH] ufs: hwmon: constify pointers to hwmon_channel_info Krzysztof Kozlowski
2023-04-07 17:50 ` kernel test robot
2023-04-07 18:11 ` kernel test robot
2023-04-07 18:30 ` Bart Van Assche
2023-04-07 18:49   ` Krzysztof Kozlowski
2023-04-07 23:06 ` Guenter Roeck

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.