Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 186330
b: refs/heads/master
c: 5720502
h: refs/heads/master
v: v3
  • Loading branch information
Uwe Kleine-König authored and Linus Torvalds committed Mar 6, 2010
1 parent 986673f commit 384ff73
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 23 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2a7a06a0cdd86d572e91657603180da5992be6d3
refs/heads/master: 57205026da070b59e9546df352fe465f1aeacf99
38 changes: 19 additions & 19 deletions trunk/drivers/mfd/mc13783-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ int mc13783_reg_rmw(struct mc13783 *mc13783, unsigned int offset,
}
EXPORT_SYMBOL(mc13783_reg_rmw);

int mc13783_mask(struct mc13783 *mc13783, int irq)
int mc13783_irq_mask(struct mc13783 *mc13783, int irq)
{
int ret;
unsigned int offmask = irq < 24 ? MC13783_IRQMASK0 : MC13783_IRQMASK1;
Expand All @@ -245,9 +245,9 @@ int mc13783_mask(struct mc13783 *mc13783, int irq)

return mc13783_reg_write(mc13783, offmask, mask | irqbit);
}
EXPORT_SYMBOL(mc13783_mask);
EXPORT_SYMBOL(mc13783_irq_mask);

int mc13783_unmask(struct mc13783 *mc13783, int irq)
int mc13783_irq_unmask(struct mc13783 *mc13783, int irq)
{
int ret;
unsigned int offmask = irq < 24 ? MC13783_IRQMASK0 : MC13783_IRQMASK1;
Expand All @@ -267,7 +267,18 @@ int mc13783_unmask(struct mc13783 *mc13783, int irq)

return mc13783_reg_write(mc13783, offmask, mask & ~irqbit);
}
EXPORT_SYMBOL(mc13783_unmask);
EXPORT_SYMBOL(mc13783_irq_unmask);

int mc13783_irq_ack(struct mc13783 *mc13783, int irq)
{
unsigned int offstat = irq < 24 ? MC13783_IRQSTAT0 : MC13783_IRQSTAT1;
unsigned int val = 1 << (irq < 24 ? irq : irq - 24);

BUG_ON(irq < 0 || irq >= MC13783_NUM_IRQ);

return mc13783_reg_write(mc13783, offstat, val);
}
EXPORT_SYMBOL(mc13783_irq_ack);

int mc13783_irq_request_nounmask(struct mc13783 *mc13783, int irq,
irq_handler_t handler, const char *name, void *dev)
Expand Down Expand Up @@ -297,7 +308,7 @@ int mc13783_irq_request(struct mc13783 *mc13783, int irq,
if (ret)
return ret;

ret = mc13783_unmask(mc13783, irq);
ret = mc13783_irq_unmask(mc13783, irq);
if (ret) {
mc13783->irqhandler[irq] = NULL;
mc13783->irqdata[irq] = NULL;
Expand All @@ -317,7 +328,7 @@ int mc13783_irq_free(struct mc13783 *mc13783, int irq, void *dev)
mc13783->irqdata[irq] != dev)
return -EINVAL;

ret = mc13783_mask(mc13783, irq);
ret = mc13783_irq_mask(mc13783, irq);
if (ret)
return ret;

Expand All @@ -333,17 +344,6 @@ static inline irqreturn_t mc13783_irqhandler(struct mc13783 *mc13783, int irq)
return mc13783->irqhandler[irq](irq, mc13783->irqdata[irq]);
}

int mc13783_ackirq(struct mc13783 *mc13783, int irq)
{
unsigned int offstat = irq < 24 ? MC13783_IRQSTAT0 : MC13783_IRQSTAT1;
unsigned int val = 1 << (irq < 24 ? irq : irq - 24);

BUG_ON(irq < 0 || irq >= MC13783_NUM_IRQ);

return mc13783_reg_write(mc13783, offstat, val);
}
EXPORT_SYMBOL(mc13783_ackirq);

/*
* returns: number of handled irqs or negative error
* locking: holds mc13783->lock
Expand Down Expand Up @@ -422,7 +422,7 @@ static irqreturn_t mc13783_handler_adcdone(int irq, void *data)
{
struct mc13783_adcdone_data *adcdone_data = data;

mc13783_ackirq(adcdone_data->mc13783, irq);
mc13783_irq_ack(adcdone_data->mc13783, irq);

complete_all(&adcdone_data->done);

Expand Down Expand Up @@ -486,7 +486,7 @@ int mc13783_adc_do_conversion(struct mc13783 *mc13783, unsigned int mode,
dev_dbg(&mc13783->spidev->dev, "%s: request irq\n", __func__);
mc13783_irq_request(mc13783, MC13783_IRQ_ADCDONE,
mc13783_handler_adcdone, __func__, &adcdone_data);
mc13783_ackirq(mc13783, MC13783_IRQ_ADCDONE);
mc13783_irq_ack(mc13783, MC13783_IRQ_ADCDONE);

mc13783_reg_write(mc13783, MC13783_REG_ADC_0, adc0);
mc13783_reg_write(mc13783, MC13783_REG_ADC_1, adc1);
Expand Down
24 changes: 21 additions & 3 deletions trunk/include/linux/mfd/mc13783.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,28 @@ int mc13783_irq_request(struct mc13783 *mc13783, int irq,
int mc13783_irq_request_nounmask(struct mc13783 *mc13783, int irq,
irq_handler_t handler, const char *name, void *dev);
int mc13783_irq_free(struct mc13783 *mc13783, int irq, void *dev);
int mc13783_ackirq(struct mc13783 *mc13783, int irq);

int mc13783_mask(struct mc13783 *mc13783, int irq);
int mc13783_unmask(struct mc13783 *mc13783, int irq);
int mc13783_irq_mask(struct mc13783 *mc13783, int irq);
int mc13783_irq_unmask(struct mc13783 *mc13783, int irq);
int mc13783_irq_ack(struct mc13783 *mc13783, int irq);

static inline int mc13783_mask(struct mc13783 *mc13783, int irq) __deprecated;
static inline int mc13783_mask(struct mc13783 *mc13783, int irq)
{
return mc13783_irq_mask(mc13783, irq);
}

static inline int mc13783_unmask(struct mc13783 *mc13783, int irq) __deprecated;
static inline int mc13783_unmask(struct mc13783 *mc13783, int irq)
{
return mc13783_irq_unmask(mc13783, irq);
}

static inline int mc13783_ackirq(struct mc13783 *mc13783, int irq) __deprecated;
static inline int mc13783_ackirq(struct mc13783 *mc13783, int irq)
{
return mc13783_irq_ack(mc13783, irq);
}

#define MC13783_ADC0 43
#define MC13783_ADC0_ADREFEN (1 << 10)
Expand Down

0 comments on commit 384ff73

Please sign in to comment.