svn commit: r365557 - head/sys/dev/gpio
Andrew Turner
andrew at FreeBSD.org
Thu Sep 10 09:37:31 UTC 2020
Author: andrew
Date: Thu Sep 10 09:37:30 2020
New Revision: 365557
URL: https://svnweb.freebsd.org/changeset/base/365557
Log:
Use the correct variable to check which interrupt mode to use
In the PL061 driver we incorrectly used the mask rather than mode to find
how to configure the interrupt.
Sponsored by: Innovate UK
Modified:
head/sys/dev/gpio/pl061.c
Modified: head/sys/dev/gpio/pl061.c
==============================================================================
--- head/sys/dev/gpio/pl061.c Thu Sep 10 09:10:33 2020 (r365556)
+++ head/sys/dev/gpio/pl061.c Thu Sep 10 09:37:30 2020 (r365557)
@@ -335,22 +335,22 @@ pl061_pic_setup_intr(device_t dev, struct intr_irqsrc
PL061_LOCK(sc);
- if (mask & GPIO_INTR_EDGE_BOTH) {
+ if (mode & GPIO_INTR_EDGE_BOTH) {
mask_and_set(sc, PL061_INTBOTHEDGES, mask, mask);
mask_and_set(sc, PL061_INTSENSE, mask, 0);
- } else if (mask & GPIO_INTR_EDGE_RISING) {
+ } else if (mode & GPIO_INTR_EDGE_RISING) {
mask_and_set(sc, PL061_INTBOTHEDGES, mask, 0);
mask_and_set(sc, PL061_INTSENSE, mask, 0);
mask_and_set(sc, PL061_INTEVENT, mask, mask);
- } else if (mask & GPIO_INTR_EDGE_FALLING) {
+ } else if (mode & GPIO_INTR_EDGE_FALLING) {
mask_and_set(sc, PL061_INTBOTHEDGES, mask, 0);
mask_and_set(sc, PL061_INTSENSE, mask, 0);
mask_and_set(sc, PL061_INTEVENT, mask, 0);
- } else if (mask & GPIO_INTR_LEVEL_HIGH) {
+ } else if (mode & GPIO_INTR_LEVEL_HIGH) {
mask_and_set(sc, PL061_INTBOTHEDGES, mask, 0);
mask_and_set(sc, PL061_INTSENSE, mask, mask);
mask_and_set(sc, PL061_INTEVENT, mask, mask);
- } else if (mask & GPIO_INTR_LEVEL_LOW) {
+ } else if (mode & GPIO_INTR_LEVEL_LOW) {
mask_and_set(sc, PL061_INTBOTHEDGES, mask, 0);
mask_and_set(sc, PL061_INTSENSE, mask, mask);
mask_and_set(sc, PL061_INTEVENT, mask, 0);
More information about the svn-src-head
mailing list