lkml.org 
[lkml]   [2015]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH net-next V3 18/23] ptp: cpts: convert to the 64 bit get/set time methods.
    Date
    This driver's clock is implemented using a timecounter, and so with
    this patch the driver is ready for the year 2038.

    Compile tested only.

    Signed-off-by: Richard Cochran <richardcochran@gmail.com>
    ---
    drivers/net/ethernet/ti/cpts.c | 12 ++++++------
    1 file changed, 6 insertions(+), 6 deletions(-)

    diff --git a/drivers/net/ethernet/ti/cpts.c b/drivers/net/ethernet/ti/cpts.c
    index fbe42cb..074b636 100644
    --- a/drivers/net/ethernet/ti/cpts.c
    +++ b/drivers/net/ethernet/ti/cpts.c
    @@ -167,7 +167,7 @@ static int cpts_ptp_adjtime(struct ptp_clock_info *ptp, s64 delta)
    return 0;
    }

    -static int cpts_ptp_gettime(struct ptp_clock_info *ptp, struct timespec *ts)
    +static int cpts_ptp_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts)
    {
    u64 ns;
    u32 remainder;
    @@ -185,7 +185,7 @@ static int cpts_ptp_gettime(struct ptp_clock_info *ptp, struct timespec *ts)
    }

    static int cpts_ptp_settime(struct ptp_clock_info *ptp,
    - const struct timespec *ts)
    + const struct timespec64 *ts)
    {
    u64 ns;
    unsigned long flags;
    @@ -216,20 +216,20 @@ static struct ptp_clock_info cpts_info = {
    .pps = 0,
    .adjfreq = cpts_ptp_adjfreq,
    .adjtime = cpts_ptp_adjtime,
    - .gettime = cpts_ptp_gettime,
    - .settime = cpts_ptp_settime,
    + .gettime64 = cpts_ptp_gettime,
    + .settime64 = cpts_ptp_settime,
    .enable = cpts_ptp_enable,
    };

    static void cpts_overflow_check(struct work_struct *work)
    {
    - struct timespec ts;
    + struct timespec64 ts;
    struct cpts *cpts = container_of(work, struct cpts, overflow_work.work);

    cpts_write32(cpts, CPTS_EN, control);
    cpts_write32(cpts, TS_PEND_EN, int_enable);
    cpts_ptp_gettime(&cpts->info, &ts);
    - pr_debug("cpts overflow check at %ld.%09lu\n", ts.tv_sec, ts.tv_nsec);
    + pr_debug("cpts overflow check at %lld.%09lu\n", ts.tv_sec, ts.tv_nsec);
    schedule_delayed_work(&cpts->overflow_work, CPTS_OVERFLOW_PERIOD);
    }

    --
    1.7.10.4


    \
     
     \ /
      Last update: 2015-03-29 23:41    [W:4.169 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site