bmips: leds-sercomm-msp430: improve driver
authorÁlvaro Fernández Rojas <noltari@gmail.com>
Thu, 20 Apr 2023 09:09:38 +0000 (11:09 +0200)
committerÁlvaro Fernández Rojas <noltari@gmail.com>
Sun, 23 Apr 2023 10:19:02 +0000 (12:19 +0200)
- Add missing module functions.
- Fix infinite pattern trigger by converting negative values to 0.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
target/linux/bmips/files/drivers/leds/leds-sercomm-msp430.c

index 540914298993d0ed2bbca7c41bc6058473eefe77..d3167de053c0cc42ecccec979ae27dfbeaad76bb 100644 (file)
@@ -212,6 +212,10 @@ static int msp430_pattern_set(struct led_classdev *led_cdev,
        delay0 = msp430_blink_delay(pattern[0].delta_t);
        delay1 = msp430_blink_delay(pattern[1].delta_t);
 
+       /* Infinite pattern */
+       if (repeat < 0)
+               repeat = 0;
+
        /* Pulse: <off> <delay> <max> <delay> */
        if (delay0 == delay1 &&
            pattern[0].brightness == LED_OFF &&
@@ -354,14 +358,15 @@ static int msp430_leds_probe(struct spi_device *spi)
 
 static const struct of_device_id msp430_leds_of_match[] = {
        { .compatible = "sercomm,msp430-leds", },
-       { },
+       { /* sentinel */ },
 };
 MODULE_DEVICE_TABLE(of, msp430_leds_of_match);
 
 static const struct spi_device_id msp430_leds_id_table[] = {
        { "msp430-leds", 0 },
-       { }
+       { /* sentinel */ }
 };
+MODULE_DEVICE_TABLE(spi, msp430_leds_id_table);
 
 static struct spi_driver msp430_leds_driver = {
        .driver = {
@@ -371,7 +376,6 @@ static struct spi_driver msp430_leds_driver = {
        .id_table = msp430_leds_id_table,
        .probe = msp430_leds_probe,
 };
-
 module_spi_driver(msp430_leds_driver);
 
 MODULE_AUTHOR("Álvaro Fernández Rojas <noltari@gmail.com>");