* [PATCH 1/3] phy: make of_phandle_args constant
2024-10-25 8:48 [PATCH 0/3] phy: some updates Sascha Hauer
@ 2024-10-25 8:48 ` Sascha Hauer
2024-10-25 8:49 ` [PATCH 2/3] phy: put phy devices in class Sascha Hauer
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Sascha Hauer @ 2024-10-25 8:48 UTC (permalink / raw)
To: open list:BAREBOX
Like done in Linux the of_xlate() args argument should be constant.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 2 +-
drivers/phy/phy-core.c | 2 +-
drivers/phy/phy-stm32-usbphyc.c | 2 +-
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 2 +-
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c | 2 +-
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c | 2 +-
drivers/phy/usb-nop-xceiv.c | 2 +-
drivers/pinctrl/pinctrl-tegra-xusb.c | 2 +-
drivers/usb/imx/imx-usb-phy.c | 2 +-
include/linux/phy/phy.h | 4 ++--
10 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
index b9f9fad1fd..1349ca922c 100644
--- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
+++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
@@ -144,7 +144,7 @@ static const struct of_device_id imx8mq_usb_phy_of_match[] = {
MODULE_DEVICE_TABLE(of, imx8mq_usb_phy_of_match);
static struct phy *imx8mq_usb_phy_xlate(struct device *dev,
- struct of_phandle_args *args)
+ const struct of_phandle_args *args)
{
struct imx8mq_usb_phy *imx_phy = dev->priv;
diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
index 0a2f1b0d11..c289e75c78 100644
--- a/drivers/phy/phy-core.c
+++ b/drivers/phy/phy-core.c
@@ -81,7 +81,7 @@ struct phy *phy_create(struct device *dev, struct device_node *node,
*/
struct phy_provider *__of_phy_provider_register(struct device *dev,
struct phy * (*of_xlate)(struct device *dev,
- struct of_phandle_args *args))
+ const struct of_phandle_args *args))
{
struct phy_provider *phy_provider;
diff --git a/drivers/phy/phy-stm32-usbphyc.c b/drivers/phy/phy-stm32-usbphyc.c
index 6bac5e1e59..815d9c8f7b 100644
--- a/drivers/phy/phy-stm32-usbphyc.c
+++ b/drivers/phy/phy-stm32-usbphyc.c
@@ -567,7 +567,7 @@ static void stm32_usbphyc_switch_setup(struct stm32_usbphyc *usbphyc,
}
static struct phy *stm32_usbphyc_of_xlate(struct device *dev,
- struct of_phandle_args *args)
+ const struct of_phandle_args *args)
{
struct stm32_usbphyc *usbphyc = dev->priv;
struct stm32_usbphyc_phy *usbphyc_phy = NULL;
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
index 34abbd85db..e46624111d 100644
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
@@ -257,7 +257,7 @@ static int rockchip_usb2phy_power_off(struct phy *phy)
}
static struct phy *rockchip_usb2phy_of_xlate(struct device *dev,
- struct of_phandle_args *args)
+ const struct of_phandle_args *args)
{
struct rockchip_usb2phy *rphy = dev->priv;
struct device_node *phynode = args->np;
diff --git a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
index b864ecb76e..b334ced811 100644
--- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
+++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
@@ -270,7 +270,7 @@ static const struct phy_ops rochchip_combphy_ops = {
};
static struct phy *rockchip_combphy_xlate(struct device *dev,
- struct of_phandle_args *args)
+ const struct of_phandle_args *args)
{
struct rockchip_combphy_priv *priv = dev->priv;
diff --git a/drivers/phy/rockchip/phy-rockchip-snps-pcie3.c b/drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
index 7f39b261ca..e533b77ac1 100644
--- a/drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
+++ b/drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
@@ -209,7 +209,7 @@ static const struct phy_ops rochchip_p3phy_ops = {
};
static struct phy *rockchip_p3phy_xlate(struct device *dev,
- struct of_phandle_args *args)
+ const struct of_phandle_args *args)
{
struct rockchip_p3phy_priv *priv = dev->priv;
diff --git a/drivers/phy/usb-nop-xceiv.c b/drivers/phy/usb-nop-xceiv.c
index 9a0acf9e7f..5434ba58c7 100644
--- a/drivers/phy/usb-nop-xceiv.c
+++ b/drivers/phy/usb-nop-xceiv.c
@@ -25,7 +25,7 @@ struct nop_usbphy {
};
static struct phy *nop_usbphy_xlate(struct device *dev,
- struct of_phandle_args *args)
+ const struct of_phandle_args *args)
{
struct nop_usbphy *nopphy = dev->priv;
diff --git a/drivers/pinctrl/pinctrl-tegra-xusb.c b/drivers/pinctrl/pinctrl-tegra-xusb.c
index f3a9a0203f..ed48fabc5b 100644
--- a/drivers/pinctrl/pinctrl-tegra-xusb.c
+++ b/drivers/pinctrl/pinctrl-tegra-xusb.c
@@ -269,7 +269,7 @@ static const struct phy_ops sata_phy_ops = {
};
static struct phy *tegra_xusb_padctl_xlate(struct device *dev,
- struct of_phandle_args *args)
+ const struct of_phandle_args *args)
{
struct tegra_xusb_padctl *padctl = dev->priv;
unsigned int index = args->args[0];
diff --git a/drivers/usb/imx/imx-usb-phy.c b/drivers/usb/imx/imx-usb-phy.c
index 70bf292f80..3dcaa1e1f4 100644
--- a/drivers/usb/imx/imx-usb-phy.c
+++ b/drivers/usb/imx/imx-usb-phy.c
@@ -109,7 +109,7 @@ static int imx_usbphy_notify_disconnect(struct usb_phy *phy,
}
static struct phy *imx_usbphy_xlate(struct device *dev,
- struct of_phandle_args *args)
+ const struct of_phandle_args *args)
{
struct imx_usbphy *imxphy = dev->priv;
diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
index 9f01bc3e9f..e861e50f76 100644
--- a/include/linux/phy/phy.h
+++ b/include/linux/phy/phy.h
@@ -102,7 +102,7 @@ struct phy_provider {
struct device *dev;
struct list_head list;
struct phy * (*of_xlate)(struct device *dev,
- struct of_phandle_args *args);
+ const struct of_phandle_args *args);
};
/**
@@ -174,7 +174,7 @@ struct phy *phy_create(struct device *dev, struct device_node *node,
void phy_destroy(struct phy *phy);
struct phy_provider *__of_phy_provider_register(struct device *dev,
struct phy * (*of_xlate)(struct device *dev,
- struct of_phandle_args *args));
+ const struct of_phandle_args *args));
void of_phy_provider_unregister(struct phy_provider *phy_provider);
struct usb_phy *phy_to_usbphy(struct phy *phy);
struct phy *phy_get_by_index(struct device *dev, int index);
--
2.39.5
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/3] phy: put phy devices in class
2024-10-25 8:48 [PATCH 0/3] phy: some updates Sascha Hauer
2024-10-25 8:48 ` [PATCH 1/3] phy: make of_phandle_args constant Sascha Hauer
@ 2024-10-25 8:49 ` Sascha Hauer
2024-10-25 8:49 ` [PATCH 3/3] phy: add of_phy_simple_xlate() Sascha Hauer
2024-10-28 12:12 ` [PATCH 0/3] phy: some updates Sascha Hauer
3 siblings, 0 replies; 5+ messages in thread
From: Sascha Hauer @ 2024-10-25 8:49 UTC (permalink / raw)
To: open list:BAREBOX
Collect all phy devices in their own class. Let's us list the phy
devices in the class command and gives us an iterator over phy devices
for free.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
drivers/phy/phy-core.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
index c289e75c78..cd9b59f1fd 100644
--- a/drivers/phy/phy-core.c
+++ b/drivers/phy/phy-core.c
@@ -16,6 +16,10 @@
static LIST_HEAD(phy_provider_list);
static int phy_ida;
+#define for_each_phy(p) list_for_each_entry(p, &phy_class.devices, dev.class_list)
+
+DEFINE_DEV_CLASS(phy_class, "phy");
+
/**
* phy_create() - create a new phy
* @dev: device that is creating the new phy
@@ -40,7 +44,6 @@ struct phy *phy_create(struct device *dev, struct device_node *node,
id = phy_ida++;
- dev_set_name(&phy->dev, "phy");
phy->dev.id = id;
phy->dev.parent = dev;
phy->dev.of_node = node ?: dev->of_node;
@@ -57,7 +60,7 @@ struct phy *phy_create(struct device *dev, struct device_node *node,
phy->pwr = NULL;
}
- ret = register_device(&phy->dev);
+ ret = class_register_device(&phy_class, &phy->dev, "phy");
if (ret)
goto free_ida;
--
2.39.5
^ permalink raw reply [flat|nested] 5+ messages in thread