Re: [PATCH net-next 2/3] ptp: Add adjust_phase to ptp_clock_caps capability.

2020-04-30 Thread Richard Cochran
On Wed, Apr 29, 2020 at 08:28:24PM -0400, vincent.cheng...@renesas.com wrote:
> From: Vincent Cheng 
> 
> Add adjust_phase to ptp_clock_caps capability to allow
> user to query if a PHC driver supports adjust phase with
> ioctl PTP_CLOCK_GETCAPS command.
> 
> Signed-off-by: Vincent Cheng 

Reviewed-by: Richard Cochran 


[PATCH net-next 2/3] ptp: Add adjust_phase to ptp_clock_caps capability.

2020-04-29 Thread vincent.cheng.xh
From: Vincent Cheng 

Add adjust_phase to ptp_clock_caps capability to allow
user to query if a PHC driver supports adjust phase with
ioctl PTP_CLOCK_GETCAPS command.

Signed-off-by: Vincent Cheng 
---
 drivers/ptp/ptp_chardev.c | 1 +
 include/uapi/linux/ptp_clock.h| 4 +++-
 tools/testing/selftests/ptp/testptp.c | 6 --
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/ptp/ptp_chardev.c b/drivers/ptp/ptp_chardev.c
index 93d574f..375cd6e 100644
--- a/drivers/ptp/ptp_chardev.c
+++ b/drivers/ptp/ptp_chardev.c
@@ -136,6 +136,7 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd, 
unsigned long arg)
caps.pps = ptp->info->pps;
caps.n_pins = ptp->info->n_pins;
caps.cross_timestamping = ptp->info->getcrosststamp != NULL;
+   caps.adjust_phase = ptp->info->adjphase != NULL;
if (copy_to_user((void __user *)arg, , sizeof(caps)))
err = -EFAULT;
break;
diff --git a/include/uapi/linux/ptp_clock.h b/include/uapi/linux/ptp_clock.h
index 9dc9d00..ff070aa 100644
--- a/include/uapi/linux/ptp_clock.h
+++ b/include/uapi/linux/ptp_clock.h
@@ -89,7 +89,9 @@ struct ptp_clock_caps {
int n_pins;/* Number of input/output pins. */
/* Whether the clock supports precise system-device cross timestamps */
int cross_timestamping;
-   int rsv[13];   /* Reserved for future use. */
+   /* Whether the clock supports adjust phase */
+   int adjust_phase;
+   int rsv[12];   /* Reserved for future use. */
 };
 
 struct ptp_extts_request {
diff --git a/tools/testing/selftests/ptp/testptp.c 
b/tools/testing/selftests/ptp/testptp.c
index c0dd102..da7a9dd 100644
--- a/tools/testing/selftests/ptp/testptp.c
+++ b/tools/testing/selftests/ptp/testptp.c
@@ -269,14 +269,16 @@ int main(int argc, char *argv[])
   "  %d programmable periodic signals\n"
   "  %d pulse per second\n"
   "  %d programmable pins\n"
-  "  %d cross timestamping\n",
+  "  %d cross timestamping\n"
+  "  %d adjust_phase\n",
   caps.max_adj,
   caps.n_alarm,
   caps.n_ext_ts,
   caps.n_per_out,
   caps.pps,
   caps.n_pins,
-  caps.cross_timestamping);
+  caps.cross_timestamping,
+  caps.adjust_phase);
}
}
 
-- 
2.7.4