On Fri, Oct 12, 2007 at 03:38:47PM +0800, Bryan Wu wrote:
>
> Signed-off-by: Bryan Wu <[EMAIL PROTECTED]>
> ---

Hi Bryan,

Why creating module's own kthread to call ad7142_decode and process keycodes 
instead of using a tasklet ?

Isn't disabling device interrupts from the begining of the ISR 
"ad7142_interrupt"
till the kthread "ad7142_thread" got waked-up and scheduled a long time,
espicially if there's a high load on the userspace side ?

Minor issues below.

> +
> +/* R    ADC stage 0 - 11 result (uncompensated) actually located in SRAM */
> +#define ADCRESULT_S0         0x0B
> +#define ADCRESULT_S1         0x0C
> +#define ADCRESULT_S2         0x0D
> +#define ADCRESULT_S3         0x0E
> +#define ADCRESULT_S4         0x0F
> +#define ADCRESULT_S5         0x10
> +#define ADCRESULT_S6         0x11
> +#define ADCRESULT_S7         0x12
> +#define ADCRESULT_S8         0x13
> +#define ADCRESULT_S9         0x14
> +#define ADCRESULT_S10                0x15
> +#define ADCRESULT_S11                0x16
> +

Keeping last two lines aligned with their above counterparts ?

> +static int
> +ad7142_probe(struct i2c_adapter *adap, int addr, int kind)
> +{
> +     struct i2c_client *client;
> +     int rc;
> +
> +     client = kmalloc(sizeof(struct i2c_client), GFP_KERNEL);
> +     if (!client)
> +             return -ENOMEM;
> +     memset(client, 0, sizeof(struct i2c_client));

kzalloc.

Regards,

-- 
Ahmed S. Darwish
HomePage: http://darwish.07.googlepages.com
Blog: http://darwish-07.blogspot.com

Reply via email to