if (!st_data)
return -ENOENT;
- spin_lock_irq(&mcbsp->lock);
+ guard(spinlock_irq)(&mcbsp->lock);
if (channel == 0)
st_data->ch0gain = chgain;
else if (channel == 1)
if (st_data->enabled)
omap_mcbsp_st_chgain(mcbsp);
- spin_unlock_irq(&mcbsp->lock);
return ret;
}
if (!st_data)
return -ENOENT;
- spin_lock_irq(&mcbsp->lock);
+ guard(spinlock_irq)(&mcbsp->lock);
if (channel == 0)
*chgain = st_data->ch0gain;
else if (channel == 1)
*chgain = st_data->ch1gain;
else
ret = -EINVAL;
- spin_unlock_irq(&mcbsp->lock);
return ret;
}
if (!st_data)
return -ENODEV;
- spin_lock_irq(&mcbsp->lock);
+ guard(spinlock_irq)(&mcbsp->lock);
st_data->enabled = 1;
omap_mcbsp_st_start(mcbsp);
- spin_unlock_irq(&mcbsp->lock);
return 0;
}
if (!st_data)
return -ENODEV;
- spin_lock_irq(&mcbsp->lock);
+ guard(spinlock_irq)(&mcbsp->lock);
omap_mcbsp_st_stop(mcbsp);
st_data->enabled = 0;
- spin_unlock_irq(&mcbsp->lock);
return ret;
}
ssize_t status = 0;
int i;
- spin_lock_irq(&mcbsp->lock);
+ guard(spinlock_irq)(&mcbsp->lock);
for (i = 0; i < st_data->nr_taps; i++)
status += sysfs_emit_at(buf, status, (i ? ", %d" : "%d"),
st_data->taps[i]);
if (i)
status += sysfs_emit_at(buf, status, "\n");
- spin_unlock_irq(&mcbsp->lock);
return status;
}
struct omap_mcbsp_st_data *st_data = mcbsp->st_data;
int val, tmp, status, i = 0;
- spin_lock_irq(&mcbsp->lock);
+ guard(spinlock_irq)(&mcbsp->lock);
memset(st_data->taps, 0, sizeof(st_data->taps));
st_data->nr_taps = 0;
do {
status = sscanf(buf, "%d%n", &val, &tmp);
if (status < 0 || status == 0) {
- size = -EINVAL;
- goto out;
+ return -EINVAL;
}
if (val < -32768 || val > 32767) {
- size = -EINVAL;
- goto out;
+ return -EINVAL;
}
st_data->taps[i++] = val;
buf += tmp;
st_data->nr_taps = i;
-out:
- spin_unlock_irq(&mcbsp->lock);
-
return size;
}