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 linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to