25 Jul, 2018

1 commit

  • [ Upstream commit 9ba8376ce1e2cbf4ce44f7e4bee1d0648e10d594 ]

    It seems that a *break* is missing in order to avoid falling through
    to the default case. Otherwise, checking *chan* makes no sense.

    Fixes: 72df7a7244c0 ("ptp: Allow reassigning calibration pin function")
    Signed-off-by: Gustavo A. R. Silva
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Gustavo A. R. Silva
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

23 Aug, 2017

1 commit

  • Make these const as they are only used in a copy operation.
    Done using Coccinelle.

    @match disable optional_qualifier@
    identifier s;
    @@
    static struct ptp_clock_info s = {...};

    @ref@
    position p;
    identifier match.s;
    @@
    s@p

    @good1@
    position ref.p;
    identifier match.s,f,c;
    expression e;
    @@
    (
    e = s@p
    |
    e = s@p.f
    |
    c(...,s@p.f,...)
    |
    c(...,s@p,...)
    )

    @bad depends on !good1@
    position ref.p;
    identifier match.s;
    @@
    s@p

    @depends on forall !bad disable optional_qualifier@
    identifier match.s;
    @@
    static
    + const
    struct ptp_clock_info s;

    Signed-off-by: Bhumika Goyal
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Bhumika Goyal
     

02 Aug, 2017

1 commit

  • Many PTP drivers required to perform some asynchronous or periodic work,
    like periodically handling PHC counter overflow or handle delayed timestamp
    for RX/TX network packets. In most of the cases, such work is implemented
    using workqueues. Unfortunately, Kernel workqueues might introduce
    significant delay in work scheduling under high system load and on -RT,
    which could cause misbehavior of PTP drivers due to internal counter
    overflow, for example, and there is no way to tune its execution policy and
    priority manuallly.

    Hence, The kthread_worker can be used insted of workqueues, as it create
    separte named kthread for each worker and its its execution policy and
    priority can be configured using chrt tool.

    This prblem was reported for two drivers TI CPSW CPTS and dp83640, so
    instead of modifying each of these driver it was proposed to add PTP
    auxiliary worker to the PHC subsystem.

    The patch adds PTP auxiliary worker in PHC subsystem using kthread_worker
    and kthread_delayed_work and introduces two new PHC subsystem APIs:

    - long (*do_aux_work)(struct ptp_clock_info *ptp) callback in
    ptp_clock_info structure, which driver should assign if it require to
    perform asynchronous or periodic work. Driver should return the delay of
    the PTP next auxiliary work scheduling time (>=0) or negative value in case
    further scheduling is not required.

    - int ptp_schedule_worker(struct ptp_clock *ptp, unsigned long delay) which
    allows schedule PTP auxiliary work.

    The name of kthread_worker thread corresponds PTP PHC device name "ptp%d".

    Signed-off-by: Grygorii Strashko
    Signed-off-by: David S. Miller

    Grygorii Strashko
     

06 Jul, 2017

1 commit

  • With gcc 4.1.2:

    drivers/ptp/ptp_dte.c: In function ‘dte_write_nco_delta’:
    drivers/ptp/ptp_dte.c:105: warning: integer constant is too large for ‘long’ type
    drivers/ptp/ptp_dte.c:112: warning: integer constant is too large for ‘long’ type
    drivers/ptp/ptp_dte.c:114: warning: integer constant is too large for ‘long’ type

    Add the missing "LL" suffix to fix this.

    Fixes: 8a56aa107f1e8123 ("ptp: Add a ptp clock driver for Broadcom DTE")
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: David S. Miller

    Geert Uytterhoeven
     

16 Jun, 2017

1 commit


02 May, 2017

1 commit

  • Pull timer updates from Thomas Gleixner:
    "The timer departement delivers:

    - more year 2038 rework

    - a massive rework of the arm achitected timer

    - preparatory patches to allow NTP correction of clock event devices
    to avoid early expiry

    - the usual pile of fixes and enhancements all over the place"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (91 commits)
    timer/sysclt: Restrict timer migration sysctl values to 0 and 1
    arm64/arch_timer: Mark errata handlers as __maybe_unused
    Clocksource/mips-gic: Remove redundant non devicetree init
    MIPS/Malta: Probe gic-timer via devicetree
    clocksource: Use GENMASK_ULL in definition of CLOCKSOURCE_MASK
    acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver
    clocksource: arm_arch_timer: add GTDT support for memory-mapped timer
    acpi/arm64: Add memory-mapped timer support in GTDT driver
    clocksource: arm_arch_timer: simplify ACPI support code.
    acpi/arm64: Add GTDT table parse driver
    clocksource: arm_arch_timer: split MMIO timer probing.
    clocksource: arm_arch_timer: add structs to describe MMIO timer
    clocksource: arm_arch_timer: move arch_timer_needs_of_probing into DT init call
    clocksource: arm_arch_timer: refactor arch_timer_needs_probing
    clocksource: arm_arch_timer: split dt-only rate handling
    x86/uv/time: Set ->min_delta_ticks and ->max_delta_ticks
    unicore32/time: Set ->min_delta_ticks and ->max_delta_ticks
    um/time: Set ->min_delta_ticks and ->max_delta_ticks
    tile/time: Set ->min_delta_ticks and ->max_delta_ticks
    score/time: Set ->min_delta_ticks and ->max_delta_ticks
    ...

    Linus Torvalds
     

15 Apr, 2017

1 commit

  • struct timespec is not y2038 safe on 32 bit machines.

    The posix clocks apis use struct timespec directly and through struct
    itimerspec.

    Replace the posix clock interfaces to use struct timespec64 and struct
    itimerspec64 instead. Also fix up their implementations accordingly.

    Note that the clock_getres() interface has also been changed to use
    timespec64 even though this particular interface is not affected by the
    y2038 problem. This helps verification for internal kernel code for y2038
    readiness by getting rid of time_t/ timeval/ timespec.

    Signed-off-by: Deepa Dinamani
    Cc: arnd@arndb.de
    Cc: y2038@lists.linaro.org
    Cc: netdev@vger.kernel.org
    Cc: Richard Cochran
    Cc: john.stultz@linaro.org
    Link: http://lkml.kernel.org/r/1490555058-4603-3-git-send-email-deepa.kernel@gmail.com
    Signed-off-by: Thomas Gleixner

    Deepa Dinamani
     

20 Mar, 2017

1 commit

  • drivers/ptp/ptp_kvm.c:229:1-3: WARNING: PTR_ERR_OR_ZERO can be used

    Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR

    Generated by: scripts/coccinelle/api/ptr_ret.cocci

    CC: Marcelo Tosatti
    Signed-off-by: Fengguang Wu
    Signed-off-by: Radim Krčmář

    kbuild test robot
     

23 Feb, 2017

1 commit

  • Pull KVM updates from Paolo Bonzini:
    "4.11 is going to be a relatively large release for KVM, with a little
    over 200 commits and noteworthy changes for most architectures.

    ARM:
    - GICv3 save/restore
    - cache flushing fixes
    - working MSI injection for GICv3 ITS
    - physical timer emulation

    MIPS:
    - various improvements under the hood
    - support for SMP guests
    - a large rewrite of MMU emulation. KVM MIPS can now use MMU
    notifiers to support copy-on-write, KSM, idle page tracking,
    swapping, ballooning and everything else. KVM_CAP_READONLY_MEM is
    also supported, so that writes to some memory regions can be
    treated as MMIO. The new MMU also paves the way for hardware
    virtualization support.

    PPC:
    - support for POWER9 using the radix-tree MMU for host and guest
    - resizable hashed page table
    - bugfixes.

    s390:
    - expose more features to the guest
    - more SIMD extensions
    - instruction execution protection
    - ESOP2

    x86:
    - improved hashing in the MMU
    - faster PageLRU tracking for Intel CPUs without EPT A/D bits
    - some refactoring of nested VMX entry/exit code, preparing for live
    migration support of nested hypervisors
    - expose yet another AVX512 CPUID bit
    - host-to-guest PTP support
    - refactoring of interrupt injection, with some optimizations thrown
    in and some duct tape removed.
    - remove lazy FPU handling
    - optimizations of user-mode exits
    - optimizations of vcpu_is_preempted() for KVM guests

    generic:
    - alternative signaling mechanism that doesn't pound on
    tsk->sighand->siglock"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (195 commits)
    x86/kvm: Provide optimized version of vcpu_is_preempted() for x86-64
    x86/paravirt: Change vcp_is_preempted() arg type to long
    KVM: VMX: use correct vmcs_read/write for guest segment selector/base
    x86/kvm/vmx: Defer TR reload after VM exit
    x86/asm/64: Drop __cacheline_aligned from struct x86_hw_tss
    x86/kvm/vmx: Simplify segment_base()
    x86/kvm/vmx: Get rid of segment_base() on 64-bit kernels
    x86/kvm/vmx: Don't fetch the TSS base from the GDT
    x86/asm: Define the kernel TSS limit in a macro
    kvm: fix page struct leak in handle_vmon
    KVM: PPC: Book3S HV: Disable HPT resizing on POWER9 for now
    KVM: Return an error code only as a constant in kvm_get_dirty_log()
    KVM: Return an error code only as a constant in kvm_get_dirty_log_protect()
    KVM: Return directly after a failed copy_from_user() in kvm_vm_compat_ioctl()
    KVM: x86: remove code for lazy FPU handling
    KVM: race-free exit from KVM_RUN without POSIX signals
    KVM: PPC: Book3S HV: Turn "KVM guest htab" message into a debug message
    KVM: PPC: Book3S PR: Ratelimit copy data failure error messages
    KVM: Support vCPU-based gfn->hva cache
    KVM: use separate generations for each address space
    ...

    Linus Torvalds
     

18 Feb, 2017

4 commits


17 Feb, 2017

1 commit


09 Feb, 2017

1 commit

  • Add a driver with gettime method returning hosts realtime clock.
    This allows Chrony to synchronize host and guest clocks with
    high precision (see results below).

    chronyc> sources
    MS Name/IP address Stratum Poll Reach LastRx Last sample
    ===============================================================================

    To configure Chronyd to use PHC refclock, add the
    following line to its configuration file:

    refclock PHC /dev/ptpX poll 3 dpoll -2 offset 0

    Where /dev/ptpX is the kvmclock PTP clock.

    Signed-off-by: Marcelo Tosatti
    Acked-by: Richard Cochran
    Signed-off-by: Paolo Bonzini

    Marcelo Tosatti
     

13 Dec, 2016

1 commit

  • Pull timer updates from Thomas Gleixner:
    "The time/timekeeping/timer folks deliver with this update:

    - Fix a reintroduced signed/unsigned issue and cleanup the whole
    signed/unsigned mess in the timekeeping core so this wont happen
    accidentaly again.

    - Add a new trace clock based on boot time

    - Prevent injection of random sleep times when PM tracing abuses the
    RTC for storage

    - Make posix timers configurable for real tiny systems

    - Add tracepoints for the alarm timer subsystem so timer based
    suspend wakeups can be instrumented

    - The usual pile of fixes and updates to core and drivers"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    timekeeping: Use mul_u64_u32_shr() instead of open coding it
    timekeeping: Get rid of pointless typecasts
    timekeeping: Make the conversion call chain consistently unsigned
    timekeeping_Force_unsigned_clocksource_to_nanoseconds_conversion
    alarmtimer: Add tracepoints for alarm timers
    trace: Update documentation for mono, mono_raw and boot clock
    trace: Add an option for boot clock as trace clock
    timekeeping: Add a fast and NMI safe boot clock
    timekeeping/clocksource_cyc2ns: Document intended range limitation
    timekeeping: Ignore the bogus sleep time if pm_trace is enabled
    selftests/timers: Fix spelling mistake "Asyncrhonous" -> "Asynchronous"
    clocksource/drivers/bcm2835_timer: Unmap region obtained by of_iomap
    clocksource/drivers/arm_arch_timer: Map frame with of_io_request_and_map()
    arm64: dts: rockchip: Arch counter doesn't tick in system suspend
    clocksource/drivers/arm_arch_timer: Don't assume clock runs in suspend
    posix-timers: Make them configurable
    posix_cpu_timers: Move the add_device_randomness() call to a proper place
    timer: Move sys_alarm from timer.c to itimer.c
    ptp_clock: Allow for it to be optional
    Kconfig: Regenerate *.c_shipped files after previous changes
    ...

    Linus Torvalds
     

16 Nov, 2016

2 commits

  • Some embedded systems have no use for them. This removes about
    25KB from the kernel binary size when configured out.

    Corresponding syscalls are routed to a stub logging the attempt to
    use those syscalls which should be enough of a clue if they were
    disabled without proper consideration. They are: timer_create,
    timer_gettime: timer_getoverrun, timer_settime, timer_delete,
    clock_adjtime, setitimer, getitimer, alarm.

    The clock_settime, clock_gettime, clock_getres and clock_nanosleep
    syscalls are replaced by simple wrappers compatible with CLOCK_REALTIME,
    CLOCK_MONOTONIC and CLOCK_BOOTTIME only which should cover the vast
    majority of use cases with very little code.

    Signed-off-by: Nicolas Pitre
    Acked-by: Richard Cochran
    Acked-by: Thomas Gleixner
    Acked-by: John Stultz
    Reviewed-by: Josh Triplett
    Cc: Paul Bolle
    Cc: linux-kbuild@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Cc: Michal Marek
    Cc: Edward Cree
    Link: http://lkml.kernel.org/r/1478841010-28605-7-git-send-email-nicolas.pitre@linaro.org
    Signed-off-by: Thomas Gleixner

    Nicolas Pitre
     
  • In order to break the hard dependency between the PTP clock subsystem and
    ethernet drivers capable of being clock providers, this patch provides
    simple PTP stub functions to allow linkage of those drivers into the
    kernel even when the PTP subsystem is configured out. Drivers must be
    ready to accept NULL from ptp_clock_register() in that case.

    And to make it possible for PTP to be configured out, the select statement
    in those driver's Kconfig menu entries is converted to the new "imply"
    statement. This way the PTP subsystem may have Kconfig dependencies of
    its own, such as POSIX_TIMERS, without having to make those ethernet
    drivers unavailable if POSIX timers are cconfigured out. And when support
    for POSIX timers is selected again then the default config option for PTP
    clock support will automatically be adjusted accordingly.

    The pch_gbe driver is a bit special as it relies on extra code in
    drivers/ptp/ptp_pch.c. Therefore we let the make process descend into
    drivers/ptp/ even if PTP_1588_CLOCK is unselected.

    Signed-off-by: Nicolas Pitre
    Acked-by: Richard Cochran
    Acked-by: Edward Cree
    Acked-by: Thomas Gleixner
    Acked-by: John Stultz
    Reviewed-by: Josh Triplett
    Cc: Paul Bolle
    Cc: linux-kbuild@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Cc: Michal Marek
    Link: http://lkml.kernel.org/r/1478841010-28605-4-git-send-email-nicolas.pitre@linaro.org
    Signed-off-by: Thomas Gleixner

    Nicolas Pitre
     

10 Nov, 2016

1 commit

  • The internal PTP Hardware Clock (PHC) interface limits the resolution for
    frequency adjustments to one part per billion. However, some hardware
    devices allow finer adjustment, and making use of the increased resolution
    improves synchronization measurably on such devices.

    This patch adds an alternative method that allows finer frequency tuning
    by passing the scaled ppm value to PHC drivers. This value comes from
    user space, and it has a resolution of about 0.015 ppb. We also deprecate
    the older method, anticipating its removal once existing drivers have been
    converted over.

    Signed-off-by: Richard Cochran
    Suggested-by: Ulrik De Bie
    Signed-off-by: David S. Miller

    Richard Cochran
     

01 Nov, 2016

1 commit

  • Use DEVICE_ATTR_RO for read only attributes. This simplifies the
    source code, improves readbility, and reduces the chance of
    inconsistencies.

    The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @ro@
    declarer name DEVICE_ATTR;
    identifier x,x_show;
    @@

    DEVICE_ATTR(x, \(0444\|S_IRUGO\), x_show, NULL);

    @script:ocaml@
    x << ro.x;
    x_show << ro.x_show;
    @@

    if not (x^"_show" = x_show) then Coccilib.include_match false

    @@
    declarer name DEVICE_ATTR_RO;
    identifier ro.x,ro.x_show;
    @@

    - DEVICE_ATTR(x, \(0444\|S_IRUGO\), x_show, NULL);
    + DEVICE_ATTR_RO(x);
    //

    Signed-off-by: Julia Lawall
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Julia Lawall
     

13 Oct, 2016

1 commit


04 Oct, 2016

1 commit

  • A call to 'ida_simple_remove()' is missing in the error handling path.

    This as been spotted with the following coccinelle script which tries to
    detect missing 'ida_simple_remove()' call in error handling paths.

    ///////////////
    @@
    expression x;
    identifier l;
    @@

    * x = ida_simple_get(...);
    ...
    if (...) {
    ...
    }
    ...
    if (...) {
    ...
    goto l;
    }
    ...
    * l: ... when != ida_simple_remove(...);

    Signed-off-by: Christophe JAILLET
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Christophe Jaillet
     

07 Sep, 2016

1 commit

  • gpio_to_irq does not return NO_IRQ but instead returns a negative
    error code on failure. Returning NO_IRQ from the function has no
    negative effects as we only compare the result to the expected
    interrupt number, but it's better to return a proper failure
    code for consistency, and we should remove NO_IRQ from the kernel
    entirely.

    Signed-off-by: Arnd Bergmann
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Arnd Bergmann
     

30 May, 2016

1 commit

  • If we pass ERR_PTR(-EFAULT) to kfree() then it's going to oops.

    Fixes: 2ece068e1b1d ('ptp: use memdup_user().')
    Signed-off-by: Dan Carpenter
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Dan Carpenter
     

24 May, 2016

1 commit

  • Use memdup_user to duplicate a memory region from user-space to
    kernel-space, instead of open coding using kmalloc & copy_from_user.

    Signed-off-by: Muhammad Falak R Wani
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Muhammad Falak R Wani
     

16 Mar, 2016

1 commit

  • Pull timer updates from Thomas Gleixner:
    "The timer department delivers this time:

    - Support for cross clock domain timestamps in the core code plus a
    first user. That allows more precise timestamping for PTP and
    later for audio and other peripherals.

    The ptp/e1000e patches have been acked by the relevant maintainers
    and are carried in the timer tree to avoid merge ordering issues.

    - Support for unregistering the current clocksource watchdog. That
    lifts a limitation for switching clocksources which has been there
    from day 1

    - The usual pile of fixes and updates to the core and the drivers.
    Nothing outstanding and exciting"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)
    time/timekeeping: Work around false positive GCC warning
    e1000e: Adds hardware supported cross timestamp on e1000e nic
    ptp: Add PTP_SYS_OFFSET_PRECISE for driver crosstimestamping
    x86/tsc: Always Running Timer (ART) correlated clocksource
    hrtimer: Revert CLOCK_MONOTONIC_RAW support
    time: Add history to cross timestamp interface supporting slower devices
    time: Add driver cross timestamp interface for higher precision time synchronization
    time: Remove duplicated code in ktime_get_raw_and_real()
    time: Add timekeeping snapshot code capturing system time and counter
    time: Add cycles to nanoseconds translation
    jiffies: Use CLOCKSOURCE_MASK instead of constant
    clocksource: Introduce clocksource_freq2mult()
    clockevents/drivers/exynos_mct: Implement ->set_state_oneshot_stopped()
    clockevents/drivers/arm_global_timer: Implement ->set_state_oneshot_stopped()
    clockevents/drivers/arm_arch_timer: Implement ->set_state_oneshot_stopped()
    clocksource/drivers/arm_global_timer: Register delay timer
    clocksource/drivers/lpc32xx: Support timer-based ARM delay
    clocksource/drivers/lpc32xx: Support periodic mode
    clocksource/drivers/lpc32xx: Don't use the prescaler counter for clockevents
    clocksource/drivers/rockchip: Add err handle for rk_timer_init
    ...

    Linus Torvalds
     

04 Mar, 2016

1 commit

  • Currently, network /system cross-timestamping is performed in the
    PTP_SYS_OFFSET ioctl. The PTP clock driver reads gettimeofday() and
    the gettime64() callback provided by the driver. The cross-timestamp
    is best effort where the latency between the capture of system time
    (getnstimeofday()) and the device time (driver callback) may be
    significant.

    The getcrosststamp() callback and corresponding PTP_SYS_OFFSET_PRECISE
    ioctl allows the driver to perform this device/system correlation when
    for example cross timestamp hardware is available. Modern Intel
    systems can do this for onboard Ethernet controllers using the ART
    counter. There is virtually zero latency between captures of the ART
    and network device clock.

    The capabilities ioctl (PTP_CLOCK_GETCAPS), is augmented allowing
    applications to query whether or not drivers implement the
    getcrosststamp callback, providing more precise cross timestamping.

    Cc: Prarit Bhargava
    Cc: Richard Cochran
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Andy Lutomirski
    Cc: kevin.b.stanton@intel.com
    Cc: kevin.j.clarke@intel.com
    Cc: hpa@zytor.com
    Cc: jeffrey.t.kirsher@intel.com
    Cc: netdev@vger.kernel.org
    Acked-by: Richard Cochran
    Signed-off-by: Christopher S. Hall
    [jstultz: Commit subject tweaks]
    Signed-off-by: John Stultz

    Christopher S. Hall
     

30 Jan, 2016

1 commit


01 Apr, 2015

5 commits


13 Aug, 2014

1 commit

  • We should prefer `struct pci_device_id` over `DEFINE_PCI_DEVICE_TABLE` to
    meet kernel coding style guidelines. This issue was reported by checkpatch.

    A simplified version of the semantic patch that makes this change is as
    follows (http://coccinelle.lip6.fr/):

    //

    @@
    identifier i;
    declarer name DEFINE_PCI_DEVICE_TABLE;
    initializer z;
    @@

    - DEFINE_PCI_DEVICE_TABLE(i)
    + const struct pci_device_id i[]
    = z;

    //

    [bhelgaas: add semantic patch]
    Signed-off-by: Benoit Taine
    Signed-off-by: Bjorn Helgaas

    Benoit Taine
     

02 Jul, 2014

1 commit

  • The ptp pin function programming does not allow calibration pin to change
    function. This is problematic on hardware that uses the default calibration
    pin for other purposes.

    Removing this limitation does not impact calibration if userspace does not
    reprogram the calibration pin.

    Signed-off-by: Stefan Sørensen
    Signed-off-by: David S. Miller

    Stefan Sørensen
     

18 Jun, 2014

1 commit

  • The ptp_pch driver is for a companion chip to the Intel Atom E600
    series processors. These are 32-bit x86 processors so the driver is
    only needed on X86_32.

    Signed-off-by: Jean Delvare
    Cc: Richard Cochran
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Jean Delvare
     

13 May, 2014

1 commit

  • Conflicts:
    drivers/net/ethernet/altera/altera_sgdma.c
    net/netlink/af_netlink.c
    net/sched/cls_api.c
    net/sched/sch_api.c

    The netlink conflict dealt with moving to netlink_capable() and
    netlink_ns_capable() in the 'net' tree vs. supporting 'tc' operations
    in non-init namespaces. These were simple transformations from
    netlink_capable to netlink_ns_capable.

    The Altera driver conflict was simply code removal overlapping some
    void pointer cast cleanups in net-next.

    Signed-off-by: David S. Miller

    David S. Miller
     

12 May, 2014

1 commit

  • Fix kconfig warnings:

    PTP_1588_CLOCK selects NET_PTP_CLASSIFY, which depends on NET,
    so PTP_1588_CLOCK should also depend on NET.

    PTP_1588_CLOCK_PCH selects PTP_1588_CLOCK so the former should
    depend on NET.

    warning: (IXP4XX_ETH && PTP_1588_CLOCK) selects NET_PTP_CLASSIFY which has unmet direct dependencies (NET)

    warning: (SFC && TILE_NET && BFIN_MAC_USE_HWSTAMP && TIGON3 && FEC && E1000E && IGB && IXGBE && I40E && MLX4_EN && SXGBE_ETH && STMMAC_ETH && TI_CPTS && PTP_1588_CLOCK_GIANFAR && PTP_1588_CLOCK_IXP46X && DP83640_PHY && PTP_1588_CLOCK_PCH) selects PTP_1588_CLOCK which has unmet direct dependencies (NET)
    [This warning is caused by the new 'depends on NET' in PTP_1588_CLOCK.]

    Signed-off-by: Randy Dunlap
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Randy Dunlap
     

29 Apr, 2014

1 commit

  • PTP Hardware Clock drivers specify a maximum frequency adjustment that
    their clocks can accommodate. Normally, user space programs will want to
    respect the advertised limits. However, no kernel or driver code checks
    that the dialed frequency offset is within the bounds, and out of range
    values can lead to surprising results.

    This patch fixes the issue by rejecting bad values.

    Signed-off-by: Richard Cochran
    Signed-off-by: David S. Miller

    Richard Cochran