* Introduction The aim of this patch set is to add support for PTP Hardware Clocks (PHCs) into the Linux kernel. The patch series builds upon the dynamic posix clock work appearing in kernel version 2.6.39. Support for obtaining timestamps from a PHC already exists via the SO_TIMESTAMPING socket option, integrated in kernel version 2.6.30. This patch set completes the picture by allow user space programs to adjust the PHC and to control its ancillary features. * Patches for ptpd on sf.net https://sourceforge.net/tracker/?group_id=139814&atid=744634 3225599 [PATCH 1/3] Convert to POSIX clock API. 3225603 [PATCH 2/3] Adapted to use the Linux PTP Hardware Clock API. 3225607 [PATCH 3/3] Adapted to use the newer SO_TIMESTAMPING Linux API. * PHC Patch ChangeLog ** v14 *** general - fixed unregister method to allow a clean module removal - blocked fifo readers no longer prohibit module removal - export skb_clone_tx_timestamp for module use *** phyter - allow mutiple clock/mdio bus instances - fix endian bug in packet matching code for LE host - fix module related null pointer dereference - warn rather than BUG when MAC driver is missing * Why all the CCs? - One driver is for PowerPC, and adds device tree stuff. - One driver is for the ARM Xscale IXP465. * Previous Discussions - [V13] http://lkml.org/lkml/2011/3/27/2 - [V12] http://lkml.org/lkml/2011/2/28/53 - [V11] http://lkml.org/lkml/2011/2/23/107 - [V10] http://lkml.org/lkml/2011/1/27/71 - [V9] http://lkml.org/lkml/2011/1/13/65 - [V8] http://lkml.org/lkml/2010/12/31/128 - [V7] http://lkml.org/lkml/2010/12/16/195 - [V6] http://lkml.org/lkml/2010/9/23/310 - [V5] http://lkml.org/lkml/2010/8/16/90 - Thomas Gleixner: Rework of the PTP support series core code http://lkml.org/lkml/2011/2/1/137 - Dynamic clock devices [RFC] http://lkml.org/lkml/2010/11/4/290 - POSIX clock tuning syscall with dynamic clock ids http://lkml.org/lkml/2010/9/3/119 - POSIX clock tuning syscall with static clock ids http://lkml.org/lkml/2010/8/23/49 - Versions 1-4 appeared on the netdev list. Richard Cochran (4): ptp: Added a brand new class driver for ptp clocks. ptp: Added a clock that uses the eTSEC found on the MPC85xx. ptp: Added a clock driver for the IXP46x. ptp: Added a clock driver for the National Semiconductor PHYTER. Documentation/ABI/testing/sysfs-ptp | 98 ++ .../devicetree/bindings/net/fsl-tsec-phy.txt | 54 + Documentation/ptp/ptp.txt | 89 ++ Documentation/ptp/testptp.c | 368 +++++++ Documentation/ptp/testptp.mk | 33 + arch/arm/mach-ixp4xx/include/mach/ixp46x_ts.h | 78 ++ arch/powerpc/boot/dts/mpc8313erdb.dts | 13 + arch/powerpc/boot/dts/mpc8572ds.dts | 13 + arch/powerpc/boot/dts/p2020ds.dts | 13 + arch/powerpc/boot/dts/p2020rdb.dts | 13 + drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/net/Makefile | 1 + drivers/net/arm/ixp4xx_eth.c | 192 ++++- drivers/net/gianfar_ptp.c | 588 +++++++++++ drivers/net/phy/Makefile | 1 + drivers/net/phy/dp83640.c | 1100 ++++++++++++++++++++ drivers/net/phy/dp83640_reg.h | 267 +++++ drivers/ptp/Kconfig | 75 ++ drivers/ptp/Makefile | 7 + drivers/ptp/ptp_chardev.c | 159 +++ drivers/ptp/ptp_clock.c | 343 ++++++ drivers/ptp/ptp_ixp46x.c | 332 ++++++ drivers/ptp/ptp_private.h | 92 ++ drivers/ptp/ptp_sysfs.c | 230 ++++ include/linux/Kbuild | 1 + include/linux/ptp_clock.h | 84 ++ include/linux/ptp_clock_kernel.h | 139 +++ 28 files changed, 4383 insertions(+), 3 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-ptp create mode 100644 Documentation/ptp/ptp.txt create mode 100644 Documentation/ptp/testptp.c create mode 100644 Documentation/ptp/testptp.mk create mode 100644 arch/arm/mach-ixp4xx/include/mach/ixp46x_ts.h create mode 100644 drivers/net/gianfar_ptp.c create mode 100644 drivers/net/phy/dp83640.c create mode 100644 drivers/net/phy/dp83640_reg.h create mode 100644 drivers/ptp/Kconfig create mode 100644 drivers/ptp/Makefile create mode 100644 drivers/ptp/ptp_chardev.c create mode 100644 drivers/ptp/ptp_clock.c create mode 100644 drivers/ptp/ptp_ixp46x.c create mode 100644 drivers/ptp/ptp_private.h create mode 100644 drivers/ptp/ptp_sysfs.c create mode 100644 include/linux/ptp_clock.h create mode 100644 include/linux/ptp_clock_kernel.h -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html