mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-17 08:53:08 +07:00
net: dsa: mv88e6xxx: Unique SERDES interrupt names
Dynamically generate a unique SERDES interrupt name, based on the device name and the port the SERDES is for. For example: 95: 3 mv88e6xxx-g2 9 Edge mv88e6xxx-0.2:00-serdes-9 96: 0 mv88e6xxx-g2 10 Edge mv88e6xxx-0.2:00-serdes-10 The 0.2:00 indicates the switch and -9 indicates port 9. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3095383a8a
commit
e6f2f6b824
@ -2306,10 +2306,14 @@ static int mv88e6xxx_serdes_irq_request(struct mv88e6xxx_chip *chip, int port,
|
||||
if (!irq)
|
||||
return 0;
|
||||
|
||||
snprintf(dev_id->serdes_irq_name, sizeof(dev_id->serdes_irq_name),
|
||||
"mv88e6xxx-%s-serdes-%d", dev_name(chip->dev), port);
|
||||
|
||||
/* Requesting the IRQ will trigger IRQ callbacks, so release the lock */
|
||||
mv88e6xxx_reg_unlock(chip);
|
||||
err = request_threaded_irq(irq, NULL, mv88e6xxx_serdes_irq_thread_fn,
|
||||
IRQF_ONESHOT, "mv88e6xxx-serdes", dev_id);
|
||||
IRQF_ONESHOT, dev_id->serdes_irq_name,
|
||||
dev_id);
|
||||
mv88e6xxx_reg_lock(chip);
|
||||
if (err)
|
||||
return err;
|
||||
|
@ -236,6 +236,7 @@ struct mv88e6xxx_port {
|
||||
bool mirror_ingress;
|
||||
bool mirror_egress;
|
||||
unsigned int serdes_irq;
|
||||
char serdes_irq_name[32];
|
||||
};
|
||||
|
||||
struct mv88e6xxx_chip {
|
||||
|
Loading…
Reference in New Issue
Block a user