Commit 5ace03fb authored by Doug Anderson's avatar Doug Anderson Committed by Linus Walleij

pinctrl: exynos: reorder xyz_irq_unmask() so future patch can ack

This patch does nothing but reorder the functions to improve the
readability of a future patch.
Signed-off-by: default avatarDoug Anderson <dianders@chromium.org>
Acked-by: default avatarTomasz Figa <t.figa@samsung.com>
Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 5ae8cf79
...@@ -50,7 +50,7 @@ static const struct of_device_id exynos_wkup_irq_ids[] = { ...@@ -50,7 +50,7 @@ static const struct of_device_id exynos_wkup_irq_ids[] = {
{ } { }
}; };
static void exynos_gpio_irq_unmask(struct irq_data *irqd) static void exynos_gpio_irq_mask(struct irq_data *irqd)
{ {
struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
struct samsung_pinctrl_drv_data *d = bank->drvdata; struct samsung_pinctrl_drv_data *d = bank->drvdata;
...@@ -61,13 +61,22 @@ static void exynos_gpio_irq_unmask(struct irq_data *irqd) ...@@ -61,13 +61,22 @@ static void exynos_gpio_irq_unmask(struct irq_data *irqd)
spin_lock_irqsave(&bank->slock, flags); spin_lock_irqsave(&bank->slock, flags);
mask = readl(d->virt_base + reg_mask); mask = readl(d->virt_base + reg_mask);
mask &= ~(1 << irqd->hwirq); mask |= 1 << irqd->hwirq;
writel(mask, d->virt_base + reg_mask); writel(mask, d->virt_base + reg_mask);
spin_unlock_irqrestore(&bank->slock, flags); spin_unlock_irqrestore(&bank->slock, flags);
} }
static void exynos_gpio_irq_mask(struct irq_data *irqd) static void exynos_gpio_irq_ack(struct irq_data *irqd)
{
struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
struct samsung_pinctrl_drv_data *d = bank->drvdata;
unsigned long reg_pend = d->ctrl->geint_pend + bank->eint_offset;
writel(1 << irqd->hwirq, d->virt_base + reg_pend);
}
static void exynos_gpio_irq_unmask(struct irq_data *irqd)
{ {
struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
struct samsung_pinctrl_drv_data *d = bank->drvdata; struct samsung_pinctrl_drv_data *d = bank->drvdata;
...@@ -78,21 +87,12 @@ static void exynos_gpio_irq_mask(struct irq_data *irqd) ...@@ -78,21 +87,12 @@ static void exynos_gpio_irq_mask(struct irq_data *irqd)
spin_lock_irqsave(&bank->slock, flags); spin_lock_irqsave(&bank->slock, flags);
mask = readl(d->virt_base + reg_mask); mask = readl(d->virt_base + reg_mask);
mask |= 1 << irqd->hwirq; mask &= ~(1 << irqd->hwirq);
writel(mask, d->virt_base + reg_mask); writel(mask, d->virt_base + reg_mask);
spin_unlock_irqrestore(&bank->slock, flags); spin_unlock_irqrestore(&bank->slock, flags);
} }
static void exynos_gpio_irq_ack(struct irq_data *irqd)
{
struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
struct samsung_pinctrl_drv_data *d = bank->drvdata;
unsigned long reg_pend = d->ctrl->geint_pend + bank->eint_offset;
writel(1 << irqd->hwirq, d->virt_base + reg_pend);
}
static int exynos_gpio_irq_set_type(struct irq_data *irqd, unsigned int type) static int exynos_gpio_irq_set_type(struct irq_data *irqd, unsigned int type)
{ {
struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
...@@ -268,7 +268,7 @@ static int exynos_eint_gpio_init(struct samsung_pinctrl_drv_data *d) ...@@ -268,7 +268,7 @@ static int exynos_eint_gpio_init(struct samsung_pinctrl_drv_data *d)
return ret; return ret;
} }
static void exynos_wkup_irq_unmask(struct irq_data *irqd) static void exynos_wkup_irq_mask(struct irq_data *irqd)
{ {
struct samsung_pin_bank *b = irq_data_get_irq_chip_data(irqd); struct samsung_pin_bank *b = irq_data_get_irq_chip_data(irqd);
struct samsung_pinctrl_drv_data *d = b->drvdata; struct samsung_pinctrl_drv_data *d = b->drvdata;
...@@ -279,13 +279,22 @@ static void exynos_wkup_irq_unmask(struct irq_data *irqd) ...@@ -279,13 +279,22 @@ static void exynos_wkup_irq_unmask(struct irq_data *irqd)
spin_lock_irqsave(&b->slock, flags); spin_lock_irqsave(&b->slock, flags);
mask = readl(d->virt_base + reg_mask); mask = readl(d->virt_base + reg_mask);
mask &= ~(1 << irqd->hwirq); mask |= 1 << irqd->hwirq;
writel(mask, d->virt_base + reg_mask); writel(mask, d->virt_base + reg_mask);
spin_unlock_irqrestore(&b->slock, flags); spin_unlock_irqrestore(&b->slock, flags);
} }
static void exynos_wkup_irq_mask(struct irq_data *irqd) static void exynos_wkup_irq_ack(struct irq_data *irqd)
{
struct samsung_pin_bank *b = irq_data_get_irq_chip_data(irqd);
struct samsung_pinctrl_drv_data *d = b->drvdata;
unsigned long pend = d->ctrl->weint_pend + b->eint_offset;
writel(1 << irqd->hwirq, d->virt_base + pend);
}
static void exynos_wkup_irq_unmask(struct irq_data *irqd)
{ {
struct samsung_pin_bank *b = irq_data_get_irq_chip_data(irqd); struct samsung_pin_bank *b = irq_data_get_irq_chip_data(irqd);
struct samsung_pinctrl_drv_data *d = b->drvdata; struct samsung_pinctrl_drv_data *d = b->drvdata;
...@@ -296,21 +305,12 @@ static void exynos_wkup_irq_mask(struct irq_data *irqd) ...@@ -296,21 +305,12 @@ static void exynos_wkup_irq_mask(struct irq_data *irqd)
spin_lock_irqsave(&b->slock, flags); spin_lock_irqsave(&b->slock, flags);
mask = readl(d->virt_base + reg_mask); mask = readl(d->virt_base + reg_mask);
mask |= 1 << irqd->hwirq; mask &= ~(1 << irqd->hwirq);
writel(mask, d->virt_base + reg_mask); writel(mask, d->virt_base + reg_mask);
spin_unlock_irqrestore(&b->slock, flags); spin_unlock_irqrestore(&b->slock, flags);
} }
static void exynos_wkup_irq_ack(struct irq_data *irqd)
{
struct samsung_pin_bank *b = irq_data_get_irq_chip_data(irqd);
struct samsung_pinctrl_drv_data *d = b->drvdata;
unsigned long pend = d->ctrl->weint_pend + b->eint_offset;
writel(1 << irqd->hwirq, d->virt_base + pend);
}
static int exynos_wkup_irq_set_type(struct irq_data *irqd, unsigned int type) static int exynos_wkup_irq_set_type(struct irq_data *irqd, unsigned int type)
{ {
struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment