Message ID | 20241111-tcan-standby-v1-2-f9337ebaceea@geanix.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | can: tcan4x5x/m_can: use standby mode when down and in suspend | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Series ignored based on subject |
On 11.11.2024 11:51:24, Sean Nyekjaer wrote: > At Vsup 12V, standby mode will save 7-8mA, when the interface is > down. > > Signed-off-by: Sean Nyekjaer <sean@geanix.com> > --- > drivers/net/can/m_can/tcan4x5x-core.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/net/can/m_can/tcan4x5x-core.c b/drivers/net/can/m_can/tcan4x5x-core.c > index 2f73bf3abad889c222f15c39a3d43de1a1cf5fbb..c8336750cdc276b539dde7555b2510fba0d0da75 100644 > --- a/drivers/net/can/m_can/tcan4x5x-core.c > +++ b/drivers/net/can/m_can/tcan4x5x-core.c > @@ -270,6 +270,17 @@ static int tcan4x5x_init(struct m_can_classdev *cdev) > return ret; > } > > +static int tcan4x5x_deinit(struct m_can_classdev *cdev) > +{ > + struct tcan4x5x_priv *tcan4x5x = cdev_to_priv(cdev); > + int ret = 0; > + > + ret = regmap_update_bits(tcan4x5x->regmap, TCAN4X5X_CONFIG, > + TCAN4X5X_MODE_SEL_MASK, TCAN4X5X_MODE_STANDBY); return regmap_update_bits(); Marc
diff --git a/drivers/net/can/m_can/tcan4x5x-core.c b/drivers/net/can/m_can/tcan4x5x-core.c index 2f73bf3abad889c222f15c39a3d43de1a1cf5fbb..c8336750cdc276b539dde7555b2510fba0d0da75 100644 --- a/drivers/net/can/m_can/tcan4x5x-core.c +++ b/drivers/net/can/m_can/tcan4x5x-core.c @@ -270,6 +270,17 @@ static int tcan4x5x_init(struct m_can_classdev *cdev) return ret; } +static int tcan4x5x_deinit(struct m_can_classdev *cdev) +{ + struct tcan4x5x_priv *tcan4x5x = cdev_to_priv(cdev); + int ret = 0; + + ret = regmap_update_bits(tcan4x5x->regmap, TCAN4X5X_CONFIG, + TCAN4X5X_MODE_SEL_MASK, TCAN4X5X_MODE_STANDBY); + + return ret; +}; + static int tcan4x5x_disable_wake(struct m_can_classdev *cdev) { struct tcan4x5x_priv *tcan4x5x = cdev_to_priv(cdev); @@ -359,6 +370,7 @@ static int tcan4x5x_get_gpios(struct m_can_classdev *cdev, static const struct m_can_ops tcan4x5x_ops = { .init = tcan4x5x_init, + .deinit = tcan4x5x_deinit, .read_reg = tcan4x5x_read_reg, .write_reg = tcan4x5x_write_reg, .write_fifo = tcan4x5x_write_fifo,
At Vsup 12V, standby mode will save 7-8mA, when the interface is down. Signed-off-by: Sean Nyekjaer <sean@geanix.com> --- drivers/net/can/m_can/tcan4x5x-core.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)