tree b2d2a75d4ec86fd8f08cd8bd9142a1d37a6c04d8
parent edee3bc6589484ec8c32b04c3b83497acfa6102f
parent 4941b8dedb3f33dcca5c6aef919ea518ff8947ce
author Linus Walleij <linus.walleij@linaro.org> 1595426460 +0200
committer Linus Walleij <linus.walleij@linaro.org> 1595426460 +0200
mergetag object 4941b8dedb3f33dcca5c6aef919ea518ff8947ce
 type commit
 tag intel-gpio-v5.9-1
 tagger Andy Shevchenko <andriy.shevchenko@linux.intel.com> 1595424508 +0300
 
 intel-gpio for v5.9-1
 
 * Move GPIO PMIC drivers to use IRQ chip template
 * Introduce for_each_requested_gpio() and convert existing users
 * Replace unsigned by unsigned int in few drivers
 * Fix an issue in kernel doc that validator complains about
 * Move to verbose debug level the IRQ status message in gpio-pch
 
 The following is an automated git shortlog grouped by driver:
 
 ARM/orion/gpio:
  -  Make use of for_each_requested_gpio()
 
 crystalcove:
  -  Use irqchip template
  -  changed every 'unsigned' to 'unsigned int'
 
 gpiolib:
  -  Introduce for_each_requested_gpio_in_range() macro
 
 gpio-ml-ioh:
  -  Fix missing ':' in 'struct ioh_gpio_reg_data
 
 ich:
  -  changed every 'unsigned' to 'unsigned int'
 
 mvebu:
  -  Make use of for_each_requested_gpio()
 
 pch:
  -  Add a blank line between declaration and code
  -  changed every 'unsigned' to 'unsigned int'
  -  Move IRQ status message to verbose debug level
 
 pinctrl:
  -  at91: Make use of for_each_requested_gpio()
 
 sch:
  -  Add a blank line between declaration and code
  -  changed every 'unsigned' to 'unsigned int'
 
 wcove:
  -  Use irqchip template
 
 xra1403:
  -  Make use of for_each_requested_gpio()
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEqaflIX74DDDzMJJtb7wzTHR8rCgFAl8YPvwACgkQb7wzTHR8
 rCgX6w/+MOk7PmVOHlYNrc7UiOnvVxpMbYRW/UpAXJ9r60FqnpeiwDh7Vqdonom5
 TfQUfskHdKTQR1Ybo93HPJaKtxo601yu9PbV00pfB1uN9Nmj6pxQ+gXeFmV4Eov7
 gKlqaKW2zIjF6Rrbs8Xa7O4UDnXLgIqKOguuGWyrHBywfkQKIz1i4/x0w/IOvyB6
 ZM9n2iiEAysTGDOYsEvjKHAHgtruz+nQfqF5vWy6/6KBefuIUiHI6tbPXwkrhZ+x
 xNsbkoyQvL95o0naDLfXoL8xZ9gxeQfr041405I96kZwtlOHsJSEule7fR39r4A6
 4KKICJ0MwC03NyOaVpKeElffA1rfreZhNACFHEylcjauYrfEC84wXCSL0hOfa2Pe
 7PBMlRMQmrO7MkBxlihsy0oUip+fDG+XoANnB/51dX62AEJTjNs8Adh4aI2adaXh
 11bi9GjLxUJ+Myopf1wF5lWrDPRvXviEWFeMxPNAS/lJSWkCnAtm9UvZOPTgl4Ps
 +vFs/oiORmsYUELcaVwnOsNsoLB+DOFHdH5K20H2n0fjch2th/n2Jph6lBcY6D9W
 50pKighf/92gWMeOllTha0I/EOFNCBi57DnUsuiNkuZ7lQd0O05MAJ4GBsOmBuF8
 sc4euGVU4mIvdn+bMNuN8c1vXJAWmPBfb1QiChXv9/BEVjZt0uI=
 =txvs
 -----END PGP SIGNATURE-----

Merge tag 'intel-gpio-v5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel into devel

intel-gpio for v5.9-1

* Move GPIO PMIC drivers to use IRQ chip template
* Introduce for_each_requested_gpio() and convert existing users
* Replace unsigned by unsigned int in few drivers
* Fix an issue in kernel doc that validator complains about
* Move to verbose debug level the IRQ status message in gpio-pch

The following is an automated git shortlog grouped by driver:

ARM/orion/gpio:
 -  Make use of for_each_requested_gpio()

crystalcove:
 -  Use irqchip template
 -  changed every 'unsigned' to 'unsigned int'

gpiolib:
 -  Introduce for_each_requested_gpio_in_range() macro

gpio-ml-ioh:
 -  Fix missing ':' in 'struct ioh_gpio_reg_data

ich:
 -  changed every 'unsigned' to 'unsigned int'

mvebu:
 -  Make use of for_each_requested_gpio()

pch:
 -  Add a blank line between declaration and code
 -  changed every 'unsigned' to 'unsigned int'
 -  Move IRQ status message to verbose debug level

pinctrl:
 -  at91: Make use of for_each_requested_gpio()

sch:
 -  Add a blank line between declaration and code
 -  changed every 'unsigned' to 'unsigned int'

wcove:
 -  Use irqchip template

xra1403:
 -  Make use of for_each_requested_gpio()
