Skip to content

Commit b86545e

Browse files
committed
Merge tag 'acpi-6.13-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull more ACPI updates from Rafael Wysocki: "These add a common init function for arch-specific ACPI initialization, clean up idle states initialization in the ACPI processor_idle driver and update quirks: - Introduce acpi_arch_init() for architecture-specific ACPI subsystem initialization (Miao Wang) - Clean up Asus quirks in acpi_quirk_skip_dmi_ids[] and add a quirk to skip I2C clients on Acer Iconia One 8 A1-840 (Hans de Goede) - Make the ACPI processor_idle driver use acpi_idle_play_dead() for all idle states regardless of their types (Rafael Wysocki)" * tag 'acpi-6.13-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI: introduce acpi_arch_init() ACPI: x86: Clean up Asus entries in acpi_quirk_skip_dmi_ids[] ACPI: x86: Add skip i2c clients quirk for Acer Iconia One 8 A1-840 ACPI: processor_idle: Use acpi_idle_play_dead() for all C-states
2 parents 79525e2 + 6f683c7 commit b86545e

File tree

6 files changed

+35
-28
lines changed

6 files changed

+35
-28
lines changed

drivers/acpi/arm64/init.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include <linux/acpi.h>
33
#include "init.h"
44

5-
void __init acpi_arm_init(void)
5+
void __init acpi_arch_init(void)
66
{
77
if (IS_ENABLED(CONFIG_ACPI_AGDI))
88
acpi_agdi_init();

drivers/acpi/bus.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1434,6 +1434,8 @@ static int __init acpi_bus_init(void)
14341434
struct kobject *acpi_kobj;
14351435
EXPORT_SYMBOL_GPL(acpi_kobj);
14361436

1437+
void __weak __init acpi_arch_init(void) { }
1438+
14371439
static int __init acpi_init(void)
14381440
{
14391441
int result;
@@ -1461,8 +1463,7 @@ static int __init acpi_init(void)
14611463
acpi_viot_early_init();
14621464
acpi_hest_init();
14631465
acpi_ghes_init();
1464-
acpi_arm_init();
1465-
acpi_riscv_init();
1466+
acpi_arch_init();
14661467
acpi_scan_init();
14671468
acpi_ec_init();
14681469
acpi_debugfs_init();

drivers/acpi/processor_idle.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -800,12 +800,12 @@ static int acpi_processor_setup_cstates(struct acpi_processor *pr)
800800
state->enter = acpi_idle_enter;
801801

802802
state->flags = 0;
803-
if (cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2 ||
804-
cx->type == ACPI_STATE_C3) {
805-
state->enter_dead = acpi_idle_play_dead;
806-
if (cx->type != ACPI_STATE_C3)
807-
drv->safe_state_index = count;
808-
}
803+
804+
state->enter_dead = acpi_idle_play_dead;
805+
806+
if (cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2)
807+
drv->safe_state_index = count;
808+
809809
/*
810810
* Halt-induced C1 is not good for ->enter_s2idle, because it
811811
* re-enables interrupts on exit. Moreover, C1 is generally not

drivers/acpi/riscv/init.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#include <linux/acpi.h>
88
#include "init.h"
99

10-
void __init acpi_riscv_init(void)
10+
void __init acpi_arch_init(void)
1111
{
1212
riscv_acpi_init_gsi_mapping();
1313
}

drivers/acpi/x86/utils.c

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ static const struct dmi_system_id acpi_quirk_skip_dmi_ids[] = {
296296
/*
297297
* 2. Devices which also have the skip i2c/serdev quirks and which
298298
* need the x86-android-tablets module to properly work.
299+
* Sorted alphabetically.
299300
*/
300301
#if IS_ENABLED(CONFIG_X86_ANDROID_TABLETS)
301302
{
@@ -309,6 +310,19 @@ static const struct dmi_system_id acpi_quirk_skip_dmi_ids[] = {
309310
ACPI_QUIRK_SKIP_GPIO_EVENT_HANDLERS),
310311
},
311312
{
313+
/* Acer Iconia One 8 A1-840 (non FHD version) */
314+
.matches = {
315+
DMI_MATCH(DMI_SYS_VENDOR, "Insyde"),
316+
DMI_MATCH(DMI_PRODUCT_NAME, "BayTrail"),
317+
/* Above strings are too generic also match BIOS date */
318+
DMI_MATCH(DMI_BIOS_DATE, "04/01/2014"),
319+
},
320+
.driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS |
321+
ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY |
322+
ACPI_QUIRK_SKIP_GPIO_EVENT_HANDLERS),
323+
},
324+
{
325+
/* Asus ME176C tablet */
312326
.matches = {
313327
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
314328
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "ME176C"),
@@ -319,23 +333,24 @@ static const struct dmi_system_id acpi_quirk_skip_dmi_ids[] = {
319333
ACPI_QUIRK_SKIP_GPIO_EVENT_HANDLERS),
320334
},
321335
{
322-
/* Lenovo Yoga Book X90F/L */
336+
/* Asus TF103C transformer 2-in-1 */
323337
.matches = {
324-
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
325-
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "CHERRYVIEW D1 PLATFORM"),
326-
DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "YETI-11"),
338+
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
339+
DMI_MATCH(DMI_PRODUCT_NAME, "TF103C"),
327340
},
328341
.driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS |
329-
ACPI_QUIRK_UART1_SKIP |
330342
ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY |
331343
ACPI_QUIRK_SKIP_GPIO_EVENT_HANDLERS),
332344
},
333345
{
346+
/* Lenovo Yoga Book X90F/L */
334347
.matches = {
335-
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
336-
DMI_MATCH(DMI_PRODUCT_NAME, "TF103C"),
348+
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
349+
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "CHERRYVIEW D1 PLATFORM"),
350+
DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "YETI-11"),
337351
},
338352
.driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS |
353+
ACPI_QUIRK_UART1_SKIP |
339354
ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY |
340355
ACPI_QUIRK_SKIP_GPIO_EVENT_HANDLERS),
341356
},
@@ -425,6 +440,7 @@ static const struct acpi_device_id i2c_acpi_known_good_ids[] = {
425440
{ "10EC5640", 0 }, /* RealTek ALC5640 audio codec */
426441
{ "10EC5651", 0 }, /* RealTek ALC5651 audio codec */
427442
{ "INT33F4", 0 }, /* X-Powers AXP288 PMIC */
443+
{ "INT33F5", 0 }, /* TI Dollar Cove PMIC */
428444
{ "INT33FD", 0 }, /* Intel Crystal Cove PMIC */
429445
{ "INT34D3", 0 }, /* Intel Whiskey Cove PMIC */
430446
{ "NPCE69A", 0 }, /* Asus Transformer keyboard dock */

include/linux/acpi.h

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1530,17 +1530,7 @@ static inline int find_acpi_cpu_topology_hetero_id(unsigned int cpu)
15301530
}
15311531
#endif
15321532

1533-
#ifdef CONFIG_ARM64
1534-
void acpi_arm_init(void);
1535-
#else
1536-
static inline void acpi_arm_init(void) { }
1537-
#endif
1538-
1539-
#ifdef CONFIG_RISCV
1540-
void acpi_riscv_init(void);
1541-
#else
1542-
static inline void acpi_riscv_init(void) { }
1543-
#endif
1533+
void acpi_arch_init(void);
15441534

15451535
#ifdef CONFIG_ACPI_PCC
15461536
void acpi_init_pcc(void);

0 commit comments

Comments
 (0)