|
@@ -93,9 +93,11 @@ static struct bus_type mcp_bus_type = {
|
|
|
*/
|
|
|
void mcp_set_telecom_divisor(struct mcp *mcp, unsigned int div)
|
|
|
{
|
|
|
- spin_lock_irq(&mcp->lock);
|
|
|
+ unsigned long flags;
|
|
|
+
|
|
|
+ spin_lock_irqsave(&mcp->lock, flags);
|
|
|
mcp->ops->set_telecom_divisor(mcp, div);
|
|
|
- spin_unlock_irq(&mcp->lock);
|
|
|
+ spin_unlock_irqrestore(&mcp->lock, flags);
|
|
|
}
|
|
|
EXPORT_SYMBOL(mcp_set_telecom_divisor);
|
|
|
|
|
@@ -108,9 +110,11 @@ EXPORT_SYMBOL(mcp_set_telecom_divisor);
|
|
|
*/
|
|
|
void mcp_set_audio_divisor(struct mcp *mcp, unsigned int div)
|
|
|
{
|
|
|
- spin_lock_irq(&mcp->lock);
|
|
|
+ unsigned long flags;
|
|
|
+
|
|
|
+ spin_lock_irqsave(&mcp->lock, flags);
|
|
|
mcp->ops->set_audio_divisor(mcp, div);
|
|
|
- spin_unlock_irq(&mcp->lock);
|
|
|
+ spin_unlock_irqrestore(&mcp->lock, flags);
|
|
|
}
|
|
|
EXPORT_SYMBOL(mcp_set_audio_divisor);
|
|
|
|
|
@@ -163,10 +167,11 @@ EXPORT_SYMBOL(mcp_reg_read);
|
|
|
*/
|
|
|
void mcp_enable(struct mcp *mcp)
|
|
|
{
|
|
|
- spin_lock_irq(&mcp->lock);
|
|
|
+ unsigned long flags;
|
|
|
+ spin_lock_irqsave(&mcp->lock, flags);
|
|
|
if (mcp->use_count++ == 0)
|
|
|
mcp->ops->enable(mcp);
|
|
|
- spin_unlock_irq(&mcp->lock);
|
|
|
+ spin_unlock_irqrestore(&mcp->lock, flags);
|
|
|
}
|
|
|
EXPORT_SYMBOL(mcp_enable);
|
|
|
|