Skip to content

Commit

Permalink
ACPI: introduce acpi_arch_init()
Browse files Browse the repository at this point in the history
To avoid arch-specific code in general ACPI initialization flow,
introduce a weak symbol acpi_arch_init().

Currently, arm64 and riscv can utillize this to insert their
arch-specific flow.

In the future, other architectures can also have a chance to define
their own arch-specific ACPI initialization process if necessary.

Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Miao Wang <shankerwangmiao@gmail.com>
Link: https://patch.msgid.link/20241121-intro-acpi-arch-init-v4-1-b1fb517e7d8b@gmail.com
[ rjw: Subject and changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Miao Wang authored and Rafael J. Wysocki committed Nov 22, 2024
1 parent 4e9ad03 commit 9d8a2b0
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 15 deletions.
2 changes: 1 addition & 1 deletion drivers/acpi/arm64/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include <linux/acpi.h>
#include "init.h"

void __init acpi_arm_init(void)
void __init acpi_arch_init(void)
{
if (IS_ENABLED(CONFIG_ACPI_AGDI))
acpi_agdi_init();
Expand Down
5 changes: 3 additions & 2 deletions drivers/acpi/bus.c
Original file line number Diff line number Diff line change
Expand Up @@ -1434,6 +1434,8 @@ static int __init acpi_bus_init(void)
struct kobject *acpi_kobj;
EXPORT_SYMBOL_GPL(acpi_kobj);

void __weak __init acpi_arch_init(void) { }

static int __init acpi_init(void)
{
int result;
Expand Down Expand Up @@ -1461,8 +1463,7 @@ static int __init acpi_init(void)
acpi_viot_early_init();
acpi_hest_init();
acpi_ghes_init();
acpi_arm_init();
acpi_riscv_init();
acpi_arch_init();
acpi_scan_init();
acpi_ec_init();
acpi_debugfs_init();
Expand Down
2 changes: 1 addition & 1 deletion drivers/acpi/riscv/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#include <linux/acpi.h>
#include "init.h"

void __init acpi_riscv_init(void)
void __init acpi_arch_init(void)
{
riscv_acpi_init_gsi_mapping();
}
12 changes: 1 addition & 11 deletions include/linux/acpi.h
Original file line number Diff line number Diff line change
Expand Up @@ -1530,17 +1530,7 @@ static inline int find_acpi_cpu_topology_hetero_id(unsigned int cpu)
}
#endif

#ifdef CONFIG_ARM64
void acpi_arm_init(void);
#else
static inline void acpi_arm_init(void) { }
#endif

#ifdef CONFIG_RISCV
void acpi_riscv_init(void);
#else
static inline void acpi_riscv_init(void) { }
#endif
void acpi_arch_init(void);

#ifdef CONFIG_ACPI_PCC
void acpi_init_pcc(void);
Expand Down

0 comments on commit 9d8a2b0

Please sign in to comment.