Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 149260
b: refs/heads/master
c: 3f7ea46
h: refs/heads/master
v: v3
  • Loading branch information
Nelson Castillo authored and Ben Dooks committed May 16, 2009
1 parent 89f442e commit d06d951
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 6 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: b57f0fe10712026d15a9d5a20e31f240ee72ec15
refs/heads/master: 3f7ea467be1bad860c0f71ba7373dd3cf76b485a
3 changes: 2 additions & 1 deletion trunk/arch/arm/plat-s3c/include/plat/adc.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ extern int s3c_adc_start(struct s3c_adc_client *client,
extern struct s3c_adc_client *
s3c_adc_register(struct platform_device *pdev,
void (*select)(unsigned selected),
void (*conv)(unsigned d0, unsigned d1),
void (*conv)(unsigned d0, unsigned d1,
unsigned *samples_left),
unsigned int is_ts);

extern void s3c_adc_release(struct s3c_adc_client *client);
Expand Down
11 changes: 7 additions & 4 deletions trunk/arch/arm/plat-s3c24xx/adc.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ struct s3c_adc_client {
unsigned char channel;

void (*select_cb)(unsigned selected);
void (*convert_cb)(unsigned val1, unsigned val2);
void (*convert_cb)(unsigned val1, unsigned val2,
unsigned *samples_left);
};

struct adc_device {
Expand Down Expand Up @@ -158,7 +159,8 @@ static void s3c_adc_default_select(unsigned select)

struct s3c_adc_client *s3c_adc_register(struct platform_device *pdev,
void (*select)(unsigned int selected),
void (*conv)(unsigned d0, unsigned d1),
void (*conv)(unsigned d0, unsigned d1,
unsigned *samples_left),
unsigned int is_ts)
{
struct s3c_adc_client *client;
Expand Down Expand Up @@ -227,9 +229,10 @@ static irqreturn_t s3c_adc_irq(int irq, void *pw)
data1 = readl(adc->regs + S3C2410_ADCDAT1);
adc_dbg(adc, "read %d: 0x%04x, 0x%04x\n", client->nr_samples, data0, data1);

(client->convert_cb)(data0 & 0x3ff, data1 & 0x3ff);
client->nr_samples--;
(client->convert_cb)(data0 & 0x3ff, data1 & 0x3ff, &client->nr_samples);

if (--client->nr_samples > 0) {
if (client->nr_samples > 0) {
/* fire another conversion for this */

client->select_cb(1);
Expand Down

0 comments on commit d06d951

Please sign in to comment.