Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'platform-drivers-x86-v5.5-2' of git://git.infradead.org/linux-platform-drivers-x86

Pull x86 platform driver fixes from Andy Shevchenko:
"Bucket of fixes for PDx86. Note, that there is no ABI breakage in
Mellanox driver because it has been introduced in v5.5-rc1, so we can
change it.

Summary:

- Add support of APUv4 and fix an assignment of simswap GPIO

- Add Siemens CONNECT X300 to DMI table to avoid stuck during boot

- Correct arguments of WMI call on HP Envy x360 15-cp0xxx model

- Fix the mlx-bootctl sysfs attributes to be device related"

* tag 'platform-drivers-x86-v5.5-2' of git://git.infradead.org/linux-platform-drivers-x86:
platform/x86: pcengines-apuv2: Spelling fixes in the driver
platform/x86: pcengines-apuv2: detect apuv4 board
platform/x86: pcengines-apuv2: fix simswap GPIO assignment
platform/x86: pmc_atom: Add Siemens CONNECT X300 to critclk_systems DMI table
platform/x86: hp-wmi: Make buffer for HPWMI_FEATURE2_QUERY 128 bytes
platform/mellanox: fix the mlx-bootctl sysfs

+60 -25
+5 -5
Documentation/ABI/testing/sysfs-platform-mellanox-bootctl
··· 1 - What: /sys/bus/platform/devices/MLNXBF04:00/driver/lifecycle_state 1 + What: /sys/bus/platform/devices/MLNXBF04:00/lifecycle_state 2 2 Date: Oct 2019 3 3 KernelVersion: 5.5 4 4 Contact: "Liming Sun <lsun@mellanox.com>" ··· 10 10 GA Non-Secured - Non-Secure chip and not able to change state 11 11 RMA - Return Merchandise Authorization 12 12 13 - What: /sys/bus/platform/devices/MLNXBF04:00/driver/post_reset_wdog 13 + What: /sys/bus/platform/devices/MLNXBF04:00/post_reset_wdog 14 14 Date: Oct 2019 15 15 KernelVersion: 5.5 16 16 Contact: "Liming Sun <lsun@mellanox.com>" ··· 19 19 to reboot the chip and recover it to the old state if the new 20 20 boot partition fails. 21 21 22 - What: /sys/bus/platform/devices/MLNXBF04:00/driver/reset_action 22 + What: /sys/bus/platform/devices/MLNXBF04:00/reset_action 23 23 Date: Oct 2019 24 24 KernelVersion: 5.5 25 25 Contact: "Liming Sun <lsun@mellanox.com>" ··· 30 30 emmc - boot from the onchip eMMC 31 31 emmc_legacy - boot from the onchip eMMC in legacy (slow) mode 32 32 33 - What: /sys/bus/platform/devices/MLNXBF04:00/driver/second_reset_action 33 + What: /sys/bus/platform/devices/MLNXBF04:00/second_reset_action 34 34 Date: Oct 2019 35 35 KernelVersion: 5.5 36 36 Contact: "Liming Sun <lsun@mellanox.com>" ··· 44 44 swap_emmc - swap the primary / secondary boot partition 45 45 none - cancel the action 46 46 47 - What: /sys/bus/platform/devices/MLNXBF04:00/driver/secure_boot_fuse_state 47 + What: /sys/bus/platform/devices/MLNXBF04:00/secure_boot_fuse_state 48 48 Date: Oct 2019 49 49 KernelVersion: 5.5 50 50 Contact: "Liming Sun <lsun@mellanox.com>"
+1 -1
drivers/platform/mellanox/mlxbf-bootctl.c
··· 309 309 .probe = mlxbf_bootctl_probe, 310 310 .driver = { 311 311 .name = "mlxbf-bootctl", 312 - .groups = mlxbf_bootctl_groups, 312 + .dev_groups = mlxbf_bootctl_groups, 313 313 .acpi_match_table = mlxbf_bootctl_acpi_ids, 314 314 } 315 315 };
+1 -1
drivers/platform/x86/hp-wmi.c
··· 300 300 301 301 static int __init hp_wmi_bios_2009_later(void) 302 302 { 303 - int state = 0; 303 + u8 state[128]; 304 304 int ret = hp_wmi_perform_query(HPWMI_FEATURE2_QUERY, HPWMI_READ, &state, 305 305 sizeof(state), sizeof(state)); 306 306 if (!ret)
+45 -18
drivers/platform/x86/pcengines-apuv2.c
··· 2 2 3 3 /* 4 4 * PC-Engines APUv2/APUv3 board platform driver 5 - * for gpio buttons and LEDs 5 + * for GPIO buttons and LEDs 6 6 * 7 7 * Copyright (C) 2018 metux IT consult 8 8 * Author: Enrico Weigelt <info@metux.net> ··· 23 23 24 24 /* 25 25 * NOTE: this driver only supports APUv2/3 - not APUv1, as this one 26 - * has completely different register layouts 26 + * has completely different register layouts. 27 27 */ 28 28 29 - /* register mappings */ 29 + /* Register mappings */ 30 30 #define APU2_GPIO_REG_LED1 AMD_FCH_GPIO_REG_GPIO57 31 31 #define APU2_GPIO_REG_LED2 AMD_FCH_GPIO_REG_GPIO58 32 32 #define APU2_GPIO_REG_LED3 AMD_FCH_GPIO_REG_GPIO59_DEVSLP1 ··· 35 35 #define APU2_GPIO_REG_MPCIE2 AMD_FCH_GPIO_REG_GPIO59_DEVSLP0 36 36 #define APU2_GPIO_REG_MPCIE3 AMD_FCH_GPIO_REG_GPIO51 37 37 38 - /* order in which the gpio lines are defined in the register list */ 38 + /* Order in which the GPIO lines are defined in the register list */ 39 39 #define APU2_GPIO_LINE_LED1 0 40 40 #define APU2_GPIO_LINE_LED2 1 41 41 #define APU2_GPIO_LINE_LED3 2 ··· 44 44 #define APU2_GPIO_LINE_MPCIE2 5 45 45 #define APU2_GPIO_LINE_MPCIE3 6 46 46 47 - /* gpio device */ 47 + /* GPIO device */ 48 48 49 49 static int apu2_gpio_regs[] = { 50 50 [APU2_GPIO_LINE_LED1] = APU2_GPIO_REG_LED1, ··· 72 72 .gpio_names = apu2_gpio_names, 73 73 }; 74 74 75 - /* gpio leds device */ 75 + /* GPIO LEDs device */ 76 76 77 77 static const struct gpio_led apu2_leds[] = { 78 78 { .name = "apu:green:1" }, ··· 95 95 NULL, 1, GPIO_ACTIVE_LOW), 96 96 GPIO_LOOKUP_IDX(AMD_FCH_GPIO_DRIVER_NAME, APU2_GPIO_LINE_LED3, 97 97 NULL, 2, GPIO_ACTIVE_LOW), 98 - GPIO_LOOKUP_IDX(AMD_FCH_GPIO_DRIVER_NAME, APU2_GPIO_REG_SIMSWAP, 98 + GPIO_LOOKUP_IDX(AMD_FCH_GPIO_DRIVER_NAME, APU2_GPIO_LINE_SIMSWAP, 99 99 NULL, 3, GPIO_ACTIVE_LOW), 100 100 } 101 101 }; 102 102 103 - /* gpio keyboard device */ 103 + /* GPIO keyboard device */ 104 104 105 105 static struct gpio_keys_button apu2_keys_buttons[] = { 106 106 { ··· 129 129 } 130 130 }; 131 131 132 - /* board setup */ 132 + /* Board setup */ 133 133 134 - /* note: matching works on string prefix, so "apu2" must come before "apu" */ 134 + /* Note: matching works on string prefix, so "apu2" must come before "apu" */ 135 135 static const struct dmi_system_id apu_gpio_dmi_table[] __initconst = { 136 136 137 - /* APU2 w/ legacy bios < 4.0.8 */ 137 + /* APU2 w/ legacy BIOS < 4.0.8 */ 138 138 { 139 139 .ident = "apu2", 140 140 .matches = { ··· 143 143 }, 144 144 .driver_data = (void *)&board_apu2, 145 145 }, 146 - /* APU2 w/ legacy bios >= 4.0.8 */ 146 + /* APU2 w/ legacy BIOS >= 4.0.8 */ 147 147 { 148 148 .ident = "apu2", 149 149 .matches = { ··· 152 152 }, 153 153 .driver_data = (void *)&board_apu2, 154 154 }, 155 - /* APU2 w/ maainline bios */ 155 + /* APU2 w/ mainline BIOS */ 156 156 { 157 157 .ident = "apu2", 158 158 .matches = { ··· 162 162 .driver_data = (void *)&board_apu2, 163 163 }, 164 164 165 - /* APU3 w/ legacy bios < 4.0.8 */ 165 + /* APU3 w/ legacy BIOS < 4.0.8 */ 166 166 { 167 167 .ident = "apu3", 168 168 .matches = { ··· 171 171 }, 172 172 .driver_data = (void *)&board_apu2, 173 173 }, 174 - /* APU3 w/ legacy bios >= 4.0.8 */ 174 + /* APU3 w/ legacy BIOS >= 4.0.8 */ 175 175 { 176 176 .ident = "apu3", 177 177 .matches = { ··· 180 180 }, 181 181 .driver_data = (void *)&board_apu2, 182 182 }, 183 - /* APU3 w/ mainline bios */ 183 + /* APU3 w/ mainline BIOS */ 184 184 { 185 185 .ident = "apu3", 186 186 .matches = { 187 187 DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"), 188 188 DMI_MATCH(DMI_BOARD_NAME, "PC Engines apu3") 189 + }, 190 + .driver_data = (void *)&board_apu2, 191 + }, 192 + /* APU4 w/ legacy BIOS < 4.0.8 */ 193 + { 194 + .ident = "apu4", 195 + .matches = { 196 + DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"), 197 + DMI_MATCH(DMI_BOARD_NAME, "APU4") 198 + }, 199 + .driver_data = (void *)&board_apu2, 200 + }, 201 + /* APU4 w/ legacy BIOS >= 4.0.8 */ 202 + { 203 + .ident = "apu4", 204 + .matches = { 205 + DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"), 206 + DMI_MATCH(DMI_BOARD_NAME, "apu4") 207 + }, 208 + .driver_data = (void *)&board_apu2, 209 + }, 210 + /* APU4 w/ mainline BIOS */ 211 + { 212 + .ident = "apu4", 213 + .matches = { 214 + DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"), 215 + DMI_MATCH(DMI_BOARD_NAME, "PC Engines apu4") 189 216 }, 190 217 .driver_data = (void *)&board_apu2, 191 218 }, ··· 250 223 251 224 id = dmi_first_match(apu_gpio_dmi_table); 252 225 if (!id) { 253 - pr_err("failed to detect apu board via dmi\n"); 226 + pr_err("failed to detect APU board via DMI\n"); 254 227 return -ENODEV; 255 228 } 256 229 ··· 289 262 module_exit(apu_board_exit); 290 263 291 264 MODULE_AUTHOR("Enrico Weigelt, metux IT consult <info@metux.net>"); 292 - MODULE_DESCRIPTION("PC Engines APUv2/APUv3 board GPIO/LED/keys driver"); 265 + MODULE_DESCRIPTION("PC Engines APUv2/APUv3 board GPIO/LEDs/keys driver"); 293 266 MODULE_LICENSE("GPL"); 294 267 MODULE_DEVICE_TABLE(dmi, apu_gpio_dmi_table); 295 268 MODULE_ALIAS("platform:pcengines-apuv2");
+8
drivers/platform/x86/pmc_atom.c
··· 429 429 DMI_MATCH(DMI_PRODUCT_VERSION, "6AV7882-0"), 430 430 }, 431 431 }, 432 + { 433 + .ident = "CONNECT X300", 434 + .matches = { 435 + DMI_MATCH(DMI_SYS_VENDOR, "SIEMENS AG"), 436 + DMI_MATCH(DMI_PRODUCT_VERSION, "A5E45074588"), 437 + }, 438 + }, 439 + 432 440 { /*sentinel*/ } 433 441 }; 434 442