All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/1] platform/x86/tuxedo: Add virtual LampArray for TUXEDO
@ 2024-09-27 12:41 Werner Sembach
  2024-09-27 12:41 ` Werner Sembach
  2024-10-02 12:52 ` Lee Jones
  0 siblings, 2 replies; 13+ messages in thread
From: Werner Sembach @ 2024-09-27 12:41 UTC (permalink / raw)
  Cc: bentiss, dri-devel, hdegoede, jelle, jikos, lee, linux-input,
	linux-kernel, linux-leds, miguel.ojeda.sandonis, ojeda, onitake,
	pavel, cs

Hi,
first revision integrating Armins feedback.

Stuff I did not yet change and did not comment on previously:
- Still have to ask Christoffer why the mutex is required
- Still using acpi_size instad of size_t in the util functions, because the value is put directly into a struct using acpi_size
- Error messages for __wmi_method_acpi_object_out still in that method because they reference method internal variables

Let me know if my reasoning is flawed

Kind regards,
Werner



^ permalink raw reply	[flat|nested] 13+ messages in thread
* Re: [PATCH v2 1/1] platform/x86/tuxedo: Add virtual LampArray for TUXEDO
@ 2024-09-28  7:42 kernel test robot
  0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2024-09-28  7:42 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20240927124152.139099-2-wse@tuxedocomputers.com>
References: <20240927124152.139099-2-wse@tuxedocomputers.com>
TO: Werner Sembach <wse@tuxedocomputers.com>
TO: Hans de Goede <hdegoede@redhat.com>
TO: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
TO: Werner Sembach <wse@tuxedocomputers.com>
CC: bentiss@kernel.org
CC: dri-devel@lists.freedesktop.org
CC: jelle@vdwaa.nl
CC: jikos@kernel.org
CC: lee@kernel.org
CC: linux-input@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: linux-leds@vger.kernel.org
CC: miguel.ojeda.sandonis@gmail.com
CC: ojeda@kernel.org
CC: onitake@gmail.com
CC: pavel@ucw.cz
CC: cs@tuxedo.de
CC: platform-driver-x86@vger.kernel.org

Hi Werner,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-tip/drm-tip linus/master v6.11 next-20240927]
[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/Werner-Sembach/platform-x86-tuxedo-Add-virtual-LampArray-for-TUXEDO/20240927-214157
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240927124152.139099-2-wse%40tuxedocomputers.com
patch subject: [PATCH v2 1/1] platform/x86/tuxedo: Add virtual LampArray for TUXEDO
:::::: branch date: 18 hours ago
:::::: commit date: 18 hours ago
config: x86_64-randconfig-161-20240928 (https://download.01.org/0day-ci/archive/20240928/202409281508.wjZPxkCR-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)

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>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202409281508.wjZPxkCR-lkp@intel.com/

smatch warnings:
drivers/platform/x86/tuxedo/tuxedo_nb04_wmi_ab_virtual_lamp_array.c:602 handle_lamp_range_update_report() error: uninitialized symbol 'lamp_count'.

vim +/lamp_count +602 drivers/platform/x86/tuxedo/tuxedo_nb04_wmi_ab_virtual_lamp_array.c

1a862fa1eeacf4 Werner Sembach 2024-09-27  579  
1a862fa1eeacf4 Werner Sembach 2024-09-27  580  static int handle_lamp_range_update_report(struct hid_device *hdev,
1a862fa1eeacf4 Werner Sembach 2024-09-27  581  					   struct lamp_range_update_report_t *report)
1a862fa1eeacf4 Werner Sembach 2024-09-27  582  {
1a862fa1eeacf4 Werner Sembach 2024-09-27  583  	struct driver_data_t *driver_data = dev_get_drvdata(&hdev->dev);
1a862fa1eeacf4 Werner Sembach 2024-09-27  584  	int ret;
1a862fa1eeacf4 Werner Sembach 2024-09-27  585  	uint8_t lamp_count;
1a862fa1eeacf4 Werner Sembach 2024-09-27  586  	struct lamp_multi_update_report_t lamp_multi_update_report = {
1a862fa1eeacf4 Werner Sembach 2024-09-27  587  		.report_id = LAMP_MULTI_UPDATE_REPORT_ID
1a862fa1eeacf4 Werner Sembach 2024-09-27  588  	};
1a862fa1eeacf4 Werner Sembach 2024-09-27  589  
1a862fa1eeacf4 Werner Sembach 2024-09-27  590  	// Catching missformated lamp_range_update_report and fail silently according to
1a862fa1eeacf4 Werner Sembach 2024-09-27  591  	// "HID Usage Tables v1.5"
1a862fa1eeacf4 Werner Sembach 2024-09-27  592  	if (report->lamp_id_start > report->lamp_id_end) {
1a862fa1eeacf4 Werner Sembach 2024-09-27  593  		pr_debug("lamp_id_start > lamp_id_end in lamp_range_update_report. Skippng whole report!\n");
1a862fa1eeacf4 Werner Sembach 2024-09-27  594  		return sizeof(struct lamp_range_update_report_t);
1a862fa1eeacf4 Werner Sembach 2024-09-27  595  	}
1a862fa1eeacf4 Werner Sembach 2024-09-27  596  
1a862fa1eeacf4 Werner Sembach 2024-09-27  597  	if (driver_data->keyboard_type == WMI_AB_GET_DEVICE_STATUS_KEYBOARD_LAYOUT_ANSII)
1a862fa1eeacf4 Werner Sembach 2024-09-27  598  		lamp_count = sizeof(sirius_16_ansii_kbl_mapping);
1a862fa1eeacf4 Werner Sembach 2024-09-27  599  	else if (driver_data->keyboard_type == WMI_AB_GET_DEVICE_STATUS_KEYBOARD_LAYOUT_ISO)
1a862fa1eeacf4 Werner Sembach 2024-09-27  600  		lamp_count = sizeof(sirius_16_ansii_kbl_mapping);
1a862fa1eeacf4 Werner Sembach 2024-09-27  601  
1a862fa1eeacf4 Werner Sembach 2024-09-27 @602  	if (report->lamp_id_end > lamp_count - 1) {
1a862fa1eeacf4 Werner Sembach 2024-09-27  603  		pr_debug("Out of bounds lamp_id_* in lamp_range_update_report. Skippng whole report!\n");
1a862fa1eeacf4 Werner Sembach 2024-09-27  604  		return sizeof(struct lamp_range_update_report_t);
1a862fa1eeacf4 Werner Sembach 2024-09-27  605  	}
1a862fa1eeacf4 Werner Sembach 2024-09-27  606  
1a862fa1eeacf4 Werner Sembach 2024-09-27  607  	// Break handle_lamp_range_update_report call down to multiple
1a862fa1eeacf4 Werner Sembach 2024-09-27  608  	// handle_lamp_multi_update_report calls to easily ensure that mixing
1a862fa1eeacf4 Werner Sembach 2024-09-27  609  	// handle_lamp_range_update_report and handle_lamp_multi_update_report
1a862fa1eeacf4 Werner Sembach 2024-09-27  610  	// does not break things.
1a862fa1eeacf4 Werner Sembach 2024-09-27  611  	for (int i = report->lamp_id_start; i < report->lamp_id_end + 1; i = i + 8) {
1a862fa1eeacf4 Werner Sembach 2024-09-27  612  		lamp_multi_update_report.lamp_count = MIN(report->lamp_id_end + 1 - i, 8);
1a862fa1eeacf4 Werner Sembach 2024-09-27  613  		if (i + lamp_multi_update_report.lamp_count == report->lamp_id_end + 1)
1a862fa1eeacf4 Werner Sembach 2024-09-27  614  			lamp_multi_update_report.lamp_update_flags |=
1a862fa1eeacf4 Werner Sembach 2024-09-27  615  				LAMP_UPDATE_FLAGS_LAMP_UPDATE_COMPLETE;
1a862fa1eeacf4 Werner Sembach 2024-09-27  616  
1a862fa1eeacf4 Werner Sembach 2024-09-27  617  		for (int j = 0; j < lamp_multi_update_report.lamp_count; ++j) {
1a862fa1eeacf4 Werner Sembach 2024-09-27  618  			lamp_multi_update_report.lamp_id[j] = i + j;
1a862fa1eeacf4 Werner Sembach 2024-09-27  619  			lamp_multi_update_report.update_channels[j].red =
1a862fa1eeacf4 Werner Sembach 2024-09-27  620  				report->red_update_channel;
1a862fa1eeacf4 Werner Sembach 2024-09-27  621  			lamp_multi_update_report.update_channels[j].green =
1a862fa1eeacf4 Werner Sembach 2024-09-27  622  				report->green_update_channel;
1a862fa1eeacf4 Werner Sembach 2024-09-27  623  			lamp_multi_update_report.update_channels[j].blue =
1a862fa1eeacf4 Werner Sembach 2024-09-27  624  				report->blue_update_channel;
1a862fa1eeacf4 Werner Sembach 2024-09-27  625  			lamp_multi_update_report.update_channels[j].intensity =
1a862fa1eeacf4 Werner Sembach 2024-09-27  626  				report->intensity_update_channel;
1a862fa1eeacf4 Werner Sembach 2024-09-27  627  		}
1a862fa1eeacf4 Werner Sembach 2024-09-27  628  
1a862fa1eeacf4 Werner Sembach 2024-09-27  629  		ret = handle_lamp_multi_update_report(hdev, &lamp_multi_update_report);
1a862fa1eeacf4 Werner Sembach 2024-09-27  630  		if (ret < 0)
1a862fa1eeacf4 Werner Sembach 2024-09-27  631  			return ret;
1a862fa1eeacf4 Werner Sembach 2024-09-27  632  		else if (ret != sizeof(struct lamp_multi_update_report_t))
1a862fa1eeacf4 Werner Sembach 2024-09-27  633  			return -EIO;
1a862fa1eeacf4 Werner Sembach 2024-09-27  634  	}
1a862fa1eeacf4 Werner Sembach 2024-09-27  635  
1a862fa1eeacf4 Werner Sembach 2024-09-27  636  	return sizeof(struct lamp_range_update_report_t);
1a862fa1eeacf4 Werner Sembach 2024-09-27  637  }
1a862fa1eeacf4 Werner Sembach 2024-09-27  638  

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

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

end of thread, other threads:[~2024-10-09  9:53 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-27 12:41 [PATCH v2 1/1] platform/x86/tuxedo: Add virtual LampArray for TUXEDO Werner Sembach
2024-09-27 12:41 ` Werner Sembach
2024-09-29  0:56   ` kernel test robot
2024-09-29  7:39   ` kernel test robot
2024-10-02 12:52 ` Lee Jones
2024-10-02 13:31   ` Werner Sembach
2024-10-03  7:59     ` Lee Jones
2024-10-04 14:36       ` Werner Sembach
2024-10-07 12:58         ` Lee Jones
2024-10-07 15:15           ` Werner Sembach
2024-10-08 15:33             ` Lee Jones
2024-10-09  9:53               ` Werner Sembach
  -- strict thread matches above, loose matches on Subject: below --
2024-09-28  7:42 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.