aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/parisc/wax.c
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2022-03-27 15:46:26 +0200
committerHelge Deller <deller@gmx.de>2022-03-29 21:37:12 +0200
commit939fc856676c266c3bc347c1c1661872a3725c0f (patch)
tree8cd07730ca7845cde5300a282df06c21eb5ff625 /drivers/parisc/wax.c
parentRevert "parisc: Fix invalidate/flush vmap routines" (diff)
downloadlinux-dev-939fc856676c266c3bc347c1c1661872a3725c0f.tar.xz
linux-dev-939fc856676c266c3bc347c1c1661872a3725c0f.zip
parisc: Fix CPU affinity for Lasi, WAX and Dino chips
Add the missing logic to allow Lasi, WAX and Dino to set the CPU affinity. This fixes IRQ migration to other CPUs when a CPU is shutdown which currently holds the IRQs for one of those chips. Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'drivers/parisc/wax.c')
-rw-r--r--drivers/parisc/wax.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/parisc/wax.c b/drivers/parisc/wax.c
index 5b6df1516235..73a2b01f8d9c 100644
--- a/drivers/parisc/wax.c
+++ b/drivers/parisc/wax.c
@@ -68,7 +68,6 @@ static int __init wax_init_chip(struct parisc_device *dev)
{
struct gsc_asic *wax;
struct parisc_device *parent;
- struct gsc_irq gsc_irq;
int ret;
wax = kzalloc(sizeof(*wax), GFP_KERNEL);
@@ -85,7 +84,7 @@ static int __init wax_init_chip(struct parisc_device *dev)
wax_init_irq(wax);
/* the IRQ wax should use */
- dev->irq = gsc_claim_irq(&gsc_irq, WAX_GSC_IRQ);
+ dev->irq = gsc_claim_irq(&wax->gsc_irq, WAX_GSC_IRQ);
if (dev->irq < 0) {
printk(KERN_ERR "%s(): cannot get GSC irq\n",
__func__);
@@ -93,9 +92,9 @@ static int __init wax_init_chip(struct parisc_device *dev)
return -EBUSY;
}
- wax->eim = ((u32) gsc_irq.txn_addr) | gsc_irq.txn_data;
+ wax->eim = ((u32) wax->gsc_irq.txn_addr) | wax->gsc_irq.txn_data;
- ret = request_irq(gsc_irq.irq, gsc_asic_intr, 0, "wax", wax);
+ ret = request_irq(wax->gsc_irq.irq, gsc_asic_intr, 0, "wax", wax);
if (ret < 0) {
kfree(wax);
return ret;