net: ibm: emac: mal: move irq maps down

Moves the handling right before they are used and allows merging a
branch.

Also get rid of the error handling as devm_request_irq can handle that.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://patch.msgid.link/20241030203727.6039-13-rosenp@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Rosen Penev 2024-10-30 13:37:27 -07:00 committed by Jakub Kicinski
parent 14f59154ff
commit c4f5d0454c

View File

@ -579,25 +579,6 @@ static int mal_probe(struct platform_device *ofdev)
#endif
}
mal->txeob_irq = platform_get_irq(ofdev, 0);
mal->rxeob_irq = platform_get_irq(ofdev, 1);
mal->serr_irq = platform_get_irq(ofdev, 2);
if (mal_has_feature(mal, MAL_FTR_COMMON_ERR_INT)) {
mal->txde_irq = mal->rxde_irq = mal->serr_irq;
} else {
mal->txde_irq = platform_get_irq(ofdev, 3);
mal->rxde_irq = platform_get_irq(ofdev, 4);
}
if (mal->txeob_irq < 0 || mal->rxeob_irq < 0 || mal->serr_irq < 0 ||
mal->txde_irq < 0 || mal->rxde_irq < 0) {
printk(KERN_ERR
"mal%d: failed to map interrupts !\n", index);
err = -ENODEV;
goto fail_unmap;
}
INIT_LIST_HEAD(&mal->poll_list);
INIT_LIST_HEAD(&mal->list);
spin_lock_init(&mal->lock);
@ -651,10 +632,17 @@ static int mal_probe(struct platform_device *ofdev)
sizeof(struct mal_descriptor) *
mal_rx_bd_offset(mal, i));
mal->txeob_irq = platform_get_irq(ofdev, 0);
mal->rxeob_irq = platform_get_irq(ofdev, 1);
mal->serr_irq = platform_get_irq(ofdev, 2);
if (mal_has_feature(mal, MAL_FTR_COMMON_ERR_INT)) {
mal->txde_irq = mal->rxde_irq = mal->serr_irq;
irqflags = IRQF_SHARED;
hdlr_serr = hdlr_txde = hdlr_rxde = mal_int;
} else {
mal->txde_irq = platform_get_irq(ofdev, 3);
mal->rxde_irq = platform_get_irq(ofdev, 4);
irqflags = 0;
hdlr_serr = mal_serr;
hdlr_txde = mal_txde;