* [PATCH] staging: greybus: gpio: Replace macro irq_data_to_gpio_chip with function
@ 2023-01-16 18:47 Brent Pappas
2023-01-17 8:51 ` Dan Carpenter
0 siblings, 1 reply; 2+ messages in thread
From: Brent Pappas @ 2023-01-16 18:47 UTC (permalink / raw)
To: rmfrfs
Cc: johan, elder, gregkh, greybus-dev, linux-staging, linux-kernel,
Brent Pappas
Replace the macro irq_data_to_gpio_chip with a static inline function to comply
with Linux coding style standards.
Signed-off-by: Brent Pappas <bpappas@pappasbrent.com>
---
drivers/staging/greybus/gpio.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/greybus/gpio.c b/drivers/staging/greybus/gpio.c
index 8a7cf1d0e968..833162ceb385 100644
--- a/drivers/staging/greybus/gpio.c
+++ b/drivers/staging/greybus/gpio.c
@@ -43,7 +43,11 @@ struct gb_gpio_controller {
};
#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 inline void *irq_data_to_gpio_chip(struct irq_data *d)
+{
+ return d->domain->host_data;
+}
static int gb_gpio_line_count_operation(struct gb_gpio_controller *ggc)
{
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] staging: greybus: gpio: Replace macro irq_data_to_gpio_chip with function
2023-01-16 18:47 [PATCH] staging: greybus: gpio: Replace macro irq_data_to_gpio_chip with function Brent Pappas
@ 2023-01-17 8:51 ` Dan Carpenter
0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2023-01-17 8:51 UTC (permalink / raw)
To: Brent Pappas
Cc: rmfrfs, johan, elder, gregkh, greybus-dev, linux-staging,
linux-kernel
On Mon, Jan 16, 2023 at 01:47:06PM -0500, Brent Pappas wrote:
> Replace the macro irq_data_to_gpio_chip with a static inline function to comply
> with Linux coding style standards.
>
> Signed-off-by: Brent Pappas <bpappas@pappasbrent.com>
> ---
> drivers/staging/greybus/gpio.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/greybus/gpio.c b/drivers/staging/greybus/gpio.c
> index 8a7cf1d0e968..833162ceb385 100644
> --- a/drivers/staging/greybus/gpio.c
> +++ b/drivers/staging/greybus/gpio.c
> @@ -43,7 +43,11 @@ struct gb_gpio_controller {
> };
> #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 inline void *irq_data_to_gpio_chip(struct irq_data *d)
1) Don't make this a void pointer. ->host_data is void but we want to
return a struct gpio_chip * type so declare it as returning a
gpio_chip struct pointer. A big advantage of function over macros is
the type checking.
2) Don't declare it as inline. Modern compilers are smart and confident.
They are smart enough to make it inline automatically. And confident
enough that they just ignore when people mark stuff as inline. (We
have an __always_inline macro for when the compiler is wrong.)
regards,
dan carpenter
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-01-17 8:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-16 18:47 [PATCH] staging: greybus: gpio: Replace macro irq_data_to_gpio_chip with function Brent Pappas
2023-01-17 8:51 ` Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox