On Tue, Feb 12, 2013 at 01:29:10PM +0100, Linus Walleij wrote: > On Mon, Feb 11, 2013 at 6:39 PM, Stephen Warren <swarren@xxxxxxxxxxxxx> 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...) > At the very least you can __must_check annotate, although that's probably still a bit coarser grained than what you're after. -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html