Hello Juergen, Wednesday, April 11, 2007, 9:47:01 AM, you wrote:
> Am Dienstag, 10. April 2007 23:30 schrieb Paul Sokolovsky: >> Hello linux-arm-kernel, >> >> GPIODEV API: Core API definitions. Provided are: >> 1. struct gpiodev_ops which must be included into platform_data structure >> of a device which will provide GPIODEV API; driver for a device must >> initialize this structure. >> 2. Structural definition of generalized GPIO identifier (struct gpio). >> 2. Set of API calls for clients. This fully follow Generic GPIO API >> naming and semantics, except that they have "gpiodev" prefix and >> accept struct gpio instead of integer gpio identifiers. >> >> [] >> +/* API functions */ >> + >> +static inline int gpiodev_get_value(struct gpio *gpio) >> +{ >> + struct gpiodev_ops *ops = gpio->gpio_dev->dev.platform_data; > wouldn't it be more sure to verify if xxx function is NOT null > before using it ?? Perhaps something like that > BUG_ON(!ops->get); GPIODEV is considered to be low-level one and critical for speed, so all method pointers assumed to be set properly. In particular, if some operation is not available for a device (say, GPI/GPO case), a method must be set to a stab function. BUG_ON would be acceptable, as it can be compiled out based on CONFIG setting, but as was pointed out, doesn't add much into picture anyway. But I'd be happy to add comment to struct gpiodev_ops declaration about the described method constraints, thanks for comment. [] -- Best regards, Paul mailto:[EMAIL PROTECTED] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/