net: dsa: mv88e6xxx: fix SERDES IRQ mapping
authorVivien Didelot <vivien.didelot@gmail.com>
Sat, 31 Aug 2019 20:18:28 +0000 (16:18 -0400)
committerDavid S. Miller <davem@davemloft.net>
Sun, 1 Sep 2019 19:16:37 +0000 (12:16 -0700)
The current mv88e6xxx SERDES code checks for negative error code from
irq_find_mapping, while this function returns an unsigned integer. This
patch removes this dead code and simply returns 0 is no IRQ is found.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6xxx/chip.h
drivers/net/dsa/mv88e6xxx/serdes.c

index 421e8b8..2016f51 100644 (file)
@@ -199,7 +199,7 @@ struct mv88e6xxx_port {
        u64 vtu_member_violation;
        u64 vtu_miss_violation;
        u8 cmode;
-       int serdes_irq;
+       unsigned int serdes_irq;
 };
 
 struct mv88e6xxx_chip {
index 7eb7ed6..f65652e 100644 (file)
@@ -249,11 +249,8 @@ int mv88e6352_serdes_irq_setup(struct mv88e6xxx_chip *chip, int port)
 
        chip->ports[port].serdes_irq = irq_find_mapping(chip->g2_irq.domain,
                                                        MV88E6352_SERDES_IRQ);
-       if (chip->ports[port].serdes_irq < 0) {
-               dev_err(chip->dev, "Unable to map SERDES irq: %d\n",
-                       chip->ports[port].serdes_irq);
-               return chip->ports[port].serdes_irq;
-       }
+       if (!chip->ports[port].serdes_irq)
+               return 0;
 
        /* Requesting the IRQ will trigger irq callbacks. So we cannot
         * hold the reg_lock.
@@ -690,11 +687,8 @@ int mv88e6390_serdes_irq_setup(struct mv88e6xxx_chip *chip, int port)
 
        chip->ports[port].serdes_irq = irq_find_mapping(chip->g2_irq.domain,
                                                        port);
-       if (chip->ports[port].serdes_irq < 0) {
-               dev_err(chip->dev, "Unable to map SERDES irq: %d\n",
-                       chip->ports[port].serdes_irq);
-               return chip->ports[port].serdes_irq;
-       }
+       if (!chip->ports[port].serdes_irq)
+               return 0;
 
        /* Requesting the IRQ will trigger irq callbacks. So we cannot
         * hold the reg_lock.