From: Calvin Johnson <calvin.johnson@oss.nxp.com> To: Jeremy Linton <jeremy.linton@arm.com>, Russell King - ARM Linux admin <linux@armlinux.org.uk>, Jon <jon@solid-run.com>, Cristi Sovaiala <cristian.sovaiala@nxp.com>, Ioana Ciornei <ioana.ciornei@nxp.com>, Andrew Lunn <andrew@lunn.ch>, Andy Shevchenko <andy.shevchenko@gmail.com>, Florian Fainelli <f.fainelli@gmail.com>, Madalin Bucur <madalin.bucur@oss.nxp.com> Cc: netdev@vger.kernel.org, linux.cj@gmail.com, linux-acpi@vger.kernel.org, Calvin Johnson <calvin.johnson@oss.nxp.com> Subject: [net-next PATCH v7 5/6] phylink: introduce phylink_fwnode_phy_connect() Date: Wed, 15 Jul 2020 14:33:59 +0530 Message-ID: <20200715090400.4733-6-calvin.johnson@oss.nxp.com> (raw) In-Reply-To: <20200715090400.4733-1-calvin.johnson@oss.nxp.com> Define phylink_fwnode_phy_connect() to connect phy specified by a fwnode to a phylink instance. Signed-off-by: Calvin Johnson <calvin.johnson@oss.nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> --- Changes in v7: - assign flags to phy_dev Changes in v6: - clean up phylink_fwnode_phy_connect() Changes in v5: - return -EINVAL for invalid fwnode Changes in v4: None Changes in v3: None Changes in v2: None drivers/net/phy/phylink.c | 32 ++++++++++++++++++++++++++++++++ include/linux/phylink.h | 3 +++ 2 files changed, 35 insertions(+) diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index dae6c8b51d7f..ba40d3bfa986 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -5,6 +5,7 @@ * * Copyright (C) 2015 Russell King */ +#include <linux/acpi.h> #include <linux/ethtool.h> #include <linux/export.h> #include <linux/gpio/consumer.h> @@ -1017,6 +1018,37 @@ int phylink_of_phy_connect(struct phylink *pl, struct device_node *dn, } EXPORT_SYMBOL_GPL(phylink_of_phy_connect); +/** + * phylink_fwnode_phy_connect() - connect the PHY specified in the fwnode. + * @pl: a pointer to a &struct phylink returned from phylink_create() + * @fwnode: a pointer to a &struct fwnode_handle. + * @flags: PHY-specific flags to communicate to the PHY device driver + * + * Connect the phy specified @fwnode to the phylink instance specified + * by @pl. Actions specified in phylink_connect_phy() will be + * performed. + * + * Returns 0 on success or a negative errno. + */ +int phylink_fwnode_phy_connect(struct phylink *pl, + struct fwnode_handle *fwnode, + u32 flags) +{ + struct phy_device *phy_dev; + + if (is_of_node(fwnode)) + return phylink_of_phy_connect(pl, to_of_node(fwnode), flags); + if (is_acpi_device_node(fwnode)) { + phy_dev = phy_find_by_mdio_handle(fwnode); + if (!phy_dev) + return -ENODEV; + phy_dev->dev_flags |= flags; + return phylink_connect_phy(pl, phy_dev); + } + return -EINVAL; +} +EXPORT_SYMBOL_GPL(phylink_fwnode_phy_connect); + /** * phylink_disconnect_phy() - disconnect any PHY attached to the phylink * instance. diff --git a/include/linux/phylink.h b/include/linux/phylink.h index b32b8b45421b..b27eed5e49a9 100644 --- a/include/linux/phylink.h +++ b/include/linux/phylink.h @@ -368,6 +368,9 @@ void phylink_destroy(struct phylink *); int phylink_connect_phy(struct phylink *, struct phy_device *); int phylink_of_phy_connect(struct phylink *, struct device_node *, u32 flags); +int phylink_fwnode_phy_connect(struct phylink *pl, + struct fwnode_handle *fwnode, + u32 flags); void phylink_disconnect_phy(struct phylink *); void phylink_mac_change(struct phylink *, bool up); -- 2.17.1
next prev parent reply index Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-15 9:03 [net-next PATCH v7 0/6] ACPI support for dpaa2 MAC driver Calvin Johnson 2020-07-15 9:03 ` [net-next PATCH v7 1/6] Documentation: ACPI: DSD: Document MDIO PHY Calvin Johnson 2020-07-16 3:04 ` Florian Fainelli 2020-07-16 3:11 ` Andrew Lunn 2020-07-23 23:26 ` Jeremy Linton 2020-07-24 13:39 ` Andrew Lunn 2020-07-24 17:26 ` Jeremy Linton 2020-07-24 17:39 ` Florian Fainelli 2020-07-24 19:20 ` Andrew Lunn 2020-07-24 20:12 ` Andy Shevchenko 2020-07-24 20:13 ` Florian Fainelli 2020-07-24 20:20 ` Andy Shevchenko 2020-07-25 7:36 ` Calvin Johnson 2020-07-25 10:48 ` Andy Shevchenko 2020-07-24 21:06 ` Russell King - ARM Linux admin 2020-07-27 17:03 ` Sudeep Holla 2020-07-24 19:14 ` Andrew Lunn 2020-07-27 17:21 ` Sudeep Holla 2020-07-28 20:34 ` Andrew Lunn 2020-07-28 20:59 ` Russell King - ARM Linux admin 2020-07-28 21:26 ` Andy Shevchenko 2020-07-29 16:00 ` Rafael J. Wysocki 2020-07-31 15:08 ` Andrew Lunn 2020-07-27 17:32 ` Jon Nettleton [not found] ` <1595922651-sup-5323@galangal.danc.bne.opengear.com> 2020-07-28 20:45 ` Andrew Lunn 2020-07-28 20:56 ` Florian Fainelli 2020-07-28 21:28 ` Andy Shevchenko 2020-07-28 21:40 ` Florian Fainelli 2020-07-31 15:14 ` Andrew Lunn 2020-09-25 13:22 ` Grant Likely 2020-07-28 22:30 ` Jeremy Linton 2020-07-29 0:39 ` Florian Fainelli 2020-07-29 2:53 ` Jeremy Linton 2020-07-29 3:16 ` Florian Fainelli 2020-07-29 8:43 ` Jon Nettleton 2020-07-29 9:39 ` Calvin Johnson 2020-09-25 13:34 ` Grant Likely 2020-09-26 4:30 ` Calvin Johnson 2020-09-29 5:17 ` Calvin Johnson 2020-09-29 13:43 ` Andrew Lunn 2020-09-29 13:55 ` Andy Shevchenko 2020-09-29 14:32 ` Andrew Lunn 2020-09-29 14:46 ` Andy Shevchenko 2020-09-29 15:06 ` Andrew Lunn 2020-09-29 15:29 ` Arnd Bergmann 2020-09-29 14:44 ` Arnd Bergmann 2020-09-29 14:59 ` Andrew Lunn 2020-09-29 15:59 ` Grant Likely 2020-09-29 15:53 ` Grant Likely 2020-09-29 16:04 ` Calvin Johnson 2020-07-15 9:03 ` [net-next PATCH v7 2/6] net: phy: introduce device_mdiobus_register() Calvin Johnson 2020-07-16 3:05 ` Florian Fainelli 2020-07-15 9:03 ` [net-next PATCH v7 3/6] net/fsl: use device_mdiobus_register() Calvin Johnson 2020-07-16 3:05 ` Florian Fainelli 2020-07-15 9:03 ` [net-next PATCH v7 4/6] net: phy: introduce phy_find_by_mdio_handle() Calvin Johnson 2020-07-16 3:06 ` Florian Fainelli 2020-07-15 9:03 ` Calvin Johnson [this message] 2020-07-15 9:04 ` [net-next PATCH v7 6/6] net: dpaa2-mac: Add ACPI support for DPAA2 MAC driver Calvin Johnson 2020-09-25 13:39 ` [net-next PATCH v7 0/6] ACPI support for dpaa2 " Grant Likely 2020-09-26 4:34 ` Calvin Johnson 2020-07-25 14:23 Calvin Johnson 2020-07-25 14:24 ` [net-next PATCH v7 5/6] phylink: introduce phylink_fwnode_phy_connect() Calvin Johnson
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200715090400.4733-6-calvin.johnson@oss.nxp.com \ --to=calvin.johnson@oss.nxp.com \ --cc=andrew@lunn.ch \ --cc=andy.shevchenko@gmail.com \ --cc=cristian.sovaiala@nxp.com \ --cc=f.fainelli@gmail.com \ --cc=ioana.ciornei@nxp.com \ --cc=jeremy.linton@arm.com \ --cc=jon@solid-run.com \ --cc=linux-acpi@vger.kernel.org \ --cc=linux.cj@gmail.com \ --cc=linux@armlinux.org.uk \ --cc=madalin.bucur@oss.nxp.com \ --cc=netdev@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-ACPI Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-acpi/0 linux-acpi/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-acpi linux-acpi/ https://lore.kernel.org/linux-acpi \ linux-acpi@vger.kernel.org public-inbox-index linux-acpi Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-acpi AGPL code for this site: git clone https://public-inbox.org/public-inbox.git