![]() Highlights: - New think-lmi driver adding support for changing BIOS settings from within Linux using the standard firmware-attributes class sysfs API - MS Surface aggregator-cdev now also supports forwarding events to user-space (for debugging / new driver development purposes only) - New intel_skl_int3472 driver this provides the necessary glue to translate ACPI table information to GPIOs, regulators, etc. for camera sensors on Intel devices with IPU3 attached MIPI cameras - A whole bunch of other fixes + device-specific quirk additions - New devm_work_autocancel() devm-helpers.h function Note this also contains merges of the following immutable branches/tags shared with other subsystems: - platform-drivers-x86-goodix-v5.14-1 - intel-gpio-v5.14-1 - linux-pm/acpi-scan - devm-helpers-v5.14-1 The following is an automated git shortlog grouped by driver: ACPI: - scan: initialize local variable to avoid garbage being returned - scan: Add function to fetch dependent of ACPI device - scan: Extend acpi_walk_dep_device_list() - scan: Rearrange dep_unmet initialization Add intel_skl_int3472 driver: - Add intel_skl_int3472 driver ISST: - Use numa node id for cpu pci dev mapping - Optimize CPU to PCI device mapping Input: - goodix - platform/x86: touchscreen_dmi - Move upside down quirks to touchscreen_dmi.c MAINTAINERS: - Update IRC link for Surface System Aggregator subsystem - Update info for telemetry Merge remote-tracking branch 'linux-pm/acpi-scan' into review-hans: - Merge remote-tracking branch 'linux-pm/acpi-scan' into review-hans Merge tag 'devm-helpers-v5.14-1' into review-hans: - Merge tag 'devm-helpers-v5.14-1' into review-hans Merge tag 'intel-gpio-v5.14-1' into review-hans: - Merge tag 'intel-gpio-v5.14-1' into review-hans Merge tag 'platform-drivers-x86-goodix-v5.14-1' into review-hans: - Merge tag 'platform-drivers-x86-goodix-v5.14-1' into review-hans Remove "default n" entries: - Remove "default n" entries Rename hp-wireless to wireless-hotkey: - Rename hp-wireless to wireless-hotkey asus-nb-wmi: - Revert "add support for ASUS ROG Zephyrus G14 and G15" - Revert "Drop duplicate DMI quirk structures" dcdbas: - drop unneeded assignment in host_control_smi() dell-privacy: - Add support for Dell hardware privacy dell-wmi: - Rename dell-wmi.c to dell-wmi-base.c dell-wmi-sysman: - Change user experience when Admin/System Password is modified - fw_attr_inuse can be static - Use firmware_attributes_class helper - Make populate_foo_data functions more robust dell-wmi-sysman/think-lmi: - Make fw_attr_class global static devm-helpers: - Add resource managed version of work init docs: - driver-api: Update Surface Aggregator user-space interface documentation extcon: - extcon-max8997: Simplify driver using devm - extcon-max8997: Fix IRQ freeing at error path - extcon-max77693.c: Fix potential work-queue cancellation race - extcon-max14577: Fix potential work-queue cancellation race firmware_attributes_class: - Create helper file for handling firmware-attributes class registration events gpio: - wcove: Split error handling for CTRL and IRQ registers - wcove: Unify style of to_reg() with to_ireg() - wcove: Use IRQ hardware number getter instead of direct access - crystalcove: remove platform_set_drvdata() + cleanup probe gpiolib: - acpi: Add acpi_gpio_get_io_resource() - acpi: Introduce acpi_get_and_request_gpiod() helper hdaps: - Constify static attribute_group struct ideapad-laptop: - Ignore VPC event bit 10 intel_cht_int33fe: - Move to its own subfolder - Correct "displayport" fwnode reference intel_ips: - fix set but unused warning in read_mgtv intel_pmt_crashlog: - Constify static attribute_group struct intel_skl_int3472: - Uninitialized variable in skl_int3472_handle_gpio_resources() - Move to intel/ subfolder - Provide skl_int3472_unregister_clock() - Provide skl_int3472_unregister_regulator() - Use ACPI GPIO resource directly - Fix dependencies (drop CLKDEV_LOOKUP) - Free ACPI device resources after use mfd: - tps68470: Remove tps68470 MFD driver platform/mellanox: - mlxreg-hotplug: Revert "move to use request_irq by IRQF_NO_AUTOEN flag" platform/surface: - aggregator: Use list_move_tail instead of list_del/list_add_tail in ssh_packet_layer.c - aggregator: Use list_move_tail instead of list_del/list_add_tail in ssh_request_layer.c - aggregator: Drop unnecessary variable initialization - aggregator: Do not return uninitialized value - aggregator_cdev: Add lockdep support - aggregator_cdev: Allow enabling of events from user-space - aggregator_cdev: Add support for forwarding events to user-space - aggregator: Update copyright - aggregator: Allow enabling of events without notifiers - aggregator: Allow registering notifiers without enabling events - dtx: Add missing mutex_destroy() call in failure path - aggregator: Fix event disable function - aggregator_registry: Consolidate node groups for 5th- and 6th-gen devices - aggregator_registry: Add support for 13" Intel Surface Laptop 4 - aggregator_registry: Update comments for 15" AMD Surface Laptop 4 samsung-laptop: - set debugfs blobs to read only - use octal numbers for rwx file permissions tc1100-wmi: - Constify static attribute_group struct think-lmi: - Move kfree(setting->possible_values) to tlmi_attr_setting_release() - Split current_value to reflect only the value - Fix issues with duplicate attributes - Return EINVAL when kbdlang gets set to a 0 length string - Add missing MODULE_DEVICE_TABLE - Avoid potential read before start of the buffer - Fix check for admin password being set - Add WMI interface support on Lenovo platforms thinkpad-lmi: - Remove unused display_name member from struct tlmi_pwd_setting thinkpad_acpi: - Add X1 Carbon Gen 9 second fan support - Fix inconsistent indenting tools/power/x86/intel-speed-select: - v1.10 release - Fix uncore memory frequency display toshiba_acpi: - Fix missing error code in toshiba_acpi_setup_keyboard() toshiba_haps: - Fix missing newline in pr_debug call in toshiba_haps_notify touchscreen_dmi: - Fix Chuwi Hi10 Pro comment - Add info for the Goodix GT912 panel of TM800A550L tablets - Add an extra entry for the upside down Goodix touchscreen on Teclast X89 tablets x86/platform/uv: - Constify static attribute_group struct -----BEGIN PGP SIGNATURE----- iQFIBAABCAAyFiEEuvA7XScYQRpenhd+kuxHeUQDJ9wFAmDbELwUHGhkZWdvZWRl QHJlZGhhdC5jb20ACgkQkuxHeUQDJ9yp2wgAj1mTOJi/4Rx1g8wXLpP/hflEkFMU yyMeKe3LOEzuo/LZUfW4tqWiXa4aTgN6rUOF8KUumsIor/72hKcczuPVY+qCqF7V qYZ0vMG93DfAyVPQvBrNjHMXiVevD/gMFRqJEOOgXt96B6Zea4vh1pBvLACAHFZ0 bjkZDX3cO89TSfUF7uhiU9UkMvMMAVs34Knc1Pe4QnZ16e2kPGcKip3qb73yT+xC 8NVRgE6fdSIJfDAVzqpdh91rfDdzHDJ6vT10uijOTkriJciN07UKtYuK5StCpAo5 sXIQllHySHRHj5N0IWZ04w6RMQ+l/9CaHDttkYWW3fV1EU9SVzvp/+d6zA== =tAuE -----END PGP SIGNATURE----- Merge tag 'platform-drivers-x86-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86 Pull x86 platform driver updates from Hans de Goede: "Highlights: - New think-lmi driver adding support for changing Lenovo Thinkpad BIOS settings from within Linux using the standard firmware- attributes class sysfs API - MS Surface aggregator-cdev now also supports forwarding events to user-space (for debugging / new driver development purposes only) - New intel_skl_int3472 driver this provides the necessary glue to translate ACPI table information to GPIOs, regulators, etc. for camera sensors on Intel devices with IPU3 attached MIPI cameras - A whole bunch of other fixes + device-specific quirk additions - New devm_work_autocancel() devm-helpers.h function" * tag 'platform-drivers-x86-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (83 commits) platform/x86: dell-wmi-sysman: Change user experience when Admin/System Password is modified platform/x86: intel_skl_int3472: Uninitialized variable in skl_int3472_handle_gpio_resources() platform/x86: think-lmi: Move kfree(setting->possible_values) to tlmi_attr_setting_release() platform/x86: think-lmi: Split current_value to reflect only the value platform/x86: think-lmi: Fix issues with duplicate attributes platform/x86: think-lmi: Return EINVAL when kbdlang gets set to a 0 length string platform/x86: intel_cht_int33fe: Move to its own subfolder platform/x86: intel_skl_int3472: Move to intel/ subfolder platform/x86: intel_skl_int3472: Provide skl_int3472_unregister_clock() platform/x86: intel_skl_int3472: Provide skl_int3472_unregister_regulator() platform/x86: intel_skl_int3472: Use ACPI GPIO resource directly platform/x86: intel_skl_int3472: Fix dependencies (drop CLKDEV_LOOKUP) platform/x86: intel_skl_int3472: Free ACPI device resources after use platform/x86: Remove "default n" entries platform/x86: ISST: Use numa node id for cpu pci dev mapping platform/x86: ISST: Optimize CPU to PCI device mapping tools/power/x86/intel-speed-select: v1.10 release tools/power/x86/intel-speed-select: Fix uncore memory frequency display extcon: extcon-max8997: Simplify driver using devm extcon: extcon-max8997: Fix IRQ freeing at error path ... |
||
---|---|---|
.. | ||
obsolete | ||
removed | ||
stable | ||
testing | ||
README |
README
This directory attempts to document the ABI between the Linux kernel and userspace, and the relative stability of these interfaces. Due to the everchanging nature of Linux, and the differing maturity levels, these interfaces should be used by userspace programs in different ways. We have four different levels of ABI stability, as shown by the four different subdirectories in this location. Interfaces may change levels of stability according to the rules described below. The different levels of stability are: stable/ This directory documents the interfaces that the developer has defined to be stable. Userspace programs are free to use these interfaces with no restrictions, and backward compatibility for them will be guaranteed for at least 2 years. Most interfaces (like syscalls) are expected to never change and always be available. testing/ This directory documents interfaces that are felt to be stable, as the main development of this interface has been completed. The interface can be changed to add new features, but the current interface will not break by doing this, unless grave errors or security problems are found in them. Userspace programs can start to rely on these interfaces, but they must be aware of changes that can occur before these interfaces move to be marked stable. Programs that use these interfaces are strongly encouraged to add their name to the description of these interfaces, so that the kernel developers can easily notify them if any changes occur (see the description of the layout of the files below for details on how to do this.) obsolete/ This directory documents interfaces that are still remaining in the kernel, but are marked to be removed at some later point in time. The description of the interface will document the reason why it is obsolete and when it can be expected to be removed. removed/ This directory contains a list of the old interfaces that have been removed from the kernel. Every file in these directories will contain the following information: What: Short description of the interface Date: Date created KernelVersion: Kernel version this feature first showed up in. Contact: Primary contact for this interface (may be a mailing list) Description: Long description of the interface and how to use it. Users: All users of this interface who wish to be notified when it changes. This is very important for interfaces in the "testing" stage, so that kernel developers can work with userspace developers to ensure that things do not break in ways that are unacceptable. It is also important to get feedback for these interfaces to make sure they are working in a proper way and do not need to be changed further. Note: The fields should be use a simple notation, compatible with ReST markup. Also, the file **should not** have a top-level index, like:: === foo === How things move between levels: Interfaces in stable may move to obsolete, as long as the proper notification is given. Interfaces may be removed from obsolete and the kernel as long as the documented amount of time has gone by. Interfaces in the testing state can move to the stable state when the developers feel they are finished. They cannot be removed from the kernel tree without going through the obsolete state first. It's up to the developer to place their interfaces in the category they wish for it to start out in. Notable bits of non-ABI, which should not under any circumstances be considered stable: - Kconfig. Userspace should not rely on the presence or absence of any particular Kconfig symbol, in /proc/config.gz, in the copy of .config commonly installed to /boot, or in any invocation of the kernel build process. - Kernel-internal symbols. Do not rely on the presence, absence, location, or type of any kernel symbol, either in System.map files or the kernel binary itself. See Documentation/process/stable-api-nonsense.rst.