OSDN Git Service

isdn: sc: work around type mismatch warning
authorArnd Bergmann <arnd@arndb.de>
Tue, 20 Feb 2018 11:54:51 +0000 (12:54 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 25 Feb 2018 10:03:51 +0000 (11:03 +0100)
This driver shows warnings on many architectures:

drivers/isdn/sc/init.c: In function 'identify_board':
drivers/isdn/sc/init.c:484:2: error: passing argument 1 of 'readl' makes pointer from integer without a cast [-Werror]

In newer kernels, it was completely removed, but for the 4.4-stable
series, let's just shut up that warning by adding an extra variable
to do the necessary type cast.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/isdn/sc/init.c

index 3597ef4..09fc129 100644 (file)
@@ -441,6 +441,7 @@ static int identify_board(unsigned long rambase, unsigned int iobase)
        RspMessage rcvmsg;
        ReqMessage sndmsg;
        HWConfig_pl hwci;
+       void __iomem *rambase_sig = (void __iomem *)rambase + SIG_OFFSET;
        int x;
 
        pr_debug("Attempting to identify adapter @ 0x%lx io 0x%x\n",
@@ -481,7 +482,7 @@ static int identify_board(unsigned long rambase, unsigned int iobase)
         */
        outb(PRI_BASEPG_VAL, pgport);
        msleep_interruptible(1000);
-       sig = readl(rambase + SIG_OFFSET);
+       sig = readl(rambase_sig);
        pr_debug("Looking for a signature, got 0x%lx\n", sig);
        if (sig == SIGNATURE)
                return PRI_BOARD;
@@ -491,7 +492,7 @@ static int identify_board(unsigned long rambase, unsigned int iobase)
         */
        outb(BRI_BASEPG_VAL, pgport);
        msleep_interruptible(1000);
-       sig = readl(rambase + SIG_OFFSET);
+       sig = readl(rambase_sig);
        pr_debug("Looking for a signature, got 0x%lx\n", sig);
        if (sig == SIGNATURE)
                return BRI_BOARD;
@@ -501,7 +502,7 @@ static int identify_board(unsigned long rambase, unsigned int iobase)
        /*
         * Try to spot a card
         */
-       sig = readl(rambase + SIG_OFFSET);
+       sig = readl(rambase_sig);
        pr_debug("Looking for a signature, got 0x%lx\n", sig);
        if (sig != SIGNATURE)
                return -1;