Re: [PATCH v2] gpio: mcp23s08: Add irq functionality for i2c chips

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Friday 10 January 2014 16:08:36, Gerhard Sittig wrote:
> On Fri, Jan 10, 2014 at 15:22 +0100, Lars Poeschel wrote:
> > --- a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
> > +++ b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
> > 
> > @@ -38,12 +38,37 @@ Required device specific properties (only for SPI 
chips):
> >      removed.
> >  
> >  - spi-max-frequency = The maximum frequency this chip is able to handle
> > 
> > -Example I2C:
> > +Optional properties:
> > +- #interrupt-cells : Should be two.
> > +  - first cell is the pin number
> > +  - second cell is used to specify flags.
> > +- interrupt-controller: Marks the device node as a interrupt controller.
> > +NOTE: The interrupt functionality is only supported for i2c versions of
> > the +chips yet.
> 
> Is this "IRQ feature for I2C chips only" limitation specific to
> the hardware or an implementation detail of the Linux driver?  I
> could not determine this from either the binding text nor the
> driver source.

Ok, you're right. My description is not 100% clear about this. I will update 
this. It is currently an implementation detail of the linux driver. According 
to the datasheet the spi chips should also be able to do the interrupts.

> If it's just the status of the Linux driver, then it should not
> be in the binding document.  If it's a limitation of the
> hardware, then it's appropriate in the binding but I suggest to
> adjust the text to avoid the next person to ask the same
> question. :)

I do not agree. I remember a rule that every binding has to be documented, so 
this should be documented, but you are right: The description has to be a bit 
more clear about this beeing a (current) limitation of the driver.
I will update this and do a v3, but I will wait a bit for further comments.

> > --- a/drivers/gpio/Kconfig
> > +++ b/drivers/gpio/Kconfig
> > @@ -697,6 +697,7 @@ config GPIO_MCP23S08
> > 
> >  	  SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
> >  	  I/O expanders.
> >  	  This provides a GPIO interface supporting inputs and outputs.
> > 
> > +	  The I2C versions of the chips can be used as interrupt-controller.
> > 
> >  config GPIO_MC33880
> >  
> >  	tristate "Freescale MC33880 high-side/low-side switch"
> > 
> > diff --git a/drivers/gpio/gpio-mcp23s08.c b/drivers/gpio/gpio-mcp23s08.c
> > index 2deb0c5..1346ea6 100644
> > --- a/drivers/gpio/gpio-mcp23s08.c
> > +++ b/drivers/gpio/gpio-mcp23s08.c
> > @@ -1,5 +1,10 @@
> > 
> >  /*
> > 
> > - * MCP23S08 SPI/GPIO gpio expander driver
> > + * MCP23S08 SPI/I2C GPIO gpio expander driver
> > + *
> > + * The inputs and outputs of the mcp23s08, mcp23s17, mcp23008 and
> > mcp23017 are + * supported.
> > + * For the I2C versions of the chips (mcp23008 and mcp23017) generation
> > of
> > + * interrupts is also supported.
> > 
> >   */
> 
> Adjust these as well to reflect whether it's hardware or software
> which limits the feature.

Yes,I will do that too.

Lars
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux