projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
[firefly-linux-kernel-4.4.55.git]
/
drivers
/
gpio
/
gpio-mvebu.c
diff --git
a/drivers/gpio/gpio-mvebu.c
b/drivers/gpio/gpio-mvebu.c
index d0bc123c7975200a204a6b2608b5620ed5ec71b8..1a54205860f590c97812da14d331f56a8f5e04af 100644
(file)
--- a/
drivers/gpio/gpio-mvebu.c
+++ b/
drivers/gpio/gpio-mvebu.c
@@
-320,11
+320,13
@@
static void mvebu_gpio_edge_irq_mask(struct irq_data *d)
{
struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d);
struct mvebu_gpio_chip *mvchip = gc->private;
{
struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d);
struct mvebu_gpio_chip *mvchip = gc->private;
+ struct irq_chip_type *ct = irq_data_get_chip_type(d);
u32 mask = 1 << (d->irq - gc->irq_base);
irq_gc_lock(gc);
u32 mask = 1 << (d->irq - gc->irq_base);
irq_gc_lock(gc);
- gc->mask_cache &= ~mask;
- writel_relaxed(gc->mask_cache, mvebu_gpioreg_edge_mask(mvchip));
+ ct->mask_cache_priv &= ~mask;
+
+ writel_relaxed(ct->mask_cache_priv, mvebu_gpioreg_edge_mask(mvchip));
irq_gc_unlock(gc);
}
irq_gc_unlock(gc);
}
@@
-332,11
+334,13
@@
static void mvebu_gpio_edge_irq_unmask(struct irq_data *d)
{
struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d);
struct mvebu_gpio_chip *mvchip = gc->private;
{
struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d);
struct mvebu_gpio_chip *mvchip = gc->private;
+ struct irq_chip_type *ct = irq_data_get_chip_type(d);
+
u32 mask = 1 << (d->irq - gc->irq_base);
irq_gc_lock(gc);
u32 mask = 1 << (d->irq - gc->irq_base);
irq_gc_lock(gc);
-
gc->mask_cache
|= mask;
- writel_relaxed(
gc->mask_cache
, mvebu_gpioreg_edge_mask(mvchip));
+
ct->mask_cache_priv
|= mask;
+ writel_relaxed(
ct->mask_cache_priv
, mvebu_gpioreg_edge_mask(mvchip));
irq_gc_unlock(gc);
}
irq_gc_unlock(gc);
}
@@
-344,11
+348,13
@@
static void mvebu_gpio_level_irq_mask(struct irq_data *d)
{
struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d);
struct mvebu_gpio_chip *mvchip = gc->private;
{
struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d);
struct mvebu_gpio_chip *mvchip = gc->private;
+ struct irq_chip_type *ct = irq_data_get_chip_type(d);
+
u32 mask = 1 << (d->irq - gc->irq_base);
irq_gc_lock(gc);
u32 mask = 1 << (d->irq - gc->irq_base);
irq_gc_lock(gc);
-
gc->mask_cache
&= ~mask;
- writel_relaxed(
gc->mask_cache
, mvebu_gpioreg_level_mask(mvchip));
+
ct->mask_cache_priv
&= ~mask;
+ writel_relaxed(
ct->mask_cache_priv
, mvebu_gpioreg_level_mask(mvchip));
irq_gc_unlock(gc);
}
irq_gc_unlock(gc);
}
@@
-356,11
+362,13
@@
static void mvebu_gpio_level_irq_unmask(struct irq_data *d)
{
struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d);
struct mvebu_gpio_chip *mvchip = gc->private;
{
struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d);
struct mvebu_gpio_chip *mvchip = gc->private;
+ struct irq_chip_type *ct = irq_data_get_chip_type(d);
+
u32 mask = 1 << (d->irq - gc->irq_base);
irq_gc_lock(gc);
u32 mask = 1 << (d->irq - gc->irq_base);
irq_gc_lock(gc);
-
gc->mask_cache
|= mask;
- writel_relaxed(
gc->mask_cache
, mvebu_gpioreg_level_mask(mvchip));
+
ct->mask_cache_priv
|= mask;
+ writel_relaxed(
ct->mask_cache_priv
, mvebu_gpioreg_level_mask(mvchip));
irq_gc_unlock(gc);
}
irq_gc_unlock(gc);
}