Re: [RFC] [PATCH V2 1/2] input: CMA3000 Accelerometer driver

From: Dmitry Torokhov
Date: Fri Sep 03 2010 - 12:35:14 EST


Hi Hemanth,

On Fri, Sep 03, 2010 at 04:02:11PM +0530, Hemanth V wrote:
> >
> >
> >Do not like repeated release of resources in main and error path... Can
> >we do it like:
> >
> >...
> >disable_irq();
> >error = cma3000_set(data, CMA3000_CTRL, ctrl, "ctrl");
> >if (!error) {
> >/* Settling time delay required after mode change */
> >msleep(CMA3000_SETDELAY);
> >}
> >enable_irq();
> >out:
> >mutex_unlock();
> >return error ? error : count;
>
> I am thinking I can just add the below statement, and should be able to
> remove repeated release.
>
> return error ? error : count;
>

That would make us sleep for CMA3000_SETDELAY even in case of failure...
... But that should be OK.

> >>+
> >>+ if (data->client->irq) {
> >>+ ret = request_threaded_irq(data->client->irq, NULL,
> >>+ cma3000_thread_irq,
> >>+ irqflags | IRQF_ONESHOT,
> >>+ data->client->name, data);
> >>+
> >>+ if (ret < 0) {
> >>+ dev_err(&data->client->dev,
> >>+ "request_threaded_irq failed\n");
> >>+ goto err_op1_failed;
> >>+ }
> >>+ }
> >
> >What is the utility of the driver when there is no IRQ line?
>
> Not sure I fully understand your comments.
> Currently probe would return a failure.
>

You have a check for data->client->irq != 0 and finish probe() with
success in case it is 0. The question is what is the use of the
device/driver combo in case when data->client->irq == 0?

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/