Message ID | 1474883655-15824-2-git-send-email-bgolaszewski@baylibre.com |
---|---|
State | New |
Headers | show |
On Mon, Sep 26, 2016 at 11:54:15AM +0200, Bartosz Golaszewski wrote: > This is a follow-up to commit 559b46990e76 ("gpio: pca953x: fix an > incorrect lockdep warning"). The reason for calling > lockdep_set_subclass() in pca953x_probe() is not explained in > the code. > > Add a comment describing the problem, partial solution and required > future extensions. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Acked-by: Wolfram Sang <wsa@the-dreams.de> Linus, because of dependencies, I should probably pick it up?
On Mon, Sep 26, 2016 at 12:00:30PM +0200, Wolfram Sang wrote: > On Mon, Sep 26, 2016 at 11:54:15AM +0200, Bartosz Golaszewski wrote: > > This is a follow-up to commit 559b46990e76 ("gpio: pca953x: fix an > > incorrect lockdep warning"). The reason for calling > > lockdep_set_subclass() in pca953x_probe() is not explained in > > the code. > > > > Add a comment describing the problem, partial solution and required > > future extensions. > > > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > Acked-by: Wolfram Sang <wsa@the-dreams.de> > > Linus, because of dependencies, I should probably pick it up? Linus, ping!
2016-09-29 8:06 GMT+02:00 Wolfram Sang <wsa@the-dreams.de>: > On Mon, Sep 26, 2016 at 12:00:30PM +0200, Wolfram Sang wrote: >> On Mon, Sep 26, 2016 at 11:54:15AM +0200, Bartosz Golaszewski wrote: >> > This is a follow-up to commit 559b46990e76 ("gpio: pca953x: fix an >> > incorrect lockdep warning"). The reason for calling >> > lockdep_set_subclass() in pca953x_probe() is not explained in >> > the code. >> > >> > Add a comment describing the problem, partial solution and required >> > future extensions. >> > >> > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> >> >> Acked-by: Wolfram Sang <wsa@the-dreams.de> >> >> Linus, because of dependencies, I should probably pick it up? > > Linus, ping! > Hi Wolfram, this patch will not apply to the gpio tree. If Linus is too busy to comment, maybe you could pick it up anyway - it doesn't change anything in terms of functionality and it's better to have the code commented when it's not obvious what it does. Thanks, Bartosz -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Sep 29, 2016 at 09:56:58AM +0200, Bartosz Golaszewski wrote: > 2016-09-29 8:06 GMT+02:00 Wolfram Sang <wsa@the-dreams.de>: > > On Mon, Sep 26, 2016 at 12:00:30PM +0200, Wolfram Sang wrote: > >> On Mon, Sep 26, 2016 at 11:54:15AM +0200, Bartosz Golaszewski wrote: > >> > This is a follow-up to commit 559b46990e76 ("gpio: pca953x: fix an > >> > incorrect lockdep warning"). The reason for calling > >> > lockdep_set_subclass() in pca953x_probe() is not explained in > >> > the code. > >> > > >> > Add a comment describing the problem, partial solution and required > >> > future extensions. > >> > > >> > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > >> > >> Acked-by: Wolfram Sang <wsa@the-dreams.de> > >> > >> Linus, because of dependencies, I should probably pick it up? > > > > Linus, ping! > > > > Hi Wolfram, > > this patch will not apply to the gpio tree. If Linus is too busy to > comment, maybe you could pick it up anyway - it doesn't change > anything in terms of functionality and it's better to have the code > commented when it's not obvious what it does. I want to pick it up and am likely to do so anyway, but to be formally perfect, I need an ack from Linus.
On Mon, Sep 26, 2016 at 12:00 PM, Wolfram Sang <wsa@the-dreams.de> wrote: > On Mon, Sep 26, 2016 at 11:54:15AM +0200, Bartosz Golaszewski wrote: >> This is a follow-up to commit 559b46990e76 ("gpio: pca953x: fix an >> incorrect lockdep warning"). The reason for calling >> lockdep_set_subclass() in pca953x_probe() is not explained in >> the code. >> >> Add a comment describing the problem, partial solution and required >> future extensions. >> >> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > Acked-by: Wolfram Sang <wsa@the-dreams.de> > > Linus, because of dependencies, I should probably pick it up? Yes Acked-by: Linus Walleij <linus.walleij@linaro.org> Sorry was travelling. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Sep 26, 2016 at 11:54:15AM +0200, Bartosz Golaszewski wrote: > This is a follow-up to commit 559b46990e76 ("gpio: pca953x: fix an > incorrect lockdep warning"). The reason for calling > lockdep_set_subclass() in pca953x_probe() is not explained in > the code. > > Add a comment describing the problem, partial solution and required > future extensions. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Applied to for-current, thanks!
diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c index 018f39c..f306909 100644 --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c @@ -786,6 +786,22 @@ static int pca953x_probe(struct i2c_client *client, chip->chip_type = PCA_CHIP_TYPE(chip->driver_data); mutex_init(&chip->i2c_lock); + /* + * In case we have an i2c-mux controlled by a GPIO provided by an + * expander using the same driver higher on the device tree, read the + * i2c adapter nesting depth and use the retrieved value as lockdep + * subclass for chip->i2c_lock. + * + * REVISIT: This solution is not complete. It protects us from lockdep + * false positives when the expander controlling the i2c-mux is on + * a different level on the device tree, but not when it's on the same + * level on a different branch (in which case the subclass number + * would be the same). + * + * TODO: Once a correct solution is developed, a similar fix should be + * applied to all other i2c-controlled GPIO expanders (and potentially + * regmap-i2c). + */ lockdep_set_subclass(&chip->i2c_lock, i2c_adapter_depth(client->adapter));
This is a follow-up to commit 559b46990e76 ("gpio: pca953x: fix an incorrect lockdep warning"). The reason for calling lockdep_set_subclass() in pca953x_probe() is not explained in the code. Add a comment describing the problem, partial solution and required future extensions. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> --- drivers/gpio/gpio-pca953x.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)