Skip to content

Commit 70404fe

Browse files
committed
Merge tag 'irq-urgent-2021-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fixes from Thomas Gleixner: "A set of irqchip updates: - Make the GENERIC_IRQ_MULTI_HANDLER configuration correct - Add a missing DT compatible string for the Ingenic driver - Remove the pointless debugfs_file pointer from struct irqdomain" * tag 'irq-urgent-2021-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip/ingenic: Add support for the JZ4760 dt-bindings/irq: Add compatible string for the JZ4760B irqchip: Do not blindly select CONFIG_GENERIC_IRQ_MULTI_HANDLER ARM: ep93xx: Select GENERIC_IRQ_MULTI_HANDLER directly irqdomain: Remove debugfs_file from struct irq_domain
2 parents 802b31c + b470ebc commit 70404fe

File tree

7 files changed

+8
-18
lines changed

7 files changed

+8
-18
lines changed

Documentation/devicetree/bindings/interrupt-controller/ingenic,intc.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ properties:
2323
- enum:
2424
- ingenic,jz4775-intc
2525
- ingenic,jz4770-intc
26+
- ingenic,jz4760b-intc
2627
- const: ingenic,jz4760-intc
2728
- items:
2829
- const: ingenic,x1000-intc

arch/arm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,7 @@ config ARCH_EP93XX
348348
select ARM_AMBA
349349
imply ARM_PATCH_PHYS_VIRT
350350
select ARM_VIC
351+
select GENERIC_IRQ_MULTI_HANDLER
351352
select AUTO_ZRELADDR
352353
select CLKDEV_LOOKUP
353354
select CLKSRC_MMIO

drivers/irqchip/Kconfig

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ config IRQCHIP
88
config ARM_GIC
99
bool
1010
select IRQ_DOMAIN_HIERARCHY
11-
select GENERIC_IRQ_MULTI_HANDLER
1211
select GENERIC_IRQ_EFFECTIVE_AFF_MASK
1312

1413
config ARM_GIC_PM
@@ -33,7 +32,6 @@ config GIC_NON_BANKED
3332

3433
config ARM_GIC_V3
3534
bool
36-
select GENERIC_IRQ_MULTI_HANDLER
3735
select IRQ_DOMAIN_HIERARCHY
3836
select PARTITION_PERCPU
3937
select GENERIC_IRQ_EFFECTIVE_AFF_MASK
@@ -64,7 +62,6 @@ config ARM_NVIC
6462
config ARM_VIC
6563
bool
6664
select IRQ_DOMAIN
67-
select GENERIC_IRQ_MULTI_HANDLER
6865

6966
config ARM_VIC_NR
7067
int
@@ -99,14 +96,12 @@ config ATMEL_AIC_IRQ
9996
bool
10097
select GENERIC_IRQ_CHIP
10198
select IRQ_DOMAIN
102-
select GENERIC_IRQ_MULTI_HANDLER
10399
select SPARSE_IRQ
104100

105101
config ATMEL_AIC5_IRQ
106102
bool
107103
select GENERIC_IRQ_CHIP
108104
select IRQ_DOMAIN
109-
select GENERIC_IRQ_MULTI_HANDLER
110105
select SPARSE_IRQ
111106

112107
config I8259
@@ -153,7 +148,6 @@ config DW_APB_ICTL
153148
config FARADAY_FTINTC010
154149
bool
155150
select IRQ_DOMAIN
156-
select GENERIC_IRQ_MULTI_HANDLER
157151
select SPARSE_IRQ
158152

159153
config HISILICON_IRQ_MBIGEN
@@ -169,7 +163,6 @@ config IMGPDC_IRQ
169163
config IXP4XX_IRQ
170164
bool
171165
select IRQ_DOMAIN
172-
select GENERIC_IRQ_MULTI_HANDLER
173166
select SPARSE_IRQ
174167

175168
config MADERA_IRQ
@@ -186,7 +179,6 @@ config CLPS711X_IRQCHIP
186179
bool
187180
depends on ARCH_CLPS711X
188181
select IRQ_DOMAIN
189-
select GENERIC_IRQ_MULTI_HANDLER
190182
select SPARSE_IRQ
191183
default y
192184

@@ -205,7 +197,6 @@ config OMAP_IRQCHIP
205197
config ORION_IRQCHIP
206198
bool
207199
select IRQ_DOMAIN
208-
select GENERIC_IRQ_MULTI_HANDLER
209200

210201
config PIC32_EVIC
211202
bool

drivers/irqchip/irq-ingenic-tcu.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,5 +179,6 @@ static int __init ingenic_tcu_irq_init(struct device_node *np,
179179
}
180180
IRQCHIP_DECLARE(jz4740_tcu_irq, "ingenic,jz4740-tcu", ingenic_tcu_irq_init);
181181
IRQCHIP_DECLARE(jz4725b_tcu_irq, "ingenic,jz4725b-tcu", ingenic_tcu_irq_init);
182+
IRQCHIP_DECLARE(jz4760_tcu_irq, "ingenic,jz4760-tcu", ingenic_tcu_irq_init);
182183
IRQCHIP_DECLARE(jz4770_tcu_irq, "ingenic,jz4770-tcu", ingenic_tcu_irq_init);
183184
IRQCHIP_DECLARE(x1000_tcu_irq, "ingenic,x1000-tcu", ingenic_tcu_irq_init);

drivers/irqchip/irq-ingenic.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ static int __init intc_2chip_of_init(struct device_node *node,
155155
{
156156
return ingenic_intc_of_init(node, 2);
157157
}
158+
IRQCHIP_DECLARE(jz4760_intc, "ingenic,jz4760-intc", intc_2chip_of_init);
158159
IRQCHIP_DECLARE(jz4770_intc, "ingenic,jz4770-intc", intc_2chip_of_init);
159160
IRQCHIP_DECLARE(jz4775_intc, "ingenic,jz4775-intc", intc_2chip_of_init);
160161
IRQCHIP_DECLARE(jz4780_intc, "ingenic,jz4780-intc", intc_2chip_of_init);

include/linux/irqdomain.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,6 @@ struct irq_domain_chip_generic;
150150
* setting up one or more generic chips for interrupt controllers
151151
* drivers using the generic chip library which uses this pointer.
152152
* @parent: Pointer to parent irq_domain to support hierarchy irq_domains
153-
* @debugfs_file: dentry for the domain debugfs file
154153
*
155154
* Revmap data, used internally by irq_domain
156155
* @revmap_direct_max_irq: The largest hwirq that can be set for controllers that
@@ -174,9 +173,6 @@ struct irq_domain {
174173
#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
175174
struct irq_domain *parent;
176175
#endif
177-
#ifdef CONFIG_GENERIC_IRQ_DEBUGFS
178-
struct dentry *debugfs_file;
179-
#endif
180176

181177
/* reverse map data. The linear map gets appended to the irq_domain */
182178
irq_hw_number_t hwirq_max;

kernel/irq/irqdomain.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1898,16 +1898,15 @@ DEFINE_SHOW_ATTRIBUTE(irq_domain_debug);
18981898

18991899
static void debugfs_add_domain_dir(struct irq_domain *d)
19001900
{
1901-
if (!d->name || !domain_dir || d->debugfs_file)
1901+
if (!d->name || !domain_dir)
19021902
return;
1903-
d->debugfs_file = debugfs_create_file(d->name, 0444, domain_dir, d,
1904-
&irq_domain_debug_fops);
1903+
debugfs_create_file(d->name, 0444, domain_dir, d,
1904+
&irq_domain_debug_fops);
19051905
}
19061906

19071907
static void debugfs_remove_domain_dir(struct irq_domain *d)
19081908
{
1909-
debugfs_remove(d->debugfs_file);
1910-
d->debugfs_file = NULL;
1909+
debugfs_remove(debugfs_lookup(d->name, domain_dir));
19111910
}
19121911

19131912
void __init irq_domain_debugfs_init(struct dentry *root)

0 commit comments

Comments
 (0)