linux/drivers/platform/x86
Enver Balalic 4c51ba9af4 platform/x86: hp-wmi: add support for omen laptops
This patch adds support for HP Omen laptops.
It adds support for most things that can be controlled via the
Windows Omen Command Center application.

 - Fan speed monitoring through hwmon
 - Platform Profile support (cool, balanced, performance)
 - Max fan speed function toggle

Also exposes the existing HDD temperature through hwmon since
this driver didn't use hwmon before this patch.

This patch has been tested on a 2020 HP Omen 15 (AMD) 15-en0023dx.

 - V1
   Initial Patch
 - V2
   Use standard hwmon ABI attributes
   Add existing non-standard "hddtemp" to hwmon
 - V3
   Fix overflow issue in "hp_wmi_get_fan_speed"
   Map max fan speed value back to hwmon values on read
   Code style fixes
   Fix issue with returning values from "hp_wmi_hwmon_read",
   the value to return should be written to val and not just
   returned from the function
 - V4
   Use DMI Board names to detect if a device should use the omen
   specific thermal profile method.
   Select HWMON instead of depending on it.
   Code style fixes.
   Replace some error codes with more specific/meaningful ones.
   Remove the HDD temperature from HWMON since we don't know what
   unit it's expressed in.
   Handle error from hp_wmi_hwmon_init
 - V5
   Handle possible NULL from dmi_get_system_info()
   Use match_string function instead of manually checking
   Directly use is_omen_thermal_profile() without the static
   variable.

Signed-off-by: Enver Balalic <balalic.enver@gmail.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20210902182234.vtwl72n5rjql22qa@omen.localdomain
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2021-09-14 12:26:00 +02:00
..
dell platform/x86: dell-smbios-wmi: Add missing kfree in error-exit from run_smbios_call 2021-08-26 16:09:43 +02:00
intel platform/x86/intel: punit_ipc: Drop wrong use of ACPI_PTR() 2021-09-13 10:36:52 +02:00
acer-wireless.c
acer-wmi.c platform/x86: acer-wmi: Add Turbo Mode support for Acer PH315-53 2021-08-13 13:19:30 +02:00
acerhdf.c
adv_swbutton.c platform/x86: add support for Advantech software defined button 2021-04-07 19:46:56 +02:00
amd-pmc.c platform/x86: amd-pmc: Increase the response register timeout 2021-09-14 12:26:00 +02:00
amilo-rfkill.c
apple-gmux.c
asus-laptop.c
asus-nb-wmi.c platform/x86: asus-nb-wmi: Add tablet_mode_sw=lid-flip quirk for the TP200s 2021-08-12 17:18:28 +02:00
asus-wireless.c
asus-wmi.c platform/x86: asus-wmi: Fix "unsigned 'retval' is never less than zero" smatch warning 2021-08-26 15:12:51 +02:00
asus-wmi.h
classmate-laptop.c
compal-laptop.c
dual_accel_detect.h platform/x86: dual_accel_detect: Use the new i2c_acpi_client_count() helper 2021-08-12 17:26:36 +02:00
eeepc-laptop.c
eeepc-wmi.c
firmware_attributes_class.c platform/x86: dell-wmi-sysman: fw_attr_inuse can be static 2021-06-16 17:47:52 +02:00
firmware_attributes_class.h platform/x86: firmware_attributes_class: Create helper file for handling firmware-attributes class registration events 2021-06-16 17:47:51 +02:00
fujitsu-laptop.c
fujitsu-tablet.c
gigabyte-wmi.c platform/x86: gigabyte-wmi: add support for B450M S2H V2 2021-08-20 12:09:37 +02:00
gpd-pocket-fan.c
hdaps.c platform/x86: hdaps: Constify static attribute_group struct 2021-06-16 17:47:54 +02:00
hp-wmi.c platform/x86: hp-wmi: add support for omen laptops 2021-09-14 12:26:00 +02:00
hp_accel.c platform/x86: hp_accel: Convert to be a platform driver 2021-08-26 15:10:05 +02:00
huawei-wmi.c
i2c-multi-instantiate.c platform/x86: i2c-multi-instantiate: Use the new i2c_acpi_client_count() helper 2021-08-12 17:26:36 +02:00
ibm_rtl.c
ideapad-laptop.c platform/x86: ideapad-laptop: Fix Legion 5 Fn lock LED 2021-08-20 12:09:37 +02:00
intel_ips.c platform/x86: intel_ips: fix set but unused warning in read_mgtv 2021-06-16 17:47:55 +02:00
intel_ips.h
intel_scu_ipc.c platform/x86: intel_scu_ipc: Fix doc of intel_scu_ipc_dev_command_with_size() 2021-08-20 20:00:02 +02:00
intel_scu_ipcutil.c
intel_scu_pcidrv.c
intel_scu_pltdrv.c
intel_scu_wdt.c
Kconfig platform/x86: hp-wmi: add support for omen laptops 2021-09-14 12:26:00 +02:00
lg-laptop.c lg-laptop: Correctly handle dmi_get_system_info() returning NULL 2021-09-13 10:38:52 +02:00
Makefile platform/x86: intel-wmi-thunderbolt: Move to intel sub-directory 2021-08-20 20:11:23 +02:00
meraki-mx100.c platform/x86: add meraki-mx100 platform driver 2021-08-12 09:26:28 +02:00
mlx-platform.c
msi-laptop.c
msi-wmi.c
mxm-wmi.c
panasonic-laptop.c platform/x86: panasonic-laptop: remove redundant assignment of variable result 2021-04-07 19:47:22 +02:00
pcengines-apuv2.c platform/x86: pcengines-apuv2: Add missing terminating entries to gpio-lookup tables 2021-08-06 14:04:43 +02:00
peaq-wmi.c
pmc_atom.c platform/x86: pmc_atom: Match all Beckhoff Automation baytrail boards with critclk_systems DMI table 2021-04-14 15:52:37 +02:00
samsung-laptop.c platform/x86: samsung-laptop: set debugfs blobs to read only 2021-06-16 17:47:49 +02:00
samsung-q10.c
sony-laptop.c
system76_acpi.c
tc1100-wmi.c platform/x86: tc1100-wmi: Constify static attribute_group struct 2021-06-16 17:47:54 +02:00
think-lmi.c platform/x86: think-lmi: add debug_cmd 2021-08-18 09:41:14 +02:00
think-lmi.h platform/x86: think-lmi: add debug_cmd 2021-08-18 09:41:14 +02:00
thinkpad_acpi.c platform/x86: Add and use a dual_accel_detect() helper 2021-07-29 13:14:07 +02:00
topstar-laptop.c
toshiba-wmi.c
toshiba_acpi.c platform/x86: toshiba_acpi: Fix missing error code in toshiba_acpi_setup_keyboard() 2021-06-16 17:47:51 +02:00
toshiba_bluetooth.c
toshiba_haps.c platform/x86: toshiba_haps: Fix missing newline in pr_debug call in toshiba_haps_notify 2021-06-16 17:47:49 +02:00
touchscreen_dmi.c platform/x86: touchscreen_dmi: Update info for the Chuwi Hi10 Plus (CWI527) tablet 2021-09-13 10:41:56 +02:00
uv_sysfs.c x86/platform/uv: Constify static attribute_group struct 2021-06-16 17:47:55 +02:00
wireless-hotkey.c platform/x86: wireless-hotkey: remove hardcoded "hp" from the error message 2021-07-14 22:32:26 +02:00
wmi-bmof.c
wmi.c bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
xiaomi-wmi.c
xo1-rfkill.c
xo15-ebook.c