// SPDX-License-Identifier: GPL-2.0 // // Support for generic time stamping devices on MII buses. // Copyright (C) 2018 Richard Cochran <richardcochran@gmail.com> //
/** * 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)
{ struct mii_timestamping_desc *desc;
desc = kzalloc(sizeof(*desc), GFP_KERNEL); if (!desc) return -ENOMEM;
/** * 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, unsignedint port)
{ struct mii_timestamper *mii_ts = NULL; struct mii_timestamping_desc *desc; struct list_head *this;
/** * 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)
{ struct mii_timestamping_desc *desc; struct list_head *this;
if (!mii_ts) return;
/* mii_timestamper statically registered by the PHY driver won't use the * register_mii_timestamper() and thus don't have ->device set. Don't * try to unregister these.
*/ if (!mii_ts->device) return;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.