Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f3edee8 authored by Magnus Damm's avatar Magnus Damm Committed by Paul Mundt
Browse files

sh: intc - remove default interrupt priority tables



This patch removes interrupt priority tables from the intc code.
Optimal priority assignment varies with embedded application anyway,
so keeping the interrupt priority tables together with cpu-specific
code doesn't make sense.

The function intc_set_priority() should be used instead to set the
desired interrupt priority level.

Signed-off-by: default avatarMagnus Damm <damm@igel.co.jp>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent b62ad83d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ static unsigned char irl2irq[HL_NR_IRL] __initdata = {
};

static DECLARE_INTC_DESC(intc_desc, "r7780mp", vectors,
			 NULL, NULL, mask_registers, NULL, NULL);
			 NULL, mask_registers, NULL, NULL);

unsigned char * __init highlander_init_irq_r7780mp(void)
{
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ static unsigned char irl2irq[HL_NR_IRL] __initdata = {
};

static DECLARE_INTC_DESC(intc_desc, "r7785rp", vectors,
			 NULL, NULL, mask_registers, NULL, NULL);
			 NULL, mask_registers, NULL, NULL);

unsigned char * __init highlander_init_irq_r7785rp(void)
{
+2 −2
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ static unsigned char irl2irq_r2d_1[R2D_NR_IRL] __initdata = {
};

static DECLARE_INTC_DESC(intc_desc_r2d_1, "r2d-1", vectors_r2d_1,
			 NULL, NULL, mask_registers_r2d_1, NULL, NULL);
			 NULL, mask_registers_r2d_1, NULL, NULL);

#endif /* CONFIG_RTS7751R2D_1 */

@@ -109,7 +109,7 @@ static unsigned char irl2irq_r2d_plus[R2D_NR_IRL] __initdata = {
};

static DECLARE_INTC_DESC(intc_desc_r2d_plus, "r2d-plus", vectors_r2d_plus,
			 NULL, NULL, mask_registers_r2d_plus, NULL, NULL);
			 NULL, mask_registers_r2d_plus, NULL, NULL);

#endif /* CONFIG_RTS7751R2D_PLUS */

+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ static struct intc_mask_reg mask_registers[] __initdata = {
};

static DECLARE_INTC_DESC(intc_desc, "voyagergx", vectors,
			 NULL, NULL, mask_registers, NULL, NULL);
			 NULL, mask_registers, NULL, NULL);

static unsigned int voyagergx_stat2irq[32] = {
	IRQ_SM501_CI, IRQ_SM501_PV, IRQ_SM501_ZD, IRQ_SM501_2D,
+4 −27
Original line number Diff line number Diff line
@@ -335,31 +335,6 @@ static intc_enum __init intc_grp_id(struct intc_desc *desc,
	return 0;
}

static unsigned int __init intc_prio_value(struct intc_desc *desc,
					   intc_enum enum_id, int do_grps)
{
	struct intc_prio *p = desc->priorities;
	unsigned int i;

	for (i = 0; p && enum_id && i < desc->nr_priorities; i++) {
		p = desc->priorities + i;

		if (p->enum_id != enum_id)
			continue;

		return p->priority;
	}

	if (do_grps)
		return intc_prio_value(desc, intc_grp_id(desc, enum_id), 0);

	/* default to the lowest priority possible if no priority is set
	 * - this needs to be at least 2 for 5-bit priorities on 7780
	 */

	return 2;
}

static unsigned int __init intc_mask_data(struct intc_desc *desc,
					  struct intc_desc_int *d,
					  intc_enum enum_id, int do_grps)
@@ -518,8 +493,10 @@ static void __init intc_register_irq(struct intc_desc *desc,
				      handle_level_irq, "level");
	set_irq_chip_data(irq, (void *)data[primary]);

	/* record the desired priority level */
	intc_prio_level[irq] = intc_prio_value(desc, enum_id, 1);
	/* set priority level
	 * - this needs to be at least 2 for 5-bit priorities on 7780
	 */
	intc_prio_level[irq] = 2;

	/* enable secondary masking method if present */
	if (data[!primary])
Loading