On Thu, Apr 30, 2020 at 11:56:01PM EDT, Richard Cochran wrote: >On Wed, Apr 29, 2020 at 08:28:25PM -0400, vincent.cheng.xh@xxxxxxxxxxx wrote: >> @@ -871,6 +880,69 @@ static int idtcm_set_pll_mode(struct idtcm_channel *channel, >> >> + int err; >> + u8 i; >> + u8 buf[4] = {0}; >> + s32 phaseIn50Picoseconds; >> + s64 phaseOffsetInPs; > >Kernel coding style uses lower_case_underscores rather than lowerCamelCase. Sorry, missed that. Will fix. >> + kthread_queue_delayed_work(channel->kworker, >> + &channel->write_phase_ready_work, >> + msecs_to_jiffies(WR_PHASE_SETUP_MS)); > >Each PHC driver automatically has a kworker provided by the class >layer. In order to use it, set ptp_clock_info.do_aux_work to your >callback function and then call ptp_schedule_worker() when needed. > >See drivers/net/ethernet/ti/cpts.c for example. That is nice of the API, thank-you for the example. Will fix and re-submit. Thanks, Vincent