Re: [PATCH V3 1/5] i2c: Add irq_gpio field to struct i2c_client,i2c_board_info.

From: Grant Likely
Date: Tue Sep 20 2011 - 00:16:38 EST


On Fri, Sep 02, 2011 at 08:56:20AM +0200, Jean Delvare wrote:
> Stephen,
>
> Can you please fix your e-mail client / system / whatever so that your
> patch series are no longer sent duplicated?
>
> On Thu, 1 Sep 2011 16:04:27 -0600, Stephen Warren wrote:
> > Some devices use a single pin as both an IRQ and a GPIO. In that case,
> > irq_gpio is the GPIO ID for that pin. Not all drivers use this feature.
> > Where they do, and the use of this feature is optional, and the system
> > wishes to disable this feature, this field must be explicitly set to a
> > defined invalid GPIO ID, such as -1.
> >
> > Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx>
> > ---
> > v3: Also add the field to i2c_board_info, and copy the field from
> > i2c_board_info to i2c_client upon instantiation
>
> I don't get the idea. The i2c core doesn't make any use of the field,
> and that field will only be used by a few drivers amongst the 420+
> i2c drivers in the tree. This looks like a waste of memory. What's wrong
> with including the new field in the private platform or arch data
> structure for drivers which need it?

I have to second the concern; but for a different reason. This
shouldn't even remotely be necessary. If the pin is used as an
interrupt, then interrupt controller driver (which I would assume is
also the gpio controller driver) should be responsible for setting up
the pin so that it can be used correctly as a irq line. Why does the
gpio number need to be explicitly passed?

g.

--
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/