On Mon, Jan 18, 2010 at 01:35, Dmitry Torokhov wrote: > On Sun, Jan 17, 2010 at 10:36:42AM -0500, Mike Frysinger wrote: >> +#ifdef CONFIG_GPIOLIB >> +int ad7879_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) >> { > > Sparse recommends making this static and it seems like a good idea. The > same goes for the 3 new fucntions below. yep >> +static inline int ad7879_gpio_add(struct device *dev) > > Why inline? Let's compiler decide, it's certainly not a hot path. ad7879_gpio_remove needed to be inlined because it's called from both the probe (__devinit) and the remove (__devexit) functions. might able to write a smaller version though for the probe function to avoid this. ad7879_gpio_add is fine to remove the "inline" as long as "__devinit" is added. >> +{ >> + struct ad7879 *ts = dev_get_drvdata(dev); >> + struct ad7879_platform_data *pdata = dev->platform_data; >> + int ret = 0; >> + >> + if (pdata->gpio_export) { >> + ts->gc.direction_input = ad7879_gpio_direction_input; >> + ts->gc.direction_output = ad7879_gpio_direction_output; >> + ts->gc.get = ad7879_gpio_get_value; >> + ts->gc.set = ad7879_gpio_set_value; >> + ts->gc.can_sleep = 1; >> + ts->gc.base = pdata->gpio_base; >> + ts->gc.ngpio = 1; >> + ts->gc.label = "AD7879-GPIO"; >> + ts->gc.owner = THIS_MODULE; >> + ts->gc.dev = dev; >> + >> + ret = gpiochip_add(&ts->gc); >> + if (ret) >> + dev_err(dev, "failed to register gpio %d\n", >> + ts->gc.base); >> + } >> + >> + return ret; >> +} >> + >> +static int ad7879_gpio_remove(struct device *dev) > > There is no chance we can handle errors returned by this function so I'd > make it 'void'. right -mike -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html