2017-04-27 06:52:46

by Anatolij Gustschin

[permalink] [raw]
Subject: [PATCH v2] gpiolib: Add stubs for gpiod lookup table interface

Add stubs for gpiod_add_lookup_table() and gpiod_remove_lookup_table()
for the !GPIOLIB case to prevent build errors. Also add prototypes.

Signed-off-by: Anatolij Gustschin <[email protected]>
Reviewed-by: Andy Shevchenko <[email protected]>
---
Changes in v2:
move gpiod_lookup_table out of #ifdef

include/linux/gpio/consumer.h | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h
index 8f702fc..f4a3fed 100644
--- a/include/linux/gpio/consumer.h
+++ b/include/linux/gpio/consumer.h
@@ -41,6 +41,8 @@ enum gpiod_flags {
GPIOD_FLAGS_BIT_DIR_VAL,
};

+struct gpiod_lookup_table;
+
#ifdef CONFIG_GPIOLIB

/* Return the number of GPIOs associated with a device / function */
@@ -144,6 +146,9 @@ struct gpio_desc *devm_fwnode_get_index_gpiod_from_child(struct device *dev,
enum gpiod_flags flags,
const char *label);

+void gpiod_add_lookup_table(struct gpiod_lookup_table *table);
+void gpiod_remove_lookup_table(struct gpiod_lookup_table *table);
+
#else /* CONFIG_GPIOLIB */

static inline int gpiod_count(struct device *dev, const char *con_id)
@@ -435,6 +440,14 @@ struct gpio_desc *devm_fwnode_get_index_gpiod_from_child(struct device *dev,
return ERR_PTR(-ENOSYS);
}

+static inline void gpiod_add_lookup_table(struct gpiod_lookup_table *table)
+{
+}
+
+static inline void gpiod_remove_lookup_table(struct gpiod_lookup_table *table)
+{
+}
+
#endif /* CONFIG_GPIOLIB */

static inline
--
2.7.4


2017-04-27 14:07:55

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2] gpiolib: Add stubs for gpiod lookup table interface

On Thu, Apr 27, 2017 at 9:52 AM, Anatolij Gustschin <[email protected]> wrote:
> Add stubs for gpiod_add_lookup_table() and gpiod_remove_lookup_table()
> for the !GPIOLIB case to prevent build errors. Also add prototypes.
>
> Signed-off-by: Anatolij Gustschin <[email protected]>
> Reviewed-by: Andy Shevchenko <[email protected]>

Oh, has to take my tag back. See below why.


> --- a/include/linux/gpio/consumer.h
> +++ b/include/linux/gpio/consumer.h

It is already defined in machine.h.

What you basically need is to add stubs for !GPIOLIB case

#ifdef ...
...existing prototypes...
#else /* GPIOLIB */
static inline void gpiod_add_lookup_table(struct gpiod_lookup_table *table) {}
static inline void gpiod_remove_lookup_table(struct gpiod_lookup_table
*table) {}
#endif /* !GPIOLIB */

P.S. please notice how I put the stubs. It would be good to keep them
in two lines.

--
With Best Regards,
Andy Shevchenko

2017-04-27 14:25:46

by Anatolij Gustschin

[permalink] [raw]
Subject: Re: [PATCH v2] gpiolib: Add stubs for gpiod lookup table interface

On Thu, 27 Apr 2017 17:07:23 +0300
Andy Shevchenko [email protected] wrote:

>On Thu, Apr 27, 2017 at 9:52 AM, Anatolij Gustschin <[email protected]> wrote:
>> Add stubs for gpiod_add_lookup_table() and gpiod_remove_lookup_table()
>> for the !GPIOLIB case to prevent build errors. Also add prototypes.
>>
>> Signed-off-by: Anatolij Gustschin <[email protected]>
>> Reviewed-by: Andy Shevchenko <[email protected]>
>
>Oh, has to take my tag back. See below why.
>
>
>> --- a/include/linux/gpio/consumer.h
>> +++ b/include/linux/gpio/consumer.h
>
>It is already defined in machine.h.
>
>What you basically need is to add stubs for !GPIOLIB case
>
>#ifdef ...
>...existing prototypes...
>#else /* GPIOLIB */
>static inline void gpiod_add_lookup_table(struct gpiod_lookup_table *table) {}
>static inline void gpiod_remove_lookup_table(struct gpiod_lookup_table
>*table) {}
>#endif /* !GPIOLIB */
>
>P.S. please notice how I put the stubs. It would be good to keep them
>in two lines.

this will exceed 80 char line limit.

Thanks,

Anatolij

2017-04-27 14:29:49

by Anatolij Gustschin

[permalink] [raw]
Subject: Re: [PATCH v2] gpiolib: Add stubs for gpiod lookup table interface

On Thu, 27 Apr 2017 16:25:34 +0200
Anatolij Gustschin [email protected] wrote:

>On Thu, 27 Apr 2017 17:07:23 +0300
>Andy Shevchenko [email protected] wrote:
...
>>static inline void gpiod_add_lookup_table(struct gpiod_lookup_table *table) {}
>>static inline void gpiod_remove_lookup_table(struct gpiod_lookup_table
>>*table) {}
>>#endif /* !GPIOLIB */
>>
>>P.S. please notice how I put the stubs. It would be good to keep them
>>in two lines.
>
>this will exceed 80 char line limit.

I'll go with

static inline
void gpiod_add_lookup_table(struct gpiod_lookup_table *table) {}

static inline
void gpiod_remove_lookup_table(struct gpiod_lookup_table *table) {}

Is it okay?

Thanks,

Anatolij

2017-04-27 14:47:17

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2] gpiolib: Add stubs for gpiod lookup table interface

On Thu, Apr 27, 2017 at 5:29 PM, Anatolij Gustschin <[email protected]> wrote:
> On Thu, 27 Apr 2017 16:25:34 +0200
> Anatolij Gustschin [email protected] wrote:
>
>>On Thu, 27 Apr 2017 17:07:23 +0300
>>Andy Shevchenko [email protected] wrote:
> ...
>>>static inline void gpiod_add_lookup_table(struct gpiod_lookup_table *table) {}
>>>static inline void gpiod_remove_lookup_table(struct gpiod_lookup_table
>>>*table) {}
>>>#endif /* !GPIOLIB */
>>>
>>>P.S. please notice how I put the stubs. It would be good to keep them
>>>in two lines.
>>
>>this will exceed 80 char line limit.

Not for many (unimportant) symbols.

> I'll go with
>
> static inline
> void gpiod_add_lookup_table(struct gpiod_lookup_table *table) {}
>
> static inline
> void gpiod_remove_lookup_table(struct gpiod_lookup_table *table) {}
>
> Is it okay?

Whatever Linus prefers. I'm fine with either.

--
With Best Regards,
Andy Shevchenko