2017-06-21 10:14:33

by Dou Liyang

[permalink] [raw]
Subject: [PATCH] x86/apic: Make init_legacy_irqs() __init

This function is only called by arch_early_irq_init() which is an
`initialization' function, So mark it __init as well. In addition
mark it inline for the X86_IO_APIC=n case.

Signed-off-by: Dou Liyang <[email protected]>
---
arch/x86/kernel/apic/vector.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c
index f3557a1..e66d8e4 100644
--- a/arch/x86/kernel/apic/vector.c
+++ b/arch/x86/kernel/apic/vector.c
@@ -405,7 +405,7 @@ int __init arch_probe_nr_irqs(void)
}

#ifdef CONFIG_X86_IO_APIC
-static void init_legacy_irqs(void)
+static void __init init_legacy_irqs(void)
{
int i, node = cpu_to_node(0);
struct apic_chip_data *data;
@@ -424,7 +424,7 @@ static void init_legacy_irqs(void)
}
}
#else
-static void init_legacy_irqs(void) { }
+static inline void init_legacy_irqs(void) { }
#endif

int __init arch_early_irq_init(void)
--
2.5.5




2017-06-22 03:15:50

by Dou Liyang

[permalink] [raw]
Subject: [PATCH 2/2] x86/apic: Make arch_init_msi/htirq_domain __init

These two functions are only called by arch_early_irq_init() which
is an `initialization' function, So mark them __init as well.

Signed-off-by: Dou Liyang <[email protected]>
---
arch/x86/kernel/apic/htirq.c | 2 +-
arch/x86/kernel/apic/msi.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/apic/htirq.c b/arch/x86/kernel/apic/htirq.c
index ae50d34..81ff489 100644
--- a/arch/x86/kernel/apic/htirq.c
+++ b/arch/x86/kernel/apic/htirq.c
@@ -150,7 +150,7 @@ static const struct irq_domain_ops htirq_domain_ops = {
.deactivate = htirq_domain_deactivate,
};

-void arch_init_htirq_domain(struct irq_domain *parent)
+void __init arch_init_htirq_domain(struct irq_domain *parent)
{
if (disable_apic)
return;
diff --git a/arch/x86/kernel/apic/msi.c b/arch/x86/kernel/apic/msi.c
index c61aec7..4c5d188 100644
--- a/arch/x86/kernel/apic/msi.c
+++ b/arch/x86/kernel/apic/msi.c
@@ -136,7 +136,7 @@ static struct msi_domain_info pci_msi_domain_info = {
.handler_name = "edge",
};

-void arch_init_msi_domain(struct irq_domain *parent)
+void __init arch_init_msi_domain(struct irq_domain *parent)
{
if (disable_apic)
return;
--
2.5.5



Subject: [tip:x86/apic] x86/apic: Make init_legacy_irqs() __init

Commit-ID: a884d25f383133c845d23c2cce929ba15994ca62
Gitweb: http://git.kernel.org/tip/a884d25f383133c845d23c2cce929ba15994ca62
Author: Dou Liyang <[email protected]>
AuthorDate: Wed, 21 Jun 2017 18:14:21 +0800
Committer: Ingo Molnar <[email protected]>
CommitDate: Thu, 22 Jun 2017 10:34:41 +0200

x86/apic: Make init_legacy_irqs() __init

This function is only called by arch_early_irq_init(), which is an
__init function, so mark the child function __init as well.

In addition mark it inline for the !CONFIG_X86_IO_APIC case.

Signed-off-by: Dou Liyang <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/kernel/apic/vector.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c
index f3557a1..e66d8e4 100644
--- a/arch/x86/kernel/apic/vector.c
+++ b/arch/x86/kernel/apic/vector.c
@@ -405,7 +405,7 @@ int __init arch_probe_nr_irqs(void)
}

#ifdef CONFIG_X86_IO_APIC
-static void init_legacy_irqs(void)
+static void __init init_legacy_irqs(void)
{
int i, node = cpu_to_node(0);
struct apic_chip_data *data;
@@ -424,7 +424,7 @@ static void init_legacy_irqs(void)
}
}
#else
-static void init_legacy_irqs(void) { }
+static inline void init_legacy_irqs(void) { }
#endif

int __init arch_early_irq_init(void)

Subject: [tip:x86/apic] x86/apic: Make arch_init_msi/htirq_domain __init

Commit-ID: 538ac46c64a6bc61e71982091fc1eef0026f322e
Gitweb: http://git.kernel.org/tip/538ac46c64a6bc61e71982091fc1eef0026f322e
Author: Dou Liyang <[email protected]>
AuthorDate: Thu, 22 Jun 2017 11:15:41 +0800
Committer: Ingo Molnar <[email protected]>
CommitDate: Thu, 22 Jun 2017 10:34:42 +0200

x86/apic: Make arch_init_msi/htirq_domain __init

These two functions are only called by arch_early_irq_init(), which
is an __init function, so mark them __init as well.

Signed-off-by: Dou Liyang <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/kernel/apic/htirq.c | 2 +-
arch/x86/kernel/apic/msi.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/apic/htirq.c b/arch/x86/kernel/apic/htirq.c
index ae50d34..81ff489 100644
--- a/arch/x86/kernel/apic/htirq.c
+++ b/arch/x86/kernel/apic/htirq.c
@@ -150,7 +150,7 @@ static const struct irq_domain_ops htirq_domain_ops = {
.deactivate = htirq_domain_deactivate,
};

-void arch_init_htirq_domain(struct irq_domain *parent)
+void __init arch_init_htirq_domain(struct irq_domain *parent)
{
if (disable_apic)
return;
diff --git a/arch/x86/kernel/apic/msi.c b/arch/x86/kernel/apic/msi.c
index c61aec7..4c5d188 100644
--- a/arch/x86/kernel/apic/msi.c
+++ b/arch/x86/kernel/apic/msi.c
@@ -136,7 +136,7 @@ static struct msi_domain_info pci_msi_domain_info = {
.handler_name = "edge",
};

-void arch_init_msi_domain(struct irq_domain *parent)
+void __init arch_init_msi_domain(struct irq_domain *parent)
{
if (disable_apic)
return;