* [PATCH] can: add combined rx/tx LED trigger support
@ 2015-03-13 15:16 yegorslists
2015-03-13 15:20 ` Marc Kleine-Budde
0 siblings, 1 reply; 2+ messages in thread
From: yegorslists @ 2015-03-13 15:16 UTC (permalink / raw)
To: linux-can; +Cc: fabio.baltieri, socketcan, mkl, Yegor Yefremov
From: Yegor Yefremov <yegorslists@googlemail.com>
Add <ifname>-rxtx trigger, that will be activated both for tx
as rx events. This trigger mimics "activity" LED for Ethernet
devices.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
drivers/net/can/led.c | 14 ++++++++++++--
include/linux/can/dev.h | 2 ++
include/linux/can/led.h | 2 +-
3 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/drivers/net/can/led.c b/drivers/net/can/led.c
index ab7f1b0..56d940a 100644
--- a/drivers/net/can/led.c
+++ b/drivers/net/can/led.c
@@ -36,14 +36,20 @@ void can_led_event(struct net_device *netdev, enum can_led_event event)
led_trigger_event(priv->rx_led_trig, LED_OFF);
break;
case CAN_LED_EVENT_TX:
- if (led_delay)
+ if (led_delay) {
led_trigger_blink_oneshot(priv->tx_led_trig,
&led_delay, &led_delay, 1);
+ led_trigger_blink_oneshot(priv->rxtx_led_trig,
+ &led_delay, &led_delay, 1);
+ }
break;
case CAN_LED_EVENT_RX:
- if (led_delay)
+ if (led_delay) {
led_trigger_blink_oneshot(priv->rx_led_trig,
&led_delay, &led_delay, 1);
+ led_trigger_blink_oneshot(priv->rxtx_led_trig,
+ &led_delay, &led_delay, 1);
+ }
break;
}
}
@@ -76,11 +82,15 @@ void devm_can_led_init(struct net_device *netdev)
"%s-tx", netdev->name);
snprintf(priv->rx_led_trig_name, sizeof(priv->rx_led_trig_name),
"%s-rx", netdev->name);
+ snprintf(priv->rxtx_led_trig_name, sizeof(priv->rxtx_led_trig_name),
+ "%s-rxtx", netdev->name);
led_trigger_register_simple(priv->tx_led_trig_name,
&priv->tx_led_trig);
led_trigger_register_simple(priv->rx_led_trig_name,
&priv->rx_led_trig);
+ led_trigger_register_simple(priv->rxtx_led_trig_name,
+ &priv->rxtx_led_trig);
devres_add(&netdev->dev, res);
}
diff --git a/include/linux/can/dev.h b/include/linux/can/dev.h
index c05ff0f..c3a9c8f 100644
--- a/include/linux/can/dev.h
+++ b/include/linux/can/dev.h
@@ -61,6 +61,8 @@ struct can_priv {
char tx_led_trig_name[CAN_LED_NAME_SZ];
struct led_trigger *rx_led_trig;
char rx_led_trig_name[CAN_LED_NAME_SZ];
+ struct led_trigger *rxtx_led_trig;
+ char rxtx_led_trig_name[CAN_LED_NAME_SZ];
#endif
};
diff --git a/include/linux/can/led.h b/include/linux/can/led.h
index e0475c5..c60f542 100644
--- a/include/linux/can/led.h
+++ b/include/linux/can/led.h
@@ -22,7 +22,7 @@ enum can_led_event {
#ifdef CONFIG_CAN_LEDS
/* keep space for interface name + "-tx"/"-rx" suffix and null terminator */
-#define CAN_LED_NAME_SZ (IFNAMSIZ + 4)
+#define CAN_LED_NAME_SZ (IFNAMSIZ + 6)
void can_led_event(struct net_device *netdev, enum can_led_event event);
void devm_can_led_init(struct net_device *netdev);
--
1.7.7
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] can: add combined rx/tx LED trigger support
2015-03-13 15:16 [PATCH] can: add combined rx/tx LED trigger support yegorslists
@ 2015-03-13 15:20 ` Marc Kleine-Budde
0 siblings, 0 replies; 2+ messages in thread
From: Marc Kleine-Budde @ 2015-03-13 15:20 UTC (permalink / raw)
To: yegorslists, linux-can; +Cc: fabio.baltieri, socketcan
[-- Attachment #1: Type: text/plain, Size: 3407 bytes --]
On 03/13/2015 04:16 PM, yegorslists@googlemail.com wrote:
> From: Yegor Yefremov <yegorslists@googlemail.com>
>
> Add <ifname>-rxtx trigger, that will be activated both for tx
> as rx events. This trigger mimics "activity" LED for Ethernet
> devices.
>
> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
> ---
> drivers/net/can/led.c | 14 ++++++++++++--
> include/linux/can/dev.h | 2 ++
> include/linux/can/led.h | 2 +-
> 3 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/can/led.c b/drivers/net/can/led.c
> index ab7f1b0..56d940a 100644
> --- a/drivers/net/can/led.c
> +++ b/drivers/net/can/led.c
> @@ -36,14 +36,20 @@ void can_led_event(struct net_device *netdev, enum can_led_event event)
> led_trigger_event(priv->rx_led_trig, LED_OFF);
> break;
> case CAN_LED_EVENT_TX:
> - if (led_delay)
> + if (led_delay) {
> led_trigger_blink_oneshot(priv->tx_led_trig,
> &led_delay, &led_delay, 1);
> + led_trigger_blink_oneshot(priv->rxtx_led_trig,
> + &led_delay, &led_delay, 1);
> + }
> break;
> case CAN_LED_EVENT_RX:
> - if (led_delay)
> + if (led_delay) {
> led_trigger_blink_oneshot(priv->rx_led_trig,
> &led_delay, &led_delay, 1);
> + led_trigger_blink_oneshot(priv->rxtx_led_trig,
> + &led_delay, &led_delay, 1);
> + }
> break;
> }
> }
> @@ -76,11 +82,15 @@ void devm_can_led_init(struct net_device *netdev)
> "%s-tx", netdev->name);
> snprintf(priv->rx_led_trig_name, sizeof(priv->rx_led_trig_name),
> "%s-rx", netdev->name);
> + snprintf(priv->rxtx_led_trig_name, sizeof(priv->rxtx_led_trig_name),
> + "%s-rxtx", netdev->name);
>
> led_trigger_register_simple(priv->tx_led_trig_name,
> &priv->tx_led_trig);
> led_trigger_register_simple(priv->rx_led_trig_name,
> &priv->rx_led_trig);
> + led_trigger_register_simple(priv->rxtx_led_trig_name,
> + &priv->rxtx_led_trig);
>
> devres_add(&netdev->dev, res);
> }
> diff --git a/include/linux/can/dev.h b/include/linux/can/dev.h
> index c05ff0f..c3a9c8f 100644
> --- a/include/linux/can/dev.h
> +++ b/include/linux/can/dev.h
> @@ -61,6 +61,8 @@ struct can_priv {
> char tx_led_trig_name[CAN_LED_NAME_SZ];
> struct led_trigger *rx_led_trig;
> char rx_led_trig_name[CAN_LED_NAME_SZ];
> + struct led_trigger *rxtx_led_trig;
> + char rxtx_led_trig_name[CAN_LED_NAME_SZ];
> #endif
> };
>
> diff --git a/include/linux/can/led.h b/include/linux/can/led.h
> index e0475c5..c60f542 100644
> --- a/include/linux/can/led.h
> +++ b/include/linux/can/led.h
> @@ -22,7 +22,7 @@ enum can_led_event {
> #ifdef CONFIG_CAN_LEDS
>
> /* keep space for interface name + "-tx"/"-rx" suffix and null terminator */
^^^^^^^^^^^
Nitpick: can you update the comment.
> -#define CAN_LED_NAME_SZ (IFNAMSIZ + 4)
> +#define CAN_LED_NAME_SZ (IFNAMSIZ + 6)
>
> void can_led_event(struct net_device *netdev, enum can_led_event event);
> void devm_can_led_init(struct net_device *netdev);
>
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-03-13 15:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-13 15:16 [PATCH] can: add combined rx/tx LED trigger support yegorslists
2015-03-13 15:20 ` Marc Kleine-Budde
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.