[PATCH 6/9] gpiolib: use descriptors internally

Linus Walleij linus.walleij at linaro.org
Tue Feb 12 07:29:10 EST 2013


On Mon, Feb 11, 2013 at 6:39 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
> On 02/11/2013 07:09 AM, Linus Walleij wrote:

>> However if you take this all the way to the descriptor API
>> it will make the consumer (driver) API for GPIO descriptors deviate
>> from what is today used for clocks, regulators and pins.
>>
>> With all the resulting confusion for users.
>> I've seen worse subsystem deviations though.
>
> Sorry I haven't looked at the specific APIs this discussion refers to,
> but clients of the GPIO descriptor API are going to need to distinguish
> "fail" from "deferred probe", so at least some initial get-like API will
> need to pass back some error detail...

Right, so in some other patch I stated that this would lead
to a GPIO descriptor fetch interface such as this:

int gpiod_get(struct gpiod_desc **gpiod, struct device *dev, const char *name);

Rather than the more established:

struct gpio_desc *gpiod_get(struct device *dev, const char *name);

And I'm worried about the lack of consistency.

While I do get the point... I chatted with Grant about it and
I want to talk to some toolchain people about this to see if
pointers containing potential error codes can somehow be
"flagged" by the compiler so we can enforce error checking on
them. (It may sound a bit utopic...)

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list