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

Commit 4adeabd0 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Geert Uytterhoeven
Browse files

pinctrl: sh-pfc: Remove hardcoded IRQ numbers



Now that all ARM-based Renesas SoCs use multiplatform kernels only the
hardcoded IRQ numbers can be dropped as they're dynamically allocated.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
parent 90d06613
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -219,10 +219,7 @@ static int gpio_pin_to_irq(struct gpio_chip *gc, unsigned offset)
	return -ENOSYS;

found:
	if (pfc->num_irqs)
	return pfc->irqs[i];
	else
		return pfc->info->gpio_irq[i].irq;
}

static int gpio_pin_setup(struct sh_pfc_chip *chip)
@@ -363,7 +360,7 @@ int sh_pfc_register_gpiochip(struct sh_pfc *pfc)
		return 0;

	/* If we have IRQ resources make sure their number is correct. */
	if (pfc->num_irqs && pfc->num_irqs != pfc->info->gpio_irq_size) {
	if (pfc->num_irqs != pfc->info->gpio_irq_size) {
		dev_err(pfc->dev, "invalid number of IRQ resources\n");
		return -EINVAL;
	}
+58 −58
Original line number Diff line number Diff line
@@ -2603,64 +2603,64 @@ static const struct pinmux_data_reg pinmux_data_regs[] = {
};

static const struct pinmux_irq pinmux_irqs[] = {
	PINMUX_IRQ(irq_pin(0), 0),
	PINMUX_IRQ(irq_pin(1), 1),
	PINMUX_IRQ(irq_pin(2), 2),
	PINMUX_IRQ(irq_pin(3), 3),
	PINMUX_IRQ(irq_pin(4), 4),
	PINMUX_IRQ(irq_pin(5), 5),
	PINMUX_IRQ(irq_pin(6), 6),
	PINMUX_IRQ(irq_pin(7), 7),
	PINMUX_IRQ(irq_pin(8), 8),
	PINMUX_IRQ(irq_pin(9), 9),
	PINMUX_IRQ(irq_pin(10), 10),
	PINMUX_IRQ(irq_pin(11), 11),
	PINMUX_IRQ(irq_pin(12), 12),
	PINMUX_IRQ(irq_pin(13), 13),
	PINMUX_IRQ(irq_pin(14), 14),
	PINMUX_IRQ(irq_pin(15), 15),
	PINMUX_IRQ(irq_pin(16), 320),
	PINMUX_IRQ(irq_pin(17), 321),
	PINMUX_IRQ(irq_pin(18), 85),
	PINMUX_IRQ(irq_pin(19), 84),
	PINMUX_IRQ(irq_pin(20), 160),
	PINMUX_IRQ(irq_pin(21), 161),
	PINMUX_IRQ(irq_pin(22), 162),
	PINMUX_IRQ(irq_pin(23), 163),
	PINMUX_IRQ(irq_pin(24), 175),
	PINMUX_IRQ(irq_pin(25), 176),
	PINMUX_IRQ(irq_pin(26), 177),
	PINMUX_IRQ(irq_pin(27), 178),
	PINMUX_IRQ(irq_pin(28), 322),
	PINMUX_IRQ(irq_pin(29), 323),
	PINMUX_IRQ(irq_pin(30), 324),
	PINMUX_IRQ(irq_pin(31), 192),
	PINMUX_IRQ(irq_pin(32), 193),
	PINMUX_IRQ(irq_pin(33), 194),
	PINMUX_IRQ(irq_pin(34), 195),
	PINMUX_IRQ(irq_pin(35), 196),
	PINMUX_IRQ(irq_pin(36), 197),
	PINMUX_IRQ(irq_pin(37), 198),
	PINMUX_IRQ(irq_pin(38), 199),
	PINMUX_IRQ(irq_pin(39), 200),
	PINMUX_IRQ(irq_pin(40), 66),
	PINMUX_IRQ(irq_pin(41), 102),
	PINMUX_IRQ(irq_pin(42), 103),
	PINMUX_IRQ(irq_pin(43), 109),
	PINMUX_IRQ(irq_pin(44), 110),
	PINMUX_IRQ(irq_pin(45), 111),
	PINMUX_IRQ(irq_pin(46), 112),
	PINMUX_IRQ(irq_pin(47), 113),
	PINMUX_IRQ(irq_pin(48), 114),
	PINMUX_IRQ(irq_pin(49), 115),
	PINMUX_IRQ(irq_pin(50), 301),
	PINMUX_IRQ(irq_pin(51), 290),
	PINMUX_IRQ(irq_pin(52), 296),
	PINMUX_IRQ(irq_pin(53), 325),
	PINMUX_IRQ(irq_pin(54), 326),
	PINMUX_IRQ(irq_pin(55), 327),
	PINMUX_IRQ(irq_pin(56), 328),
	PINMUX_IRQ(irq_pin(57), 329),
	PINMUX_IRQ(0),		/* IRQ0 */
	PINMUX_IRQ(1),		/* IRQ1 */
	PINMUX_IRQ(2),		/* IRQ2 */
	PINMUX_IRQ(3),		/* IRQ3 */
	PINMUX_IRQ(4),		/* IRQ4 */
	PINMUX_IRQ(5),		/* IRQ5 */
	PINMUX_IRQ(6),		/* IRQ6 */
	PINMUX_IRQ(7),		/* IRQ7 */
	PINMUX_IRQ(8),		/* IRQ8 */
	PINMUX_IRQ(9),		/* IRQ9 */
	PINMUX_IRQ(10),		/* IRQ10 */
	PINMUX_IRQ(11),		/* IRQ11 */
	PINMUX_IRQ(12),		/* IRQ12 */
	PINMUX_IRQ(13),		/* IRQ13 */
	PINMUX_IRQ(14),		/* IRQ14 */
	PINMUX_IRQ(15),		/* IRQ15 */
	PINMUX_IRQ(320),	/* IRQ16 */
	PINMUX_IRQ(321),	/* IRQ17 */
	PINMUX_IRQ(85),		/* IRQ18 */
	PINMUX_IRQ(84),		/* IRQ19 */
	PINMUX_IRQ(160),	/* IRQ20 */
	PINMUX_IRQ(161),	/* IRQ21 */
	PINMUX_IRQ(162),	/* IRQ22 */
	PINMUX_IRQ(163),	/* IRQ23 */
	PINMUX_IRQ(175),	/* IRQ24 */
	PINMUX_IRQ(176),	/* IRQ25 */
	PINMUX_IRQ(177),	/* IRQ26 */
	PINMUX_IRQ(178),	/* IRQ27 */
	PINMUX_IRQ(322),	/* IRQ28 */
	PINMUX_IRQ(323),	/* IRQ29 */
	PINMUX_IRQ(324),	/* IRQ30 */
	PINMUX_IRQ(192),	/* IRQ31 */
	PINMUX_IRQ(193),	/* IRQ32 */
	PINMUX_IRQ(194),	/* IRQ33 */
	PINMUX_IRQ(195),	/* IRQ34 */
	PINMUX_IRQ(196),	/* IRQ35 */
	PINMUX_IRQ(197),	/* IRQ36 */
	PINMUX_IRQ(198),	/* IRQ37 */
	PINMUX_IRQ(199),	/* IRQ38 */
	PINMUX_IRQ(200),	/* IRQ39 */
	PINMUX_IRQ(66),		/* IRQ40 */
	PINMUX_IRQ(102),	/* IRQ41 */
	PINMUX_IRQ(103),	/* IRQ42 */
	PINMUX_IRQ(109),	/* IRQ43 */
	PINMUX_IRQ(110),	/* IRQ44 */
	PINMUX_IRQ(111),	/* IRQ45 */
	PINMUX_IRQ(112),	/* IRQ46 */
	PINMUX_IRQ(113),	/* IRQ47 */
	PINMUX_IRQ(114),	/* IRQ48 */
	PINMUX_IRQ(115),	/* IRQ49 */
	PINMUX_IRQ(301),	/* IRQ50 */
	PINMUX_IRQ(290),	/* IRQ51 */
	PINMUX_IRQ(296),	/* IRQ52 */
	PINMUX_IRQ(325),	/* IRQ53 */
	PINMUX_IRQ(326),	/* IRQ54 */
	PINMUX_IRQ(327),	/* IRQ55 */
	PINMUX_IRQ(328),	/* IRQ56 */
	PINMUX_IRQ(329),	/* IRQ57 */
};

#define PORTCR_PULMD_OFF (0 << 6)
+32 −32
Original line number Diff line number Diff line
@@ -3651,38 +3651,38 @@ static const struct pinmux_data_reg pinmux_data_regs[] = {
};

static const struct pinmux_irq pinmux_irqs[] = {
	PINMUX_IRQ(irq_pin(0), 2,   13),	/* IRQ0A */
	PINMUX_IRQ(irq_pin(1), 20),		/* IRQ1A */
	PINMUX_IRQ(irq_pin(2), 11,  12),	/* IRQ2A */
	PINMUX_IRQ(irq_pin(3), 10,  14),	/* IRQ3A */
	PINMUX_IRQ(irq_pin(4), 15,  172),	/* IRQ4A */
	PINMUX_IRQ(irq_pin(5), 0,   1),		/* IRQ5A */
	PINMUX_IRQ(irq_pin(6), 121, 173),	/* IRQ6A */
	PINMUX_IRQ(irq_pin(7), 120, 209),	/* IRQ7A */
	PINMUX_IRQ(irq_pin(8), 119),		/* IRQ8A */
	PINMUX_IRQ(irq_pin(9), 118, 210),	/* IRQ9A */
	PINMUX_IRQ(irq_pin(10), 19),		/* IRQ10A */
	PINMUX_IRQ(irq_pin(11), 104),		/* IRQ11A */
	PINMUX_IRQ(irq_pin(12), 42,  97),	/* IRQ12A */
	PINMUX_IRQ(irq_pin(13), 64,  98),	/* IRQ13A */
	PINMUX_IRQ(irq_pin(14), 63,  99),	/* IRQ14A */
	PINMUX_IRQ(irq_pin(15), 62,  100),	/* IRQ15A */
	PINMUX_IRQ(irq_pin(16), 68,  211),	/* IRQ16A */
	PINMUX_IRQ(irq_pin(17), 69),		/* IRQ17A */
	PINMUX_IRQ(irq_pin(18), 70),		/* IRQ18A */
	PINMUX_IRQ(irq_pin(19), 71),		/* IRQ19A */
	PINMUX_IRQ(irq_pin(20), 67),		/* IRQ20A */
	PINMUX_IRQ(irq_pin(21), 202),		/* IRQ21A */
	PINMUX_IRQ(irq_pin(22), 95),		/* IRQ22A */
	PINMUX_IRQ(irq_pin(23), 96),		/* IRQ23A */
	PINMUX_IRQ(irq_pin(24), 180),		/* IRQ24A */
	PINMUX_IRQ(irq_pin(25), 38),		/* IRQ25A */
	PINMUX_IRQ(irq_pin(26), 58,  81),	/* IRQ26A */
	PINMUX_IRQ(irq_pin(27), 57,  168),	/* IRQ27A */
	PINMUX_IRQ(irq_pin(28), 56,  169),	/* IRQ28A */
	PINMUX_IRQ(irq_pin(29), 50,  170),	/* IRQ29A */
	PINMUX_IRQ(irq_pin(30), 49,  171),	/* IRQ30A */
	PINMUX_IRQ(irq_pin(31), 41,  167),	/* IRQ31A */
	PINMUX_IRQ(2,   13),	/* IRQ0A */
	PINMUX_IRQ(20),		/* IRQ1A */
	PINMUX_IRQ(11,  12),	/* IRQ2A */
	PINMUX_IRQ(10,  14),	/* IRQ3A */
	PINMUX_IRQ(15,  172),	/* IRQ4A */
	PINMUX_IRQ(0,   1),	/* IRQ5A */
	PINMUX_IRQ(121, 173),	/* IRQ6A */
	PINMUX_IRQ(120, 209),	/* IRQ7A */
	PINMUX_IRQ(119),	/* IRQ8A */
	PINMUX_IRQ(118, 210),	/* IRQ9A */
	PINMUX_IRQ(19),		/* IRQ10A */
	PINMUX_IRQ(104),	/* IRQ11A */
	PINMUX_IRQ(42,  97),	/* IRQ12A */
	PINMUX_IRQ(64,  98),	/* IRQ13A */
	PINMUX_IRQ(63,  99),	/* IRQ14A */
	PINMUX_IRQ(62,  100),	/* IRQ15A */
	PINMUX_IRQ(68,  211),	/* IRQ16A */
	PINMUX_IRQ(69),		/* IRQ17A */
	PINMUX_IRQ(70),		/* IRQ18A */
	PINMUX_IRQ(71),		/* IRQ19A */
	PINMUX_IRQ(67),		/* IRQ20A */
	PINMUX_IRQ(202),	/* IRQ21A */
	PINMUX_IRQ(95),		/* IRQ22A */
	PINMUX_IRQ(96),		/* IRQ23A */
	PINMUX_IRQ(180),	/* IRQ24A */
	PINMUX_IRQ(38),		/* IRQ25A */
	PINMUX_IRQ(58,  81),	/* IRQ26A */
	PINMUX_IRQ(57,  168),	/* IRQ27A */
	PINMUX_IRQ(56,  169),	/* IRQ28A */
	PINMUX_IRQ(50,  170),	/* IRQ29A */
	PINMUX_IRQ(49,  171),	/* IRQ30A */
	PINMUX_IRQ(41,  167),	/* IRQ31A */
};

#define PORTnCR_PULMD_OFF	(0 << 6)
+32 −32
Original line number Diff line number Diff line
@@ -3649,38 +3649,38 @@ static const struct pinmux_data_reg pinmux_data_regs[] = {
};

static const struct pinmux_irq pinmux_irqs[] = {
	PINMUX_IRQ(irq_pin(0), 11),
	PINMUX_IRQ(irq_pin(1), 10),
	PINMUX_IRQ(irq_pin(2), 149),
	PINMUX_IRQ(irq_pin(3), 224),
	PINMUX_IRQ(irq_pin(4), 159),
	PINMUX_IRQ(irq_pin(5), 227),
	PINMUX_IRQ(irq_pin(6), 147),
	PINMUX_IRQ(irq_pin(7), 150),
	PINMUX_IRQ(irq_pin(8), 223),
	PINMUX_IRQ(irq_pin(9), 56, 308),
	PINMUX_IRQ(irq_pin(10), 54),
	PINMUX_IRQ(irq_pin(11), 238),
	PINMUX_IRQ(irq_pin(12), 156),
	PINMUX_IRQ(irq_pin(13), 239),
	PINMUX_IRQ(irq_pin(14), 251),
	PINMUX_IRQ(irq_pin(15), 0),
	PINMUX_IRQ(irq_pin(16), 249),
	PINMUX_IRQ(irq_pin(17), 234),
	PINMUX_IRQ(irq_pin(18), 13),
	PINMUX_IRQ(irq_pin(19), 9),
	PINMUX_IRQ(irq_pin(20), 14),
	PINMUX_IRQ(irq_pin(21), 15),
	PINMUX_IRQ(irq_pin(22), 40),
	PINMUX_IRQ(irq_pin(23), 53),
	PINMUX_IRQ(irq_pin(24), 118),
	PINMUX_IRQ(irq_pin(25), 164),
	PINMUX_IRQ(irq_pin(26), 115),
	PINMUX_IRQ(irq_pin(27), 116),
	PINMUX_IRQ(irq_pin(28), 117),
	PINMUX_IRQ(irq_pin(29), 28),
	PINMUX_IRQ(irq_pin(30), 27),
	PINMUX_IRQ(irq_pin(31), 26),
	PINMUX_IRQ(11),		/* IRQ0 */
	PINMUX_IRQ(10),		/* IRQ1 */
	PINMUX_IRQ(149),	/* IRQ2 */
	PINMUX_IRQ(224),	/* IRQ3 */
	PINMUX_IRQ(159),	/* IRQ4 */
	PINMUX_IRQ(227),	/* IRQ5 */
	PINMUX_IRQ(147),	/* IRQ6 */
	PINMUX_IRQ(150),	/* IRQ7 */
	PINMUX_IRQ(223),	/* IRQ8 */
	PINMUX_IRQ(56, 308),	/* IRQ9 */
	PINMUX_IRQ(54),		/* IRQ10 */
	PINMUX_IRQ(238),	/* IRQ11 */
	PINMUX_IRQ(156),	/* IRQ12 */
	PINMUX_IRQ(239),	/* IRQ13 */
	PINMUX_IRQ(251),	/* IRQ14 */
	PINMUX_IRQ(0),		/* IRQ15 */
	PINMUX_IRQ(249),	/* IRQ16 */
	PINMUX_IRQ(234),	/* IRQ17 */
	PINMUX_IRQ(13),		/* IRQ18 */
	PINMUX_IRQ(9),		/* IRQ19 */
	PINMUX_IRQ(14),		/* IRQ20 */
	PINMUX_IRQ(15),		/* IRQ21 */
	PINMUX_IRQ(40),		/* IRQ22 */
	PINMUX_IRQ(53),		/* IRQ23 */
	PINMUX_IRQ(118),	/* IRQ24 */
	PINMUX_IRQ(164),	/* IRQ25 */
	PINMUX_IRQ(115),	/* IRQ26 */
	PINMUX_IRQ(116),	/* IRQ27 */
	PINMUX_IRQ(117),	/* IRQ28 */
	PINMUX_IRQ(28),		/* IRQ29 */
	PINMUX_IRQ(27),		/* IRQ30 */
	PINMUX_IRQ(26),		/* IRQ31 */
};

/* -----------------------------------------------------------------------------
+1 −7
Original line number Diff line number Diff line
@@ -98,17 +98,11 @@ struct pinmux_data_reg {
	.enum_ids = (const u16 [r_width]) \

struct pinmux_irq {
	int irq;
	const short *gpios;
};

#ifdef CONFIG_ARCH_MULTIPLATFORM
#define PINMUX_IRQ(irq_nr, ids...)			   \
#define PINMUX_IRQ(ids...)			   \
	{ .gpios = (const short []) { ids, -1 } }
#else
#define PINMUX_IRQ(irq_nr, ids...)			   \
	{ .irq = irq_nr, .gpios = (const short []) { ids, -1 } }
#endif

struct pinmux_range {
	u16 begin;