|
@@ -85,7 +85,7 @@ struct pca954x {
|
|
|
|
|
|
struct irq_domain *irq;
|
|
|
unsigned int irq_mask;
|
|
|
- spinlock_t lock;
|
|
|
+ raw_spinlock_t lock;
|
|
|
};
|
|
|
|
|
|
/* Provide specs for the PCA954x types we know about */
|
|
@@ -264,13 +264,13 @@ static void pca954x_irq_mask(struct irq_data *idata)
|
|
|
unsigned int pos = idata->hwirq;
|
|
|
unsigned long flags;
|
|
|
|
|
|
- spin_lock_irqsave(&data->lock, flags);
|
|
|
+ raw_spin_lock_irqsave(&data->lock, flags);
|
|
|
|
|
|
data->irq_mask &= ~BIT(pos);
|
|
|
if (!data->irq_mask)
|
|
|
disable_irq(data->client->irq);
|
|
|
|
|
|
- spin_unlock_irqrestore(&data->lock, flags);
|
|
|
+ raw_spin_unlock_irqrestore(&data->lock, flags);
|
|
|
}
|
|
|
|
|
|
static void pca954x_irq_unmask(struct irq_data *idata)
|
|
@@ -279,13 +279,13 @@ static void pca954x_irq_unmask(struct irq_data *idata)
|
|
|
unsigned int pos = idata->hwirq;
|
|
|
unsigned long flags;
|
|
|
|
|
|
- spin_lock_irqsave(&data->lock, flags);
|
|
|
+ raw_spin_lock_irqsave(&data->lock, flags);
|
|
|
|
|
|
if (!data->irq_mask)
|
|
|
enable_irq(data->client->irq);
|
|
|
data->irq_mask |= BIT(pos);
|
|
|
|
|
|
- spin_unlock_irqrestore(&data->lock, flags);
|
|
|
+ raw_spin_unlock_irqrestore(&data->lock, flags);
|
|
|
}
|
|
|
|
|
|
static int pca954x_irq_set_type(struct irq_data *idata, unsigned int type)
|
|
@@ -311,7 +311,7 @@ static int pca954x_irq_setup(struct i2c_mux_core *muxc)
|
|
|
if (!data->chip->has_irq || client->irq <= 0)
|
|
|
return 0;
|
|
|
|
|
|
- spin_lock_init(&data->lock);
|
|
|
+ raw_spin_lock_init(&data->lock);
|
|
|
|
|
|
data->irq = irq_domain_add_linear(client->dev.of_node,
|
|
|
data->chip->nchans,
|