Sebastian,
On 03/10/2019 13:47, Sebastian Reichel wrote:
Hi,
On Thu, Oct 03, 2019 at 10:28:12AM +0200, Jean-Jacques Hiblot wrote:
From: Tomi Valkeinen tomi.valkeinen@ti.com
This patch adds a led-backlight driver (led_bl), which is similar to pwm_bl except the driver uses a LED class driver to adjust the brightness in the HW. Multiple LEDs can be used for a single backlight.
Signed-off-by: Tomi Valkeinen tomi.valkeinen@ti.com Signed-off-by: Jean-Jacques Hiblot jjhiblot@ti.com Acked-by: Pavel Machek pavel@ucw.cz Reviewed-by: Daniel Thompson daniel.thompson@linaro.org
Reviewed-by: Sebastian Reichel sebastian.reichel@collabora.com
(with some suggestions below)
[...]
I suggest to restructure:
call led_sysfs_disable
use devm_add_action_or_reset() to register the led_sysfs_enable loop
use devm_backlight_device_register() to register BL
drop the remove function
- backlight_update_status(priv->bl_dev);
- return 0;
+}
+static int led_bl_remove(struct platform_device *pdev) +{
- struct led_bl_data *priv = platform_get_drvdata(pdev);
- struct backlight_device *bl = priv->bl_dev;
- int i;
- backlight_device_unregister(bl);
- led_bl_power_off(priv);
- for (i = 0; i < priv->nb_leds; i++)
led_sysfs_enable(priv->leds[i]);
- return 0;
+}
+static const struct of_device_id led_bl_of_match[] = {
- { .compatible = "led-backlight" },
- { }
+};
+MODULE_DEVICE_TABLE(of, led_bl_of_match);
+static struct platform_driver led_bl_driver = {
- .driver = {
.name = "led-backlight",
.of_match_table = of_match_ptr(led_bl_of_match),
You should drop of_match_ptr(). Since the driver depends on OF, it will always simply return led_bl_of_match.
(Also after removing the OF dependency from the driver it would either require led_bl_of_match to be marked __maybe_unused or moving it into a #if CONFIG_OF area to avoid warnings.)
Thanks for the suggestions. I think I'll work on them as a separate thing and post them after this is merged if there are no others changes required.
JJ
-- Sebastian
- },
- .probe = led_bl_probe,
- .remove = led_bl_remove,
+};
+module_platform_driver(led_bl_driver);
+MODULE_DESCRIPTION("LED based Backlight Driver"); +MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:led-backlight");
2.17.1
dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel