Skip to content

Commit f94a182

Browse files
committed
genirq: Remove IRQ_MOVE_PCNTXT and related code
Now that x86 is converted over to use the IRQCHIP_MOVE_DEFERRED flags, remove IRQ*_MOVE_PCNTXT and related code. Signed-off-by: Thomas Gleixner <[email protected]> Link: https://lore.kernel.org/all/[email protected]
1 parent 7d04319 commit f94a182

File tree

6 files changed

+2
-34
lines changed

6 files changed

+2
-34
lines changed

arch/x86/Kconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,6 @@ config X86
173173
select GENERIC_IRQ_RESERVATION_MODE
174174
select GENERIC_IRQ_SHOW
175175
select GENERIC_PENDING_IRQ if SMP
176-
select GENERIC_PENDING_IRQ_CHIPFLAGS if SMP
177176
select GENERIC_PTDUMP
178177
select GENERIC_SMP_IDLE_THREAD
179178
select GENERIC_TIME_VSYSCALL

include/linux/irq.h

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ enum irqchip_irq_state;
6464
* IRQ_NOAUTOEN - Interrupt is not automatically enabled in
6565
* request/setup_irq()
6666
* IRQ_NO_BALANCING - Interrupt cannot be balanced (affinity set)
67-
* IRQ_MOVE_PCNTXT - Interrupt can be migrated from process context
6867
* IRQ_NESTED_THREAD - Interrupt nests into another thread
6968
* IRQ_PER_CPU_DEVID - Dev_id is a per-cpu variable
7069
* IRQ_IS_POLLED - Always polled by another interrupt. Exclude
@@ -93,7 +92,6 @@ enum {
9392
IRQ_NOREQUEST = (1 << 11),
9493
IRQ_NOAUTOEN = (1 << 12),
9594
IRQ_NO_BALANCING = (1 << 13),
96-
IRQ_MOVE_PCNTXT = (1 << 14),
9795
IRQ_NESTED_THREAD = (1 << 15),
9896
IRQ_NOTHREAD = (1 << 16),
9997
IRQ_PER_CPU_DEVID = (1 << 17),
@@ -105,7 +103,7 @@ enum {
105103

106104
#define IRQF_MODIFY_MASK \
107105
(IRQ_TYPE_SENSE_MASK | IRQ_NOPROBE | IRQ_NOREQUEST | \
108-
IRQ_NOAUTOEN | IRQ_MOVE_PCNTXT | IRQ_LEVEL | IRQ_NO_BALANCING | \
106+
IRQ_NOAUTOEN | IRQ_LEVEL | IRQ_NO_BALANCING | \
109107
IRQ_PER_CPU | IRQ_NESTED_THREAD | IRQ_NOTHREAD | IRQ_PER_CPU_DEVID | \
110108
IRQ_IS_POLLED | IRQ_DISABLE_UNLAZY | IRQ_HIDDEN)
111109

@@ -201,8 +199,6 @@ struct irq_data {
201199
* IRQD_LEVEL - Interrupt is level triggered
202200
* IRQD_WAKEUP_STATE - Interrupt is configured for wakeup
203201
* from suspend
204-
* IRQD_MOVE_PCNTXT - Interrupt can be moved in process
205-
* context
206202
* IRQD_IRQ_DISABLED - Disabled state of the interrupt
207203
* IRQD_IRQ_MASKED - Masked state of the interrupt
208204
* IRQD_IRQ_INPROGRESS - In progress state of the interrupt
@@ -233,7 +229,6 @@ enum {
233229
IRQD_AFFINITY_SET = BIT(12),
234230
IRQD_LEVEL = BIT(13),
235231
IRQD_WAKEUP_STATE = BIT(14),
236-
IRQD_MOVE_PCNTXT = BIT(15),
237232
IRQD_IRQ_DISABLED = BIT(16),
238233
IRQD_IRQ_MASKED = BIT(17),
239234
IRQD_IRQ_INPROGRESS = BIT(18),
@@ -338,11 +333,6 @@ static inline bool irqd_is_wakeup_set(struct irq_data *d)
338333
return __irqd_to_state(d) & IRQD_WAKEUP_STATE;
339334
}
340335

341-
static inline bool irqd_can_move_in_process_context(struct irq_data *d)
342-
{
343-
return __irqd_to_state(d) & IRQD_MOVE_PCNTXT;
344-
}
345-
346336
static inline bool irqd_irq_disabled(struct irq_data *d)
347337
{
348338
return __irqd_to_state(d) & IRQD_IRQ_DISABLED;

kernel/irq/chip.c

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,6 @@ int irq_set_chip(unsigned int irq, const struct irq_chip *chip)
4747
return -EINVAL;
4848

4949
desc->irq_data.chip = (struct irq_chip *)(chip ?: &no_irq_chip);
50-
51-
if (IS_ENABLED(CONFIG_GENERIC_PENDING_IRQ_CHIPFLAGS) && chip) {
52-
if (chip->flags & IRQCHIP_MOVE_DEFERRED)
53-
irqd_clear(&desc->irq_data, IRQD_MOVE_PCNTXT);
54-
else
55-
irqd_set(&desc->irq_data, IRQD_MOVE_PCNTXT);
56-
}
5750
irq_put_desc_unlock(desc, flags);
5851
/*
5952
* For !CONFIG_SPARSE_IRQ make the irq show up in
@@ -1129,13 +1122,6 @@ void irq_modify_status(unsigned int irq, unsigned long clr, unsigned long set)
11291122
if (irq_settings_is_level(desc))
11301123
irqd_set(&desc->irq_data, IRQD_LEVEL);
11311124

1132-
/* Keep this around until x86 is converted over */
1133-
if (!IS_ENABLED(CONFIG_GENERIC_PENDING_IRQ_CHIPFLAGS)) {
1134-
irqd_clear(&desc->irq_data, IRQD_MOVE_PCNTXT);
1135-
if (irq_settings_can_move_pcntxt(desc))
1136-
irqd_set(&desc->irq_data, IRQD_MOVE_PCNTXT);
1137-
}
1138-
11391125
tmp = irq_settings_get_trigger_mask(desc);
11401126
if (tmp != IRQ_TYPE_NONE)
11411127
trigger = tmp;

kernel/irq/debugfs.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ static const struct irq_bit_descr irqdata_states[] = {
109109
BIT_MASK_DESCR(IRQD_NO_BALANCING),
110110

111111
BIT_MASK_DESCR(IRQD_SINGLE_TARGET),
112-
BIT_MASK_DESCR(IRQD_MOVE_PCNTXT),
113112
BIT_MASK_DESCR(IRQD_AFFINITY_SET),
114113
BIT_MASK_DESCR(IRQD_SETAFFINITY_PENDING),
115114
BIT_MASK_DESCR(IRQD_AFFINITY_MANAGED),

kernel/irq/internals.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ irq_init_generic_chip(struct irq_chip_generic *gc, const char *name,
421421
#ifdef CONFIG_GENERIC_PENDING_IRQ
422422
static inline bool irq_can_move_pcntxt(struct irq_data *data)
423423
{
424-
return irqd_can_move_in_process_context(data);
424+
return !(data->chip->flags & IRQCHIP_MOVE_DEFERRED);
425425
}
426426
static inline bool irq_move_pending(struct irq_data *data)
427427
{

kernel/irq/settings.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ enum {
1111
_IRQ_NOREQUEST = IRQ_NOREQUEST,
1212
_IRQ_NOTHREAD = IRQ_NOTHREAD,
1313
_IRQ_NOAUTOEN = IRQ_NOAUTOEN,
14-
_IRQ_MOVE_PCNTXT = IRQ_MOVE_PCNTXT,
1514
_IRQ_NO_BALANCING = IRQ_NO_BALANCING,
1615
_IRQ_NESTED_THREAD = IRQ_NESTED_THREAD,
1716
_IRQ_PER_CPU_DEVID = IRQ_PER_CPU_DEVID,
@@ -142,11 +141,6 @@ static inline void irq_settings_set_noprobe(struct irq_desc *desc)
142141
desc->status_use_accessors |= _IRQ_NOPROBE;
143142
}
144143

145-
static inline bool irq_settings_can_move_pcntxt(struct irq_desc *desc)
146-
{
147-
return desc->status_use_accessors & _IRQ_MOVE_PCNTXT;
148-
}
149-
150144
static inline bool irq_settings_can_autoenable(struct irq_desc *desc)
151145
{
152146
return !(desc->status_use_accessors & _IRQ_NOAUTOEN);

0 commit comments

Comments
 (0)