diff mbox series

[v3] ACPI: introduce acpi_arch_init

Message ID 20240808-intro-acpi-arch-init-v3-1-ba510859baff@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v3] ACPI: introduce acpi_arch_init | expand

Commit Message

Miao Wang via B4 Relay Aug. 8, 2024, 9 a.m. UTC
From: Miao Wang <shankerwangmiao@gmail.com>

To avoid arch-specific code in general ACPI initialization flow,
we introduce a weak symbol acpi_arch_init. Currently, arm64 can
utillize this to insert its specific flow. In the future,
other architectures can also have chance to define their own
arch-specific acpi initialization process if necessary.

Signed-off-by: Miao Wang <shankerwangmiao@gmail.com>
Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
---
Changes from v1
- Change acpi_arch_init from a static inline stub to a weak function
  according to Haijun Guo's advice
---
Changes from v2:
- Add __init attribute to the weak acpi_arch_init stub
- Link to v2: https://lore.kernel.org/r/20240807-intro-acpi-arch-init-v2-1-9231e23a7721@gmail.com
---
 drivers/acpi/arm64/init.c | 2 +-
 drivers/acpi/bus.c        | 4 +++-
 include/linux/acpi.h      | 6 +-----
 3 files changed, 5 insertions(+), 7 deletions(-)


---
base-commit: d4560686726f7a357922f300fc81f5964be8df04
change-id: 20240807-intro-acpi-arch-init-fc99fe33e62d

Best regards,

Comments

Hanjun Guo Aug. 8, 2024, 9:43 a.m. UTC | #1
On 2024/8/8 17:00, Miao Wang via B4 Relay wrote:
> From: Miao Wang <shankerwangmiao@gmail.com>
> 
> To avoid arch-specific code in general ACPI initialization flow,
> we introduce a weak symbol acpi_arch_init. Currently, arm64 can
> utillize this to insert its specific flow. In the future,
> other architectures can also have chance to define their own
> arch-specific acpi initialization process if necessary.
> 
> Signed-off-by: Miao Wang <shankerwangmiao@gmail.com>
> Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
> ---
> Changes from v1
> - Change acpi_arch_init from a static inline stub to a weak function
>    according to Haijun Guo's advice
> ---
> Changes from v2:
> - Add __init attribute to the weak acpi_arch_init stub
> - Link to v2: https://lore.kernel.org/r/20240807-intro-acpi-arch-init-v2-1-9231e23a7721@gmail.com

Thanks for the quick update,

Acked-by: Hanjun Guo <guohanjun@huawei.com>

Thanks
Hanjun
Miao Wang Aug. 27, 2024, 8:40 p.m. UTC | #2
> 2024年8月8日 17:43,Hanjun Guo <guohanjun@huawei.com> 写道:
> 
> On 2024/8/8 17:00, Miao Wang via B4 Relay wrote:
>> From: Miao Wang <shankerwangmiao@gmail.com>
>> To avoid arch-specific code in general ACPI initialization flow,
>> we introduce a weak symbol acpi_arch_init. Currently, arm64 can
>> utillize this to insert its specific flow. In the future,
>> other architectures can also have chance to define their own
>> arch-specific acpi initialization process if necessary.
>> Signed-off-by: Miao Wang <shankerwangmiao@gmail.com>
>> Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
>> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
>> ---
>> Changes from v1
>> - Change acpi_arch_init from a static inline stub to a weak function
>>   according to Haijun Guo's advice
>> ---
>> Changes from v2:
>> - Add __init attribute to the weak acpi_arch_init stub
>> - Link to v2: https://lore.kernel.org/r/20240807-intro-acpi-arch-init-v2-1-9231e23a7721@gmail.com
> 
> Thanks for the quick update,
> 
> Acked-by: Hanjun Guo <guohanjun@huawei.com>

Hi, all. I wonder whether this patch is good to be applied or
any improvement is needed.

Cheers,

Miao Wang

> 
> Thanks
> Hanjun
Sudeep Holla Aug. 29, 2024, 4 p.m. UTC | #3
On Wed, Aug 28, 2024 at 04:40:29AM +0800, Miao Wang wrote:
> 
> 
> > 2024年8月8日 17:43,Hanjun Guo <guohanjun@huawei.com> 写道:
> > 
> > On 2024/8/8 17:00, Miao Wang via B4 Relay wrote:
> >> From: Miao Wang <shankerwangmiao@gmail.com>
> >> To avoid arch-specific code in general ACPI initialization flow,
> >> we introduce a weak symbol acpi_arch_init. Currently, arm64 can
> >> utillize this to insert its specific flow. In the future,
> >> other architectures can also have chance to define their own
> >> arch-specific acpi initialization process if necessary.
> >> Signed-off-by: Miao Wang <shankerwangmiao@gmail.com>
> >> Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
> >> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
> >> ---
> >> Changes from v1
> >> - Change acpi_arch_init from a static inline stub to a weak function
> >>   according to Haijun Guo's advice
> >> ---
> >> Changes from v2:
> >> - Add __init attribute to the weak acpi_arch_init stub
> >> - Link to v2: https://lore.kernel.org/r/20240807-intro-acpi-arch-init-v2-1-9231e23a7721@gmail.com
> > 
> > Thanks for the quick update,
> > 
> > Acked-by: Hanjun Guo <guohanjun@huawei.com>
> 
> Hi, all. I wonder whether this patch is good to be applied or
> any improvement is needed.
> 

LGTM. Rafael, do you want to take this via your tree or arm64(need your ack)
once you are happy with the change ?
Rafael J. Wysocki Aug. 29, 2024, 4:42 p.m. UTC | #4
On Thu, Aug 29, 2024 at 6:00 PM Sudeep Holla <sudeep.holla@arm.com> wrote:
>
> On Wed, Aug 28, 2024 at 04:40:29AM +0800, Miao Wang wrote:
> >
> >
> > > 2024年8月8日 17:43,Hanjun Guo <guohanjun@huawei.com> 写道:
> > >
> > > On 2024/8/8 17:00, Miao Wang via B4 Relay wrote:
> > >> From: Miao Wang <shankerwangmiao@gmail.com>
> > >> To avoid arch-specific code in general ACPI initialization flow,
> > >> we introduce a weak symbol acpi_arch_init. Currently, arm64 can
> > >> utillize this to insert its specific flow. In the future,
> > >> other architectures can also have chance to define their own
> > >> arch-specific acpi initialization process if necessary.
> > >> Signed-off-by: Miao Wang <shankerwangmiao@gmail.com>
> > >> Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
> > >> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
> > >> ---
> > >> Changes from v1
> > >> - Change acpi_arch_init from a static inline stub to a weak function
> > >>   according to Haijun Guo's advice
> > >> ---
> > >> Changes from v2:
> > >> - Add __init attribute to the weak acpi_arch_init stub
> > >> - Link to v2: https://lore.kernel.org/r/20240807-intro-acpi-arch-init-v2-1-9231e23a7721@gmail.com
> > >
> > > Thanks for the quick update,
> > >
> > > Acked-by: Hanjun Guo <guohanjun@huawei.com>
> >
> > Hi, all. I wonder whether this patch is good to be applied or
> > any improvement is needed.
> >
>
> LGTM. Rafael, do you want to take this via your tree or arm64(need your ack)
> once you are happy with the change ?

Actually, I'd prefer the RISCV ACPI changes to land first:

https://lore.kernel.org/linux-acpi/20240812005929.113499-1-sunilvl@ventanamicro.com/

and then it can be consolidated to use acpi_arch_init() in both places.

I'm going to move the RISCV material to linux-next on Monday, but I'd
prefer to defer the consolidation to the 6.13 cycle (after 6.12-rc1 is
out).

Thanks!
Sudeep Holla Aug. 29, 2024, 5:58 p.m. UTC | #5
On Thu, Aug 29, 2024 at 06:42:16PM +0200, Rafael J. Wysocki wrote:
> On Thu, Aug 29, 2024 at 6:00 PM Sudeep Holla <sudeep.holla@arm.com> wrote:
> >
> > On Wed, Aug 28, 2024 at 04:40:29AM +0800, Miao Wang wrote:
> > >
> > >
> > > > 2024年8月8日 17:43,Hanjun Guo <guohanjun@huawei.com> 写道:
> > > >
> > > > On 2024/8/8 17:00, Miao Wang via B4 Relay wrote:
> > > >> From: Miao Wang <shankerwangmiao@gmail.com>
> > > >> To avoid arch-specific code in general ACPI initialization flow,
> > > >> we introduce a weak symbol acpi_arch_init. Currently, arm64 can
> > > >> utillize this to insert its specific flow. In the future,
> > > >> other architectures can also have chance to define their own
> > > >> arch-specific acpi initialization process if necessary.
> > > >> Signed-off-by: Miao Wang <shankerwangmiao@gmail.com>
> > > >> Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
> > > >> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
> > > >> ---
> > > >> Changes from v1
> > > >> - Change acpi_arch_init from a static inline stub to a weak function
> > > >>   according to Haijun Guo's advice
> > > >> ---
> > > >> Changes from v2:
> > > >> - Add __init attribute to the weak acpi_arch_init stub
> > > >> - Link to v2: https://lore.kernel.org/r/20240807-intro-acpi-arch-init-v2-1-9231e23a7721@gmail.com
> > > >
> > > > Thanks for the quick update,
> > > >
> > > > Acked-by: Hanjun Guo <guohanjun@huawei.com>
> > >
> > > Hi, all. I wonder whether this patch is good to be applied or
> > > any improvement is needed.
> > >
> >
> > LGTM. Rafael, do you want to take this via your tree or arm64(need your ack)
> > once you are happy with the change ?
> 
> Actually, I'd prefer the RISCV ACPI changes to land first:
> 
> https://lore.kernel.org/linux-acpi/20240812005929.113499-1-sunilvl@ventanamicro.com/
> 
> and then it can be consolidated to use acpi_arch_init() in both places.
> 
> I'm going to move the RISCV material to linux-next on Monday, but I'd
> prefer to defer the consolidation to the 6.13 cycle (after 6.12-rc1 is
> out).

Makes sense, thanks!
diff mbox series

Patch

diff --git a/drivers/acpi/arm64/init.c b/drivers/acpi/arm64/init.c
index d0c8aed90fd1..7a47d8095a7d 100644
--- a/drivers/acpi/arm64/init.c
+++ b/drivers/acpi/arm64/init.c
@@ -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();
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 284bc2e03580..3b319b163d82 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -1431,6 +1431,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;
@@ -1458,7 +1460,7 @@  static int __init acpi_init(void)
 	acpi_viot_early_init();
 	acpi_hest_init();
 	acpi_ghes_init();
-	acpi_arm_init();
+	acpi_arch_init();
 	acpi_scan_init();
 	acpi_ec_init();
 	acpi_debugfs_init();
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 0687a442fec7..52862c377747 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -1523,11 +1523,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
+void acpi_arch_init(void);
 
 #ifdef CONFIG_ACPI_PCC
 void acpi_init_pcc(void);