aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/dp83640.c
diff options
context:
space:
mode:
authorStefan Sørensen <stefan.sorensen@spectralink.com>2014-06-27 06:05:31 -0400
committerDavid S. Miller <davem@davemloft.net>2014-07-01 21:52:53 -0400
commit6f39eb87de043ce778f584f4ae1b23c6db415a33 (patch)
tree7960dcde7fc810f6b0b5b3cc4e19cf20b84c1265 /drivers/net/phy/dp83640.c
parentad01577aeb92d7cc72bb945aeb28def3749065da (diff)
dp83640: Verify calibration pin assignment
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>
Diffstat (limited to 'drivers/net/phy/dp83640.c')
-rw-r--r--drivers/net/phy/dp83640.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c
index eabecff9b740..ab4811242458 100644
--- a/drivers/net/phy/dp83640.c
+++ b/drivers/net/phy/dp83640.c
@@ -510,6 +510,16 @@ static int ptp_dp83640_enable(struct ptp_clock_info *ptp,
510static int ptp_dp83640_verify(struct ptp_clock_info *ptp, unsigned int pin, 510static int ptp_dp83640_verify(struct ptp_clock_info *ptp, unsigned int pin,
511 enum ptp_pin_function func, unsigned int chan) 511 enum ptp_pin_function func, unsigned int chan)
512{ 512{
513 struct dp83640_clock *clock =
514 container_of(ptp, struct dp83640_clock, caps);
515
516 if (clock->caps.pin_config[pin].func == PTP_PF_PHYSYNC &&
517 !list_empty(&clock->phylist))
518 return 1;
519
520 if (func == PTP_PF_PHYSYNC)
521 return 1;
522
513 return 0; 523 return 0;
514} 524}
515 525