347708875a
Highlights: - new drivers: - asus-tf103c-dock - intel_crystal_cove_charger - lenovo-yogabook-wmi - simatic-ipc platform-code + led driver + watchdog driver - x86-android-tablets (kernel module to workaround DSDT bugs on these) - amd-pmc: - bug-fixes - smar trace buffer support - asus-wmi: support for custom fan curves - int3472 (camera info ACPI object for Intel IPU3/SkyCam cameras): - ACPI core + int3472 changes to delay enumeration of camera sensor I2C clients until the PMIC for the sensor has been fully probed - Add support for board data (DSDT info is incomplete) for setting up the tps68470 PMIC used on some boards with these cameras - Add board data for the Microsoft Surface Go (original, v2 and v3) - thinkpad_acpi: - various cleanups - support for forced battery discharging (for battery calibration) - support to inhibit battery charging - this includes power_supply core changes to add new APIs for this - think_lmi: enhanced BIOS password support - various other small fixes and hardware-id additions The following is an automated git shortlog grouped by driver: ACPI: - delay enumeration of devices with a _DEP pointing to an INT3472 device Add Asus TF103C dock driver: - Add Asus TF103C dock driver Add intel_crystal_cove_charger driver: - Add intel_crystal_cove_charger driver Documentation: - syfs-class-firmware-attributes: Lenovo Opcode support Merge tag 'platform-drivers-x86-int3472-1' into review-hans: - Merge tag 'platform-drivers-x86-int3472-1' into review-hans amd-pmc: - only use callbacks for suspend - Add support for AMD Smart Trace Buffer - Simplify error handling and store the pci_dev in amd_pmc_dev structure - Fix s2idle failures on certain AMD laptops - Make CONFIG_AMD_PMC depend on RTC_CLASS apple-gmux: - use resource_size() with res asus-wmi: - Reshuffle headers for better maintenance - Split MODULE_AUTHOR() on per author basis - Join string literals back - remove unneeded semicolon - Add support for custom fan curves dell-wmi-descriptor: - disable by default hp_accel: - Use SIMPLE_DEV_PM_OPS() for PM ops - Fix an error handling path in 'lis3lv02d_probe()' i2c: - acpi: Add i2c_acpi_new_device_by_fwnode() function - acpi: Use acpi_dev_ready_for_enumeration() helper int3472: - Add board data for Surface Go 3 - Deal with probe ordering issues - Pass tps68470_regulator_platform_data to the tps68470-regulator MFD-cell - Pass tps68470_clk_platform_data to the tps68470-regulator MFD-cell - Add get_sensor_adev_and_name() helper - Split into 2 drivers intel-uncore-frequency: - use default_groups in kobj_type intel_pmc_core: - fix memleak on registration failure leds: - simatic-ipc-leds: add new driver for Siemens Industial PCs lenovo-yogabook-wmi: - Add support for hall sensor on the back - Add driver for Lenovo Yoga Book lg-laptop: - Recognize more models platform: - surface: Propagate ACPI Dependency platform/mellanox: - mlxbf-pmc: Fix an IS_ERR() vs NULL bug in mlxbf_pmc_map_counters - mlxreg-lc: fix error code in mlxreg_lc_create_static_devices() platform/surface: - aggregator_registry: Rename device registration function - aggregator_registry: Use generic client removal function - aggregator: Make client device removal more generic platform/x86/intel: - Remove X86_PLATFORM_DRIVERS_INTEL - hid: add quirk to support Surface Go 3 platform_data: - Add linux/platform_data/tps68470.h file pmc_atom: - improve critclk_systems matching for Siemens PCs power: - supply: Provide stubs for charge_behaviour helpers - supply: fix charge_behaviour attribute initialization - supply: add helpers for charge_behaviour sysfs - supply: add charge_behaviour attributes samsung-laptop: - Fix typo in a comment simatic-ipc: - add main driver for Siemens devices system76_acpi: - Guard System76 EC specific functionality think-lmi: - Prevent underflow in index_store() - Simplify tlmi_analyze() error handling a bit - Move kobject_init() call into tlmi_create_auth() - Opcode support - Abort probe on analyze failure thinkpad_acpi: - support inhibit-charge - support force-discharge - Add lid_logo_dot to the list of safe LEDs - Add LED_RETAIN_AT_SHUTDOWN to led_class_devs - Remove unused sensors_pdev_attrs_registered flag - Fix the hwmon sysfs-attr showing up in the wrong place - tpacpi_attr_group contains driver attributes not device attrs - Register tpacpi_pdriver after subdriver init - Restore missing hotkey_tablet_mode and hotkey_radio_sw sysfs-attr - Fix thermal_temp_input_attr sorting - Remove "goto err_exit" from hotkey_init() - Properly indent code in tpacpi_dytc_profile_init() - Cleanup dytc_profile_available - Simplify dytc_version handling - Make *_init() functions return -ENODEV instead of 1 - Accept ibm_init_struct.init() returning -ENODEV - Convert platform driver to use dev_groups - fix documentation for adaptive keyboard - Fix WWAN device disabled issue after S3 deep - Add support for dual fan control tools/power/x86/intel-speed-select: - v1.11 release - Update max frequency touchscreen_dmi: - Remove the Glavey TM800A550L entry - Enable pen support on the Chuwi Hi10 Plus and Pro - Correct min/max values for Chuwi Hi10 Pro (CWI529) tablet - Add TrekStor SurfTab duo W1 touchscreen info watchdog: - simatic-ipc-wdt: add new driver for Siemens Industrial PCs wmi: - Add no_notify_data flag to struct wmi_driver - Fix driver->notify() vs ->probe() race - Replace read_takes_no_args with a flags field x86-android-tablets: - Fix GPIO lookup leak on error-exit - Add TM800A550L data - Add Asus MeMO Pad 7 ME176C data - Add Asus TF103C data - Add support for preloading modules - Add support for registering GPIO lookup tables - Add support for instantiating serdevs - Add support for instantiating platform-devs - Add support for PMIC interrupts - Don't return -EPROBE_DEFER from a non probe() function - New driver for x86 Android tablets x86/platform/uv: - use default_groups in kobj_type -----BEGIN PGP SIGNATURE----- iQFIBAABCAAyFiEEuvA7XScYQRpenhd+kuxHeUQDJ9wFAmHcCbkUHGhkZWdvZWRl QHJlZGhhdC5jb20ACgkQkuxHeUQDJ9y3yAf/Xo8TWsnF7XoS3pNCqRcObIulHy6u 9AOD4gTb0p9LiAd8WN75UsQDew0Rib+UDTS3s6g9l71fMzpTFOD4IaBPrVAmIxpu Qs9raFTH67CFid/V3DCwAjPQYxxp5LBGvYJ4oy3OmaYHieV9jdsvNLISlpi/V8wR PmbmYtiK5TPZwRT+mknq89D+LynP2NYkvoqRitmB7MrAvxY3c0ssrex6dXMrdgqK ehRtfz/ER8xQ03APIzHG+ec73LZsHCMDDG7teas4tiMlMaWGgRO2I8GAudjuPEoy mBTSb3ABuEud8LTMgjB+trM2w9IAoFE0L6/OrKE5dK1tPdaLxvCuuSVheQ== =tmPR -----END PGP SIGNATURE----- Merge tag 'platform-drivers-x86-v5.17-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 drivers: - asus-tf103c-dock - intel_crystal_cove_charger - lenovo-yogabook-wmi - simatic-ipc platform-code + led driver + watchdog driver - x86-android-tablets (kernel module to workaround DSDT bugs on these) amd-pmc: - bug-fixes - smar trace buffer support asus-wmi: - support for custom fan curves int3472 (camera info ACPI object for Intel IPU3/SkyCam cameras): - ACPI core + int3472 changes to delay enumeration of camera sensor I2C clients until the PMIC for the sensor has been fully probed - Add support for board data (DSDT info is incomplete) for setting up the tps68470 PMIC used on some boards with these cameras - Add board data for the Microsoft Surface Go (original, v2 and v3) thinkpad_acpi: - various cleanups - support for forced battery discharging (for battery calibration) - support to inhibit battery charging - this includes power_supply core changes to add new APIs for this think_lmi: - enhanced BIOS password support various other small fixes and hardware-id additions" * tag 'platform-drivers-x86-v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (78 commits) power: supply: Provide stubs for charge_behaviour helpers platform/x86: x86-android-tablets: Fix GPIO lookup leak on error-exit platform/x86: int3472: Add board data for Surface Go 3 platform/x86: Add Asus TF103C dock driver platform/x86: x86-android-tablets: Add TM800A550L data platform/x86: x86-android-tablets: Add Asus MeMO Pad 7 ME176C data platform/x86: x86-android-tablets: Add Asus TF103C data platform/x86: x86-android-tablets: Add support for preloading modules platform/x86: x86-android-tablets: Add support for registering GPIO lookup tables platform/x86: x86-android-tablets: Add support for instantiating serdevs platform/x86: x86-android-tablets: Add support for instantiating platform-devs platform/x86: x86-android-tablets: Add support for PMIC interrupts platform/x86: x86-android-tablets: Don't return -EPROBE_DEFER from a non probe() function platform/x86: touchscreen_dmi: Remove the Glavey TM800A550L entry platform/x86: touchscreen_dmi: Enable pen support on the Chuwi Hi10 Plus and Pro platform/x86: touchscreen_dmi: Correct min/max values for Chuwi Hi10 Pro (CWI529) tablet platform/x86: Add intel_crystal_cove_charger driver power: supply: fix charge_behaviour attribute initialization platform/x86: intel-uncore-frequency: use default_groups in kobj_type x86/platform/uv: use default_groups in kobj_type ... |
||
---|---|---|
.. | ||
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.