platform-drivers-x86 for v6.0-1

Highlights:
 -  Microsoft Surface:
    - SSAM hot unplug support
    - Surface Pro 8 keyboard cover support
    - Tablet mode switch support for Surface Pro 8 and Surface Laptop Studio
 -  thinkpad_acpi: AMD Automatice Mode Transitions (AMT) support
 -  Mellanox:
    - Vulcan chassis COMe NVSwitch management support
    - XH3000 support
 - New generic/shared Intel P2SB (Primary to Sideband) support
 - Lots of small cleanups
 - Various small bugfixes
 - Various new hardware ids / quirks additions

The following is an automated git shortlog grouped by driver:

ACPI:
 -  video: Fix acpi_video_handles_brightness_key_presses()
 -  video: Change how we determine if brightness key-presses are handled

Documentation/ABI:
 -  Add new attributes for mlxreg-io sysfs interfaces
 -  mlxreg-io: Fix contact info

Drop the PMC_ATOM Kconfig option:
 - Drop the PMC_ATOM Kconfig option

EDAC, pnd2:
 -  convert to use common P2SB accessor
 -  Use proper I/O accessors and address space annotation

HID:
 -  surface-hid: Add support for hot-removal

ISST:
 -  PUNIT device mapping with Sub-NUMA clustering

Kconfig:
 -  Remove unnecessary "if X86"

MAINTAINERS:
 -  repair file entry in MICROSOFT SURFACE AGGREGATOR TABLET-MODE SWITCH

Merge tag 'ib-mfd-edac-i2c-leds-pinctrl-platform-watchdog-v5.20' into review-hans:
 - Merge tag 'ib-mfd-edac-i2c-leds-pinctrl-platform-watchdog-v5.20' into review-hans

Move AMD platform drivers to separate directory:
 - Move AMD platform drivers to separate directory

acer-wmi:
 -  Use backlight helper

acer_wmi:
 -  Cleanup Kconfig selects

apple-gmux:
 -  Use backlight helper

asus-wmi:
 -  Add mic-mute LED classdev support
 -  Add key mappings

compal-laptop:
 -  Use backlight helper

efi:
 -  Fix efi_power_off() not being run before acpi_power_off() when necessary

gigabyte-wmi:
 -  add support for B660I AORUS PRO DDR4

hp-wmi:
 -  Ignore Sanitization Mode event

i2c:
 -  i801: convert to use common P2SB accessor

ideapad-laptop:
 -  Add Ideapad 5 15ITL05 to ideapad_dytc_v4_allow_table[]
 -  Add allow_v4_dytc module parameter

intel/pmc:
 -  Add Alder Lake N support to PMC core driver

intel_atomisp2_led:
 -  Also turn off the always-on camera LED on the Asus T100TAF

leds:
 -  simatic-ipc-leds-gpio: Add GPIO version of Siemens driver
 -  simatic-ipc-leds: Convert to use P2SB accessor

mfd:
 -  lpc_ich: Add support for pinctrl in non-ACPI system
 -  lpc_ich: Switch to generic p2sb_bar()
 -  lpc_ich: Factor out lpc_ich_enable_spi_write()

mlx-platform:
 -  Add COME board revision register
 -  Add support for new system XH3000
 -  Introduce support for COMe NVSwitch management module for Vulcan chassis
 -  Add support for systems equipped with two ASICs
 -  Add cosmetic changes for alignment
 -  Make activation of some drivers conditional

p2sb:
 -  Move out of X86_PLATFORM_DEVICES dependency

panasonic-laptop:
 -  Use acpi_video_get_backlight_type()
 -  filter out duplicate volume up/down/mute keypresses
 -  don't report duplicate brightness key-presses
 -  revert "Resolve hotkey double trigger bug"
 -  sort includes alphabetically
 -  de-obfuscate button codes

pinctrl:
 -  intel: Check against matching data instead of ACPI companion

platform/mellanox:
 -  mlxreg-lc: Fix error flow and extend verbosity
 -  mlxreg-io: Add locking for io operations
 -  nvsw-sn2201: fix error code in nvsw_sn2201_create_static_devices()

platform/olpc:
 -  Fix uninitialized data in debugfs write

platform/surface:
 -  gpe: Add support for 13" Intel version of Surface Laptop 4
 -  tabletsw: Fix __le32 integer access
 -  Update copyright year of various drivers
 -  aggregator: Move subsystem hub drivers to their own module
 -  aggregator: Move device registry helper functions to core module
 -  aggregator_registry: Add support for tablet mode switch on Surface Laptop Studio
 -  aggregator_registry: Add support for tablet mode switch on Surface Pro 8
 -  Add KIP/POS tablet-mode switch driver
 -  aggregator: Add helper macros for requests with argument and return value
 -  aggregator: Reserve more event- and target-categories
 -  avoid flush_scheduled_work() usage
 -  aggregator_registry: Add support for keyboard cover on Surface Pro 8
 -  aggregator_registry: Add KIP device hub
 -  aggregator_registry: Change device ID for base hub
 -  aggregator_registry: Generify subsystem hub functionality
 -  aggregator: Add comment for KIP subsystem category
 -  aggregator_registry: Use client device wrappers for notifier registration
 -  aggregator: Allow notifiers to avoid communication on unregistering
 -  aggregator: Allow devices to be marked as hot-removed
 -  aggregator: Allow is_ssam_device() to be used when CONFIG_SURFACE_AGGREGATOR_BUS is disabled

platform/x86/amd/pmc:
 -  Add new platform support
 -  Add new acpi id for PMC controller

platform/x86/dell:
 -  Kconfig: Remove unnecessary "depends on X86_PLATFORM_DEVICES"

platform/x86/intel:
 -  Add Primary to Sideband (P2SB) bridge support

platform/x86/intel/ifs:
 -  Mark as BROKEN

platform/x86/intel/pmt:
 -  telemetry: Fix fixed region handling

platform/x86/intel/vsec:
 -  Fix wrong type for local status variables
 -  Add PCI error recovery support to Intel PMT
 -  Add support for Raptor Lake
 -  Rework early hardware code

pmc_atom:
 -  Fix comment typo
 -  Match all Lex BayTrail boards with critclk_systems DMI table

power/supply:
 -  surface_battery: Use client device wrappers for notifier registration
 -  surface_charger: Use client device wrappers for notifier registration

serial-multi-instantiate:
 -  Sort ACPI IDs by HID
 -  Get rid of redundant 'else'
 -  Use while (i--) pattern to clean up
 -  Improve dev_err_probe() messaging
 -  Drop duplicate check
 -  Improve autodetection

simatic-ipc:
 -  drop custom P2SB bar code

sony-laptop:
 -  Remove useless comparisons in sony_pic_read_possible_resource()

system76_acpi:
 -  Use dev_get_drvdata

thinkpad_acpi:
 -  Enable AMT by default on supported systems
 -  Add support for hotkey 0x131a
 -  Add support for automatic mode transitions
 -  profile capabilities as integer
 -  do not use PSC mode on Intel platforms
 -  Fix a memory leak of EFCH MMIO resource
 -  Replace custom str_on_off() etc
 -  Sort headers for better maintenance
 -  Use backlight helper

tools/power/x86/intel-speed-select:
 -  Remove unneeded semicolon
 -  Fix off by one check

watchdog:
 -  simatic-ipc-wdt: convert to use P2SB accessor

x86-android-tablets:
 -  Fix Lenovo Yoga Tablet 2 830/1050 poweroff again
platform/x86/intel/vsec: Fix wrong type for local status variables

The local status variables in intel_vsec_pci_error_detected()
and intel_vsec_pci_slot_reset() should have pci_ers_result_t as type
(and not pci_channel_state_t).

Also fix a whitespace error as well as intel_vsec_pci_err_handlers not
being marked static.

This fixes the following sparse errors:

drivers/platform/x86/intel/vsec.c:429:38: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted pci_channel_state_t [usertype] status @@     got restricted pci_ers_result_t @@
drivers/platform/x86/intel/vsec.c:429:38: sparse:     expected restricted pci_channel_state_t [usertype] status
drivers/platform/x86/intel/vsec.c:429:38: sparse:     got restricted pci_ers_result_t
drivers/platform/x86/intel/vsec.c:434:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted pci_channel_state_t [usertype] status @@     got restricted pci_ers_result_t @@
drivers/platform/x86/intel/vsec.c:434:24: sparse:     expected restricted pci_channel_state_t [usertype] status
drivers/platform/x86/intel/vsec.c:434:24: sparse:     got restricted pci_ers_result_t
drivers/platform/x86/intel/vsec.c:438:16: sparse: sparse: incorrect type in return expression (different base types) @@     expected restricted pci_ers_result_t @@     got restricted pci_channel_state_t [usertype] status @@
drivers/platform/x86/intel/vsec.c:438:16: sparse:     expected restricted pci_ers_result_t
drivers/platform/x86/intel/vsec.c:438:16: sparse:     got restricted pci_channel_state_t [usertype] status
drivers/platform/x86/intel/vsec.c:444:38: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted pci_channel_state_t [usertype] status @@     got restricted pci_ers_result_t @@
drivers/platform/x86/intel/vsec.c:444:38: sparse:     expected restricted pci_channel_state_t [usertype] status
drivers/platform/x86/intel/vsec.c:444:38: sparse:     got restricted pci_ers_result_t
drivers/platform/x86/intel/vsec.c:457:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted pci_channel_state_t [usertype] status @@     got restricted pci_ers_result_t @@
drivers/platform/x86/intel/vsec.c:457:16: sparse:     expected restricted pci_channel_state_t [usertype] status
drivers/platform/x86/intel/vsec.c:457:16: sparse:     got restricted pci_ers_result_t
drivers/platform/x86/intel/vsec.c:472:16: sparse: sparse: incorrect type in return expression (different base types) @@     expected restricted pci_ers_result_t @@     got restricted pci_channel_state_t [usertype] status @@
drivers/platform/x86/intel/vsec.c:472:16: sparse:     expected restricted pci_ers_result_t
drivers/platform/x86/intel/vsec.c:472:16: sparse:     got restricted pci_channel_state_t [usertype] status
drivers/platform/x86/intel/vsec.c:480:33: sparse: sparse: symbol 'intel_vsec_pci_err_handlers' was not declared. Should it be static?

Reported-by: kernel test robot <lkp@intel.com>
Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com>
Cc: David E Box <david.e.box@intel.com>
Cc: Gayatri Kammela <gayatri.kammela@linux.intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20220801145536.172410-1-hdegoede@redhat.com
1 file changed