aboutsummaryrefslogtreecommitdiffstats
path: root/sound/aoa
diff options
context:
space:
mode:
Diffstat (limited to 'sound/aoa')
-rw-r--r--sound/aoa/soundbus/i2sbus/i2sbus-core.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/sound/aoa/soundbus/i2sbus/i2sbus-core.c b/sound/aoa/soundbus/i2sbus/i2sbus-core.c
index 01c0724335a3..4f0c17eddece 100644
--- a/sound/aoa/soundbus/i2sbus/i2sbus-core.c
+++ b/sound/aoa/soundbus/i2sbus/i2sbus-core.c
@@ -129,9 +129,6 @@ static int i2sbus_add_dev(struct macio_dev *macio,
129 if (strncmp(np->name, "i2s-", 4)) 129 if (strncmp(np->name, "i2s-", 4))
130 return 0; 130 return 0;
131 131
132 if (macio_irq_count(macio) != 3)
133 return 0;
134
135 dev = kzalloc(sizeof(struct i2sbus_dev), GFP_KERNEL); 132 dev = kzalloc(sizeof(struct i2sbus_dev), GFP_KERNEL);
136 if (!dev) 133 if (!dev)
137 return 0; 134 return 0;
@@ -183,10 +180,10 @@ static int i2sbus_add_dev(struct macio_dev *macio,
183 snprintf(dev->rnames[i], sizeof(dev->rnames[i]), rnames[i], np->name); 180 snprintf(dev->rnames[i], sizeof(dev->rnames[i]), rnames[i], np->name);
184 } 181 }
185 for (i=0;i<3;i++) { 182 for (i=0;i<3;i++) {
186 if (request_irq(macio_irq(macio, i), ints[i], 0, 183 int irq = irq_of_parse_and_map(np, i);
187 dev->rnames[i], dev)) 184 if (request_irq(irq, ints[i], 0, dev->rnames[i], dev))
188 goto err; 185 goto err;
189 dev->interrupts[i] = macio_irq(macio, i); 186 dev->interrupts[i] = irq;
190 } 187 }
191 188
192 for (i=0;i<3;i++) { 189 for (i=0;i<3;i++) {