<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpio, branch v5.10</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v5.10</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v5.10'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2020-12-09T08:41:49Z</updated>
<entry>
<title>gpio: eic-sprd: break loop when getting NULL device resource</title>
<updated>2020-12-09T08:41:49Z</updated>
<author>
<name>Chunyan Zhang</name>
<email>chunyan.zhang@unisoc.com</email>
</author>
<published>2020-12-09T05:51:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=263ade7166a2e589c5b605272690c155c0637dcb'/>
<id>urn:sha1:263ade7166a2e589c5b605272690c155c0637dcb</id>
<content type='text'>
EIC controller have unfixed numbers of banks on different Spreadtrum SoCs,
and each bank has its own base address, the loop of getting there base
address in driver should break if the resource gotten via
platform_get_resource() is NULL already. The later ones would be all NULL
even if the loop continues.

Fixes: 25518e024e3a ("gpio: Add Spreadtrum EIC driver support")
Signed-off-by: Chunyan Zhang &lt;chunyan.zhang@unisoc.com&gt;
Link: https://lore.kernel.org/r/20201209055106.840100-1-zhang.lyra@gmail.com
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>gpio: mvebu: fix potential user-after-free on probe</title>
<updated>2020-12-02T11:01:51Z</updated>
<author>
<name>Baruch Siach</name>
<email>baruch@tkos.co.il</email>
</author>
<published>2020-12-02T07:15:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7ee1a01e47403f72b9f38839a737692f6991263e'/>
<id>urn:sha1:7ee1a01e47403f72b9f38839a737692f6991263e</id>
<content type='text'>
When mvebu_pwm_probe() fails IRQ domain is not released. Move pwm probe
before IRQ domain allocation. Add pwm cleanup code to the failure path.

Fixes: 757642f9a584 ("gpio: mvebu: Add limited PWM support")
Reported-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: Baruch Siach &lt;baruch@tkos.co.il&gt;
Signed-off-by: Bartosz Golaszewski &lt;bgolaszewski@baylibre.com&gt;
</content>
</entry>
<entry>
<title>gpio: zynq: fix reference leak in zynq_gpio functions</title>
<updated>2020-12-02T09:41:02Z</updated>
<author>
<name>Qinglang Miao</name>
<email>miaoqinglang@huawei.com</email>
</author>
<published>2020-11-27T09:44:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7f57b295f990c0fa07f96d51ca1c82c52dbf79cc'/>
<id>urn:sha1:7f57b295f990c0fa07f96d51ca1c82c52dbf79cc</id>
<content type='text'>
pm_runtime_get_sync will increment pm usage counter even it
failed. Forgetting to putting operation will result in a
reference leak here.

A new function pm_runtime_resume_and_get is introduced in
[0] to keep usage counter balanced. So We fix the reference
leak by replacing it with new funtion.

[0] dd8088d5a896 ("PM: runtime: Add  pm_runtime_resume_and_get to deal with usage counter")

Fixes: c2df3de0d07e ("gpio: zynq: properly support runtime PM for GPIO used as interrupts")
Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Signed-off-by: Qinglang Miao &lt;miaoqinglang@huawei.com&gt;
Signed-off-by: Bartosz Golaszewski &lt;bgolaszewski@baylibre.com&gt;
</content>
</entry>
<entry>
<title>gpiolib: Don't free if pin ranges are not defined</title>
<updated>2020-12-02T09:40:55Z</updated>
<author>
<name>Edmond Chung</name>
<email>edmondchung@google.com</email>
</author>
<published>2020-11-30T22:47:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6dbbf84603961d4e8eaea46e3530373c8cffee67'/>
<id>urn:sha1:6dbbf84603961d4e8eaea46e3530373c8cffee67</id>
<content type='text'>
A similar check was added in gpiochip_generic_request, but not in free.
This has caused an imbalance count of request vs. free calls to the
pinctrl driver. This patch is targeted to fix that issue.

Fixes: 2ab73c6d8323 ("gpio: Support GPIO controllers without pin-ranges")
Signed-off-by: Edmond Chung &lt;edmondchung@google.com&gt;
Signed-off-by: Andrew Chant &lt;achant@google.com&gt;
Signed-off-by: Will McVicker &lt;willmcvicker@google.com&gt;
Signed-off-by: Bartosz Golaszewski &lt;bgolaszewski@baylibre.com&gt;
</content>
</entry>
<entry>
<title>gpio: dwapb: fix NULL pointer dereference at dwapb_gpio_suspend()</title>
<updated>2020-12-02T09:40:54Z</updated>
<author>
<name>Luo Jiaxing</name>
<email>luojiaxing@huawei.com</email>
</author>
<published>2020-11-27T08:50:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=60593df667e087b009ee0fc20d92e9c4c096a9b5'/>
<id>urn:sha1:60593df667e087b009ee0fc20d92e9c4c096a9b5</id>
<content type='text'>
Following Calltrace is found when running echo freeze &gt; /sys/power/state.

[  272.755506] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010
[  272.755585] Call trace:
[  272.755587]  dwapb_gpio_suspend+0x18/0x318
[  272.755588]  pm_generic_suspend+0x2c/0x48
[  272.755595]  acpi_subsys_suspend+0x60/0x70
[  272.755599]  dpm_run_callback.isra.18+0x40/0xe0
[  272.755601]  __device_suspend+0xf4/0x360

The reason is platform_set_drvdata() is deleted, and dwapb_gpio_suspend()
get *gpio by dev_get_drvdata().

Fixes: feeaefd378ca ("gpio: dwapb: Use resource managed GPIO-chip add data method")
Signed-off-by: Luo Jiaxing &lt;luojiaxing@huawei.com&gt;
Acked-by: Serge Semin &lt;fancer.lancer@gmail.com&gt;
Reviewed-by: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt;
Signed-off-by: Bartosz Golaszewski &lt;bgolaszewski@baylibre.com&gt;
</content>
</entry>
<entry>
<title>gpio: arizona: disable pm_runtime in case of failure</title>
<updated>2020-12-02T09:40:54Z</updated>
<author>
<name>Zheng Liang</name>
<email>zhengliang6@huawei.com</email>
</author>
<published>2020-11-24T03:06:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0ac22098de6f9fd460ac1b1cbf6dbd324312161c'/>
<id>urn:sha1:0ac22098de6f9fd460ac1b1cbf6dbd324312161c</id>
<content type='text'>
pm_runtime_enable will increase power disable depth. Thus a
pairing decrement is needed on the error handling path to keep
it balanced.

Fixes:27a49ed17e224(gpio: arizona: Add support for GPIOs that)
Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Signed-off-by: Zheng Liang &lt;zhengliang6@huawei.com&gt;
Signed-off-by: Bartosz Golaszewski &lt;bgolaszewski@baylibre.com&gt;
</content>
</entry>
<entry>
<title>gpio: sifive: Fix SiFive gpio probe</title>
<updated>2020-11-11T08:53:09Z</updated>
<author>
<name>Damien Le Moal</name>
<email>damien.lemoal@wdc.com</email>
</author>
<published>2020-11-07T08:13:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b72de3ff19fdc4bbe4d4bb3f4483c7e46e00bac3'/>
<id>urn:sha1:b72de3ff19fdc4bbe4d4bb3f4483c7e46e00bac3</id>
<content type='text'>
Fix the check on the number of IRQs to allow up to the maximum (32)
instead of only the maximum minus one.

Fixes: 96868dce644d ("gpio/sifive: Add GPIO driver for SiFive SoCs")
Cc: stable@vger.kernel.org
Signed-off-by: Damien Le Moal &lt;damien.lemoal@wdc.com&gt;
Link: https://lore.kernel.org/r/20201107081420.60325-10-damien.lemoal@wdc.com
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'gpio-fixes-for-v5.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into fixes</title>
<updated>2020-11-10T13:13:20Z</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2020-11-10T13:13:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=45fe0b539bc9cf6a6832d0d60cb6eab1e5f56bd9'/>
<id>urn:sha1:45fe0b539bc9cf6a6832d0d60cb6eab1e5f56bd9</id>
<content type='text'>
gpio fixes for v5.10-rc3

- fix missing conversion to gpiolib irqchip in gpio-dwapb
- fix bank properties for ast2600 variant in gpio-aspeed
- make sysfs work again when the character device is disabled
- fix interrupt handling in gpio-pcie-idio-24
</content>
</entry>
<entry>
<title>gpio: pcie-idio-24: Enable PEX8311 interrupts</title>
<updated>2020-11-06T14:19:44Z</updated>
<author>
<name>Arnaud de Turckheim</name>
<email>quarium@gmail.com</email>
</author>
<published>2020-11-04T15:24:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=10a2f11d3c9e48363c729419e0f0530dea76e4fe'/>
<id>urn:sha1:10a2f11d3c9e48363c729419e0f0530dea76e4fe</id>
<content type='text'>
This enables the PEX8311 internal PCI wire interrupt and the PEX8311
local interrupt input so the local interrupts are forwarded to the PCI.

Fixes: 585562046628 ("gpio: Add GPIO support for the ACCES PCIe-IDIO-24 family")
Cc: stable@vger.kernel.org
Signed-off-by: Arnaud de Turckheim &lt;quarium@gmail.com&gt;
Reviewed-by: William Breathitt Gray &lt;vilhelm.gray@gmail.com&gt;
Signed-off-by: Bartosz Golaszewski &lt;bgolaszewski@baylibre.com&gt;
</content>
</entry>
<entry>
<title>gpio: pcie-idio-24: Fix IRQ Enable Register value</title>
<updated>2020-11-06T14:18:58Z</updated>
<author>
<name>Arnaud de Turckheim</name>
<email>quarium@gmail.com</email>
</author>
<published>2020-11-04T15:24:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=23a7fdc06ebcc334fa667f0550676b035510b70b'/>
<id>urn:sha1:23a7fdc06ebcc334fa667f0550676b035510b70b</id>
<content type='text'>
This fixes the COS Enable Register value for enabling/disabling the
corresponding IRQs bank.

Fixes: 585562046628 ("gpio: Add GPIO support for the ACCES PCIe-IDIO-24 family")
Cc: stable@vger.kernel.org
Signed-off-by: Arnaud de Turckheim &lt;quarium@gmail.com&gt;
Reviewed-by: William Breathitt Gray &lt;vilhelm.gray@gmail.com&gt;
Signed-off-by: Bartosz Golaszewski &lt;bgolaszewski@baylibre.com&gt;
</content>
</entry>
</feed>
