Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures
ptp_clock_kernel.h File Reference
#include <linux/device.h>
#include <linux/pps_kernel.h>
#include <linux/ptp_clock.h>

Go to the source code of this file.

Data Structures

struct  ptp_clock_request
 
struct  ptp_clock_info
 
struct  ptp_clock_event
 

: A short "friendly name" to identify the clock and to

struct ptp_clock_info - decribes a PTP hardware clock

: The clock driver should set to THIS_MODULE.

        help distinguish PHY based devices from MAC based ones.
        The string is not meant to be a unique id.

: The maximum possible frequency adjustment, in parts per billon. : The number of programmable alarms. : The number of external time stamp channels. : The number of programmable periodic signals. : Indicates whether the clock supports a PPS callback.

clock operations

: Adjusts the frequency of the hardware clock. parameter delta: Desired frequency offset from nominal frequency in parts per billion

: Shifts the time of the hardware clock. parameter delta: Desired change in nanoseconds.

: Reads the current time from the hardware clock. parameter ts: Holds the result.

: Set the current time on the hardware clock. parameter ts: Time value to set.

: Request driver to enable or disable an ancillary feature. parameter request: Desired resource to enable or disable. parameter on: Caller passes one to enable or zero to disable.

Drivers should embed their ptp_clock_info within a private structure, obtaining a reference to it using container_of().

The callbacks must all return zero on success, non-zero otherwise.

enum  ptp_clock_events { PTP_CLOCK_ALARM, PTP_CLOCK_EXTTS, PTP_CLOCK_PPS, PTP_CLOCK_PPSUSR }
 
struct ptp_clockptp_clock_register (struct ptp_clock_info *info, struct device *parent)
 
int ptp_clock_unregister (struct ptp_clock *ptp)
 
void ptp_clock_event (struct ptp_clock *ptp, struct ptp_clock_event *event)
 
int ptp_clock_index (struct ptp_clock *ptp)
 

Enumeration Type Documentation

Enumerator:
PTP_CLOCK_ALARM 
PTP_CLOCK_EXTTS 
PTP_CLOCK_PPS 
PTP_CLOCK_PPSUSR 

Definition at line 116 of file ptp_clock_kernel.h.

Function Documentation

ptp_clock_event() - notify the PTP layer about an event

: The clock obtained from ptp_clock_register(). : Message structure describing the event.

Definition at line 288 of file ptp_clock.c.

int ptp_clock_index ( struct ptp_clock ptp)

ptp_clock_index() - obtain the device index of a PTP clock

: The clock obtained from ptp_clock_register().

Definition at line 315 of file ptp_clock.c.

struct ptp_clock* ptp_clock_register ( struct ptp_clock_info info,
struct device parent 
)
read

ptp_clock_register() - register a PTP hardware clock driver

: Structure describing the new clock. : Pointer to the parent device of the new clock.

Definition at line 185 of file ptp_clock.c.

int ptp_clock_unregister ( struct ptp_clock ptp)

ptp_clock_unregister() - unregister a PTP hardware clock driver

: The clock to remove from service.

Definition at line 272 of file ptp_clock.c.