linux/drivers/net/ethernet/cavium/common/cavium_ptp.c

// SPDX-License-Identifier: GPL-2.0
/* cavium_ptp.c - PTP 1588 clock on Cavium hardware
 * Copyright (c) 2003-2015, 2017 Cavium, Inc.
 */

#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();

/**
 * cavium_ptp_adjfine() - Adjust ptp frequency
 * @ptp_info: PTP clock info
 * @scaled_ppm: how much to adjust by, in parts per million, but with a
 *              16 bit binary fractional field
 */
static int cavium_ptp_adjfine(struct ptp_clock_info *ptp_info, long scaled_ppm)
{}

/**
 * cavium_ptp_adjtime() - Adjust ptp time
 * @ptp_info:   PTP clock info
 * @delta: how much to adjust by, in nanosecs
 */
static int cavium_ptp_adjtime(struct ptp_clock_info *ptp_info, s64 delta)
{}

/**
 * cavium_ptp_gettime() - Get hardware clock time with adjustment
 * @ptp_info: PTP clock info
 * @ts:  timespec
 */
static int cavium_ptp_gettime(struct ptp_clock_info *ptp_info,
			      struct timespec64 *ts)
{}

/**
 * cavium_ptp_settime() - Set hardware clock time. Reset adjustment
 * @ptp_info: PTP clock info
 * @ts:  timespec
 */
static int cavium_ptp_settime(struct ptp_clock_info *ptp_info,
			      const struct timespec64 *ts)
{}

/**
 * cavium_ptp_enable() - Request to enable or disable an ancillary feature.
 * @ptp_info: PTP clock info
 * @rq:  request
 * @on:  is it on
 */
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);