linux/drivers/platform/x86
Jithu Joseph 2d30fcdd43 platform/x86: Add Slim Bootloader firmware update signaling driver
Slim Bootloader(SBL) is a small open-source boot firmware,
designed for running on certain Intel platforms. SBL can be
thought-of as fulfilling the role of a minimal BIOS
implementation, i.e initializing the hardware and booting
Operating System.

Since SBL is not UEFI compliant, firmware update cannot be triggered
using standard UEFI runtime services. Further considering performance
impact, SBL doesn't look for a firmware update image on every reset
and does so only when firmware update signal is asserted.

SBL exposes an ACPI-WMI device which comes up in sysfs as
/sys/bus/wmi/44FADEB1xxx and this driver adds a
"firmware_update_request" device attribute. This attribute normally
has a value of 0 and userspace can signal SBL to update firmware,
on next reboot, by writing a value of 1 like:

echo 1 > /sys/bus/wmi/devices/44FADEB1xxx/firmware_update_request

This driver only implements a signaling mechanism, the actual firmware
update process and various details like firmware update image format,
firmware image location etc are defined by SBL and are not in the
scope of this driver.

DocLink: https://slimbootloader.github.io/security/firmware-update.html
Signed-off-by: Jithu Joseph <jithu.joseph@intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2020-05-05 20:27:44 +03:00
..
intel_speed_select_if platform-drivers-x86 for v5.7-1 2020-03-31 16:43:40 -07:00
acer-wireless.c
acer-wmi.c platform/x86: acer-wmi: Switch to acpi_dev_get_first_match_dev() 2019-07-30 14:12:51 +03:00
acerhdf.c treewide: Rename Peter Feuerer to Peter Kaestle 2019-10-21 12:17:23 +03:00
alienware-wmi.c
amilo-rfkill.c
apple-gmux.c
asus-laptop.c platform-drivers-x86 for v5.5-1 2019-12-01 18:24:25 -08:00
asus-nb-wmi.c platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA 2020-04-24 13:00:19 +03:00
asus-wireless.c
asus-wmi.c platform/x86: asus_wmi: Fix return value of fan_boost_mode_store 2020-03-20 14:44:46 +02:00
asus-wmi.h
classmate-laptop.c platform/x86: classmate-laptop: remove unused variable 2019-10-15 10:55:10 +03:00
compal-laptop.c platform/x86: compal-laptop: Initialize "value" in ec_read_u8() 2019-09-07 21:16:09 +03:00
dcdbas.c docs: driver-api: add a series of orphaned documents 2019-07-15 11:03:02 -03:00
dcdbas.h
dell_rbu.c platform/x86: dell_rbu: Unify format of the printed messages 2020-02-10 17:47:38 +02:00
dell-laptop.c change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
dell-rbtn.c change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
dell-rbtn.h change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
dell-smbios-base.c change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
dell-smbios-smm.c change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
dell-smbios-wmi.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
dell-smbios.h change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
dell-smo8800.c change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
dell-wmi-aio.c
dell-wmi-descriptor.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
dell-wmi-descriptor.h
dell-wmi-led.c
dell-wmi.c change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
eeepc-laptop.c platform/x86: eeepc-laptop: Use pr_warn instead of pr_warning 2019-10-18 15:00:48 +02:00
eeepc-wmi.c
fujitsu-laptop.c
fujitsu-tablet.c
gpd-pocket-fan.c platform/x86: GPD pocket fan: Fix error message when temp-limits are out of range 2020-03-20 14:44:47 +02:00
hdaps.c platform/x86: hdaps: switch to using polled mode of input devices 2019-10-15 10:55:09 +03:00
hp_accel.c platform/x86: hp_accel: Add support for HP ZBook 17 G5 2019-07-29 18:31:48 +03:00
hp-wireless.c
hp-wmi.c platform/x86: hp-wmi: Make buffer for HPWMI_FEATURE2_QUERY 128 bytes 2019-12-20 19:00:50 +02:00
huawei-wmi.c platform/x86: huawei-wmi: Remove unnecessary battery mutex 2019-10-21 12:17:30 +03:00
i2c-multi-instantiate.c platform/x86: i2c-multi-instantiate: Replace zero-length array with flexible-array member 2020-02-28 12:44:11 +02:00
ibm_rtl.c
ideapad-laptop.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
intel_atomisp2_pm.c platform/x86: intel_atomisp2_pm: Spelling fixes 2020-01-10 11:57:22 +02:00
intel_bxtwc_tmu.c platform/x86: intel_bxtwc_tmu: Remove dev_err() usage after platform_get_irq() 2019-08-01 18:03:02 +03:00
intel_cht_int33fe_common.c platform/x86: intel_cht_int33fe: Split code to Micro-B and Type-C 2019-10-15 10:55:10 +03:00
intel_cht_int33fe_common.h platform/x86: intel_cht_int33fe: Split code to Micro-B and Type-C 2019-10-15 10:55:10 +03:00
intel_cht_int33fe_microb.c platform/x86: intel_cht_int33fe: Split code to Micro-B and Type-C 2019-10-15 10:55:10 +03:00
intel_cht_int33fe_typec.c platform/x86: intel_cht_int33fe: Fix spelling issues 2020-04-20 14:47:45 +03:00
intel_chtdc_ti_pwrbtn.c
intel_int0002_vgpio.c Additional power management updates for 5.7-rc1 2020-04-06 10:14:39 -07:00
intel_ips.c
intel_ips.h platform/x86: intel-ips: Use the correct style for SPDX License Identifier 2020-01-10 11:57:21 +02:00
intel_menlow.c platform/x86: intel_menlow: switch to use <linux/units.h> helpers 2020-01-31 10:30:40 -08:00
intel_mid_powerbtn.c platform/x86: intel_mid_powerbtn: Convert to use new SCU IPC API 2020-04-24 11:17:32 +01:00
intel_mid_thermal.c
intel_mrfld_pwrbtn.c
intel_oaktrail.c platform/x86: intel_oaktrail: Use pr_warn instead of pr_warning 2019-10-18 15:01:35 +02:00
intel_pmc_core_pltdrv.c platform/x86: Convert to new CPU match macros 2020-03-24 21:33:00 +01:00
intel_pmc_core.c platform/x86: intel_pmc_core: avoid unused-function warnings 2020-05-05 20:26:16 +03:00
intel_pmc_core.h platform/x86: intel_pmc_core: avoid unused-function warnings 2020-05-05 20:26:16 +03:00
intel_punit_ipc.c platform/x86: intel_punit_ipc: Drop useless label 2019-10-27 02:10:57 +03:00
intel_scu_ipc.c platform/x86: intel_scu_ipc: Add managed function to register SCU IPC 2020-04-24 11:17:44 +01:00
intel_scu_ipcutil.c platform/x86: intel_scu_ipcutil: Convert to use new SCU IPC API 2020-04-24 11:17:41 +01:00
intel_scu_pcidrv.c platform/x86: intel_pmc_ipc: Move PCI IDs to intel_scu_pcidrv.c 2020-04-24 11:18:25 +01:00
intel_scu_pltdrv.c platform/x86: Add Elkhart Lake SCU/PMC support 2020-05-05 20:26:16 +03:00
intel_telemetry_core.c platform/x86: intel_telemetry: Add telemetry_get_pltdata() 2020-04-24 11:18:30 +01:00
intel_telemetry_debugfs.c platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +01:00
intel_telemetry_pltdrv.c platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +01:00
intel_turbo_max_3.c platform/x86: Convert to new CPU match macros 2020-03-24 21:33:00 +01:00
intel-hid.c Additional ACPI updates for 5.7-rc1 2020-04-06 10:35:06 -07:00
intel-rst.c
intel-smartconnect.c
intel-uncore-frequency.c platform/x86/intel-uncore-freq: make uncore_root_kobj static 2020-04-17 16:48:06 +03:00
intel-vbtn.c platform/x86: intel-vbtn: Move MODULE_DEVICE_TABLE() closer to the table 2020-02-10 11:12:18 +02:00
intel-wmi-sbl-fw-update.c platform/x86: Add Slim Bootloader firmware update signaling driver 2020-05-05 20:27:44 +03:00
intel-wmi-thunderbolt.c
Kconfig platform/x86: Add Slim Bootloader firmware update signaling driver 2020-05-05 20:27:44 +03:00
lg-laptop.c
Makefile platform/x86: Add Slim Bootloader firmware update signaling driver 2020-05-05 20:27:44 +03:00
mlx-platform.c platform/x86: mlx-platform: Add support for next generation systems 2020-01-13 21:02:46 +02:00
msi-laptop.c
msi-wmi.c
mxm-wmi.c
panasonic-laptop.c
pcengines-apuv2.c platform/x86: pcengines-apuv2: Spelling fixes in the driver 2019-12-20 19:01:59 +02:00
peaq-wmi.c platform/x86: peaq-wmi: switch to using polled mode of input devices 2019-10-15 10:55:09 +03:00
pmc_atom.c platform/x86: pmc_atom: Add Lex 2I385SW to critclk_systems DMI table 2020-02-10 17:47:38 +02:00
samsung-laptop.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
samsung-q10.c
sony-laptop.c platform/x86: sony-laptop: Use scnprintf() for avoiding potential buffer overflow 2020-03-20 14:44:47 +02:00
surface3_button.c
surface3_power.c platform/x86: surface3_power: Fix a NULL vs IS_ERR() check in probe 2020-04-17 16:47:26 +03:00
surface3-wmi.c
surfacepro3_button.c platform/x86: surfacepro3_button: Fix device check 2019-07-28 12:58:40 +03:00
system76_acpi.c platform/x86: Add System76 ACPI driver 2019-10-15 10:55:11 +03:00
tc1100-wmi.c
thinkpad_acpi.c platform/x86: thinkpad_acpi: Remove always false 'value < 0' statement 2020-05-05 20:26:16 +03:00
topstar-laptop.c
toshiba_acpi.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
toshiba_bluetooth.c
toshiba_haps.c
toshiba-wmi.c
touchscreen_dmi.c platform/x86: touchscreen_dmi: Add info for the ONDA V891 v5 tablet 2020-04-23 17:05:51 +03:00
wmi-bmof.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
wmi.c platform/x86: wmi: Describe function parameters 2020-04-23 17:03:54 +03:00
xiaomi-wmi.c platform/x86: wmi: Make two functions static 2020-04-17 16:47:26 +03:00
xo1-rfkill.c
xo15-ebook.c