MIPS: OCTEON: Consolidate the edge and level irq_chip structures.
We can consolidate octeon_irq_chip_ciu_edge and octeon_irq_chip_ciu as they only differ in the .irq_ack element, and that is unused by the level handler. This gets rid of a bunch of duplicate definitions. Signed-off-by: David Daney <david.daney@cavium.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/3931/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>hifive-unleashed-5.1
parent
f5e0828421
commit
a339aef904
|
@ -729,18 +729,6 @@ static struct irq_chip octeon_irq_chip_ciu_v2 = {
|
||||||
.name = "CIU",
|
.name = "CIU",
|
||||||
.irq_enable = octeon_irq_ciu_enable_v2,
|
.irq_enable = octeon_irq_ciu_enable_v2,
|
||||||
.irq_disable = octeon_irq_ciu_disable_all_v2,
|
.irq_disable = octeon_irq_ciu_disable_all_v2,
|
||||||
.irq_mask = octeon_irq_ciu_disable_local_v2,
|
|
||||||
.irq_unmask = octeon_irq_ciu_enable_v2,
|
|
||||||
#ifdef CONFIG_SMP
|
|
||||||
.irq_set_affinity = octeon_irq_ciu_set_affinity_v2,
|
|
||||||
.irq_cpu_offline = octeon_irq_cpu_offline_ciu,
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct irq_chip octeon_irq_chip_ciu_edge_v2 = {
|
|
||||||
.name = "CIU-E",
|
|
||||||
.irq_enable = octeon_irq_ciu_enable_v2,
|
|
||||||
.irq_disable = octeon_irq_ciu_disable_all_v2,
|
|
||||||
.irq_ack = octeon_irq_ciu_ack,
|
.irq_ack = octeon_irq_ciu_ack,
|
||||||
.irq_mask = octeon_irq_ciu_disable_local_v2,
|
.irq_mask = octeon_irq_ciu_disable_local_v2,
|
||||||
.irq_unmask = octeon_irq_ciu_enable_v2,
|
.irq_unmask = octeon_irq_ciu_enable_v2,
|
||||||
|
@ -754,19 +742,8 @@ static struct irq_chip octeon_irq_chip_ciu = {
|
||||||
.name = "CIU",
|
.name = "CIU",
|
||||||
.irq_enable = octeon_irq_ciu_enable,
|
.irq_enable = octeon_irq_ciu_enable,
|
||||||
.irq_disable = octeon_irq_ciu_disable_all,
|
.irq_disable = octeon_irq_ciu_disable_all,
|
||||||
.irq_mask = octeon_irq_dummy_mask,
|
|
||||||
#ifdef CONFIG_SMP
|
|
||||||
.irq_set_affinity = octeon_irq_ciu_set_affinity,
|
|
||||||
.irq_cpu_offline = octeon_irq_cpu_offline_ciu,
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct irq_chip octeon_irq_chip_ciu_edge = {
|
|
||||||
.name = "CIU-E",
|
|
||||||
.irq_enable = octeon_irq_ciu_enable,
|
|
||||||
.irq_disable = octeon_irq_ciu_disable_all,
|
|
||||||
.irq_mask = octeon_irq_dummy_mask,
|
|
||||||
.irq_ack = octeon_irq_ciu_ack,
|
.irq_ack = octeon_irq_ciu_ack,
|
||||||
|
.irq_mask = octeon_irq_dummy_mask,
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
.irq_set_affinity = octeon_irq_ciu_set_affinity,
|
.irq_set_affinity = octeon_irq_ciu_set_affinity,
|
||||||
.irq_cpu_offline = octeon_irq_cpu_offline_ciu,
|
.irq_cpu_offline = octeon_irq_cpu_offline_ciu,
|
||||||
|
@ -993,7 +970,6 @@ static void __init octeon_irq_init_ciu(void)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
struct irq_chip *chip;
|
struct irq_chip *chip;
|
||||||
struct irq_chip *chip_edge;
|
|
||||||
struct irq_chip *chip_mbox;
|
struct irq_chip *chip_mbox;
|
||||||
struct irq_chip *chip_wd;
|
struct irq_chip *chip_wd;
|
||||||
struct irq_chip *chip_gpio;
|
struct irq_chip *chip_gpio;
|
||||||
|
@ -1008,7 +984,6 @@ static void __init octeon_irq_init_ciu(void)
|
||||||
octeon_irq_ip2 = octeon_irq_ip2_v2;
|
octeon_irq_ip2 = octeon_irq_ip2_v2;
|
||||||
octeon_irq_ip3 = octeon_irq_ip3_v2;
|
octeon_irq_ip3 = octeon_irq_ip3_v2;
|
||||||
chip = &octeon_irq_chip_ciu_v2;
|
chip = &octeon_irq_chip_ciu_v2;
|
||||||
chip_edge = &octeon_irq_chip_ciu_edge_v2;
|
|
||||||
chip_mbox = &octeon_irq_chip_ciu_mbox_v2;
|
chip_mbox = &octeon_irq_chip_ciu_mbox_v2;
|
||||||
chip_wd = &octeon_irq_chip_ciu_wd_v2;
|
chip_wd = &octeon_irq_chip_ciu_wd_v2;
|
||||||
chip_gpio = &octeon_irq_chip_ciu_gpio_v2;
|
chip_gpio = &octeon_irq_chip_ciu_gpio_v2;
|
||||||
|
@ -1016,7 +991,6 @@ static void __init octeon_irq_init_ciu(void)
|
||||||
octeon_irq_ip2 = octeon_irq_ip2_v1;
|
octeon_irq_ip2 = octeon_irq_ip2_v1;
|
||||||
octeon_irq_ip3 = octeon_irq_ip3_v1;
|
octeon_irq_ip3 = octeon_irq_ip3_v1;
|
||||||
chip = &octeon_irq_chip_ciu;
|
chip = &octeon_irq_chip_ciu;
|
||||||
chip_edge = &octeon_irq_chip_ciu_edge;
|
|
||||||
chip_mbox = &octeon_irq_chip_ciu_mbox;
|
chip_mbox = &octeon_irq_chip_ciu_mbox;
|
||||||
chip_wd = &octeon_irq_chip_ciu_wd;
|
chip_wd = &octeon_irq_chip_ciu_wd;
|
||||||
chip_gpio = &octeon_irq_chip_ciu_gpio;
|
chip_gpio = &octeon_irq_chip_ciu_gpio;
|
||||||
|
@ -1046,7 +1020,7 @@ static void __init octeon_irq_init_ciu(void)
|
||||||
octeon_irq_set_ciu_mapping(OCTEON_IRQ_TWSI, 0, 45, chip, handle_level_irq);
|
octeon_irq_set_ciu_mapping(OCTEON_IRQ_TWSI, 0, 45, chip, handle_level_irq);
|
||||||
octeon_irq_set_ciu_mapping(OCTEON_IRQ_RML, 0, 46, chip, handle_level_irq);
|
octeon_irq_set_ciu_mapping(OCTEON_IRQ_RML, 0, 46, chip, handle_level_irq);
|
||||||
for (i = 0; i < 4; i++)
|
for (i = 0; i < 4; i++)
|
||||||
octeon_irq_set_ciu_mapping(i + OCTEON_IRQ_TIMER0, 0, i + 52, chip_edge, handle_edge_irq);
|
octeon_irq_set_ciu_mapping(i + OCTEON_IRQ_TIMER0, 0, i + 52, chip, handle_edge_irq);
|
||||||
|
|
||||||
octeon_irq_set_ciu_mapping(OCTEON_IRQ_USB0, 0, 56, chip, handle_level_irq);
|
octeon_irq_set_ciu_mapping(OCTEON_IRQ_USB0, 0, 56, chip, handle_level_irq);
|
||||||
octeon_irq_set_ciu_mapping(OCTEON_IRQ_TWSI2, 0, 59, chip, handle_level_irq);
|
octeon_irq_set_ciu_mapping(OCTEON_IRQ_TWSI2, 0, 59, chip, handle_level_irq);
|
||||||
|
|
Loading…
Reference in New Issue