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: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
This commit is contained in:
Родитель
90d066130f
Коммит
4adeabd042
|
@ -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;
|
||||
return pfc->irqs[i];
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 */
|
||||
};
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
|
|
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче