mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 15:14:52 +00:00
loongarch-next
6 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
![]() |
aef9da3338
|
platform/x86: dell-lis3lv02d: Add Precision 3551
This marks 0x29 as accelerometer address on Dell Precision 3551. I followed previous works of Paul Menzel and Hans de Goede to verify it: $ cd /sys/bus/pci/drivers/i801_smbus/0000\:00\:1f.4 $ ls -d i2c-? i2c-0 $ sudo modprobe i2c-dev $ sudo i2cdetect 0 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-0. I will probe address range 0x08-0x77. Continue? [Y/n] Y 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 08 -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- 29 -- -- -- -- -- -- 30: 30 -- -- -- -- 35 UU UU -- -- -- -- -- -- -- -- 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- -- 50: UU -- 52 -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- $ echo lis3lv02d 0x29 > sudo tee /sys/bus/i2c/devices/i2c-0/new_device lis3lv02d 0x29 $ sudo dmesg [ 0.000000] Linux version 6.12.28 (nixbld@localhost) (gcc (GCC) 14.2.1 20250322, GNU ld (GNU Binutils) 2.44) #1-NixOS SMP PREEMPT_DYNAMIC Fri May 9 07:50:53 UTC 2025 [...] [ 0.000000] DMI: Dell Inc. Precision 3551/07YHW8, BIOS 1.18.0 10/03/2022 [...] [ 3749.077624] lis3lv02d_i2c 0-0029: supply Vdd not found, using dummy regulator [ 3749.077732] lis3lv02d_i2c 0-0029: supply Vdd_IO not found, using dummy regulator [ 3749.098674] lis3lv02d: 8 bits 3DC sensor found [ 3749.182480] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3lv02d/input/input28 [ 3749.182899] i2c i2c-0: new_device: Instantiated device lis3lv02d at 0x29 Signed-off-by: Jan-Niklas Burfeind <kernel@aiyionpri.me> Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> Link: https://lore.kernel.org/r/20250710190919.37842-1-kernel@aiyionpri.me Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> |
||
![]() |
d0f8ee81a8
|
platform/x86: dell-lis3lv02d: Add Latitude 5500
Add 0x29 as the accelerometer address for the Dell Latitude 5500 to lis3lv02d_devices[]. The address was verified as below: $ cd /sys/bus/pci/drivers/i801_smbus/0000:00:1f.4 $ ls -d i2c-? i2c-2 $ sudo modprobe i2c-dev $ sudo i2cdetect 2 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-2. I will probe address range 0x08-0x77. Continue? [Y/n] Y 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 08 -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- 29 -- -- -- -- -- -- 30: 30 -- -- -- -- 35 UU UU -- -- -- -- -- -- -- -- 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- -- 50: UU -- 52 -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- $ echo lis3lv02d 0x29 | sudo tee /sys/bus/i2c/devices/i2c-2/new_device lis3lv02d 0x29 $ sudo dmesg [ 0.000000] Linux version 6.12.32-amd64 (debian-kernel@lists.debian.org) (x86_64-linux-gnu-gcc-14 (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC Debian 6.12.32-1 (2025-06-07) […] [ 0.000000] DMI: Dell Inc. Latitude 5500/0M14W7, BIOS 1.38.0 03/06/2025 […] [ 609.063488] i2c_dev: i2c /dev entries driver [ 639.135020] i2c i2c-2: new_device: Instantiated device lis3lv02d at 0x29 Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de> Reviewed-by: Hans de Goede <hansg@kernel.org> Link: https://lore.kernel.org/r/20250622080721.4661-1-pmenzel@molgen.mpg.de Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> |
||
![]() |
c9c0543b52 |
platform-drivers-x86 for v6.14-1
Highlights: - acer-wmi: - Add support for PH14-51, PH16-72, and Nitro AN515-58 - Add proper hwmon support - Improve error handling when reading "gaming system info" - Replace direct EC reads for the current platform profile with WMI calls to handle EC address variations - Replace custom platform_profile cycling with the generic one - ACPI: platform_profile: Major refactoring and improvements - Support registering multiple platform_profile handlers concurrently to avoid the need to quirk which handler takes precedence - Support reporting "custom" profile for cases where the current profile is ambiguous or when settings tweaks are done outside the pre-defined profile - Abstract and layer platform_profile API better using the class_dev and drvdata - Various minor improvements - Add Documentation and kerneldoc - amd/hsmp: Add support for HSMP protocol v7 - amd/pmc: - Support AMD 1Ah family 70h - Support STB with Ryzen desktop SoCs - amd/pmf: - Support Custom BIOS inputs for PMF TA - Support passing SRA sensor data from AMD SFH (HID) to PMF TA - dell-smo8800: - Move SMO88xx quirk away from the generic i2c-i801 driver - Add accelerometer support for Dell Latitude E6330/E6430 and XPS 9550 - Support probing accelerometer for models yet to be listed in the DMI mapping table because ACPI lacks i2c-address for the accelerometer (behind a module parameter because probing might be dangerous) - HID: amd_sfh: Add support for exporting SRA sensor data - hp-wmi: Add fan and thermal support for Victus 16-s1000 - input: Add key for phone linking - input: i8042: Add context for the i8042 filter to enable cleaning up the filter related global variables from pdx86 drivers - lenovo-wmi-camera: Use SW_CAMERA_LENS_COVER instead of KEY_CAMERA_ACCESS - mellanox: mlxbf-pmc: - Add support for monitoring cycle count - Add Documentation - thinkpad_acpi: Add support for phone link key - tools/power/x86/intel-speed-select: Fix Turbo Ratio Limit restore - x86-android-tables: Add support for Vexia EDU ATLA 10 Bluetooth and EC battery driver - Miscellaneous cleanups / refactoring / improvements The following is an automated shortlog grouped by driver: acer-wmi: - add support for Acer Nitro AN515-58 - Add support for Acer PH14-51 - Add support for Acer Predator PH16-72 - Fix initialization of last_non_turbo_profile - Ignore AC events - Implement proper hwmon support - Improve error handling when reading gaming system information - Rename ACER_CAP_FAN_SPEED_READ - simplify platform profile cycling - use an ACPI bitmap to set the platform profile choices - Use devm_platform_profile_register() - use new helper function for setting overclocks - use WMI calls for platform profile handling ACPI: platform-profile: - Add a name member to handlers ACPI: platform_profile: - Add a prefix to log messages - Add choices attribute for class interface - Add concept of a "custom" profile - Add device pointer into platform profile handler - Add devm_platform_profile_register() - Add documentation - Add name attribute to class interface - Add `ops` member to handlers - Add platform handler argument to platform_profile_remove() - Add `probe` to platform_profile_ops - Add profile attribute for class interface - Allow multiple handlers - Check all profile handler to calculate next - Clean platform_profile_handler - Create class for ACPI platform profile - Let drivers set drvdata to the class device - Make sure all profile handlers agree on profile - Move matching string for new profile out of mutex - Move platform_profile_handler - Move sanity check out of the mutex - Notify change events on register and unregister - Notify class device from platform_profile_notify() - Only show profiles common for all handlers - Pass the profile handler into platform_profile_notify() - Remove platform_profile_handler from callbacks - Remove platform_profile_handler from exported symbols - Replace *class_dev member with class_dev - Use guard(mutex) for register/unregister - Use `scoped_cond_guard` alienware_wmi: - General cleanup of WMAX methods alienware-wmi: - Improve hdmi_mux, amplifier and deepslp group creation - Improve rgb-zones group creation - Modify parse_rgb() signature - Move Lighting Control State - Remove unnecessary check at module exit - Use devm_platform_profile_register() amd/hsmp: - Add support for HSMP protocol version 7 messages - Constify 'struct bin_attribute' amd/pmc: - Add STB support for AMD Desktop variants - Define enum for S2D/PMC msg_port and add helper function - Isolate STB code changes to a new file - Move STB block into amd_pmc_s2d_init() - Move STB functionality to a new file for better code organization - Update function names to align with new STB file - Update IP information structure for newer SoCs - Update S2D message id for 1Ah Family 70h model - Use ARRAY_SIZE() to fill num_ips information amd: pmc: - Use guard(mutex) amd: pmf: - Drop all quirks amd/pmf: - Enable Custom BIOS Inputs for PMF-TA - Get SRA sensor data from AMD SFH driver amd: pmf: sps: - Use devm_platform_profile_register() amd: pmf: - Switch to guard(mutex) asus-wmi: - Use devm_platform_profile_register() dell: dcdbas: - Constify 'struct bin_attribute' dell: dell-pc: - Create platform device dell-pc: - Use devm_platform_profile_register() dell_rbu: - Constify 'struct bin_attribute' dell-smo8800: - Add a couple more models to lis3lv02d_devices[] - Add support for probing for the accelerometer i2c address - Move instantiation of lis3lv02d i2c_client from i2c-i801 to dell-lis3lv02d - Move SMO88xx acpi_device_ids to dell-smo8800-ids.h dell-sysman: - Directly use firmware_attributes_class dell-uart-backlight: - Use blacklight power constant docs: platform/x86: wmi: - mention tool for invoking WMI methods Documentation/ABI: - Add document for Mellanox PMC driver - Add new sysfs field to sysfs-platform-mellanox-pmc Documentation: - Add documentation about class interface for platform profiles firmware_attributes_class: - Drop lifecycle functions - Move include linux/device/class.h - Simplify API fujitsu-laptop: - replace strcpy -> strscpy HID: amd_sfh: - Add support to export device operating states hp-bioscfg: - Directly use firmware_attributes_class hp-wmi: - Add fan and thermal profile support for Victus 16-s1000 - Use devm_platform_profile_register() ideapad-laptop: - Use devm_platform_profile_register() Input: - allocate keycode for phone linking - i8042 - Add support for platform filter contexts inspur_platform_profile: - Use devm_platform_profile_register() int3472: - Check for adev == NULL - Debug log the sensor name - Fix skl_int3472_handle_gpio_resources() return value - Make "pin number mismatch" message a debug message intel: bytcrc_pwrsrc: - fix power_supply dependency - Optionally register a power_supply dev intel: int0002_vgpio: - Make the irqchip immutable intel/pmt: - Constify 'struct bin_attribute' intel: punit_ipc: - Remove unused function intel/sdsi: - Constify 'struct bin_attribute' intel/tpmi/plr: - Make char[] longer to silence warning lenovo-wmi-camera: - Use SW_CAMERA_LENS_COVER instead of KEY_CAMERA_ACESS MAINTAINERS: - Change AMD PMC driver status to "Supported" mlxbf-bootctl: - Constify 'struct bin_attribute' - use sysfs_emit() instead of sprintf() mlxbf-pmc: - Add support for clock_measure performance block - Add support for monitoring cycle count - incorrect type in assignment mlxreg-hotplug: - use sysfs_emit() instead of sprintf() mlxreg-io: - use sysfs_emit() instead of sprintf() quickstart: - don't include 'pm_wakeup.h' directly serdev_helpers: - Add get_serdev_controller_from_parent() helper - Check for serial_ctrl_uid == NULL surface: surface_platform_profile: - Use devm_platform_profile_register() think-lmi: - Directly use firmware_attributes_class thinkpad_acpi: - Add support for new phone link hotkey thinkpad-acpi: - replace strcpy with strscpy thinkpad_acpi: - Use devm_platform_profile_register() tools/power/x86/intel-speed-select: - Fix TRL restore after SST-TF disable - v1.21 release wmi-bmof: - Make use of .bin_size() callback x86-android-tablets: - Add Bluetooth support for Vexia EDU ATLA 10 - Add missing __init to get_i2c_adap_by_*() - Add support for getting serdev-controller by PCI parent - Add Vexia EDU ATLA 10 EC battery driver - Change x86_instantiate_serdev() prototype - make platform data be static - Make variables only used locally static - Store serdev-controller ACPI HID + UID in a union Merges: - Merge branch 'fixes' into 'for-next' - Merge branch 'intel-sst' of https://github.com/spandruvada/linux-kernel into review-ilpo-next - Merge branch 'platform-drivers-x86-platform-profile' into for-next - Merge branch 'platform-drivers-x86-platform-profile' into for-next - Merge import NS conversion from 'https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git' into for-next -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQSCSUwRdwTNL2MhaBlZrE9hU+XOMQUCZ5JDNAAKCRBZrE9hU+XO MT3AAP9YSYaWZUEgV9T/De2C/ksx0XfmHULmtQHccMgqIsIxmAEAmsBOHsDozPuZ 9F2IbT4uBuQo2iwbGq0DhVd+N36kEQw= =Vz0C -----END PGP SIGNATURE----- Merge tag 'platform-drivers-x86-v6.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86 Pull x86 platform driver updates from Ilpo Järvinen: "acer-wmi: - Add support for PH14-51, PH16-72, and Nitro AN515-58 - Add proper hwmon support - Improve error handling when reading "gaming system info" - Replace direct EC reads for the current platform profile with WMI calls to handle EC address variations - Replace custom platform_profile cycling with the generic one ACPI: - platform_profile: Major refactoring and improvements - Support registering multiple platform_profile handlers concurrently to avoid the need to quirk which handler takes precedence - Support reporting "custom" profile for cases where the current profile is ambiguous or when settings tweaks are done outside the pre-defined profile - Abstract and layer platform_profile API better using the class_dev and drvdata - Various minor improvements - Add Documentation and kerneldoc amd/hsmp: - Add support for HSMP protocol v7 amd/pmc: - Support AMD 1Ah family 70h - Support STB with Ryzen desktop SoCs amd/pmf: - Support Custom BIOS inputs for PMF TA - Support passing SRA sensor data from AMD SFH (HID) to PMF TA dell-smo8800: - Move SMO88xx quirk away from the generic i2c-i801 driver - Add accelerometer support for Dell Latitude E6330/E6430 and XPS 9550 - Support probing accelerometer for models yet to be listed in the DMI mapping table because ACPI lacks i2c-address for the accelerometer (behind a module parameter because probing might be dangerous) HID: - amd_sfh: Add support for exporting SRA sensor data hp-wmi: - Add fan and thermal support for Victus 16-s1000 input: - Add key for phone linking - i8042: Add context for the i8042 filter to enable cleaning up the filter related global variables from pdx86 drivers lenovo-wmi-camera: - Use SW_CAMERA_LENS_COVER instead of KEY_CAMERA_ACCESS mellanox mlxbf-pmc: - Add support for monitoring cycle count - Add Documentation thinkpad_acpi: - Add support for phone link key tools/power/x86/intel-speed-select: - Fix Turbo Ratio Limit restore x86-android-tables: - Add support for Vexia EDU ATLA 10 Bluetooth and EC battery driver And miscellaneous cleanups / refactoring / improvements" * tag 'platform-drivers-x86-v6.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (133 commits) platform/x86: acer-wmi: Fix initialization of last_non_turbo_profile platform/x86: acer-wmi: Ignore AC events platform/mellanox: mlxreg-io: use sysfs_emit() instead of sprintf() platform/mellanox: mlxreg-hotplug: use sysfs_emit() instead of sprintf() platform/mellanox: mlxbf-bootctl: use sysfs_emit() instead of sprintf() platform/x86: hp-wmi: Add fan and thermal profile support for Victus 16-s1000 ACPI: platform_profile: Add a prefix to log messages ACPI: platform_profile: Add documentation ACPI: platform_profile: Clean platform_profile_handler ACPI: platform_profile: Move platform_profile_handler ACPI: platform_profile: Remove platform_profile_handler from exported symbols platform/x86: thinkpad_acpi: Use devm_platform_profile_register() platform/x86: inspur_platform_profile: Use devm_platform_profile_register() platform/x86: hp-wmi: Use devm_platform_profile_register() platform/x86: ideapad-laptop: Use devm_platform_profile_register() platform/x86: dell-pc: Use devm_platform_profile_register() platform/x86: asus-wmi: Use devm_platform_profile_register() platform/x86: amd: pmf: sps: Use devm_platform_profile_register() platform/x86: acer-wmi: Use devm_platform_profile_register() platform/surface: surface_platform_profile: Use devm_platform_profile_register() ... |
||
![]() |
1e4e3dff9e
|
platform/x86: dell-smo8800: Add support for probing for the accelerometer i2c address
Unfortunately the SMOxxxx ACPI device does not contain the i2c-address of the accelerometer. So a DMI product-name to address mapping table is used. Add support to have the kernel probe for the i2c-address for models which are not on the list. The new probing code sits behind a new probe_i2c_addr module parameter, which is disabled by default because probing might be dangerous. Link: https://lore.kernel.org/linux-i2c/4820e280-9ca4-4d97-9d21-059626161bfc@molgen.mpg.de/ Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20250106123259.45970-1-hdegoede@redhat.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> |
||
![]() |
e21bff27f2
|
platform/x86: dell-smo8800: Add a couple more models to lis3lv02d_devices[]
Add the accelerometer address for the following laptop models to lis3lv02d_devices[]: Dell Latitude E6330 Dell Latitude E6430 Dell XPS 15 9550 Tested-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Pali Rohár <pali@kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20241209183557.7560-4-hdegoede@redhat.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> |
||
![]() |
cc0809b752
|
platform/x86: dell-smo8800: Move instantiation of lis3lv02d i2c_client from i2c-i801 to dell-lis3lv02d
Various Dell laptops have an lis3lv02d freefall/accelerometer sensor. The lis3lv02d chip has an interrupt line as well as an I2C connection to the system's main SMBus. The lis3lv02d is described in the ACPI tables by an SMO88xx ACPI device, but the SMO88xx ACPI fwnodes are incomplete and only list an IRQ resource. So far this has been worked around with some SMO88xx specific quirk code in the generic i2c-i801 driver, but it is not necessary to handle the Dell specific instantiation of i2c_client-s for SMO88xx ACPI devices there. The kernel already instantiates platform_device-s for these with an acpi:SMO88xx modalias. The drivers/platform/x86/dell/dell-smo8800.c driver binds to this platform device but this only deals with the interrupt resource. Add a drivers/platform/x86/dell/dell-lis3lv02d.c which will matches on the same acpi:SMO88xx modaliases and move the i2c_client instantiation from the generic i2c-i801 driver there. Moving the i2c_client instantiation has the following advantages: 1. This moves the SMO88xx ACPI device quirk handling away from the generic i2c-i801 module which is loaded on all Intel x86 machines to a module which will only be loaded when there is an ACPI SMO88xx device. 2. This removes the duplication of the SMO88xx ACPI Hardware ID (HID) table between the i2c-i801 and dell-smo8800 drivers. 3. This allows extending the quirk handling by adding new code and related module parameters to the dell-lis3lv02d driver, without needing to modify the i2c-i801 code. Reviewed-by: Pali Rohár <pali@kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Wolfram Sang <wsa@kernel.org> Link: https://lore.kernel.org/r/20241209183557.7560-3-hdegoede@redhat.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> |