Thanks, That works. But shouldn't the i2c_read/write functions be made safe in 
atomic context?

regards

-Nitin



----- Original Message ----
From: Caglar Akyuz <[EMAIL PROTECTED]>
To: Nitin Mahajan <[EMAIL PROTECTED]>
Cc: davinci-linux-open-source@linux.davincidsp.com
Sent: Tuesday, September 2, 2008 15:45:10
Subject: Re: davinci_i2c_read/write from atomic context

Nitin Mahajan wrote:

> HI!
> 
> Apologise to write earlier in Rich Text Mode.
> 
> Is it possible(right way) to use the davinci_i2c_read() and
> davinci_i2c_write() from atomic context like interrupt handler or tasklet?
> 
> If not, whats the alternative to read data on i2c in atomic context?
> 


I use a workqueue like:

static void tsc_workqueue_handler(struct work_struct *work)
{
    tsc2004_ts_rx(); //includes some i2c transfers
}
DECLARE_WORK(tsc_wq, tsc_workqueue_handler);
static irqreturn_t tsc2004_ts_irq_handler(int irq, void *dev_id)
{
    /*
     * Schedule the workqueue for I2C transfers
     */
    schedule_work(&tsc_wq);
    /* kick pen up timer */
    mod_timer(&penup_timer,
          jiffies + msecs_to_jiffies(TSC2004_TS_PENUP_TIME));

    return IRQ_HANDLED;
}

Regards,
Caglar



      Get your new Email address!
Grab the Email name you&#39;ve always wanted before someone else does!
http://mail.promotions.yahoo.com/newdomains/aa/
_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to