Revert "genirq: Export affinity setter for modules"
This reverts commit dde45d80305bbc45ce204c1ace2e7dcdfdd48ea9 which is
commit 4d80d6ca5d77fde9880da8466e5b64f250e5bf82 upstream.
It breaks the Android kernel abi and can be brought back in the future
in an abi-safe way if it is really needed.
Bug: 161946584
Change-Id: I405697b86772dbe473fa4088b135c469bc8c6244
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index d4a1c83..6ad37ae 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -318,8 +318,39 @@ struct irq_affinity_desc {
extern cpumask_var_t irq_default_affinity;
-extern int irq_set_affinity(unsigned int irq, const struct cpumask *cpumask);
-extern int irq_force_affinity(unsigned int irq, const struct cpumask *cpumask);
+/* Internal implementation. Use the helpers below */
+extern int __irq_set_affinity(unsigned int irq, const struct cpumask *cpumask,
+ bool force);
+
+/**
+ * irq_set_affinity - Set the irq affinity of a given irq
+ * @irq: Interrupt to set affinity
+ * @cpumask: cpumask
+ *
+ * Fails if cpumask does not contain an online CPU
+ */
+static inline int
+irq_set_affinity(unsigned int irq, const struct cpumask *cpumask)
+{
+ return __irq_set_affinity(irq, cpumask, false);
+}
+
+/**
+ * irq_force_affinity - Force the irq affinity of a given irq
+ * @irq: Interrupt to set affinity
+ * @cpumask: cpumask
+ *
+ * Same as irq_set_affinity, but without checking the mask against
+ * online cpus.
+ *
+ * Solely for low level cpu hotplug code, where we need to make per
+ * cpu interrupts affine before the cpu becomes online.
+ */
+static inline int
+irq_force_affinity(unsigned int irq, const struct cpumask *cpumask)
+{
+ return __irq_set_affinity(irq, cpumask, true);
+}
extern int irq_can_set_affinity(unsigned int irq);
extern int irq_select_affinity(unsigned int irq);
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 520e2d4..3f15685 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -457,8 +457,7 @@ int irq_update_affinity_desc(unsigned int irq,
return ret;
}
-static int __irq_set_affinity(unsigned int irq, const struct cpumask *mask,
- bool force)
+int __irq_set_affinity(unsigned int irq, const struct cpumask *mask, bool force)
{
struct irq_desc *desc = irq_to_desc(irq);
unsigned long flags;
@@ -473,36 +472,6 @@ static int __irq_set_affinity(unsigned int irq, const struct cpumask *mask,
return ret;
}
-/**
- * irq_set_affinity - Set the irq affinity of a given irq
- * @irq: Interrupt to set affinity
- * @cpumask: cpumask
- *
- * Fails if cpumask does not contain an online CPU
- */
-int irq_set_affinity(unsigned int irq, const struct cpumask *cpumask)
-{
- return __irq_set_affinity(irq, cpumask, false);
-}
-EXPORT_SYMBOL_GPL(irq_set_affinity);
-
-/**
- * irq_force_affinity - Force the irq affinity of a given irq
- * @irq: Interrupt to set affinity
- * @cpumask: cpumask
- *
- * Same as irq_set_affinity, but without checking the mask against
- * online cpus.
- *
- * Solely for low level cpu hotplug code, where we need to make per
- * cpu interrupts affine before the cpu becomes online.
- */
-int irq_force_affinity(unsigned int irq, const struct cpumask *cpumask)
-{
- return __irq_set_affinity(irq, cpumask, true);
-}
-EXPORT_SYMBOL_GPL(irq_force_affinity);
-
int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m)
{
unsigned long flags;