[GIT,PULL] GPIO bulk changes for the v4.15 kernel cycle

Message ID CACRpkdY=KoSGWFhS1wYi2_hNhB6G3NiWmb2GMvfWFcNZ4OVwOg@mail.gmail.com
State New
Headers show
Series
  • [GIT,PULL] GPIO bulk changes for the v4.15 kernel cycle
Related show

Commit Message

Linus Walleij Nov. 14, 2017, 1:58 p.m.
Hi Linus,

here is the bulk of GPIO changes for the v4.15 kernel cycle.

Conflicts ahoy!

There will be a conflict in drivers/pinctrl/bcm/pinctrl-bcm2835.c.

This one is a bit silly really, as Thierry developed the patches
on top of linux-next where his patches applied cleanly and then
I applied them on my v4.14-rc1-based tree and solved the
conflict. So since the conflicty thing was already upstream, maybe
I should have just merged in another -rc...

Anyway it looks like this:

++<<<<<<< HEAD
 +              generic_handle_irq(irq_linear_revmap(pc->gpio_chip.irqdomain,
++=======
+               /* FIXME: no clue why the code looks up the type here */
+               type = pc->irq_type[gpio];
+
+               generic_handle_irq(irq_linear_revmap(pc->gpio_chip.irq.domain,
++>>>>>>> 24f0966c3e3f52a96e888504d60810d9df5b2d42

The end result should simply be: no comment, delete the type = business,
and keep that oneline:

generic_handle_irq(irq_linear_revmap(pc->gpio_chip.irq.domain,

Then Stepgen R reports a build-time conflict with changes from
the IRQchip core from the tip tree, requireing the following
fixup patch:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 2 Nov 2017 16:10:46 +1100
Subject: [PATCH] gpio: uniphier: merge fix for "Update
 irq_domain_ops.activate() signature"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/gpio/gpio-uniphier.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

 static void uniphier_gpio_irq_domain_deactivate(struct irq_domain *domain,

Patch

diff --git a/drivers/gpio/gpio-uniphier.c b/drivers/gpio/gpio-uniphier.c
index d62cea4ed6b7..d0069202ade3 100644
--- a/drivers/gpio/gpio-uniphier.c
+++ b/drivers/gpio/gpio-uniphier.c
@@ -300,13 +300,15 @@  static int uniphier_gpio_irq_domain_alloc(struct
irq_domain *domain,
  return irq_domain_alloc_irqs_parent(domain, virq, 1, &parent_fwspec);
 }

-static void uniphier_gpio_irq_domain_activate(struct irq_domain *domain,
-      struct irq_data *data)
+static int uniphier_gpio_irq_domain_activate(struct irq_domain *domain,
+      struct irq_data *data,
+      bool early)
 {
  struct uniphier_gpio_priv *priv = domain->host_data;
  struct gpio_chip *chip = &priv->chip;

  gpiochip_lock_as_irq(chip, data->hwirq + UNIPHIER_GPIO_IRQ_OFFSET);
+ return 0;
 }