can: mcp251xfd: mcp251xfd_chip_timestamp_init(): factor out into separate function
authorMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 16 Oct 2020 16:02:15 +0000 (18:02 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Thu, 24 Feb 2022 07:46:58 +0000 (08:46 +0100)
This patch factors out the timestamp initialization from the clock
initialization.

This is a preparation patch for the PLL support, where clock and
timestamp init must be done separately.

Link: https://lore.kernel.org/all/20220207131047.282110-11-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c

index 9b94272da8bc06173468389f19e0f0a96f03decc..bc10ca1e7384093c3074b58c6a2a63b80db521fb 100644 (file)
@@ -421,6 +421,11 @@ static int mcp251xfd_chip_clock_init(const struct mcp251xfd_priv *priv)
        if (err)
                return err;
 
+       return 0;
+}
+
+static int mcp251xfd_chip_timestamp_init(const struct mcp251xfd_priv *priv)
+{
        /* Set Time Base Counter Prescaler to 1.
         *
         * This means an overflow of the 32 bit Time Base Counter
@@ -683,6 +688,10 @@ static int mcp251xfd_chip_start(struct mcp251xfd_priv *priv)
        if (err)
                goto out_chip_stop;
 
+       err = mcp251xfd_chip_timestamp_init(priv);
+       if (err)
+               goto out_chip_stop;
+
        err = mcp251xfd_set_bittiming(priv);
        if (err)
                goto out_chip_stop;