* [rafael-pm:acpi-mipi-disco-img 5/7] drivers/acpi/mipi-disco-img.c:537:6: warning: format specifies type 'int' but the argument has type 'unsigned long'
@ 2023-11-09 9:13 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-11-09 9:13 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: llvm, oe-kbuild-all, linux-acpi, devel, linux-pm, Sakari Ailus
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git acpi-mipi-disco-img
head: 54d87fab9fb060ff0489886ca0fdb101f6a3c03f
commit: a5dbdbb2bfb28643b71d23f75205845cb23af965 [5/7] ACPI: scan: Extract MIPI DisCo for Imaging data into swnodes
config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20231109/202311091629.3jyzqiV7-lkp@intel.com/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/20231109/202311091629.3jyzqiV7-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/202311091629.3jyzqiV7-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/acpi/mipi-disco-img.c:537:6: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat]
ret * BITS_PER_TYPE(u8), num_lanes + 1);
^~~~~~~~~~~~~~~~~~~~~~~
include/linux/acpi.h:1216:47: note: expanded from macro 'acpi_handle_info'
acpi_handle_printk(KERN_INFO, handle, fmt, ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
1 warning generated.
vim +537 drivers/acpi/mipi-disco-img.c
481
482 static void init_csi2_port(struct acpi_device *adev,
483 struct acpi_device_software_nodes *swnodes,
484 struct acpi_device_software_node_port *port,
485 struct fwnode_handle *port_fwnode,
486 unsigned int port_index)
487 {
488 unsigned int ep_prop_index = ACPI_DEVICE_SWNODE_EP_CLOCK_LANES;
489 acpi_handle handle = acpi_device_handle(adev);
490 u8 val[ACPI_DEVICE_CSI2_DATA_LANES];
491 int num_lanes = 0;
492 int ret;
493
494 if (GRAPH_PORT_NAME(port->port_name, port->port_nr))
495 return;
496
497 swnodes->nodes[ACPI_DEVICE_SWNODE_PORT(port_index)] =
498 SOFTWARE_NODE(port->port_name, port->port_props,
499 &swnodes->nodes[ACPI_DEVICE_SWNODE_ROOT]);
500
501 ret = fwnode_property_read_u8(port_fwnode, "mipi-img-clock-lane", val);
502 if (!ret)
503 port->ep_props[NEXT_PROPERTY(ep_prop_index, EP_CLOCK_LANES)] =
504 PROPERTY_ENTRY_U32("clock-lanes", val[0]);
505
506 ret = fwnode_property_count_u8(port_fwnode, "mipi-img-data-lanes");
507 if (ret > 0) {
508 num_lanes = ret;
509
510 if (num_lanes > ACPI_DEVICE_CSI2_DATA_LANES) {
511 acpi_handle_info(handle, "Too many data lanes: %u\n",
512 num_lanes);
513 num_lanes = ACPI_DEVICE_CSI2_DATA_LANES;
514 }
515
516 ret = fwnode_property_read_u8_array(port_fwnode,
517 "mipi-img-data-lanes",
518 val, num_lanes);
519 if (!ret) {
520 unsigned int i;
521
522 for (i = 0; i < num_lanes; i++)
523 port->data_lanes[i] = val[i];
524
525 port->ep_props[NEXT_PROPERTY(ep_prop_index, EP_DATA_LANES)] =
526 PROPERTY_ENTRY_U32_ARRAY_LEN("data-lanes",
527 port->data_lanes,
528 num_lanes);
529 }
530 }
531
532 ret = fwnode_property_count_u8(port_fwnode, "mipi-img-lane-polarities");
533 if (ret < 0) {
534 acpi_handle_debug(handle, "Lane polarity bytes missing\n");
535 } else if (ret * BITS_PER_TYPE(u8) < num_lanes + 1) {
536 acpi_handle_info(handle, "Too few lane polarity bytes (%d vs. %d)\n",
> 537 ret * BITS_PER_TYPE(u8), num_lanes + 1);
538 } else {
539 unsigned long mask = 0;
540 int byte_count = ret;
541 unsigned int i;
542
543 /*
544 * The total number of lanes is ACPI_DEVICE_CSI2_DATA_LANES + 1
545 * (data lanes + clock lane). It is not expected to ever be
546 * greater than the number of bits in an unsigned long
547 * variable, but ensure that this is the case.
548 */
549 BUILD_BUG_ON(BITS_PER_TYPE(unsigned long) <= ACPI_DEVICE_CSI2_DATA_LANES);
550
551 if (byte_count > sizeof(mask)) {
552 acpi_handle_info(handle, "Too many lane polarities: %d\n",
553 byte_count);
554 byte_count = sizeof(mask);
555 }
556 fwnode_property_read_u8_array(port_fwnode, "mipi-img-lane-polarities",
557 val, byte_count);
558
559 for (i = 0; i < byte_count; i++)
560 mask |= (unsigned long)val[i] << BITS_PER_TYPE(u8) * i;
561
562 for (i = 0; i <= num_lanes; i++)
563 port->lane_polarities[i] = test_bit(i, &mask);
564
565 port->ep_props[NEXT_PROPERTY(ep_prop_index, EP_LANE_POLARITIES)] =
566 PROPERTY_ENTRY_U32_ARRAY_LEN("lane-polarities",
567 port->lane_polarities,
568 num_lanes + 1);
569 }
570
571 swnodes->nodes[ACPI_DEVICE_SWNODE_EP(port_index)] =
572 SOFTWARE_NODE("endpoint@0", swnodes->ports[port_index].ep_props,
573 &swnodes->nodes[ACPI_DEVICE_SWNODE_PORT(port_index)]);
574
575 if (port->crs_csi2_local)
576 init_csi2_port_local(adev, port, port_fwnode, ep_prop_index);
577 }
578
--
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:[~2023-11-09 9:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-09 9:13 [rafael-pm:acpi-mipi-disco-img 5/7] drivers/acpi/mipi-disco-img.c:537:6: warning: format specifies type 'int' but the argument has type 'unsigned long' 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