All of lore.kernel.org
 help / color / mirror / Atom feed
* [atishp04:gtmb_rfc_poc 2/2] drivers/irqchip/irq-acpi-gtmb.c:355:34: warning: format specifies type 'int' but the argument has type 'u64' (aka 'unsigned long long')
@ 2024-09-11  0:22 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-09-11  0:22 UTC (permalink / raw)
  To: Atish Patra; +Cc: llvm, oe-kbuild-all, Atish Patra

tree:   https://github.com/atishp04/linux gtmb_rfc_poc
head:   d975d1fc71375296874c62007464dd2a87b861af
commit: d975d1fc71375296874c62007464dd2a87b861af [2/2] drivers/irqchip: Add GTMB driver for GSI based ACPI devices
config: riscv-defconfig (https://download.01.org/0day-ci/archive/20240911/202409110802.wbMg86QB-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project bf684034844c660b778f0eba103582f582b710c9)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240911/202409110802.wbMg86QB-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409110802.wbMg86QB-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from drivers/irqchip/irq-acpi-gtmb.c:11:
   In file included from include/linux/irq.h:23:
   In file included from arch/riscv/include/asm/irq.h:10:
   In file included from include/linux/interrupt.h:22:
   In file included from arch/riscv/include/asm/sections.h:9:
   In file included from include/linux/mm.h:2228:
   include/linux/vmstat.h:517:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     517 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
>> drivers/irqchip/irq-acpi-gtmb.c:355:34: warning: format specifies type 'int' but the argument has type 'u64' (aka 'unsigned long long') [-Wformat]
     355 |                 pr_info("Registered GSI %d\n", res->gsino);
         |                                         ~~     ^~~~~~~~~~
         |                                         %llu
   include/linux/printk.h:538:34: note: expanded from macro 'pr_info'
     538 |         printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         |                                 ~~~     ^~~~~~~~~~~
   include/linux/printk.h:465:60: note: expanded from macro 'printk'
     465 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
         |                                                     ~~~    ^~~~~~~~~~~
   include/linux/printk.h:437:19: note: expanded from macro 'printk_index_wrap'
     437 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
         |                         ~~~~    ^~~~~~~~~~~
   2 warnings generated.


vim +355 drivers/irqchip/irq-acpi-gtmb.c

   262	
   263	static int gtmb_parse_package_resource(struct platform_device *pdev, struct gtmb_data *data)
   264	{
   265		struct device *dev = &pdev->dev;
   266		int result = -EFAULT;
   267		acpi_status status = AE_OK;
   268		struct acpi_buffer buffer = {ACPI_ALLOCATE_BUFFER, NULL};
   269		union acpi_object *gtmb_obj = NULL, *tmp_obj, *gsi_num_obj, *gtmb_reg_obj;
   270		struct gtmb_dev_res *res;
   271		struct gtmb_reg *gas_t;
   272		int i,j;
   273	
   274		struct acpi_handle *handle = ACPI_HANDLE_FWNODE(dev->fwnode);
   275		status = acpi_evaluate_object_typed(handle, "_GMA", NULL,
   276						    &buffer, ACPI_TYPE_PACKAGE);
   277		if (status == AE_NOT_FOUND)
   278			return 0;
   279		if (ACPI_FAILURE(status))
   280			return -ENODEV;
   281	
   282		gtmb_obj = buffer.pointer;
   283		if (!gtmb_obj) {
   284			pr_err("Invalid GTMB data\n");
   285			goto end;
   286		}
   287	
   288		/* Validate the version */
   289		if (gtmb_obj->package.elements[0].integer.value != ACPI_GTMB_VERSION){
   290			pr_err("Invalid GTMB Version\n");
   291			goto end;
   292		}
   293	
   294		for (i = 1; i < gtmb_obj->package.count; i++) {
   295			tmp_obj = &gtmb_obj->package.elements[i];
   296			if (tmp_obj->type != ACPI_TYPE_PACKAGE) {
   297				pr_err("Unsupported _GMA object found at %i index of type %d\n", i, tmp_obj->type);
   298				goto end;
   299			}
   300			if(tmp_obj->package.count != (GTMB_MSI_INDEX_MAX + 1)) {
   301				pr_err("Unsupported _GMA object found at %i with package elements %d\n",
   302					i, tmp_obj->package.count);
   303				goto end;
   304			}
   305	
   306			res = devm_kzalloc(dev, sizeof(*res), GFP_KERNEL);
   307			if (!res)
   308				goto end_nomem;
   309	
   310			gsi_num_obj = &tmp_obj->package.elements[0];
   311			if (gsi_num_obj->type != ACPI_TYPE_INTEGER) {
   312				pr_err("Unsupported _GMA object found at %i with invalid first element type %d\n",
   313					i, gsi_num_obj->type);
   314				goto end;
   315			}
   316	
   317			res->gsino = gsi_num_obj->integer.value;
   318			for(j = 0; j < GTMB_MSI_INDEX_MAX; j++) {
   319				gtmb_reg_obj = &tmp_obj->package.elements[j+1];
   320				if (gtmb_reg_obj->type == ACPI_TYPE_INTEGER) {
   321					if ((j == GTMB_MSI_RETRIGGER_REG_INDEX) ||
   322					    (j >= GTMB_MSI_TRIG_TYPE_EDGE_RISING_INDEX &&
   323					    j <= GTMB_MSI_TRIG_TYPE_LEVEL_LOW_INDEX)){
   324					    	res->regs[j].type = ACPI_TYPE_INTEGER;
   325						res->regs[j].int_val = gtmb_reg_obj->integer.value;
   326					    } else {
   327						pr_err("Invalid _GMA object at %i type %d\n",
   328							j, gtmb_reg_obj->type);
   329						goto free_list;
   330					    }
   331				}
   332				else if (gtmb_reg_obj->type == ACPI_TYPE_BUFFER) {
   333					gas_t = (struct gtmb_reg *)gtmb_reg_obj->buffer.pointer;
   334					if (gas_t->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY) {
   335						if (gas_t->address) {
   336							void __iomem *addr;
   337							size_t access_width;
   338							access_width = GET_BIT_WIDTH(gas_t) / 8;
   339							addr = ioremap(gas_t->address, access_width);
   340							if (!addr)
   341								goto free_list;
   342							res->regs[j].type = ACPI_ADR_SPACE_SYSTEM_MEMORY;
   343							res->regs[j].sysmem_va = addr;
   344						}
   345					} else {
   346						pr_err("Unsupported register type(%d) in _SMC object at index(%d)\n", gas_t->space_id, j);
   347						goto end;
   348					}
   349				} else {
   350					pr_err("Unsupported _GMA object found at %i with invalid element type %d\n",
   351						i, gtmb_reg_obj->type);
   352					goto free_list;
   353				}
   354			}
 > 355			pr_info("Registered GSI %d\n", res->gsino);
   356			list_add(&res->list, &data->dev_res_list);
   357		}
   358		kfree(buffer.pointer);
   359		return 0;
   360	
   361	end_nomem:
   362		result = -ENOMEM;
   363	free_list:
   364		gtmb_free_devres_list(data);
   365	end:
   366		kfree(buffer.pointer);
   367		return result;
   368	}
   369	

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-09-11  0:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-11  0:22 [atishp04:gtmb_rfc_poc 2/2] drivers/irqchip/irq-acpi-gtmb.c:355:34: warning: format specifies type 'int' but the argument has type 'u64' (aka 'unsigned long long') kernel test robot

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.