bmips: leds-sercomm-msp430: improve driver

- Add missing module functions.
- Fix infinite pattern trigger by converting negative values to 0.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
Álvaro Fernández Rojas 2023-04-20 11:09:38 +02:00
parent f6f4db6e4d
commit 7f285b9c1d

View File

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