From: Nishad Kamdar <nishadkamdar@gmail.com>
To: Johan Hovold <johan@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Alex Elder <elder@kernel.org>,
Rui Miguel Silva <rmfrfs@gmail.com>,
greybus-dev@lists.linaro.org, devel@driverdev.osuosl.org,
linux-kernel@vger.kernel.org,
Nishad Kamdar <nishadkamdar@gmail.com>
Subject: Re: [PATCH v3 1/3] staging: greybus: gpio: switch GPIO portions to use GPIOLIB_IRQCHIP
Date: Sat, 22 Dec 2018 20:09:16 +0530 [thread overview]
Message-ID: <20181222143914.GA15439@nishad> (raw)
In-Reply-To: <20181218111034.GM20658@localhost>
On Tue, Dec 18, 2018 at 12:10:34PM +0100, Johan Hovold wrote:
> On Thu, Nov 22, 2018 at 10:37:16PM +0530, Nishad Kamdar wrote:
> > Convert the GPIO driver to use the GPIO irqchip library
> > GPIOLIB_IRQCHIP instead of reimplementing the same.
> >
> > Signed-off-by: Nishad Kamdar <nishadkamdar@gmail.com>
> > ---
> > Changes in v2:
> > - Retained irq.h and irqdomain.h headers.
> > - Dropped function gb_gpio_irqchip_add() and
> > called gpiochip_irqchip_add() from probe().
> > - Referred https://lkml.kernel.org/r/1476054589-28422-1-git-send-email-linus.walleij@linaro.org.
>
> Thanks for the update, and sorry about the late review. This looks
> mostly good now, except for a couple minor things pointed out below.
>
> You also included the conversion to gpiochip_get_data() (as Linus also
> did in his patch) although that's really a separate change and should go
> in its own patch. Please break that bit out in a follow-up patch.
>
> Also note that someone did a bunch random white space changes to this
> file in the staging tree, so it will not apply cleanly any more.
>
> > ---
> > drivers/staging/greybus/Kconfig | 1 +
> > drivers/staging/greybus/gpio.c | 184 ++++----------------------------
> > 2 files changed, 24 insertions(+), 161 deletions(-)
> >
> > diff --git a/drivers/staging/greybus/Kconfig b/drivers/staging/greybus/Kconfig
> > index ab096bcef98c..b571e4e8060b 100644
> > --- a/drivers/staging/greybus/Kconfig
> > +++ b/drivers/staging/greybus/Kconfig
> > @@ -148,6 +148,7 @@ if GREYBUS_BRIDGED_PHY
> > config GREYBUS_GPIO
> > tristate "Greybus GPIO Bridged PHY driver"
> > depends on GPIOLIB
> > + select GPIOLIB_IRQCHIP
> > ---help---
> > Select this option if you have a device that follows the
> > Greybus GPIO Bridged PHY Class specification.
> > diff --git a/drivers/staging/greybus/gpio.c b/drivers/staging/greybus/gpio.c
> > index b1d4698019a1..2ec54744171d 100644
> > --- a/drivers/staging/greybus/gpio.c
> > +++ b/drivers/staging/greybus/gpio.c
> > @@ -9,9 +9,9 @@
> > #include <linux/kernel.h>
> > #include <linux/module.h>
> > #include <linux/slab.h>
> > -#include <linux/gpio.h>
> > #include <linux/irq.h>
> > #include <linux/irqdomain.h>
> > +#include <linux/gpio/driver.h>
> > #include <linux/mutex.h>
> >
> > #include "greybus.h"
> > @@ -39,15 +39,8 @@ struct gb_gpio_controller {
> >
> > struct gpio_chip chip;
> > struct irq_chip irqc;
>
> Turns out struct gpio_chip will have an irqchip whenever
> CONFIG_GPIOLIB_IRQCHIP is selected so you can drop this one too.
>
Ok, I'll do that.
> > - struct irq_chip *irqchip;
> > - struct irq_domain *irqdomain;
> > - unsigned int irq_base;
> > - irq_flow_handler_t irq_handler;
> > - unsigned int irq_default_type;
> > struct mutex irq_lock;
> > };
> > -#define gpio_chip_to_gb_gpio_controller(chip) \
> > - container_of(chip, struct gb_gpio_controller, chip)
> > #define irq_data_to_gpio_chip(d) (d->domain->host_data)
> >
> > static int gb_gpio_line_count_operation(struct gb_gpio_controller *ggc)
> > @@ -276,7 +269,7 @@ static void _gb_gpio_irq_set_type(struct gb_gpio_controller *ggc,
> > static void gb_gpio_irq_mask(struct irq_data *d)
> > {
> > struct gpio_chip *chip = irq_data_to_gpio_chip(d);
> > - struct gb_gpio_controller *ggc = gpio_chip_to_gb_gpio_controller(chip);
> > + struct gb_gpio_controller *ggc = gpiochip_get_data(chip);
>
> So please split these changes into a separate patch as they are not
> related to the irqchip changes.
>
> Oh, and don't forget to update the TODO file now that the conversion is
> done. :)
>
Sure, I'll do that.
Thanks for the review.
regards,
Nishad
> Thanks,
> Johan
next prev parent reply other threads:[~2018-12-22 17:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-22 17:06 [PATCH v3 0/3] greybus: gpio: Switch to the gpio descriptor interface Nishad Kamdar
2018-11-22 17:07 ` [PATCH v3 1/3] staging: greybus: gpio: switch GPIO portions to use GPIOLIB_IRQCHIP Nishad Kamdar
2018-12-18 11:10 ` Johan Hovold
2018-12-22 14:39 ` Nishad Kamdar [this message]
2018-11-22 17:08 ` [PATCH v3 2/3] staging: greybus: arche-apb-ctrl.c: Switch to the gpio descriptor interface Nishad Kamdar
2018-12-18 11:35 ` Johan Hovold
2018-12-22 14:41 ` Nishad Kamdar
2018-11-22 17:09 ` [PATCH v3 3/3] staging: greybus: arche-platform: " Nishad Kamdar
2018-12-18 11:50 ` Johan Hovold
2018-12-22 14:42 ` Nishad Kamdar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181222143914.GA15439@nishad \
--to=nishadkamdar@gmail.com \
--cc=devel@driverdev.osuosl.org \
--cc=elder@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=greybus-dev@lists.linaro.org \
--cc=johan@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rmfrfs@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.