Commit 09e3f324 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Lee Jones

leds: Make flash and multicolor dependencies unconditional

Along the same lines as making devm_led_classdev_register() declared
extern unconditional, do the same thing for the two sub-classes
that have similar stubs.

The users of these interfaces go to great lengths to allow building
with both the generic leds API and the extended version, but realistically
there is not much use in this, so just simplify it to always rely
on it and remove the confusing fallback logic.
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20240109090715.982332-2-arnd@kernel.orgSigned-off-by: default avatarLee Jones <lee@kernel.org>
parent 211f8ec9
...@@ -399,7 +399,7 @@ config LEDS_LP3952 ...@@ -399,7 +399,7 @@ config LEDS_LP3952
config LEDS_LP50XX config LEDS_LP50XX
tristate "LED Support for TI LP5036/30/24/18/12/09 LED driver chip" tristate "LED Support for TI LP5036/30/24/18/12/09 LED driver chip"
depends on LEDS_CLASS && REGMAP_I2C depends on LEDS_CLASS && REGMAP_I2C
depends on LEDS_CLASS_MULTICOLOR || !LEDS_CLASS_MULTICOLOR depends on LEDS_CLASS_MULTICOLOR
help help
If you say yes here you get support for the Texas Instruments If you say yes here you get support for the Texas Instruments
LP5036, LP5030, LP5024, LP5018, LP5012 and LP5009 LED driver. LP5036, LP5030, LP5024, LP5018, LP5012 and LP5009 LED driver.
...@@ -410,7 +410,7 @@ config LEDS_LP50XX ...@@ -410,7 +410,7 @@ config LEDS_LP50XX
config LEDS_LP55XX_COMMON config LEDS_LP55XX_COMMON
tristate "Common Driver for TI/National LP5521/5523/55231/5562/8501" tristate "Common Driver for TI/National LP5521/5523/55231/5562/8501"
depends on LEDS_CLASS depends on LEDS_CLASS
depends on LEDS_CLASS_MULTICOLOR || !LEDS_CLASS_MULTICOLOR depends on LEDS_CLASS_MULTICOLOR
depends on OF depends on OF
depends on I2C depends on I2C
select FW_LOADER select FW_LOADER
......
...@@ -52,8 +52,8 @@ config LEDS_MAX77693 ...@@ -52,8 +52,8 @@ config LEDS_MAX77693
config LEDS_MT6360 config LEDS_MT6360
tristate "LED Support for Mediatek MT6360 PMIC" tristate "LED Support for Mediatek MT6360 PMIC"
depends on LEDS_CLASS && OF depends on LEDS_CLASS && OF
depends on LEDS_CLASS_FLASH || !LEDS_CLASS_FLASH depends on LEDS_CLASS_FLASH
depends on LEDS_CLASS_MULTICOLOR || !LEDS_CLASS_MULTICOLOR depends on LEDS_CLASS_MULTICOLOR
depends on V4L2_FLASH_LED_CLASS || !V4L2_FLASH_LED_CLASS depends on V4L2_FLASH_LED_CLASS || !V4L2_FLASH_LED_CLASS
depends on MFD_MT6360 depends on MFD_MT6360
help help
......
...@@ -64,7 +64,7 @@ config GREYBUS_HID ...@@ -64,7 +64,7 @@ config GREYBUS_HID
config GREYBUS_LIGHT config GREYBUS_LIGHT
tristate "Greybus LED Class driver" tristate "Greybus LED Class driver"
depends on LEDS_CLASS depends on LEDS_CLASS_FLASH
help help
Select this option if you have a device that follows the Select this option if you have a device that follows the
Greybus LED Class specification. Greybus LED Class specification.
......
...@@ -29,13 +29,9 @@ struct gb_channel { ...@@ -29,13 +29,9 @@ struct gb_channel {
struct attribute_group *attr_group; struct attribute_group *attr_group;
const struct attribute_group **attr_groups; const struct attribute_group **attr_groups;
struct led_classdev *led; struct led_classdev *led;
#if IS_REACHABLE(CONFIG_LEDS_CLASS_FLASH)
struct led_classdev_flash fled; struct led_classdev_flash fled;
struct led_flash_setting intensity_uA; struct led_flash_setting intensity_uA;
struct led_flash_setting timeout_us; struct led_flash_setting timeout_us;
#else
struct led_classdev cled;
#endif
struct gb_light *light; struct gb_light *light;
bool is_registered; bool is_registered;
bool releasing; bool releasing;
...@@ -84,7 +80,6 @@ static bool is_channel_flash(struct gb_channel *channel) ...@@ -84,7 +80,6 @@ static bool is_channel_flash(struct gb_channel *channel)
| GB_CHANNEL_MODE_INDICATOR)); | GB_CHANNEL_MODE_INDICATOR));
} }
#if IS_REACHABLE(CONFIG_LEDS_CLASS_FLASH)
static struct gb_channel *get_channel_from_cdev(struct led_classdev *cdev) static struct gb_channel *get_channel_from_cdev(struct led_classdev *cdev)
{ {
struct led_classdev_flash *fled_cdev = lcdev_to_flcdev(cdev); struct led_classdev_flash *fled_cdev = lcdev_to_flcdev(cdev);
...@@ -153,22 +148,6 @@ static int __gb_lights_flash_brightness_set(struct gb_channel *channel) ...@@ -153,22 +148,6 @@ static int __gb_lights_flash_brightness_set(struct gb_channel *channel)
return __gb_lights_flash_intensity_set(channel, intensity); return __gb_lights_flash_intensity_set(channel, intensity);
} }
#else
static struct gb_channel *get_channel_from_cdev(struct led_classdev *cdev)
{
return container_of(cdev, struct gb_channel, cled);
}
static struct led_classdev *get_channel_cdev(struct gb_channel *channel)
{
return &channel->cled;
}
static int __gb_lights_flash_brightness_set(struct gb_channel *channel)
{
return 0;
}
#endif
static int gb_lights_color_set(struct gb_channel *channel, u32 color); static int gb_lights_color_set(struct gb_channel *channel, u32 color);
static int gb_lights_fade_set(struct gb_channel *channel); static int gb_lights_fade_set(struct gb_channel *channel);
......
...@@ -85,7 +85,6 @@ static inline struct led_classdev_flash *lcdev_to_flcdev( ...@@ -85,7 +85,6 @@ static inline struct led_classdev_flash *lcdev_to_flcdev(
return container_of(lcdev, struct led_classdev_flash, led_cdev); return container_of(lcdev, struct led_classdev_flash, led_cdev);
} }
#if IS_ENABLED(CONFIG_LEDS_CLASS_FLASH)
/** /**
* led_classdev_flash_register_ext - register a new object of LED class with * led_classdev_flash_register_ext - register a new object of LED class with
* init data and with support for flash LEDs * init data and with support for flash LEDs
...@@ -116,29 +115,6 @@ int devm_led_classdev_flash_register_ext(struct device *parent, ...@@ -116,29 +115,6 @@ int devm_led_classdev_flash_register_ext(struct device *parent,
void devm_led_classdev_flash_unregister(struct device *parent, void devm_led_classdev_flash_unregister(struct device *parent,
struct led_classdev_flash *fled_cdev); struct led_classdev_flash *fled_cdev);
#else
static inline int led_classdev_flash_register_ext(struct device *parent,
struct led_classdev_flash *fled_cdev,
struct led_init_data *init_data)
{
return 0;
}
static inline void led_classdev_flash_unregister(struct led_classdev_flash *fled_cdev) {};
static inline int devm_led_classdev_flash_register_ext(struct device *parent,
struct led_classdev_flash *fled_cdev,
struct led_init_data *init_data)
{
return 0;
}
static inline void devm_led_classdev_flash_unregister(struct device *parent,
struct led_classdev_flash *fled_cdev)
{};
#endif /* IS_ENABLED(CONFIG_LEDS_CLASS_FLASH) */
static inline int led_classdev_flash_register(struct device *parent, static inline int led_classdev_flash_register(struct device *parent,
struct led_classdev_flash *fled_cdev) struct led_classdev_flash *fled_cdev)
{ {
......
...@@ -30,7 +30,6 @@ static inline struct led_classdev_mc *lcdev_to_mccdev( ...@@ -30,7 +30,6 @@ static inline struct led_classdev_mc *lcdev_to_mccdev(
return container_of(led_cdev, struct led_classdev_mc, led_cdev); return container_of(led_cdev, struct led_classdev_mc, led_cdev);
} }
#if IS_ENABLED(CONFIG_LEDS_CLASS_MULTICOLOR)
/** /**
* led_classdev_multicolor_register_ext - register a new object of led_classdev * led_classdev_multicolor_register_ext - register a new object of led_classdev
* class with support for multicolor LEDs * class with support for multicolor LEDs
...@@ -64,34 +63,6 @@ int devm_led_classdev_multicolor_register_ext(struct device *parent, ...@@ -64,34 +63,6 @@ int devm_led_classdev_multicolor_register_ext(struct device *parent,
void devm_led_classdev_multicolor_unregister(struct device *parent, void devm_led_classdev_multicolor_unregister(struct device *parent,
struct led_classdev_mc *mcled_cdev); struct led_classdev_mc *mcled_cdev);
#else
static inline int led_classdev_multicolor_register_ext(struct device *parent,
struct led_classdev_mc *mcled_cdev,
struct led_init_data *init_data)
{
return 0;
}
static inline void led_classdev_multicolor_unregister(struct led_classdev_mc *mcled_cdev) {};
static inline int led_mc_calc_color_components(struct led_classdev_mc *mcled_cdev,
enum led_brightness brightness)
{
return 0;
}
static inline int devm_led_classdev_multicolor_register_ext(struct device *parent,
struct led_classdev_mc *mcled_cdev,
struct led_init_data *init_data)
{
return 0;
}
static inline void devm_led_classdev_multicolor_unregister(struct device *parent,
struct led_classdev_mc *mcled_cdev)
{};
#endif /* IS_ENABLED(CONFIG_LEDS_CLASS_MULTICOLOR) */
static inline int led_classdev_multicolor_register(struct device *parent, static inline int led_classdev_multicolor_register(struct device *parent,
struct led_classdev_mc *mcled_cdev) struct led_classdev_mc *mcled_cdev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment