Kconfig: Add system type entries for common enclosures
These are more common system types and in some cases it is important to know when a device is a convertible or a tablet or detachable instead of just a laptop. This change will select the appropriate SMBIOS enclosure type based on the selected system type. This is important for the Intel Virtual Button driver as it does a check on the SMBIOS enclosure type and only enables the tablet mode events if it is set to convertible: https://patchwork.kernel.org/patch/10236253/ Change-Id: I148ec2329a1dd38ad55c60ba277a514c66376fcc Signed-off-by: Duncan Laurie <dlaurie@google.com> Reviewed-on: https://review.coreboot.org/c/31206 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
parent
dff29e0c65
commit
8312df4173
20
src/Kconfig
20
src/Kconfig
|
@ -335,6 +335,18 @@ config SYSTEM_TYPE_LAPTOP
|
||||||
default n
|
default n
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config SYSTEM_TYPE_TABLET
|
||||||
|
default n
|
||||||
|
bool
|
||||||
|
|
||||||
|
config SYSTEM_TYPE_DETACHABLE
|
||||||
|
default n
|
||||||
|
bool
|
||||||
|
|
||||||
|
config SYSTEM_TYPE_CONVERTIBLE
|
||||||
|
default n
|
||||||
|
bool
|
||||||
|
|
||||||
config CBFS_AUTOGEN_ATTRIBUTES
|
config CBFS_AUTOGEN_ATTRIBUTES
|
||||||
default n
|
default n
|
||||||
bool
|
bool
|
||||||
|
@ -654,11 +666,15 @@ config SMBIOS_ENCLOSURE_TYPE
|
||||||
hex
|
hex
|
||||||
depends on GENERATE_SMBIOS_TABLES
|
depends on GENERATE_SMBIOS_TABLES
|
||||||
default 0x09 if SYSTEM_TYPE_LAPTOP
|
default 0x09 if SYSTEM_TYPE_LAPTOP
|
||||||
|
default 0x1e if SYSTEM_TYPE_TABLET
|
||||||
|
default 0x1f if SYSTEM_TYPE_CONVERTIBLE
|
||||||
|
default 0x20 if SYSTEM_TYPE_DETACHABLE
|
||||||
default 0x03
|
default 0x03
|
||||||
help
|
help
|
||||||
System Enclosure or Chassis Types as defined in SMBIOS specification.
|
System Enclosure or Chassis Types as defined in SMBIOS specification.
|
||||||
The default value is SMBIOS_ENCLOSURE_DESKTOP (0x03) or
|
The default value is SMBIOS_ENCLOSURE_DESKTOP (0x03) but laptop,
|
||||||
SMBIOS_ENCLOSURE_LAPTOP (0x09) if SYSTEM_TYPE_LAPTOP is set.
|
convertible, or tablet enclosure will be used if the appropriate
|
||||||
|
system type is selected.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
|
|
@ -1066,7 +1066,10 @@ void acpi_create_fadt(acpi_fadt_t *fadt, acpi_facs_t *facs, void *dsdt)
|
||||||
fadt->x_dsdt_l = (unsigned long)dsdt;
|
fadt->x_dsdt_l = (unsigned long)dsdt;
|
||||||
fadt->x_dsdt_h = 0;
|
fadt->x_dsdt_h = 0;
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_SYSTEM_TYPE_LAPTOP))
|
if (IS_ENABLED(CONFIG_SYSTEM_TYPE_CONVERTIBLE) ||
|
||||||
|
IS_ENABLED(CONFIG_SYSTEM_TYPE_DETACHABLE) ||
|
||||||
|
IS_ENABLED(CONFIG_SYSTEM_TYPE_LAPTOP) ||
|
||||||
|
IS_ENABLED(CONFIG_SYSTEM_TYPE_TABLET))
|
||||||
fadt->preferred_pm_profile = PM_MOBILE;
|
fadt->preferred_pm_profile = PM_MOBILE;
|
||||||
else
|
else
|
||||||
fadt->preferred_pm_profile = PM_DESKTOP;
|
fadt->preferred_pm_profile = PM_DESKTOP;
|
||||||
|
|
Loading…
Reference in New Issue