1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00

gpio fixes for v6.14-rc2

- fix interrupt support in gpio-pca953x
 - fix configfs attribute locking in gpio-sim
 - limit the visibility of the GPIO_GRGPIO Kconfig symbol to OF systems
   only
 - update MAINTAINERS
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEFp3rbAvDxGAT0sefEacuoBRx13IFAmelxt8ACgkQEacuoBRx
 13LADRAAtVn+fLkGDHCHvEThbGu5fXsPYFvKDRcZ4ok5KftaSRGYqlQcM0Vdnnpk
 2sHOh5+wzXEGqcpjy/XAtKj3baW3TayltuEtYhphmxwxS4Bwt4I6Xm9NUBSjG9ul
 tUpCSz8SEx0/HXjt8zvcVmoVpA7BxtLmOWer/4I4uw3n9EetTHPYIAOWl7nPGUJL
 7hjliV+xec5RWczoMhFsUnOhod+FU2pR2UbglLZFu7JkLOcGmLogRfGeXCnphBko
 vf0dkKXZBc9Bj37wKaVfLXtNNa42swP5vQVdOMfCp63iH4zK8Zxr3Y5KjlXXeXj4
 ulQe+xbQ9Mg14pc4MWgdynWF3BXPo0C2F+PSD9OCE6WCY35HY3sSNlg5/JXednVk
 bhUX+2Ma3Hed0ryoqlfchVPN8ii0WTCj5Ucfk74KDPODqMopqIHGGnacD2LINJlV
 tif107wvRIk26URxoriUuvIyEMFGMRJV7R/RJqy4A4+5gi3O3MMP6oLuBO4tsddX
 ig0yQlJRI3ITbHrYIcBjPTD5RsCpHF9HemF4U8o4pEOgast4B7dXr4KUTcVqZvjW
 8R0hQa6XQbB9IS27gaNzwSF5fsyQLedo1dwezpfF6cviGRVv7ybQurp2L/oNOlwb
 aj9x9yRlMhqeUXB+u7GWLfKp4rqDlEpiCB1f/vnM0NA4RjDuP4w=
 =6UGr
 -----END PGP SIGNATURE-----

Merge tag 'gpio-fixes-for-v6.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio fixes from Bartosz Golaszewski:

 - fix interrupt support in gpio-pca953x

 - fix configfs attribute locking in gpio-sim

 - limit the visibility of the GPIO_GRGPIO Kconfig symbol to OF systems
   only

 - update MAINTAINERS

* tag 'gpio-fixes-for-v6.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  MAINTAINERS: Use my kernel.org address for ACPI GPIO work
  gpio: GPIO_GRGPIO should depend on OF
  gpio: sim: lock hog configfs items if present
  gpio: pca953x: Improve interrupt support
This commit is contained in:
Linus Torvalds 2025-02-07 09:50:33 -08:00
commit 78b2a2328b
4 changed files with 10 additions and 25 deletions

View file

@ -9878,7 +9878,7 @@ S: Maintained
F: drivers/staging/gpib/
GPIO ACPI SUPPORT
M: Mika Westerberg <mika.westerberg@linux.intel.com>
M: Mika Westerberg <westeri@kernel.org>
M: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
L: linux-gpio@vger.kernel.org
L: linux-acpi@vger.kernel.org

View file

@ -338,6 +338,7 @@ config GPIO_GRANITERAPIDS
config GPIO_GRGPIO
tristate "Aeroflex Gaisler GRGPIO support"
depends on OF || COMPILE_TEST
select GPIO_GENERIC
select IRQ_DOMAIN
help

View file

@ -841,25 +841,6 @@ static bool pca953x_irq_pending(struct pca953x_chip *chip, unsigned long *pendin
DECLARE_BITMAP(trigger, MAX_LINE);
int ret;
if (chip->driver_data & PCA_PCAL) {
/* Read the current interrupt status from the device */
ret = pca953x_read_regs(chip, PCAL953X_INT_STAT, trigger);
if (ret)
return false;
/* Check latched inputs and clear interrupt status */
ret = pca953x_read_regs(chip, chip->regs->input, cur_stat);
if (ret)
return false;
/* Apply filter for rising/falling edge selection */
bitmap_replace(new_stat, chip->irq_trig_fall, chip->irq_trig_raise, cur_stat, gc->ngpio);
bitmap_and(pending, new_stat, trigger, gc->ngpio);
return !bitmap_empty(pending, gc->ngpio);
}
ret = pca953x_read_regs(chip, chip->regs->input, cur_stat);
if (ret)
return false;

View file

@ -1028,20 +1028,23 @@ gpio_sim_device_lockup_configfs(struct gpio_sim_device *dev, bool lock)
struct configfs_subsystem *subsys = dev->group.cg_subsys;
struct gpio_sim_bank *bank;
struct gpio_sim_line *line;
struct config_item *item;
/*
* The device only needs to depend on leaf line entries. This is
* The device only needs to depend on leaf entries. This is
* sufficient to lock up all the configfs entries that the
* instantiated, alive device depends on.
*/
list_for_each_entry(bank, &dev->bank_list, siblings) {
list_for_each_entry(line, &bank->line_list, siblings) {
item = line->hog ? &line->hog->item
: &line->group.cg_item;
if (lock)
WARN_ON(configfs_depend_item_unlocked(
subsys, &line->group.cg_item));
WARN_ON(configfs_depend_item_unlocked(subsys,
item));
else
configfs_undepend_item_unlocked(
&line->group.cg_item);
configfs_undepend_item_unlocked(item);
}
}
}