aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd/ezx-pcap.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mfd/ezx-pcap.c')
-rw-r--r--drivers/mfd/ezx-pcap.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/drivers/mfd/ezx-pcap.c b/drivers/mfd/ezx-pcap.c
index c2b698d69a93..9e2d8dd5f9e5 100644
--- a/drivers/mfd/ezx-pcap.c
+++ b/drivers/mfd/ezx-pcap.c
@@ -144,26 +144,26 @@ int pcap_to_irq(struct pcap_chip *pcap, int irq)
144} 144}
145EXPORT_SYMBOL_GPL(pcap_to_irq); 145EXPORT_SYMBOL_GPL(pcap_to_irq);
146 146
147static void pcap_mask_irq(unsigned int irq) 147static void pcap_mask_irq(struct irq_data *d)
148{ 148{
149 struct pcap_chip *pcap = get_irq_chip_data(irq); 149 struct pcap_chip *pcap = irq_data_get_irq_chip_data(d);
150 150
151 pcap->msr |= 1 << irq_to_pcap(pcap, irq); 151 pcap->msr |= 1 << irq_to_pcap(pcap, d->irq);
152 queue_work(pcap->workqueue, &pcap->msr_work); 152 queue_work(pcap->workqueue, &pcap->msr_work);
153} 153}
154 154
155static void pcap_unmask_irq(unsigned int irq) 155static void pcap_unmask_irq(struct irq_data *d)
156{ 156{
157 struct pcap_chip *pcap = get_irq_chip_data(irq); 157 struct pcap_chip *pcap = irq_data_get_irq_chip_data(d);
158 158
159 pcap->msr &= ~(1 << irq_to_pcap(pcap, irq)); 159 pcap->msr &= ~(1 << irq_to_pcap(pcap, d->irq));
160 queue_work(pcap->workqueue, &pcap->msr_work); 160 queue_work(pcap->workqueue, &pcap->msr_work);
161} 161}
162 162
163static struct irq_chip pcap_irq_chip = { 163static struct irq_chip pcap_irq_chip = {
164 .name = "pcap", 164 .name = "pcap",
165 .mask = pcap_mask_irq, 165 .irq_mask = pcap_mask_irq,
166 .unmask = pcap_unmask_irq, 166 .irq_unmask = pcap_unmask_irq,
167}; 167};
168 168
169static void pcap_msr_work(struct work_struct *work) 169static void pcap_msr_work(struct work_struct *work)
@@ -199,8 +199,7 @@ static void pcap_isr_work(struct work_struct *work)
199 if (service & 1) { 199 if (service & 1) {
200 struct irq_desc *desc = irq_to_desc(irq); 200 struct irq_desc *desc = irq_to_desc(irq);
201 201
202 if (WARN(!desc, KERN_WARNING 202 if (WARN(!desc, "Invalid PCAP IRQ %d\n", irq))
203 "Invalid PCAP IRQ %d\n", irq))
204 break; 203 break;
205 204
206 if (desc->status & IRQ_DISABLED) 205 if (desc->status & IRQ_DISABLED)
@@ -218,7 +217,7 @@ static void pcap_irq_handler(unsigned int irq, struct irq_desc *desc)
218{ 217{
219 struct pcap_chip *pcap = get_irq_data(irq); 218 struct pcap_chip *pcap = get_irq_data(irq);
220 219
221 desc->chip->ack(irq); 220 desc->irq_data.chip->irq_ack(&desc->irq_data);
222 queue_work(pcap->workqueue, &pcap->isr_work); 221 queue_work(pcap->workqueue, &pcap->isr_work);
223 return; 222 return;
224} 223}
@@ -282,7 +281,7 @@ static irqreturn_t pcap_adc_irq(int irq, void *_pcap)
282 mutex_lock(&pcap->adc_mutex); 281 mutex_lock(&pcap->adc_mutex);
283 req = pcap->adc_queue[pcap->adc_head]; 282 req = pcap->adc_queue[pcap->adc_head];
284 283
285 if (WARN(!req, KERN_WARNING "adc irq without pending request\n")) { 284 if (WARN(!req, "adc irq without pending request\n")) {
286 mutex_unlock(&pcap->adc_mutex); 285 mutex_unlock(&pcap->adc_mutex);
287 return IRQ_HANDLED; 286 return IRQ_HANDLED;
288 } 287 }