* Introduction The aim of this patch set is to add support for PTP Hardware Clocks (PHCs) into the Linux kernel. * PTP Patch ChangeLog ** v8 - incorporates Arnd Bergmann's and Thomas Gleixner's comments from v7 - use John Stultz's timekeeping_inject_offset in do_adjtimex() - adds new syscall clock_adjtime to each arch individually - cleaned up the CLOCK_DISPATCH mess - redsigned posix_clock_operations: . remove compat_ioctl . flatten clock ops and chardev ops into one structure . drivers use container_of to get private data - removed unused and useless code from posix-clock.c|h - moved posix-clock syscall prototypes into private header - moved extern declaration from c source file into header - ptp drivers use container_of to get private data * Previous Discussions This patch set previously appeared on the netdev list. Since V5 of the character device patch set, the discussion has moved to the lkml. - IEEE 1588 hardware clock support [V5] http://lkml.org/lkml/2010/8/16/90 - POSIX clock tuning syscall with static clock ids http://lkml.org/lkml/2010/8/23/49 - POSIX clock tuning syscall with dynamic clock ids http://lkml.org/lkml/2010/9/3/119 - IEEE 1588 hardware clock support [V6] http://lkml.org/lkml/2010/9/23/310 - Dynamic clock devices [RFC] http://lkml.org/lkml/2010/11/4/290 - IEEE 1588 hardware clock support [V7] http://lkml.org/lkml/2010/12/16/195 John Stultz (1): time: Introduce timekeeping_inject_offset Richard Cochran (12): ntp: add ADJ_SETOFFSET mode bit posix clocks: introduce a syscall for clock tuning. posix_clocks: add clock_adjtime for arm posix_clocks: add clock_adjtime for blackfin posix_clocks: add clock_adjtime for powerpc posix_clocks: add clock_adjtime for x86 posix clocks: cleanup the CLOCK_DISPTACH macro posix clocks: introduce dynamic clocks 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 | 97 +++ Documentation/powerpc/dts-bindings/fsl/tsec.txt | 57 ++ Documentation/ptp/ptp.txt | 93 +++ Documentation/ptp/testptp.c | 352 +++++++++ Documentation/ptp/testptp.mk | 33 + arch/arm/include/asm/unistd.h | 1 + arch/arm/kernel/calls.S | 1 + arch/arm/mach-ixp4xx/include/mach/ixp46x_ts.h | 78 ++ arch/blackfin/include/asm/unistd.h | 3 +- arch/blackfin/mach-common/entry.S | 1 + arch/powerpc/boot/dts/mpc8313erdb.dts | 14 + arch/powerpc/boot/dts/mpc8572ds.dts | 14 + arch/powerpc/boot/dts/p2020ds.dts | 14 + arch/powerpc/boot/dts/p2020rdb.dts | 14 + arch/powerpc/include/asm/systbl.h | 1 + arch/powerpc/include/asm/unistd.h | 3 +- arch/x86/ia32/ia32entry.S | 1 + arch/x86/include/asm/unistd_32.h | 3 +- arch/x86/include/asm/unistd_64.h | 2 + arch/x86/kernel/syscall_table_32.S | 1 + drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/char/mmtimer.c | 1 + drivers/net/Makefile | 1 + drivers/net/arm/ixp4xx_eth.c | 191 +++++ drivers/net/gianfar_ptp.c | 448 +++++++++++ drivers/net/gianfar_ptp_reg.h | 113 +++ drivers/net/phy/Kconfig | 29 + drivers/net/phy/Makefile | 1 + drivers/net/phy/dp83640.c | 896 +++++++++++++++++++++++ drivers/net/phy/dp83640_reg.h | 261 +++++++ drivers/ptp/Kconfig | 53 ++ drivers/ptp/Makefile | 7 + drivers/ptp/ptp_chardev.c | 146 ++++ drivers/ptp/ptp_clock.c | 318 ++++++++ drivers/ptp/ptp_ixp46x.c | 344 +++++++++ drivers/ptp/ptp_private.h | 86 +++ drivers/ptp/ptp_sysfs.c | 226 ++++++ include/linux/Kbuild | 1 + include/linux/posix-clock.h | 137 ++++ include/linux/posix-timers.h | 23 +- include/linux/ptp_clock.h | 79 ++ include/linux/ptp_clock_kernel.h | 141 ++++ include/linux/syscalls.h | 2 + include/linux/time.h | 3 + include/linux/timex.h | 3 +- kernel/compat.c | 136 +++-- kernel/posix-cpu-timers.c | 6 + kernel/posix-timers.c | 279 ++++++-- kernel/time/Makefile | 3 +- kernel/time/ntp.c | 11 + kernel/time/posix-clock-syscalls.h | 39 + kernel/time/posix-clock.c | 454 ++++++++++++ kernel/time/timekeeping.c | 36 + 54 files changed, 5163 insertions(+), 97 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/gianfar_ptp_reg.h 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/posix-clock.h create mode 100644 include/linux/ptp_clock.h create mode 100644 include/linux/ptp_clock_kernel.h create mode 100644 kernel/time/posix-clock-syscalls.h create mode 100644 kernel/time/posix-clock.c -- 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