// SPDX-License-Identifier: GPL-2.0+ /* Realtek MDIO interface driver * * ASICs we intend to support with this driver: * * RTL8366 - The original version, apparently * RTL8369 - Similar enough to have the same datsheet as RTL8366 * RTL8366RB - Probably reads out "RTL8366 revision B", has a quite * different register layout from the other two * RTL8366S - Is this "RTL8366 super"? * RTL8367 - Has an OpenWRT driver as well * RTL8368S - Seems to be an alternative name for RTL8366RB * RTL8370 - Also uses SMI * * Copyright (C) 2017 Linus Walleij <linus.walleij@linaro.org> * Copyright (C) 2010 Antti Seppälä <a.seppala@gmail.com> * Copyright (C) 2010 Roman Yeryomin <roman@advem.lv> * Copyright (C) 2011 Colin Leitner <colin.leitner@googlemail.com> * Copyright (C) 2009-2010 Gabor Juhos <juhosg@openwrt.org>
*/
/** * realtek_mdio_probe() - Probe a platform device for an MDIO-connected switch * @mdiodev: mdio_device to probe on. * * This function should be used as the .probe in an mdio_driver. After * calling the common probe function for both interfaces, it initializes the * values specific for MDIO-connected devices. Finally, it calls a common * function to register the DSA switch. * * Context: Can sleep. Takes and releases priv->map_lock. * Return: Returns 0 on success, a negative error on failure.
*/ int realtek_mdio_probe(struct mdio_device *mdiodev)
{ struct device *dev = &mdiodev->dev; struct realtek_priv *priv; int ret;
priv = rtl83xx_probe(dev, &realtek_mdio_info); if (IS_ERR(priv)) return PTR_ERR(priv);
/** * realtek_mdio_remove() - Remove the driver of an MDIO-connected switch * @mdiodev: mdio_device to be removed. * * This function should be used as the .remove in an mdio_driver. First * it unregisters the DSA switch and then it calls the common remove function. * * Context: Can sleep. * Return: Nothing.
*/ void realtek_mdio_remove(struct mdio_device *mdiodev)
{ struct realtek_priv *priv = dev_get_drvdata(&mdiodev->dev);
/** * realtek_mdio_shutdown() - Shutdown the driver of a MDIO-connected switch * @mdiodev: mdio_device shutting down. * * This function should be used as the .shutdown in a platform_driver. It calls * the common shutdown function. * * Context: Can sleep. * Return: Nothing.
*/ void realtek_mdio_shutdown(struct mdio_device *mdiodev)
{ struct realtek_priv *priv = dev_get_drvdata(&mdiodev->dev);
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.