diff options
author | Richard Cochran <richardcochran@gmail.com> | 2012-09-22 03:02:01 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-09-22 15:41:29 -0400 |
commit | 39a8cbd9ca051fb164db70315e7972de5c153c33 (patch) | |
tree | c273bdec9420a47bf34a6e8985b102481d41bca3 /drivers/ptp | |
parent | 717ecc276dadf31cd858d4e56ac71c3cc479fc19 (diff) |
ptp: remember the adjusted frequency
This patch adds a field to the representation of a PTP hardware clock in
order to remember the frequency adjustment value dialed by the user.
Adding this field will let us answer queries in the manner of adjtimex
in a follow on patch.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/ptp')
-rw-r--r-- | drivers/ptp/ptp_clock.c | 1 | ||||
-rw-r--r-- | drivers/ptp/ptp_private.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c index 966875dcda56..67e628ee0365 100644 --- a/drivers/ptp/ptp_clock.c +++ b/drivers/ptp/ptp_clock.c | |||
@@ -147,6 +147,7 @@ static int ptp_clock_adjtime(struct posix_clock *pc, struct timex *tx) | |||
147 | } else if (tx->modes & ADJ_FREQUENCY) { | 147 | } else if (tx->modes & ADJ_FREQUENCY) { |
148 | 148 | ||
149 | err = ops->adjfreq(ops, scaled_ppm_to_ppb(tx->freq)); | 149 | err = ops->adjfreq(ops, scaled_ppm_to_ppb(tx->freq)); |
150 | ptp->dialed_frequency = tx->freq; | ||
150 | } | 151 | } |
151 | 152 | ||
152 | return err; | 153 | return err; |
diff --git a/drivers/ptp/ptp_private.h b/drivers/ptp/ptp_private.h index 4d5b5082c3b1..69d32070cc65 100644 --- a/drivers/ptp/ptp_private.h +++ b/drivers/ptp/ptp_private.h | |||
@@ -45,6 +45,7 @@ struct ptp_clock { | |||
45 | dev_t devid; | 45 | dev_t devid; |
46 | int index; /* index into clocks.map */ | 46 | int index; /* index into clocks.map */ |
47 | struct pps_device *pps_source; | 47 | struct pps_device *pps_source; |
48 | long dialed_frequency; /* remembers the frequency adjustment */ | ||
48 | struct timestamp_event_queue tsevq; /* simple fifo for time stamps */ | 49 | struct timestamp_event_queue tsevq; /* simple fifo for time stamps */ |
49 | struct mutex tsevq_mux; /* one process at a time reading the fifo */ | 50 | struct mutex tsevq_mux; /* one process at a time reading the fifo */ |
50 | wait_queue_head_t tsev_wq; | 51 | wait_queue_head_t tsev_wq; |