Re: [RFC PATCH] gpio: support for GPIO forwarding

From: Heikki Krogerus
Date: Mon Jan 26 2015 - 08:09:30 EST


On Fri, Jan 23, 2015 at 04:14:13PM +0100, Rafael J. Wysocki wrote:
> > That actually makes me think that we could then drop the lookup tables
> > completely and use device properties instead with the help of "generic
> > property" (attached):
>
> Which reminds me that I've lost track of this one.
>
> Can you please resend it and CC something like linux-acpi?

OK, I'll resend it.

> Also I'm not sure what you mean by "drop the lookup tables completely".

So I meant removing struct gpio_lookup and struct gpio_lookup_table.

> > We would just need to agree on the format how to describe a gpio
> > property, document it and of course convert the current users as
> > usual. The format could be something like this as an example (I'm
> > writing this out of my head so don't shoot me if you can see it would
> > not work. Just an example):
> >
> > static const u32 example_gpio[] = { <gpio>, <flags>, };
> >
> > static struct dev_gen_prop example_prop[] =
> > {
> > .type = DEV_PROP_U32,
> > .name = "gpio,<con_id>",
> > .nval = 2,
> > .num = &example_gpio,
> > },
> > { },
> > };
> >
> > static struct platform_device example_pdev = {
> > ...
> > .dev = {
> > .gen_prop = &example_prop,
> > },
> > }
> >
> >
> > In gpiolib.c we would then, instead of going through the lookups,
> > simply ask for that property:
> >
> > ...
> > sprintf(propname, "gpio,%s", con_id);
> > device_property_read_u32_array(dev, propname, &val, 2);
> > ...
> > desc = gpio_to_desc(val[0]);
> > flags = val[1];
> > ...
> >
> >
> > So this is just and idea. I think it would be relatively easy to
> > implement. What do you guys think?
>
> Well, I need some time to think about that.


Cheers,

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