On Sat. 29 June 2024 at 04:56, Jimmy Assarsson <extja@xxxxxxxxxx> wrote: > Add function, kvaser_usb_ticks_to_ktime(), that converts from device ticks > to ktime. > > Signed-off-by: Jimmy Assarsson <extja@xxxxxxxxxx> > --- > drivers/net/can/usb/kvaser_usb/kvaser_usb.h | 8 ++++++++ > drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 2 +- > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/can/usb/kvaser_usb/kvaser_usb.h b/drivers/net/can/usb/kvaser_usb/kvaser_usb.h > index ff10b3790d84..f5868e0b3b23 100644 > --- a/drivers/net/can/usb/kvaser_usb/kvaser_usb.h > +++ b/drivers/net/can/usb/kvaser_usb/kvaser_usb.h > @@ -22,6 +22,8 @@ > */ > > #include <linux/completion.h> > +#include <linux/ktime.h> > +#include <linux/math64.h> > #include <linux/spinlock.h> > #include <linux/types.h> > #include <linux/usb.h> > @@ -216,4 +218,10 @@ int kvaser_usb_can_rx_over_error(struct net_device *netdev); > > extern const struct can_bittiming_const kvaser_usb_flexc_bittiming_const; > > +static inline ktime_t kvaser_usb_ticks_to_ktime(const struct kvaser_usb_dev_cfg *cfg, > + u64 ticks) > +{ > + return ns_to_ktime(div_u64(ticks * 1000, cfg->timestamp_freq)); > +} See my comment on patch 2: also add the timestamp to tick conversion here. > #endif /* KVASER_USB_H */ > diff --git a/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c b/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c > index 28a99d78ba8d..08688514d142 100644 > --- a/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c > +++ b/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c > @@ -553,7 +553,7 @@ static ktime_t kvaser_usb_hydra_ktime_from_cmd(const struct kvaser_usb_dev_cfg * > ticks += (u64)(le16_to_cpu(cmd->tx_ack.timestamp[2])) << 32; > } > > - return ns_to_ktime(div_u64(ticks * 1000, cfg->timestamp_freq)); > + return kvaser_usb_ticks_to_ktime(cfg, ticks); > } > > static int kvaser_usb_hydra_send_simple_cmd(struct kvaser_usb *dev, > -- > 2.45.2 > >