Re: [RFC PATCH 4/6] extcon-gpio: Add devicetree support

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

 




On Thu, Sep 12, 2013 at 05:45:45PM +0100, Mark Rutland wrote:
> On Fri, Aug 30, 2013 at 05:29:36AM +0100, Guenter Roeck wrote:
> > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> > ---
> >  drivers/extcon/extcon-gpio.c |   59 ++++++++++++++++++++++++++++++++++++++++--
> >  1 file changed, 57 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/extcon/extcon-gpio.c b/drivers/extcon/extcon-gpio.c
> > index d4e3c89..16951fe 100644
> > --- a/drivers/extcon/extcon-gpio.c
> > +++ b/drivers/extcon/extcon-gpio.c
> > @@ -30,6 +30,8 @@
> >  #include <linux/gpio.h>
> >  #include <linux/extcon.h>
> >  #include <linux/extcon/extcon-gpio.h>
> > +#include <linux/of_gpio.h>
> > +#include <linux/err.h>
> >  
> >  struct gpio_extcon_data {
> >  	struct extcon_dev edev;
> > @@ -77,14 +79,66 @@ static ssize_t extcon_gpio_print_state(struct extcon_dev *edev, char *buf)
> >  	return -EINVAL;
> >  }
> >  
> > +#ifdef CONFIG_OF_GPIO
> > +
> > +static struct gpio_extcon_platform_data *
> > +extcon_gpio_config_of(struct device *dev)
> > +{
> > +	struct gpio_extcon_platform_data *pdata;
> > +	struct device_node *np = dev->of_node;
> > +	enum of_gpio_flags flags;
> > +	int gpio, ret;
> > +	u32 debounce;
> > +
> > +	gpio = of_get_named_gpio_flags(np, "presence-detect-gpios", 0, &flags);
> > +	if (gpio < 0)
> > +		return ERR_PTR(gpio);
> > +
> > +	pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL);
> > +	if (!pdata)
> > +		return ERR_PTR(-ENOMEM);
> > +
> > +	pdata->gpio = gpio;
> > +	pdata->gpio_active_low = flags & OF_GPIO_ACTIVE_LOW;
> > +	pdata->irq_flags = IRQ_TYPE_EDGE_BOTH;
> > +
> > +	if (!of_property_read_u32(np, "debounce-interval", &debounce))
> > +		pdata->debounce = debounce;
> > +
> > +	ret = of_property_read_string(np, "name", &pdata->name);
> 
> This wasn't listed in the binding. What's this for?
> 
This returns the node name.
For example, if the bindings are

	my-connector {
		...
	};

it returns the string "my-connector".

I can add a reference to the bindings document if that helps. It is typically
not mentioned in bindings, though, so I didn't do it either.

Thanks,
Guenter
--
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