<feed xmlns='http://www.w3.org/2005/Atom'>
<title>blackbird-op-linux/include/linux/gpio, branch v4.3</title>
<subtitle>Blackbird™ Linux sources for OpenPOWER</subtitle>
<id>https://git.raptorcs.com/git/blackbird-op-linux/atom?h=v4.3</id>
<link rel='self' href='https://git.raptorcs.com/git/blackbird-op-linux/atom?h=v4.3'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/'/>
<updated>2015-09-04T22:49:32+00:00</updated>
<entry>
<title>Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux</title>
<updated>2015-09-04T22:49:32+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-09-04T22:49:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=f377ea88b862bf7151be96d276f4cb740f8e1c41'/>
<id>urn:sha1:f377ea88b862bf7151be96d276f4cb740f8e1c41</id>
<content type='text'>
Pull drm updates from Dave Airlie:
 "This is the main pull request for the drm for 4.3.  Nouveau is
  probably the biggest amount of changes in here, since it missed 4.2.
  Highlights below, along with the usual bunch of fixes.

  All stuff outside drm should have applicable acks.

  Highlights:

   - new drivers:
        freescale dcu kms driver

   - core:
        more atomic fixes
        disable some dri1 interfaces on kms drivers
        drop fb panic handling, this was just getting more broken, as more locking was required.
        new core fbdev Kconfig support - instead of each driver enable/disabling it
        struct_mutex cleanups

   - panel:
        more new panels
        cleanup Kconfig

   - i915:
        Skylake support enabled by default
        legacy modesetting using atomic infrastructure
        Skylake fixes
        GEN9 workarounds

   - amdgpu:
        Fiji support
        CGS support for amdgpu
        Initial GPU scheduler - off by default
        Lots of bug fixes and optimisations.

   - radeon:
        DP fixes
        misc fixes

   - amdkfd:
        Add Carrizo support for amdkfd using amdgpu.

   - nouveau:
        long pending cleanup to complete driver,
        fully bisectable which makes it larger,
        perfmon work
        more reclocking improvements
        maxwell displayport fixes

   - vmwgfx:
        new DX device support, supports OpenGL 3.3
        screen targets support

   - mgag200:
        G200eW support
        G200e new revision support

   - msm:
        dragonboard 410c support, msm8x94 support, msm8x74v1 support
        yuv format support
        dma plane support
        mdp5 rotation
        initial hdcp

   - sti:
        atomic support

   - exynos:
        lots of cleanups
        atomic modesetting/pageflipping support
        render node support

   - tegra:
        tegra210 support (dc, dsi, dp/hdmi)
        dpms with atomic modesetting support

   - atmel:
        support for 3 more atmel SoCs
        new input formats, PRIME support.

   - dwhdmi:
        preparing to add audio support

   - rockchip:
        yuv plane support"

* 'drm-next' of git://people.freedesktop.org/~airlied/linux: (1369 commits)
  drm/amdgpu: rename gmc_v8_0_init_compute_vmid
  drm/amdgpu: fix vce3 instance handling
  drm/amdgpu: remove ib test for the second VCE Ring
  drm/amdgpu: properly enable VM fault interrupts
  drm/amdgpu: fix warning in scheduler
  drm/amdgpu: fix buffer placement under memory pressure
  drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic
  drm/amdgpu: fix typo in dce11 watermark setup
  drm/amdgpu: fix typo in dce10 watermark setup
  drm/amdgpu: use top down allocation for non-CPU accessible vram
  drm/amdgpu: be explicit about cpu vram access for driver BOs (v2)
  drm/amdgpu: set MEC doorbell range for Fiji
  drm/amdgpu: implement burst NOP for SDMA
  drm/amdgpu: add insert_nop ring func and default implementation
  drm/amdgpu: add amdgpu_get_sdma_instance helper function
  drm/amdgpu: add AMDGPU_MAX_SDMA_INSTANCES
  drm/amdgpu: add burst_nop flag for sdma
  drm/amdgpu: add count field for the SDMA NOP packet v2
  drm/amdgpu: use PT for VM sync on unmap
  drm/amdgpu: make wait_event uninterruptible in push_job
  ...
</content>
</entry>
<entry>
<title>gpiolib: add description for gpio irqchip fields in struct gpio_chip</title>
<updated>2015-08-26T07:29:50+00:00</updated>
<author>
<name>Grygorii Strashko</name>
<email>grygorii.strashko@ti.com</email>
</author>
<published>2015-08-17T12:35:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=41d6bb4c890c8db01248b1bdd512a18e7bd29ca3'/>
<id>urn:sha1:41d6bb4c890c8db01248b1bdd512a18e7bd29ca3</id>
<content type='text'>
Add missed description for GPIO irqchip fields in struct gpio_chip.

Signed-off-by: Grygorii Strashko &lt;grygorii.strashko@ti.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>gpiolib: irqchip: use different lockdep class for each gpio irqchip</title>
<updated>2015-08-17T13:32:03+00:00</updated>
<author>
<name>Grygorii Strashko</name>
<email>grygorii.strashko@ti.com</email>
</author>
<published>2015-08-17T12:35:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=a0a8bcf4670c2c696e6e83742539a5e0dd7a62d6'/>
<id>urn:sha1:a0a8bcf4670c2c696e6e83742539a5e0dd7a62d6</id>
<content type='text'>
Since IRQ chip helpers were introduced drivers lose ability to
register separate lockdep classes for each registered GPIO IRQ
chip and the gpiolib now is using shared lockdep class for
all GPIO IRQ chips (gpiochip_irq_lock_class).
As result, lockdep will produce warning when there are min two
stacked GPIO chips and all of them are interrupt controllers.

HW configuration which generates lockdep warning (TI dra7-evm):

[SOC GPIO bankA.gpioX]
  &lt;- irq - [pcf875x.gpioY]
            &lt;- irq - DevZ.enable_irq_wake(pcf_gpioY_irq);
The issue was reported in [1] and discussed [2].

=============================================
[ INFO: possible recursive locking detected ]
4.2.0-rc6-00013-g5d050ed-dirty #55 Not tainted
---------------------------------------------
sh/63 is trying to acquire lock:
 (class){......}, at: [&lt;c009b91c&gt;] __irq_get_desc_lock+0x50/0x94

but task is already holding lock:
 (class){......}, at: [&lt;c009b91c&gt;] __irq_get_desc_lock+0x50/0x94

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(class);
  lock(class);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

7 locks held by sh/63:
 #0:  (sb_writers#4){.+.+.+}, at: [&lt;c016bbb8&gt;] vfs_write+0x13c/0x164
 #1:  (&amp;of-&gt;mutex){+.+.+.}, at: [&lt;c01debf4&gt;] kernfs_fop_write+0x4c/0x1a0
 #2:  (s_active#36){.+.+.+}, at: [&lt;c01debfc&gt;] kernfs_fop_write+0x54/0x1a0
 #3:  (pm_mutex){+.+.+.}, at: [&lt;c009758c&gt;] pm_suspend+0xec/0x4c4
 #4:  (&amp;dev-&gt;mutex){......}, at: [&lt;c03f77f8&gt;] __device_suspend+0xd4/0x398
 #5:  (&amp;gpio-&gt;lock){+.+.+.}, at: [&lt;c009b940&gt;] __irq_get_desc_lock+0x74/0x94
 #6:  (class){......}, at: [&lt;c009b91c&gt;] __irq_get_desc_lock+0x50/0x94

stack backtrace:
CPU: 0 PID: 63 Comm: sh Not tainted 4.2.0-rc6-00013-g5d050ed-dirty #55
Hardware name: Generic DRA74X (Flattened Device Tree)
[&lt;c0016e24&gt;] (unwind_backtrace) from [&lt;c0013338&gt;] (show_stack+0x10/0x14)
[&lt;c0013338&gt;] (show_stack) from [&lt;c05f6b24&gt;] (dump_stack+0x84/0x9c)
[&lt;c05f6b24&gt;] (dump_stack) from [&lt;c00903f4&gt;] (__lock_acquire+0x19c0/0x1e20)
[&lt;c00903f4&gt;] (__lock_acquire) from [&lt;c0091098&gt;] (lock_acquire+0xa8/0x128)
[&lt;c0091098&gt;] (lock_acquire) from [&lt;c05fd61c&gt;] (_raw_spin_lock_irqsave+0x38/0x4c)
[&lt;c05fd61c&gt;] (_raw_spin_lock_irqsave) from [&lt;c009b91c&gt;] (__irq_get_desc_lock+0x50/0x94)
[&lt;c009b91c&gt;] (__irq_get_desc_lock) from [&lt;c009c4f4&gt;] (irq_set_irq_wake+0x20/0xfc)
[&lt;c009c4f4&gt;] (irq_set_irq_wake) from [&lt;c0393ac4&gt;] (pcf857x_irq_set_wake+0x24/0x54)
[&lt;c0393ac4&gt;] (pcf857x_irq_set_wake) from [&lt;c009c560&gt;] (irq_set_irq_wake+0x8c/0xfc)
[&lt;c009c560&gt;] (irq_set_irq_wake) from [&lt;c04a02ac&gt;] (gpio_keys_suspend+0x70/0xd4)
[&lt;c04a02ac&gt;] (gpio_keys_suspend) from [&lt;c03f6a00&gt;] (dpm_run_callback+0x50/0x124)
[&lt;c03f6a00&gt;] (dpm_run_callback) from [&lt;c03f7830&gt;] (__device_suspend+0x10c/0x398)
[&lt;c03f7830&gt;] (__device_suspend) from [&lt;c03f90f0&gt;] (dpm_suspend+0x134/0x2f4)
[&lt;c03f90f0&gt;] (dpm_suspend) from [&lt;c0096e20&gt;] (suspend_devices_and_enter+0xa8/0x728)
[&lt;c0096e20&gt;] (suspend_devices_and_enter) from [&lt;c00977cc&gt;] (pm_suspend+0x32c/0x4c4)
[&lt;c00977cc&gt;] (pm_suspend) from [&lt;c0096060&gt;] (state_store+0x64/0xb8)
[&lt;c0096060&gt;] (state_store) from [&lt;c01dec64&gt;] (kernfs_fop_write+0xbc/0x1a0)
[&lt;c01dec64&gt;] (kernfs_fop_write) from [&lt;c016b280&gt;] (__vfs_write+0x20/0xd8)
[&lt;c016b280&gt;] (__vfs_write) from [&lt;c016bb0c&gt;] (vfs_write+0x90/0x164)
[&lt;c016bb0c&gt;] (vfs_write) from [&lt;c016c330&gt;] (SyS_write+0x44/0x9c)
[&lt;c016c330&gt;] (SyS_write) from [&lt;c000f500&gt;] (ret_fast_syscall+0x0/0x54)

Lets fix it by using separate lockdep class for each registered GPIO
IRQ Chip. This is done by wrapping gpiochip_irqchip_add call into macros.

The implementation of this patch inspired by solution done by Nicolas
Boichat for regmap [3]

[1] http://www.spinics.net/lists/linux-gpio/msg05844.html
[2] http://www.spinics.net/lists/linux-gpio/msg06021.html
[3] http://www.spinics.net/lists/arm-kernel/msg429834.html

Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: Roger Quadros &lt;rogerq@ti.com&gt;
Reported-by: Roger Quadros &lt;rogerq@ti.com&gt;
Tested-by: Roger Quadros &lt;rogerq@ti.com&gt;
Signed-off-by: Grygorii Strashko &lt;grygorii.strashko@ti.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'v4.2-rc4' into devel</title>
<updated>2015-08-13T12:42:55+00:00</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2015-08-13T12:42:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=5f6f02cd49d61e9856ff2c337578316a1a1b3f88'/>
<id>urn:sha1:5f6f02cd49d61e9856ff2c337578316a1a1b3f88</id>
<content type='text'>
Linux 4.2-rc4
</content>
</entry>
<entry>
<title>gpiolib: Add support for removing registered consumer lookup table</title>
<updated>2015-07-21T07:21:40+00:00</updated>
<author>
<name>Shobhit Kumar</name>
<email>shobhit.kumar@intel.com</email>
</author>
<published>2015-06-26T09:02:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=be9015abb8296d8dc72cef4da75fa30e88ab7c81'/>
<id>urn:sha1:be9015abb8296d8dc72cef4da75fa30e88ab7c81</id>
<content type='text'>
In case we unload and load a driver module again that is registering a
lookup table, without this it will result in multiple entries. Provide
an option to remove the lookup table on driver unload

Cc: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
Cc: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Cc: Alexandre Courbot &lt;gnurou@gmail.com&gt;
Cc: Thierry Reding &lt;thierry.reding@gmail.com&gt;
Reviewed-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Tested-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Signed-off-by: Shobhit Kumar &lt;shobhit.kumar@intel.com&gt;
Acked-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>gpio: Remove double "base" in comment</title>
<updated>2015-07-15T22:12:24+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert+renesas@glider.be</email>
</author>
<published>2015-06-15T11:31:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=30bb6fb39e5c08b9db5bc592d6cbc9a5fc5e67a4'/>
<id>urn:sha1:30bb6fb39e5c08b9db5bc592d6cbc9a5fc5e67a4</id>
<content type='text'>
Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>gpio: make flags mandatory for gpiod_get functions</title>
<updated>2015-07-06T08:39:24+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2015-02-11T10:52:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=b17d1bf16cc72a374a48d748940f700009d40ff4'/>
<id>urn:sha1:b17d1bf16cc72a374a48d748940f700009d40ff4</id>
<content type='text'>
Now that all[1] users of the gpiod_get functions are converted to make
use of the up to now optional flags parameter, make it mandatory which
allows to remove some cpp magic.

[1] all but etraxfs-uart which is broken anyhow and I'm allowed to
    ignore it by Jesper Nilsson :-)

Acked-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds</title>
<updated>2015-07-02T02:09:11+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-07-02T02:09:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=13d45f79a2af84de9083310db58b309a61065208'/>
<id>urn:sha1:13d45f79a2af84de9083310db58b309a61065208</id>
<content type='text'>
Pull LED subsystem updates from Bryan Wu:
 "In this cycle, we finished to merge patches for LED Flash class
  driver.

  Other than that we have some bug fixes and new drivers for LED
  controllers"

* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: (33 commits)
  leds:lp55xx: fix firmware loading error
  leds: fix max77693-led build errors
  leds: fix aat1290 build errors
  leds: aat1290: pass flags parameter to devm_gpiod_get
  leds: ktd2692: pass flags parameter to devm_gpiod_get
  drivers/leds: don't use module_init in non-modular leds-cobalt-raq.c
  leds: aat1290: add support for V4L2 Flash sub-device
  DT: aat1290: Document handling external strobe sources
  leds: max77693: add support for V4L2 Flash sub-device
  media: Add registration helpers for V4L2 flash sub-devices
  v4l: async: Add a pointer to of_node to struct v4l2_subdev, match it
  Documentation: leds: Add description of v4l2-flash sub-device
  leds: add BCM6358 LED driver
  leds: add DT binding for BCM6358 LED controller
  leds: fix brightness changing when software blinking is active
  Documentation: leds-lp5523: describe master fader attributes
  leds: lp5523: add master_fader support
  leds: leds-gpio: Allow compile test if !GPIOLIB
  leds: leds-gpio: Add missing #include &lt;linux/of.h&gt;
  gpiolib: Add missing dummies for the unified device properties interface
  ...
</content>
</entry>
<entry>
<title>gpiolib: rename gpiod_set_array to gpiod_set_array_value</title>
<updated>2015-06-01T13:10:09+00:00</updated>
<author>
<name>Rojhalat Ibrahim</name>
<email>imr@rtschenk.de</email>
</author>
<published>2015-05-13T09:04:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=3fff99bc4e926d9602a7d6e8c008a0175a099ce4'/>
<id>urn:sha1:3fff99bc4e926d9602a7d6e8c008a0175a099ce4</id>
<content type='text'>
There have been concerns that the function names gpiod_set_array() and
gpiod_get_array() might be confusing to users. One might expect
gpiod_get_array() to return array values, while it is actually the array
counterpart of gpiod_get(). To be consistent with the single descriptor API
we could rename gpiod_set_array() to gpiod_set_array_value(). This makes
some function names a bit lengthy: gpiod_set_raw_array_value_cansleep().

Signed-off-by: Rojhalat Ibrahim &lt;imr@rtschenk.de&gt;
Acked-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>gpiolib: Add missing dummies for the unified device properties interface</title>
<updated>2015-05-25T20:26:45+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2015-05-07T08:08:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=496e7ce2a46562938edcb74f65b26068ee8895f6'/>
<id>urn:sha1:496e7ce2a46562938edcb74f65b26068ee8895f6</id>
<content type='text'>
If GPIOLIB=n:

    drivers/leds/leds-gpio.c: In function ‘gpio_leds_create’:
    drivers/leds/leds-gpio.c:187: error: implicit declaration of function ‘devm_get_gpiod_from_child’
    drivers/leds/leds-gpio.c:187: warning: assignment makes pointer from integer without a cast

Add dummies for fwnode_get_named_gpiod() and devm_get_gpiod_from_child()
for the !GPIOLIB case to fix this.

Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Fixes: 40b7318319281b1b ("gpio: Support for unified device properties interface")
Acked-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Bryan Wu &lt;cooloney@gmail.com&gt;
</content>
</entry>
</feed>
