// SPDX-License-Identifier: GPL-2.0 // // Support for generic time stamping devices on MII buses. // Copyright (C) 2018 Richard Cochran <[email protected]> // #include <linux/mii_timestamper.h> static LIST_HEAD(mii_timestamping_devices); static DEFINE_MUTEX(tstamping_devices_lock); struct mii_timestamping_desc { … }; /** * register_mii_tstamp_controller() - registers an MII time stamping device. * * @device: The device to be registered. * @ctrl: Pointer to device's control interface. * * Returns zero on success or non-zero on failure. */ int register_mii_tstamp_controller(struct device *device, struct mii_timestamping_ctrl *ctrl) { … } EXPORT_SYMBOL(…); /** * unregister_mii_tstamp_controller() - unregisters an MII time stamping device. * * @device: A device previously passed to register_mii_tstamp_controller(). */ void unregister_mii_tstamp_controller(struct device *device) { … } EXPORT_SYMBOL(…); /** * register_mii_timestamper - Enables a given port of an MII time stamper. * * @node: The device tree node of the MII time stamp controller. * @port: The index of the port to be enabled. * * Returns a valid interface on success or ERR_PTR otherwise. */ struct mii_timestamper *register_mii_timestamper(struct device_node *node, unsigned int port) { … } EXPORT_SYMBOL(…); /** * unregister_mii_timestamper - Disables a given MII time stamper. * * @mii_ts: An interface obtained via register_mii_timestamper(). * */ void unregister_mii_timestamper(struct mii_timestamper *mii_ts) { … } EXPORT_SYMBOL(…);