This constraints the pin assignment to not allow the calibration function to
be reassigned and only allow reassigning the calibratin pin if only one phy is
connected.
Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 static int ptp_dp83640_verify(struct ptp_clock_info *ptp, unsigned int pin,
                              enum ptp_pin_function func, unsigned int chan)
 {
+       struct dp83640_clock *clock =
+               container_of(ptp, struct dp83640_clock, caps);
+
+       if (clock->caps.pin_config[pin].func == PTP_PF_PHYSYNC &&
+           !list_empty(&clock->phylist))
+               return 1;
+
+       if (func == PTP_PF_PHYSYNC)
+               return 1;
+
        return 0;
 }