projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
unify sysctl.conf, add extra netfilter options (#1996)
[openwrt.git]
/
package
/
broadcom-diag
/
src
/
gpio.h
diff --git
a/package/broadcom-diag/src/gpio.h
b/package/broadcom-diag/src/gpio.h
index
982cadd
..
6d83039
100644
(file)
--- a/
package/broadcom-diag/src/gpio.h
+++ b/
package/broadcom-diag/src/gpio.h
@@
-53,7
+53,7
@@
static inline u32 gpio_intpolarity(u32 mask, u32 value)
gpio_op(polarity, mask, value);
}
gpio_op(polarity, mask, value);
}
-static void gpio_set_irqenable(int enabled, irqreturn_t (*handler)(int, void *
, struct pt_regs *
))
+static void gpio_set_irqenable(int enabled, irqreturn_t (*handler)(int, void *))
{
int irq;
{
int irq;
@@
-63,12
+63,15
@@
static void gpio_set_irqenable(int enabled, irqreturn_t (*handler)(int, void *,
irq = ssb_mips_irq(ssb.extif.dev) + 2;
else return;
irq = ssb_mips_irq(ssb.extif.dev) + 2;
else return;
- if (enabled)
- request_irq(irq, handler, SA_SHIRQ | SA_SAMPLE_RANDOM, "gpio", handler);
- else
+ if (enabled) {
+ if (request_irq(irq, handler, IRQF_SHARED | IRQF_SAMPLE_RANDOM, "gpio", handler))
+ return;
+ } else {
free_irq(irq, handler);
free_irq(irq, handler);
+ }
- gpio_intmask(1, (enabled ? 1 : 0));
+ if (ssb.chipco.dev)
+ ssb_write32_masked(ssb.chipco.dev, SSB_CHIPCO_IRQMASK, SSB_CHIPCO_IRQ_GPIO, (enabled ? SSB_CHIPCO_IRQ_GPIO : 0));
}
#else
}
#else
This page took
0.020551 seconds
and
4
git commands to generate.