bcm47xx: 5.15: fix compilation warning for yenta socket patchi
authorChristian Marangi <ansuelsmth@gmail.com>
Sat, 6 May 2023 23:24:04 +0000 (01:24 +0200)
committerChristian Marangi <ansuelsmth@gmail.com>
Fri, 12 May 2023 01:15:37 +0000 (03:15 +0200)
Rework the patch to completely disable yenta_probe_irq function.
The generated mask is zero by lack due to the fact that probe_irq_mask
use a val never initialized. Correctly rework the ifdef to make the
function always return 0.

Fix compilation warning:
drivers/pcmcia/yenta_socket.c:926:13: error: unused variable 'i' [-Werror=unused-variable]
  926 |         int i;
      |             ^
drivers/pcmcia/yenta_socket.c:954:16: error: 'val' is used uninitialized [-Werror=uninitialized]
  954 |         mask = probe_irq_mask(val) & 0xffff;
      |                ^~~~~~~~~~~~~~~~~~~
drivers/pcmcia/yenta_socket.c:927:23: note: 'val' was declared here
  927 |         unsigned long val;
      |                       ^~~
cc1: all warnings being treated as errors

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
target/linux/bcm47xx/patches-5.15/940-bcm47xx-yenta.patch

index 8847b0c0c75265033e03482efac84341c0bc80af..1a5b98b8b214ad77fa64c20a7a74227235c4277d 100644 (file)
@@ -1,23 +1,25 @@
 --- a/drivers/pcmcia/yenta_socket.c
 +++ b/drivers/pcmcia/yenta_socket.c
-@@ -932,6 +932,8 @@ static unsigned int yenta_probe_irq(stru
-        * Probe for usable interrupts using the force
-        * register to generate bogus card status events.
-        */
+@@ -923,6 +923,8 @@ static struct cardbus_type cardbus_type[
+ static unsigned int yenta_probe_irq(struct yenta_socket *socket, u32 isa_irq_mask)
+ {
++/* WRT54G3G does not like this */
 +#ifndef CONFIG_BCM47XX
-+      /* WRT54G3G does not like this */
-       cb_writel(socket, CB_SOCKET_EVENT, -1);
-       cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);
-       reg = exca_readb(socket, I365_CSCINT);
-@@ -947,6 +949,7 @@ static unsigned int yenta_probe_irq(stru
-       }
-       cb_writel(socket, CB_SOCKET_MASK, 0);
-       exca_writeb(socket, I365_CSCINT, reg);
+       int i;
+       unsigned long val;
+       u32 mask;
+@@ -951,6 +953,9 @@ static unsigned int yenta_probe_irq(stru
+       mask = probe_irq_mask(val) & 0xffff;
+       return mask;
++#else
++      return 0;
 +#endif
+ }
  
-       mask = probe_irq_mask(val) & 0xffff;
  
-@@ -1031,6 +1034,10 @@ static void yenta_get_socket_capabilitie
+@@ -1031,6 +1036,10 @@ static void yenta_get_socket_capabilitie
        else
                socket->socket.irq_mask = 0;
  
@@ -28,7 +30,7 @@
        dev_info(&socket->dev->dev, "ISA IRQ mask 0x%04x, PCI irq %d\n",
                 socket->socket.irq_mask, socket->cb_irq);
  }
-@@ -1262,6 +1269,15 @@ static int yenta_probe(struct pci_dev *d
+@@ -1262,6 +1271,15 @@ static int yenta_probe(struct pci_dev *d
        dev_info(&dev->dev, "Socket status: %08x\n",
                 cb_readl(socket, CB_SOCKET_STATE));