diff options
Diffstat (limited to 'sound/aoa')
-rw-r--r-- | sound/aoa/soundbus/i2sbus/i2sbus-core.c | 9 |
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++) { |