#include <linux/device.h>
#include <linux/module.h>
#include <linux/timecounter.h>
#include <linux/pci.h>
#include "cavium_ptp.h"
#define DRV_NAME …
#define PCI_DEVICE_ID_CAVIUM_PTP …
#define PCI_SUBSYS_DEVID_88XX_PTP …
#define PCI_SUBSYS_DEVID_81XX_PTP …
#define PCI_SUBSYS_DEVID_83XX_PTP …
#define PCI_DEVICE_ID_CAVIUM_RST …
#define PCI_PTP_BAR_NO …
#define PCI_RST_BAR_NO …
#define PTP_CLOCK_CFG …
#define PTP_CLOCK_CFG_PTP_EN …
#define PTP_CLOCK_LO …
#define PTP_CLOCK_HI …
#define PTP_CLOCK_COMP …
#define RST_BOOT …
#define CLOCK_BASE_RATE …
static u64 ptp_cavium_clock_get(void)
{ … }
struct cavium_ptp *cavium_ptp_get(void)
{ … }
EXPORT_SYMBOL(…);
void cavium_ptp_put(struct cavium_ptp *ptp)
{ … }
EXPORT_SYMBOL(…);
static int cavium_ptp_adjfine(struct ptp_clock_info *ptp_info, long scaled_ppm)
{ … }
static int cavium_ptp_adjtime(struct ptp_clock_info *ptp_info, s64 delta)
{ … }
static int cavium_ptp_gettime(struct ptp_clock_info *ptp_info,
struct timespec64 *ts)
{ … }
static int cavium_ptp_settime(struct ptp_clock_info *ptp_info,
const struct timespec64 *ts)
{ … }
static int cavium_ptp_enable(struct ptp_clock_info *ptp_info,
struct ptp_clock_request *rq, int on)
{ … }
static u64 cavium_ptp_cc_read(const struct cyclecounter *cc)
{ … }
static int cavium_ptp_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{ … }
static void cavium_ptp_remove(struct pci_dev *pdev)
{ … }
static const struct pci_device_id cavium_ptp_id_table[] = …;
static struct pci_driver cavium_ptp_driver = …;
module_pci_driver(…) …;
MODULE_DESCRIPTION(…);
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DEVICE_TABLE(pci, cavium_ptp_id_table);