Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1485153

[PATCH v2 0/4] gpio: fix an incorrect lockdep warning

From Bartosz Golaszewski <bgolaszewski@baylibre.com>
Newsgroups linux.kernel
Subject [PATCH v2 0/4] gpio: fix an incorrect lockdep warning
Date 2016-09-16 18:10 +0200
Message-ID <si3S9-6Ya-3@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


If an I2C GPIO multiplexer is driven by a GPIO provided by an expander
when there's a second expander using the same device driver on one of
the I2C bus segments, lockdep prints a deadlock warning when trying to
set the direction or the value of the GPIOs provided by the second
expander.

This series exports an already existing function from i2c-core as
public API and reuses it in pca953x to pass a correct lock subclass
to lockdep.

Note: if this series gets merged, I'll prepare follow-up patches for
other expanders for which a similar problem could potentially occur.

Tested with the following setup:

 -------             ---------  Bus segment 1 |         |
|       |           |         |---------------  Devices
|       | SCL/SDA   |         |               |         |
| Linux |-----------| I2C MUX |                - - - - -
|       |    |      |         | Bus segment 2
|       |    |      |         |-------------------
 -------     |       ---------                    |
             |           |                    - - - - -
        ------------     | MUX GPIO          |         |
       |            |    |                     Devices
       |    GPIO    |    |                   |         |
       | Expander 1 |----                     - - - - -
       |            |                             |
        ------------                              | SCL/SDA
                                                  |
                                             ------------
                                            |            |
                                            |    GPIO    |
                                            | Expander 2 |
                                            |            |
                                             ------------

where expander 1 is a pca9534 and expander 2 is a pca9535.

v1 -> v2:
- added patches 1/4, 2/4 & 3/4
- used i2c_adapter_depth() in patch 4/4 in order to detect multiple
  adapter nesting

Bartosz Golaszewski (4):
  i2c: export i2c_adapter_depth()
  lockdep: make MAX_LOCKDEP_SUBCLASSES unconditionally visible
  i2c: add a warning to i2c_adapter_depth()
  gpio: pca953x: fix an incorrect lockdep warning

 drivers/gpio/gpio-pca953x.c |  2 ++
 drivers/i2c/i2c-core.c      | 12 +++++-------
 include/linux/i2c.h         |  1 +
 include/linux/lockdep.h     |  4 ++--
 4 files changed, 10 insertions(+), 9 deletions(-)

-- 
2.7.4

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH v2 0/4] gpio: fix an incorrect lockdep warning Bartosz Golaszewski <bgolaszewski@baylibre.com> - 2016-09-16 18:10 +0200
  [PATCH v2 3/4] i2c: add a warning to i2c_adapter_depth() Bartosz Golaszewski <bgolaszewski@baylibre.com> - 2016-09-16 18:10 +0200
  Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Wolfram Sang <wsa@the-dreams.de> - 2016-09-16 19:30 +0200
    Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Wolfram Sang <wsa@the-dreams.de> - 2016-09-16 20:00 +0200
      Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Bartosz Golaszewski <bgolaszewski@baylibre.com> - 2016-09-18 21:50 +0200
        Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Peter Zijlstra <peterz@infradead.org> - 2016-09-19 10:20 +0200
          Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Peter Zijlstra <peterz@infradead.org> - 2016-09-19 11:10 +0200
            Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Bartosz Golaszewski <bgolaszewski@baylibre.com> - 2016-09-20 12:10 +0200
              Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Peter Zijlstra <peterz@infradead.org> - 2016-09-20 12:30 +0200
              Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Geert Uytterhoeven <geert@linux-m68k.org> - 2016-09-20 13:40 +0200
                Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Bartosz Golaszewski <bgolaszewski@baylibre.com> - 2016-09-20 14:40 +0200
            Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Thomas Gleixner <tglx@linutronix.de> - 2016-09-20 17:40 +0200
      Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Bartosz Golaszewski <bgolaszewski@baylibre.com> - 2016-09-18 21:50 +0200
  Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Peter Zijlstra <peterz@infradead.org> - 2016-09-17 03:30 +0200
    Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Wolfram Sang <wsa@the-dreams.de> - 2016-09-17 12:20 +0200
      Re: [PATCH v2 0/4] gpio: fix an incorrect lockdep warning Bartosz Golaszewski <bgolaszewski@baylibre.com> - 2016-09-17 21:10 +0200

csiph-web