* [PATCH] leds: Fix regression related to led-trigger API location change
@ 2015-04-09 12:55 Jacek Anaszewski
2015-04-09 17:33 ` Bryan Wu
0 siblings, 1 reply; 3+ messages in thread
From: Jacek Anaszewski @ 2015-04-09 12:55 UTC (permalink / raw)
To: linux-leds; +Cc: cooloney, Jacek Anaszewski
Patch fe4d2d05 ("leds: unify the location of led-trigger API") is
causing a build break when led-triggers are turned off in the config.
This patch fixes the issue and changes no-op declarations of affected
functions to inlines instead of macros.
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Cc: Bryan Wu <cooloney@gmail.com>
---
include/linux/leds.h | 37 +++++++++++++++++++------------------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/include/linux/leds.h b/include/linux/leds.h
index 0579708..0b9780e 100644
--- a/include/linux/leds.h
+++ b/include/linux/leds.h
@@ -223,24 +223,6 @@ struct led_trigger {
struct list_head next_trig;
};
-#ifdef CONFIG_LEDS_TRIGGERS
-void led_trigger_set_default(struct led_classdev *led_cdev);
-void led_trigger_set(struct led_classdev *led_cdev,
- struct led_trigger *trigger);
-void led_trigger_remove(struct led_classdev *led_cdev);
-
-static inline void *led_get_trigger_data(struct led_classdev *led_cdev)
-{
- return led_cdev->trigger_data;
-}
-
-#else
-#define led_trigger_set_default(x) do {} while (0)
-#define led_trigger_set(x, y) do {} while (0)
-#define led_trigger_remove(x) do {} while (0)
-#define led_get_trigger_data(x) (NULL)
-#endif
-
ssize_t led_trigger_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count);
ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
@@ -262,6 +244,16 @@ extern void led_trigger_blink_oneshot(struct led_trigger *trigger,
unsigned long *delay_on,
unsigned long *delay_off,
int invert);
+void led_trigger_set_default(struct led_classdev *led_cdev);
+void led_trigger_set(struct led_classdev *led_cdev,
+ struct led_trigger *trigger);
+void led_trigger_remove(struct led_classdev *led_cdev);
+
+static inline void *led_get_trigger_data(struct led_classdev *led_cdev)
+{
+ return led_cdev->trigger_data;
+}
+
/**
* led_trigger_rename_static - rename a trigger
* @name: the new trigger name
@@ -291,6 +283,15 @@ static inline void led_trigger_register_simple(const char *name,
static inline void led_trigger_unregister_simple(struct led_trigger *trigger) {}
static inline void led_trigger_event(struct led_trigger *trigger,
enum led_brightness event) {}
+static inline void led_trigger_set_default(struct led_classdev *led_cdev) {}
+static inline void led_trigger_set(struct led_classdev *led_cdev,
+ struct led_trigger *trigger) {}
+static inline void led_trigger_remove(struct led_classdev *led_cdev) {}
+static inline void *led_get_trigger_data(struct led_classdev *led_cdev)
+{
+ return NULL;
+}
+
#endif /* CONFIG_LEDS_TRIGGERS */
/* Trigger specific functions */
--
1.7.9.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] leds: Fix regression related to led-trigger API location change
2015-04-09 12:55 [PATCH] leds: Fix regression related to led-trigger API location change Jacek Anaszewski
@ 2015-04-09 17:33 ` Bryan Wu
2015-04-10 6:47 ` Jacek Anaszewski
0 siblings, 1 reply; 3+ messages in thread
From: Bryan Wu @ 2015-04-09 17:33 UTC (permalink / raw)
To: Jacek Anaszewski; +Cc: Linux LED Subsystem
On Thu, Apr 9, 2015 at 5:55 AM, Jacek Anaszewski
<j.anaszewski@samsung.com> wrote:
> Patch fe4d2d05 ("leds: unify the location of led-trigger API") is
> causing a build break when led-triggers are turned off in the config.
> This patch fixes the issue and changes no-op declarations of affected
> functions to inlines instead of macros.
>
My bad, I should build and test kernel on my board and shouldn't put
this big change in next branch since merge window will open soon.
Jacek, I'm going to drop the previous patch from my tree. and please
fold this fix patch with previous one together. I will merge it into
my -devel branch instead of for-next branch. So that means it won't be
in 4.0 release but 4.1.
Does this make sense to you?
Thanks,
-Bryan
> Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
> Cc: Bryan Wu <cooloney@gmail.com>
> ---
> include/linux/leds.h | 37 +++++++++++++++++++------------------
> 1 file changed, 19 insertions(+), 18 deletions(-)
>
> diff --git a/include/linux/leds.h b/include/linux/leds.h
> index 0579708..0b9780e 100644
> --- a/include/linux/leds.h
> +++ b/include/linux/leds.h
> @@ -223,24 +223,6 @@ struct led_trigger {
> struct list_head next_trig;
> };
>
> -#ifdef CONFIG_LEDS_TRIGGERS
> -void led_trigger_set_default(struct led_classdev *led_cdev);
> -void led_trigger_set(struct led_classdev *led_cdev,
> - struct led_trigger *trigger);
> -void led_trigger_remove(struct led_classdev *led_cdev);
> -
> -static inline void *led_get_trigger_data(struct led_classdev *led_cdev)
> -{
> - return led_cdev->trigger_data;
> -}
> -
> -#else
> -#define led_trigger_set_default(x) do {} while (0)
> -#define led_trigger_set(x, y) do {} while (0)
> -#define led_trigger_remove(x) do {} while (0)
> -#define led_get_trigger_data(x) (NULL)
> -#endif
> -
> ssize_t led_trigger_store(struct device *dev, struct device_attribute *attr,
> const char *buf, size_t count);
> ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
> @@ -262,6 +244,16 @@ extern void led_trigger_blink_oneshot(struct led_trigger *trigger,
> unsigned long *delay_on,
> unsigned long *delay_off,
> int invert);
> +void led_trigger_set_default(struct led_classdev *led_cdev);
> +void led_trigger_set(struct led_classdev *led_cdev,
> + struct led_trigger *trigger);
> +void led_trigger_remove(struct led_classdev *led_cdev);
> +
> +static inline void *led_get_trigger_data(struct led_classdev *led_cdev)
> +{
> + return led_cdev->trigger_data;
> +}
> +
> /**
> * led_trigger_rename_static - rename a trigger
> * @name: the new trigger name
> @@ -291,6 +283,15 @@ static inline void led_trigger_register_simple(const char *name,
> static inline void led_trigger_unregister_simple(struct led_trigger *trigger) {}
> static inline void led_trigger_event(struct led_trigger *trigger,
> enum led_brightness event) {}
> +static inline void led_trigger_set_default(struct led_classdev *led_cdev) {}
> +static inline void led_trigger_set(struct led_classdev *led_cdev,
> + struct led_trigger *trigger) {}
> +static inline void led_trigger_remove(struct led_classdev *led_cdev) {}
> +static inline void *led_get_trigger_data(struct led_classdev *led_cdev)
> +{
> + return NULL;
> +}
> +
> #endif /* CONFIG_LEDS_TRIGGERS */
>
> /* Trigger specific functions */
> --
> 1.7.9.5
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] leds: Fix regression related to led-trigger API location change
2015-04-09 17:33 ` Bryan Wu
@ 2015-04-10 6:47 ` Jacek Anaszewski
0 siblings, 0 replies; 3+ messages in thread
From: Jacek Anaszewski @ 2015-04-10 6:47 UTC (permalink / raw)
To: Bryan Wu; +Cc: Linux LED Subsystem
On 04/09/2015 07:33 PM, Bryan Wu wrote:
> On Thu, Apr 9, 2015 at 5:55 AM, Jacek Anaszewski
> <j.anaszewski@samsung.com> wrote:
>> Patch fe4d2d05 ("leds: unify the location of led-trigger API") is
>> causing a build break when led-triggers are turned off in the config.
>> This patch fixes the issue and changes no-op declarations of affected
>> functions to inlines instead of macros.
>>
>
> My bad, I should build and test kernel on my board and shouldn't put
> this big change in next branch since merge window will open soon.
>
> Jacek, I'm going to drop the previous patch from my tree. and please
> fold this fix patch with previous one together. I will merge it into
> my -devel branch instead of for-next branch. So that means it won't be
> in 4.0 release but 4.1.
>
> Does this make sense to you?
Of course, I should have tested this more carefully too.
--
Best Regards,
Jacek Anaszewski
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-04-10 6:47 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-09 12:55 [PATCH] leds: Fix regression related to led-trigger API location change Jacek Anaszewski
2015-04-09 17:33 ` Bryan Wu
2015-04-10 6:47 ` Jacek Anaszewski
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.