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:
commit
78b2a2328b
4 changed files with 10 additions and 25 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue