Am Montag, 25. November 2013, 13:01:25 schrieb Mark Rutland: > [...] > > > +static int hym8563_probe(struct i2c_client *client, > > + const struct i2c_device_id *id) > > +{ > > + struct hym8563 *hym8563; > > + int ret, gpio_int; > > + > > + hym8563 = devm_kzalloc(&client->dev, sizeof(hym8563), > > GFP_KERNEL); + if (!hym8563) > > + return -ENOMEM; > > + > > + hym8563->client = client; > > + i2c_set_clientdata(client, hym8563); > > + > > + device_set_wakeup_capable(&client->dev, true); > > + > > + gpio_int = of_get_gpio(client->dev.of_node, 0); > > + if (!gpio_is_valid(gpio_int)) { > > + dev_err(&client->dev, "failed to get interrupt gpio\n"); > > + return -EINVAL; > > + } > > + > > + ret = devm_gpio_request_one(&client->dev, gpio_int, > > + GPIOF_DIR_IN, "hym8563_int"); > > + if (ret) { > > + dev_err(&client->dev, "request of gpio %d failed, %d\n", > > + gpio_int, ret); > > + return ret; > > + } > > From here on the gpio is never used or even stashed away anywhere. > What's the point in requesting it and then leaking it? As I understand it, requesting gpio also is useful as a mechanism to mark them as used and therefore prevent a gpio from wrongly being used multiple times. So, I guess it would be better to either ignore client->irq and just use gpio_to_irq or use client->irq alone, without the gpio-functions at all. But what would be preferrable? -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html