Re: [PATCH v2 07/10] cxl/memscrub: Register CXL device patrol scrub with scrub configure driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on v6.7-rc2 next-20231121]
[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/shiju-jose-huawei-com/cxl-mbox-Add-GET_SUPPORTED_FEATURES-mailbox-command/20231121-182247
base:   linus/master
patch link:    https://lore.kernel.org/r/20231121101844.1161-8-shiju.jose%40huawei.com
patch subject: [PATCH v2 07/10] cxl/memscrub: Register CXL device patrol scrub with scrub configure driver
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20231122/202311221316.CqzLVodA-lkp@xxxxxxxxx/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231122/202311221316.CqzLVodA-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311221316.CqzLVodA-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/cxl/core/memscrub.c:330:9: warning: no previous prototype for function 'cxl_mem_patrol_scrub_is_visible' [-Wmissing-prototypes]
   umode_t cxl_mem_patrol_scrub_is_visible(const void *drv_data, u32 attr, int region_id)
           ^
   drivers/cxl/core/memscrub.c:330:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   umode_t cxl_mem_patrol_scrub_is_visible(const void *drv_data, u32 attr, int region_id)
   ^
   static 
>> drivers/cxl/core/memscrub.c:361:5: warning: no previous prototype for function 'cxl_mem_patrol_scrub_read' [-Wmissing-prototypes]
   int cxl_mem_patrol_scrub_read(struct device *dev, u32 attr, int region_id, u64 *val)
       ^
   drivers/cxl/core/memscrub.c:361:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int cxl_mem_patrol_scrub_read(struct device *dev, u32 attr, int region_id, u64 *val)
   ^
   static 
>> drivers/cxl/core/memscrub.c:381:5: warning: no previous prototype for function 'cxl_mem_patrol_scrub_write' [-Wmissing-prototypes]
   int cxl_mem_patrol_scrub_write(struct device *dev, u32 attr, int region_id, u64 val)
       ^
   drivers/cxl/core/memscrub.c:381:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int cxl_mem_patrol_scrub_write(struct device *dev, u32 attr, int region_id, u64 val)
   ^
   static 
>> drivers/cxl/core/memscrub.c:402:5: warning: no previous prototype for function 'cxl_mem_patrol_scrub_read_strings' [-Wmissing-prototypes]
   int cxl_mem_patrol_scrub_read_strings(struct device *dev, u32 attr, int region_id,
       ^
   drivers/cxl/core/memscrub.c:402:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int cxl_mem_patrol_scrub_read_strings(struct device *dev, u32 attr, int region_id,
   ^
   static 
   drivers/cxl/core/memscrub.c:584:12: warning: unused function 'cxl_mem_ecs_set_attrbs' [-Wunused-function]
   static int cxl_mem_ecs_set_attrbs(struct device *dev, int fru_id,
              ^
   5 warnings generated.


vim +/cxl_mem_patrol_scrub_is_visible +330 drivers/cxl/core/memscrub.c

   320	
   321	/**
   322	 * cxl_mem_patrol_scrub_is_visible() - Callback to return attribute visibility
   323	 * @drv_data: Pointer to driver-private data structure passed
   324	 *	      as argument to devm_scrub_device_register().
   325	 * @attr: Scrub attribute
   326	 * @region_id: ID of the memory region
   327	 *
   328	 * Returns: 0 on success, an error otherwise
   329	 */
 > 330	umode_t cxl_mem_patrol_scrub_is_visible(const void *drv_data, u32 attr, int region_id)
   331	{
   332		const struct cxl_patrol_scrub_context *cxl_ps_ctx = drv_data;
   333	
   334		if (attr == scrub_speed_available ||
   335		    attr == scrub_speed) {
   336			if (!cxl_ps_ctx->scrub_cycle_changable)
   337				return 0;
   338		}
   339	
   340		switch (attr) {
   341		case scrub_speed_available:
   342			return 0444;
   343		case scrub_enable:
   344			return 0200;
   345		case scrub_speed:
   346			return 0644;
   347		default:
   348			return 0;
   349		}
   350	}
   351	
   352	/**
   353	 * cxl_mem_patrol_scrub_read() - Read callback for data attributes
   354	 * @dev: Pointer to scrub device
   355	 * @attr: Scrub attribute
   356	 * @region_id: ID of the memory region
   357	 * @val: Pointer to the returned data
   358	 *
   359	 * Returns: 0 on success, an error otherwise
   360	 */
 > 361	int cxl_mem_patrol_scrub_read(struct device *dev, u32 attr, int region_id, u64 *val)
   362	{
   363	
   364		switch (attr) {
   365		case scrub_speed:
   366			return cxl_mem_ps_speed_read(dev->parent, val);
   367		default:
   368			return -ENOTSUPP;
   369		}
   370	}
   371	
   372	/**
   373	 * cxl_mem_patrol_scrub_write() - Write callback for data attributes
   374	 * @dev: Pointer to scrub device
   375	 * @attr: Scrub attribute
   376	 * @region_id: ID of the memory region
   377	 * @val: Value to write
   378	 *
   379	 * Returns: 0 on success, an error otherwise
   380	 */
 > 381	int cxl_mem_patrol_scrub_write(struct device *dev, u32 attr, int region_id, u64 val)
   382	{
   383		switch (attr) {
   384		case scrub_enable:
   385			return cxl_mem_ps_enable_write(dev->parent, val);
   386		case scrub_speed:
   387			return cxl_mem_ps_speed_write(dev->parent, val);
   388		default:
   389			return -ENOTSUPP;
   390		}
   391	}
   392	
   393	/**
   394	 * cxl_mem_patrol_scrub_read_strings() - Read callback for string attributes
   395	 * @dev: Pointer to scrub device
   396	 * @attr: Scrub attribute
   397	 * @region_id: ID of the memory region
   398	 * @buf: Pointer to the buffer for copying returned string
   399	 *
   400	 * Returns: 0 on success, an error otherwise
   401	 */
 > 402	int cxl_mem_patrol_scrub_read_strings(struct device *dev, u32 attr, int region_id,
   403					      char *buf)
   404	{
   405		switch (attr) {
   406		case scrub_speed_available:
   407			return cxl_mem_ps_speed_available_read(dev->parent, buf);
   408		default:
   409			return -ENOTSUPP;
   410		}
   411	}
   412	

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




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux