All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 00/11] Modernize mdio-gpio
@ 2018-04-18 23:02 Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 01/11] net: phy_ mdio-gpio: Fixup , which should be ; Andrew Lunn
                   ` (12 more replies)
  0 siblings, 13 replies; 16+ messages in thread
From: Andrew Lunn @ 2018-04-18 23:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Florian Fainelli, Linus Walleij, Andrew Lunn

This patchset is inspired by a previous version by Linus Walleij

It reworks the mdio-gpio code to make use of gpio descriptors instead
of gpio numbers. However compared to the previous version, it retains
support for platform devices. It does however remove the platform_data
header file. The needed GPIOs are now passed by making use of a gpiod
lookup table. e.g:

static struct gpiod_lookup_table zii_scu_mdio_gpiod_table = {
	.dev_id = "mdio-gpio.0",
	.table = {
		GPIO_LOOKUP_IDX("gpio_ich", 17, NULL, MDIO_GPIO_MDC,
				GPIO_ACTIVE_HIGH),
		GPIO_LOOKUP_IDX("gpio_ich", 2, NULL, MDIO_GPIO_MDIO,
				GPIO_ACTIVE_HIGH),
		GPIO_LOOKUP_IDX("gpio_ich", 21, NULL, MDIO_GPIO_MDO,
				GPIO_ACTIVE_LOW),
	},
};

Andrew Lunn (11):
  net: phy_ mdio-gpio: Fixup , which should be ;
  net: phy: mdio-gpio: Remove reset function
  net: phy: mdio-bitbang: Remove reset support
  net: phy: mdio-gpio: remove support for ignoring turn around
  net: phy: mdio-gpio: remove support for phy mask
  net: phy: mdio-gpio: Remove support for IRQs in platform data
  net: phy: mdio-gpio: Swap to using gpio descriptors
  net: phy: mdio-gpio: Move allocation for bitbanging data
  net: phy: mdio-gpio: Parse properties directly into bitbang structure
  net: phy: mdio-gpio: Add #defines for the GPIO index's
  net: phy: mdio-gpio: Remove redundant platform data header

 MAINTAINERS                             |   1 -
 drivers/net/phy/mdio-bitbang.c          |   9 --
 drivers/net/phy/mdio-gpio.c             | 122 ++++++------------------
 include/linux/mdio-bitbang.h            |   2 -
 include/linux/mdio-gpio.h               |   9 ++
 include/linux/platform_data/mdio-gpio.h |  33 -------
 6 files changed, 40 insertions(+), 136 deletions(-)
 create mode 100644 include/linux/mdio-gpio.h
 delete mode 100644 include/linux/platform_data/mdio-gpio.h

-- 
2.17.0

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH net-next 01/11] net: phy_ mdio-gpio: Fixup , which should be ;
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
@ 2018-04-18 23:02 ` Andrew Lunn
  2018-04-19 20:00   ` David Miller
  2018-04-18 23:02 ` [PATCH net-next 02/11] net: phy: mdio-gpio: Remove reset function Andrew Lunn
                   ` (11 subsequent siblings)
  12 siblings, 1 reply; 16+ messages in thread
From: Andrew Lunn @ 2018-04-18 23:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Florian Fainelli, Linus Walleij, Andrew Lunn

Seems like an old typ0.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/phy/mdio-gpio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index 4333c6e14742..369f5f35d6fd 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -161,7 +161,7 @@ static struct mii_bus *mdio_gpio_bus_init(struct device *dev,
 	if (!new_bus)
 		goto out;
 
-	new_bus->name = "GPIO Bitbanged MDIO",
+	new_bus->name = "GPIO Bitbanged MDIO";
 
 	new_bus->phy_mask = pdata->phy_mask;
 	new_bus->phy_ignore_ta_mask = pdata->phy_ignore_ta_mask;
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH net-next 02/11] net: phy: mdio-gpio: Remove reset function
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 01/11] net: phy_ mdio-gpio: Fixup , which should be ; Andrew Lunn
@ 2018-04-18 23:02 ` Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 03/11] net: phy: mdio-bitbang: Remove reset support Andrew Lunn
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Andrew Lunn @ 2018-04-18 23:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Florian Fainelli, Linus Walleij, Andrew Lunn

The platform data can contain a function to call to reset
the bit banging interface. It is not used, so remove it.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/phy/mdio-gpio.c             | 1 -
 include/linux/platform_data/mdio-gpio.h | 2 --
 2 files changed, 3 deletions(-)

diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index 369f5f35d6fd..570b87b82abc 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -141,7 +141,6 @@ static struct mii_bus *mdio_gpio_bus_init(struct device *dev,
 		goto out;
 
 	bitbang->ctrl.ops = &mdio_gpio_ops;
-	bitbang->ctrl.reset = pdata->reset;
 	mdc = pdata->mdc;
 	bitbang->mdc = gpio_to_desc(mdc);
 	if (pdata->mdc_active_low)
diff --git a/include/linux/platform_data/mdio-gpio.h b/include/linux/platform_data/mdio-gpio.h
index 11f00cdabe3d..6e8f01a570f2 100644
--- a/include/linux/platform_data/mdio-gpio.h
+++ b/include/linux/platform_data/mdio-gpio.h
@@ -26,8 +26,6 @@ struct mdio_gpio_platform_data {
 	u32 phy_mask;
 	u32 phy_ignore_ta_mask;
 	int irqs[PHY_MAX_ADDR];
-	/* reset callback */
-	int (*reset)(struct mii_bus *bus);
 };
 
 #endif /* __LINUX_MDIO_GPIO_H */
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH net-next 03/11] net: phy: mdio-bitbang: Remove reset support
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 01/11] net: phy_ mdio-gpio: Fixup , which should be ; Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 02/11] net: phy: mdio-gpio: Remove reset function Andrew Lunn
@ 2018-04-18 23:02 ` Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 04/11] net: phy: mdio-gpio: remove support for ignoring turn around Andrew Lunn
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Andrew Lunn @ 2018-04-18 23:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Florian Fainelli, Linus Walleij, Andrew Lunn

The mdio-gpio driver was the only user of the interface reset option.
Since it no longer uses it, remove it from the bit banging code.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/phy/mdio-bitbang.c | 9 ---------
 include/linux/mdio-bitbang.h   | 2 --
 2 files changed, 11 deletions(-)

diff --git a/drivers/net/phy/mdio-bitbang.c b/drivers/net/phy/mdio-bitbang.c
index 403b085f0a89..15352f987bdf 100644
--- a/drivers/net/phy/mdio-bitbang.c
+++ b/drivers/net/phy/mdio-bitbang.c
@@ -205,14 +205,6 @@ static int mdiobb_write(struct mii_bus *bus, int phy, int reg, u16 val)
 	return 0;
 }
 
-static int mdiobb_reset(struct mii_bus *bus)
-{
-	struct mdiobb_ctrl *ctrl = bus->priv;
-	if (ctrl->reset)
-		ctrl->reset(bus);
-	return 0;
-}
-
 struct mii_bus *alloc_mdio_bitbang(struct mdiobb_ctrl *ctrl)
 {
 	struct mii_bus *bus;
@@ -225,7 +217,6 @@ struct mii_bus *alloc_mdio_bitbang(struct mdiobb_ctrl *ctrl)
 
 	bus->read = mdiobb_read;
 	bus->write = mdiobb_write;
-	bus->reset = mdiobb_reset;
 	bus->priv = ctrl;
 
 	return bus;
diff --git a/include/linux/mdio-bitbang.h b/include/linux/mdio-bitbang.h
index a8ac9cfa014c..5d71e8a8500f 100644
--- a/include/linux/mdio-bitbang.h
+++ b/include/linux/mdio-bitbang.h
@@ -33,8 +33,6 @@ struct mdiobb_ops {
 
 struct mdiobb_ctrl {
 	const struct mdiobb_ops *ops;
-	/* reset callback */
-	int (*reset)(struct mii_bus *bus);
 };
 
 /* The returned bus is not yet registered with the phy layer. */
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH net-next 04/11] net: phy: mdio-gpio: remove support for ignoring turn around
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
                   ` (2 preceding siblings ...)
  2018-04-18 23:02 ` [PATCH net-next 03/11] net: phy: mdio-bitbang: Remove reset support Andrew Lunn
@ 2018-04-18 23:02 ` Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 05/11] net: phy: mdio-gpio: remove support for phy mask Andrew Lunn
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Andrew Lunn @ 2018-04-18 23:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Florian Fainelli, Linus Walleij, Andrew Lunn

This is not needed any more by devices using platform data, so remove
it.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/phy/mdio-gpio.c             | 1 -
 include/linux/platform_data/mdio-gpio.h | 1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index 570b87b82abc..28ad9ca7b9e7 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -163,7 +163,6 @@ static struct mii_bus *mdio_gpio_bus_init(struct device *dev,
 	new_bus->name = "GPIO Bitbanged MDIO";
 
 	new_bus->phy_mask = pdata->phy_mask;
-	new_bus->phy_ignore_ta_mask = pdata->phy_ignore_ta_mask;
 	memcpy(new_bus->irq, pdata->irqs, sizeof(new_bus->irq));
 	new_bus->parent = dev;
 
diff --git a/include/linux/platform_data/mdio-gpio.h b/include/linux/platform_data/mdio-gpio.h
index 6e8f01a570f2..b8f914a30126 100644
--- a/include/linux/platform_data/mdio-gpio.h
+++ b/include/linux/platform_data/mdio-gpio.h
@@ -24,7 +24,6 @@ struct mdio_gpio_platform_data {
 	bool mdo_active_low;
 
 	u32 phy_mask;
-	u32 phy_ignore_ta_mask;
 	int irqs[PHY_MAX_ADDR];
 };
 
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH net-next 05/11] net: phy: mdio-gpio: remove support for phy mask
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
                   ` (3 preceding siblings ...)
  2018-04-18 23:02 ` [PATCH net-next 04/11] net: phy: mdio-gpio: remove support for ignoring turn around Andrew Lunn
@ 2018-04-18 23:02 ` Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 06/11] net: phy: mdio-gpio: Remove support for IRQs in platform data Andrew Lunn
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Andrew Lunn @ 2018-04-18 23:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Florian Fainelli, Linus Walleij, Andrew Lunn

This is not needed any more by devices using platform data, so remove
it.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/phy/mdio-gpio.c             | 4 ----
 include/linux/platform_data/mdio-gpio.h | 1 -
 2 files changed, 5 deletions(-)

diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index 28ad9ca7b9e7..676ba0dd04be 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -162,13 +162,9 @@ static struct mii_bus *mdio_gpio_bus_init(struct device *dev,
 
 	new_bus->name = "GPIO Bitbanged MDIO";
 
-	new_bus->phy_mask = pdata->phy_mask;
 	memcpy(new_bus->irq, pdata->irqs, sizeof(new_bus->irq));
 	new_bus->parent = dev;
 
-	if (new_bus->phy_mask == ~0)
-		goto out_free_bus;
-
 	for (i = 0; i < PHY_MAX_ADDR; i++)
 		if (!new_bus->irq[i])
 			new_bus->irq[i] = PHY_POLL;
diff --git a/include/linux/platform_data/mdio-gpio.h b/include/linux/platform_data/mdio-gpio.h
index b8f914a30126..7d55dfef56dc 100644
--- a/include/linux/platform_data/mdio-gpio.h
+++ b/include/linux/platform_data/mdio-gpio.h
@@ -23,7 +23,6 @@ struct mdio_gpio_platform_data {
 	bool mdio_active_low;
 	bool mdo_active_low;
 
-	u32 phy_mask;
 	int irqs[PHY_MAX_ADDR];
 };
 
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH net-next 06/11] net: phy: mdio-gpio: Remove support for IRQs in platform data
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
                   ` (4 preceding siblings ...)
  2018-04-18 23:02 ` [PATCH net-next 05/11] net: phy: mdio-gpio: remove support for phy mask Andrew Lunn
@ 2018-04-18 23:02 ` Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 07/11] net: phy: mdio-gpio: Swap to using gpio descriptors Andrew Lunn
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Andrew Lunn @ 2018-04-18 23:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Florian Fainelli, Linus Walleij, Andrew Lunn

No current devices use IRQs in platform data, so remove support for
it. The MDIO core will also initialise the new bus such that all
addresses are polled, so remove the unneeded re-initialisation.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/phy/mdio-gpio.c             | 7 -------
 include/linux/platform_data/mdio-gpio.h | 2 --
 2 files changed, 9 deletions(-)

diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index 676ba0dd04be..0f8c748c8edd 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -130,7 +130,6 @@ static struct mii_bus *mdio_gpio_bus_init(struct device *dev,
 {
 	struct mii_bus *new_bus;
 	struct mdio_gpio_info *bitbang;
-	int i;
 	int mdc, mdio, mdo;
 	unsigned long mdc_flags = GPIOF_OUT_INIT_LOW;
 	unsigned long mdio_flags = GPIOF_DIR_IN;
@@ -161,14 +160,8 @@ static struct mii_bus *mdio_gpio_bus_init(struct device *dev,
 		goto out;
 
 	new_bus->name = "GPIO Bitbanged MDIO";
-
-	memcpy(new_bus->irq, pdata->irqs, sizeof(new_bus->irq));
 	new_bus->parent = dev;
 
-	for (i = 0; i < PHY_MAX_ADDR; i++)
-		if (!new_bus->irq[i])
-			new_bus->irq[i] = PHY_POLL;
-
 	if (bus_id != -1)
 		snprintf(new_bus->id, MII_BUS_ID_SIZE, "gpio-%x", bus_id);
 	else
diff --git a/include/linux/platform_data/mdio-gpio.h b/include/linux/platform_data/mdio-gpio.h
index 7d55dfef56dc..af3be0c4ff9b 100644
--- a/include/linux/platform_data/mdio-gpio.h
+++ b/include/linux/platform_data/mdio-gpio.h
@@ -22,8 +22,6 @@ struct mdio_gpio_platform_data {
 	bool mdc_active_low;
 	bool mdio_active_low;
 	bool mdo_active_low;
-
-	int irqs[PHY_MAX_ADDR];
 };
 
 #endif /* __LINUX_MDIO_GPIO_H */
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH net-next 07/11] net: phy: mdio-gpio: Swap to using gpio descriptors
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
                   ` (5 preceding siblings ...)
  2018-04-18 23:02 ` [PATCH net-next 06/11] net: phy: mdio-gpio: Remove support for IRQs in platform data Andrew Lunn
@ 2018-04-18 23:02 ` Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 08/11] net: phy: mdio-gpio: Move allocation for bitbanging data Andrew Lunn
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Andrew Lunn @ 2018-04-18 23:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Florian Fainelli, Linus Walleij, Andrew Lunn

This simplifies the code, removing the need to handle active low
flags, etc.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/phy/mdio-gpio.c             | 73 ++++++-------------------
 include/linux/platform_data/mdio-gpio.h | 10 +---
 2 files changed, 20 insertions(+), 63 deletions(-)

diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index 0f8c748c8edd..b999f32374e2 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -35,35 +35,25 @@ struct mdio_gpio_info {
 	struct gpio_desc *mdc, *mdio, *mdo;
 };
 
-static void *mdio_gpio_of_get_data(struct platform_device *pdev)
+static void *mdio_gpio_of_get_data(struct device *dev)
 {
-	struct device_node *np = pdev->dev.of_node;
 	struct mdio_gpio_platform_data *pdata;
-	enum of_gpio_flags flags;
-	int ret;
 
-	pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
+	pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL);
 	if (!pdata)
 		return NULL;
 
-	ret = of_get_gpio_flags(np, 0, &flags);
-	if (ret < 0)
-		return NULL;
-
-	pdata->mdc = ret;
-	pdata->mdc_active_low = flags & OF_GPIO_ACTIVE_LOW;
+	pdata->mdc = devm_gpiod_get_index(dev, NULL, 0, GPIOD_OUT_LOW);
+	if (IS_ERR(pdata->mdc))
+		return ERR_CAST(pdata->mdc);
 
-	ret = of_get_gpio_flags(np, 1, &flags);
-	if (ret < 0)
-		return NULL;
-	pdata->mdio = ret;
-	pdata->mdio_active_low = flags & OF_GPIO_ACTIVE_LOW;
+	pdata->mdio = devm_gpiod_get_index(dev, NULL, 1, GPIOD_IN);
+	if (IS_ERR(pdata->mdio))
+		return ERR_CAST(pdata->mdio);
 
-	ret = of_get_gpio_flags(np, 2, &flags);
-	if (ret > 0) {
-		pdata->mdo = ret;
-		pdata->mdo_active_low = flags & OF_GPIO_ACTIVE_LOW;
-	}
+	pdata->mdo = devm_gpiod_get_index_optional(dev, NULL, 2, GPIOD_OUT_LOW);
+	if (IS_ERR(pdata->mdo))
+		return ERR_CAST(pdata->mdo);
 
 	return pdata;
 }
@@ -130,34 +120,19 @@ static struct mii_bus *mdio_gpio_bus_init(struct device *dev,
 {
 	struct mii_bus *new_bus;
 	struct mdio_gpio_info *bitbang;
-	int mdc, mdio, mdo;
-	unsigned long mdc_flags = GPIOF_OUT_INIT_LOW;
-	unsigned long mdio_flags = GPIOF_DIR_IN;
-	unsigned long mdo_flags = GPIOF_OUT_INIT_HIGH;
 
 	bitbang = devm_kzalloc(dev, sizeof(*bitbang), GFP_KERNEL);
 	if (!bitbang)
-		goto out;
+		return NULL;
 
 	bitbang->ctrl.ops = &mdio_gpio_ops;
-	mdc = pdata->mdc;
-	bitbang->mdc = gpio_to_desc(mdc);
-	if (pdata->mdc_active_low)
-		mdc_flags = GPIOF_OUT_INIT_HIGH | GPIOF_ACTIVE_LOW;
-	mdio = pdata->mdio;
-	bitbang->mdio = gpio_to_desc(mdio);
-	if (pdata->mdio_active_low)
-		mdio_flags |= GPIOF_ACTIVE_LOW;
-	mdo = pdata->mdo;
-	if (mdo) {
-		bitbang->mdo = gpio_to_desc(mdo);
-		if (pdata->mdo_active_low)
-			mdo_flags = GPIOF_OUT_INIT_LOW | GPIOF_ACTIVE_LOW;
-	}
+	bitbang->mdc = pdata->mdc;
+	bitbang->mdio = pdata->mdio;
+	bitbang->mdo = pdata->mdo;
 
 	new_bus = alloc_mdio_bitbang(&bitbang->ctrl);
 	if (!new_bus)
-		goto out;
+		return NULL;
 
 	new_bus->name = "GPIO Bitbanged MDIO";
 	new_bus->parent = dev;
@@ -167,23 +142,9 @@ static struct mii_bus *mdio_gpio_bus_init(struct device *dev,
 	else
 		strncpy(new_bus->id, "gpio", MII_BUS_ID_SIZE);
 
-	if (devm_gpio_request_one(dev, mdc, mdc_flags, "mdc"))
-		goto out_free_bus;
-
-	if (devm_gpio_request_one(dev, mdio, mdio_flags, "mdio"))
-		goto out_free_bus;
-
-	if (mdo && devm_gpio_request_one(dev, mdo, mdo_flags, "mdo"))
-		goto out_free_bus;
-
 	dev_set_drvdata(dev, new_bus);
 
 	return new_bus;
-
-out_free_bus:
-	free_mdio_bitbang(new_bus);
-out:
-	return NULL;
 }
 
 static void mdio_gpio_bus_deinit(struct device *dev)
@@ -208,7 +169,7 @@ static int mdio_gpio_probe(struct platform_device *pdev)
 	int ret, bus_id;
 
 	if (pdev->dev.of_node) {
-		pdata = mdio_gpio_of_get_data(pdev);
+		pdata = mdio_gpio_of_get_data(&pdev->dev);
 		bus_id = of_alias_get_id(pdev->dev.of_node, "mdio-gpio");
 		if (bus_id < 0) {
 			dev_warn(&pdev->dev, "failed to get alias id\n");
diff --git a/include/linux/platform_data/mdio-gpio.h b/include/linux/platform_data/mdio-gpio.h
index af3be0c4ff9b..bd91fa98a3aa 100644
--- a/include/linux/platform_data/mdio-gpio.h
+++ b/include/linux/platform_data/mdio-gpio.h
@@ -15,13 +15,9 @@
 
 struct mdio_gpio_platform_data {
 	/* GPIO numbers for bus pins */
-	unsigned int mdc;
-	unsigned int mdio;
-	unsigned int mdo;
-
-	bool mdc_active_low;
-	bool mdio_active_low;
-	bool mdo_active_low;
+	struct gpio_desc *mdc;
+	struct gpio_desc *mdio;
+	struct gpio_desc *mdo;
 };
 
 #endif /* __LINUX_MDIO_GPIO_H */
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH net-next 08/11] net: phy: mdio-gpio: Move allocation for bitbanging data
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
                   ` (6 preceding siblings ...)
  2018-04-18 23:02 ` [PATCH net-next 07/11] net: phy: mdio-gpio: Swap to using gpio descriptors Andrew Lunn
@ 2018-04-18 23:02 ` Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 09/11] net: phy: mdio-gpio: Parse properties directly into bitbang structure Andrew Lunn
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Andrew Lunn @ 2018-04-18 23:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Florian Fainelli, Linus Walleij, Andrew Lunn

Moving the allocation of this structure to the probe function is a
step towards making it the core data structure of the driver.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/phy/mdio-gpio.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index b999f32374e2..bb57a9e89a18 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -115,15 +115,11 @@ static const struct mdiobb_ops mdio_gpio_ops = {
 };
 
 static struct mii_bus *mdio_gpio_bus_init(struct device *dev,
+					  struct mdio_gpio_info *bitbang,
 					  struct mdio_gpio_platform_data *pdata,
 					  int bus_id)
 {
 	struct mii_bus *new_bus;
-	struct mdio_gpio_info *bitbang;
-
-	bitbang = devm_kzalloc(dev, sizeof(*bitbang), GFP_KERNEL);
-	if (!bitbang)
-		return NULL;
 
 	bitbang->ctrl.ops = &mdio_gpio_ops;
 	bitbang->mdc = pdata->mdc;
@@ -165,9 +161,14 @@ static void mdio_gpio_bus_destroy(struct device *dev)
 static int mdio_gpio_probe(struct platform_device *pdev)
 {
 	struct mdio_gpio_platform_data *pdata;
+	struct mdio_gpio_info *bitbang;
 	struct mii_bus *new_bus;
 	int ret, bus_id;
 
+	bitbang = devm_kzalloc(&pdev->dev, sizeof(*bitbang), GFP_KERNEL);
+	if (!bitbang)
+		return -ENOMEM;
+
 	if (pdev->dev.of_node) {
 		pdata = mdio_gpio_of_get_data(&pdev->dev);
 		bus_id = of_alias_get_id(pdev->dev.of_node, "mdio-gpio");
@@ -183,7 +184,7 @@ static int mdio_gpio_probe(struct platform_device *pdev)
 	if (!pdata)
 		return -ENODEV;
 
-	new_bus = mdio_gpio_bus_init(&pdev->dev, pdata, bus_id);
+	new_bus = mdio_gpio_bus_init(&pdev->dev, bitbang, pdata, bus_id);
 	if (!new_bus)
 		return -ENODEV;
 
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH net-next 09/11] net: phy: mdio-gpio: Parse properties directly into bitbang structure
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
                   ` (7 preceding siblings ...)
  2018-04-18 23:02 ` [PATCH net-next 08/11] net: phy: mdio-gpio: Move allocation for bitbanging data Andrew Lunn
@ 2018-04-18 23:02 ` Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 10/11] net: phy: mdio-gpio: Add #defines for the GPIO index's Andrew Lunn
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Andrew Lunn @ 2018-04-18 23:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Florian Fainelli, Linus Walleij, Andrew Lunn

The same parsing code can be used for both OF and platform devices, if
the platform device uses a gpiod_lookup_table. Parse these properties
directly into the bitbang structure, rather than use an intermediate
platform data structure.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/phy/mdio-gpio.c | 45 +++++++++++++------------------------
 1 file changed, 16 insertions(+), 29 deletions(-)

diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index bb57a9e89a18..74b982835ac1 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -35,27 +35,20 @@ struct mdio_gpio_info {
 	struct gpio_desc *mdc, *mdio, *mdo;
 };
 
-static void *mdio_gpio_of_get_data(struct device *dev)
+static int mdio_gpio_get_data(struct device *dev,
+			      struct mdio_gpio_info *bitbang)
 {
-	struct mdio_gpio_platform_data *pdata;
+	bitbang->mdc = devm_gpiod_get_index(dev, NULL, 0, GPIOD_OUT_LOW);
+	if (IS_ERR(bitbang->mdc))
+		return PTR_ERR(bitbang->mdc);
 
-	pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL);
-	if (!pdata)
-		return NULL;
-
-	pdata->mdc = devm_gpiod_get_index(dev, NULL, 0, GPIOD_OUT_LOW);
-	if (IS_ERR(pdata->mdc))
-		return ERR_CAST(pdata->mdc);
-
-	pdata->mdio = devm_gpiod_get_index(dev, NULL, 1, GPIOD_IN);
-	if (IS_ERR(pdata->mdio))
-		return ERR_CAST(pdata->mdio);
-
-	pdata->mdo = devm_gpiod_get_index_optional(dev, NULL, 2, GPIOD_OUT_LOW);
-	if (IS_ERR(pdata->mdo))
-		return ERR_CAST(pdata->mdo);
+	bitbang->mdio = devm_gpiod_get_index(dev, NULL, 1, GPIOD_IN);
+	if (IS_ERR(bitbang->mdio))
+		return PTR_ERR(bitbang->mdio);
 
-	return pdata;
+	bitbang->mdo = devm_gpiod_get_index_optional(dev, NULL, 2,
+						     GPIOD_OUT_LOW);
+	return PTR_ERR_OR_ZERO(bitbang->mdo);
 }
 
 static void mdio_dir(struct mdiobb_ctrl *ctrl, int dir)
@@ -116,15 +109,11 @@ static const struct mdiobb_ops mdio_gpio_ops = {
 
 static struct mii_bus *mdio_gpio_bus_init(struct device *dev,
 					  struct mdio_gpio_info *bitbang,
-					  struct mdio_gpio_platform_data *pdata,
 					  int bus_id)
 {
 	struct mii_bus *new_bus;
 
 	bitbang->ctrl.ops = &mdio_gpio_ops;
-	bitbang->mdc = pdata->mdc;
-	bitbang->mdio = pdata->mdio;
-	bitbang->mdo = pdata->mdo;
 
 	new_bus = alloc_mdio_bitbang(&bitbang->ctrl);
 	if (!new_bus)
@@ -160,7 +149,6 @@ static void mdio_gpio_bus_destroy(struct device *dev)
 
 static int mdio_gpio_probe(struct platform_device *pdev)
 {
-	struct mdio_gpio_platform_data *pdata;
 	struct mdio_gpio_info *bitbang;
 	struct mii_bus *new_bus;
 	int ret, bus_id;
@@ -169,22 +157,21 @@ static int mdio_gpio_probe(struct platform_device *pdev)
 	if (!bitbang)
 		return -ENOMEM;
 
+	ret = mdio_gpio_get_data(&pdev->dev, bitbang);
+	if (ret)
+		return ret;
+
 	if (pdev->dev.of_node) {
-		pdata = mdio_gpio_of_get_data(&pdev->dev);
 		bus_id = of_alias_get_id(pdev->dev.of_node, "mdio-gpio");
 		if (bus_id < 0) {
 			dev_warn(&pdev->dev, "failed to get alias id\n");
 			bus_id = 0;
 		}
 	} else {
-		pdata = dev_get_platdata(&pdev->dev);
 		bus_id = pdev->id;
 	}
 
-	if (!pdata)
-		return -ENODEV;
-
-	new_bus = mdio_gpio_bus_init(&pdev->dev, bitbang, pdata, bus_id);
+	new_bus = mdio_gpio_bus_init(&pdev->dev, bitbang, bus_id);
 	if (!new_bus)
 		return -ENODEV;
 
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH net-next 10/11] net: phy: mdio-gpio: Add #defines for the GPIO index's
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
                   ` (8 preceding siblings ...)
  2018-04-18 23:02 ` [PATCH net-next 09/11] net: phy: mdio-gpio: Parse properties directly into bitbang structure Andrew Lunn
@ 2018-04-18 23:02 ` Andrew Lunn
  2018-04-18 23:02 ` [PATCH net-next 11/11] net: phy: mdio-gpio: Remove redundant platform data header Andrew Lunn
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 16+ messages in thread
From: Andrew Lunn @ 2018-04-18 23:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Florian Fainelli, Linus Walleij, Andrew Lunn

The GPIOs are described in device tree using a list, without names.
Add defines to indicate what each index in the list means. These
defines should also be used by platform devices passing GPIOs via a
GPIO lookup table.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/phy/mdio-gpio.c | 10 +++++++---
 include/linux/mdio-gpio.h   |  9 +++++++++
 2 files changed, 16 insertions(+), 3 deletions(-)
 create mode 100644 include/linux/mdio-gpio.h

diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index 74b982835ac1..281c905ef9fd 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -24,6 +24,8 @@
 #include <linux/slab.h>
 #include <linux/interrupt.h>
 #include <linux/platform_device.h>
+#include <linux/mdio-bitbang.h>
+#include <linux/mdio-gpio.h>
 #include <linux/gpio.h>
 #include <linux/platform_data/mdio-gpio.h>
 
@@ -38,15 +40,17 @@ struct mdio_gpio_info {
 static int mdio_gpio_get_data(struct device *dev,
 			      struct mdio_gpio_info *bitbang)
 {
-	bitbang->mdc = devm_gpiod_get_index(dev, NULL, 0, GPIOD_OUT_LOW);
+	bitbang->mdc = devm_gpiod_get_index(dev, NULL, MDIO_GPIO_MDC,
+					    GPIOD_OUT_LOW);
 	if (IS_ERR(bitbang->mdc))
 		return PTR_ERR(bitbang->mdc);
 
-	bitbang->mdio = devm_gpiod_get_index(dev, NULL, 1, GPIOD_IN);
+	bitbang->mdio = devm_gpiod_get_index(dev, NULL, MDIO_GPIO_MDIO,
+					     GPIOD_IN);
 	if (IS_ERR(bitbang->mdio))
 		return PTR_ERR(bitbang->mdio);
 
-	bitbang->mdo = devm_gpiod_get_index_optional(dev, NULL, 2,
+	bitbang->mdo = devm_gpiod_get_index_optional(dev, NULL, MDIO_GPIO_MDO,
 						     GPIOD_OUT_LOW);
 	return PTR_ERR_OR_ZERO(bitbang->mdo);
 }
diff --git a/include/linux/mdio-gpio.h b/include/linux/mdio-gpio.h
new file mode 100644
index 000000000000..cea443a672cb
--- /dev/null
+++ b/include/linux/mdio-gpio.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __LINUX_MDIO_GPIO_H
+#define __LINUX_MDIO_GPIO_H
+
+#define MDIO_GPIO_MDC	0
+#define MDIO_GPIO_MDIO	1
+#define MDIO_GPIO_MDO	2
+
+#endif
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH net-next 11/11] net: phy: mdio-gpio: Remove redundant platform data header
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
                   ` (9 preceding siblings ...)
  2018-04-18 23:02 ` [PATCH net-next 10/11] net: phy: mdio-gpio: Add #defines for the GPIO index's Andrew Lunn
@ 2018-04-18 23:02 ` Andrew Lunn
  2018-04-19 19:52 ` [PATCH net-next 00/11] Modernize mdio-gpio Linus Walleij
  2018-04-19 19:59 ` David Miller
  12 siblings, 0 replies; 16+ messages in thread
From: Andrew Lunn @ 2018-04-18 23:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Florian Fainelli, Linus Walleij, Andrew Lunn

The platform data header file is now unused. Remove it, but add
an extra include which it brought in.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 MAINTAINERS                             |  1 -
 drivers/net/phy/mdio-gpio.c             |  2 +-
 include/linux/platform_data/mdio-gpio.h | 23 -----------------------
 3 files changed, 1 insertion(+), 25 deletions(-)
 delete mode 100644 include/linux/platform_data/mdio-gpio.h

diff --git a/MAINTAINERS b/MAINTAINERS
index b60179d948bb..a7321687cae9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5321,7 +5321,6 @@ F:	include/linux/*mdio*.h
 F:	include/linux/of_net.h
 F:	include/linux/phy.h
 F:	include/linux/phy_fixed.h
-F:	include/linux/platform_data/mdio-gpio.h
 F:	include/linux/platform_data/mdio-bcm-unimac.h
 F:	include/trace/events/mdio.h
 F:	include/uapi/linux/mdio.h
diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index 281c905ef9fd..b501221819e1 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -27,7 +27,7 @@
 #include <linux/mdio-bitbang.h>
 #include <linux/mdio-gpio.h>
 #include <linux/gpio.h>
-#include <linux/platform_data/mdio-gpio.h>
+#include <linux/gpio/consumer.h>
 
 #include <linux/of_gpio.h>
 #include <linux/of_mdio.h>
diff --git a/include/linux/platform_data/mdio-gpio.h b/include/linux/platform_data/mdio-gpio.h
deleted file mode 100644
index bd91fa98a3aa..000000000000
--- a/include/linux/platform_data/mdio-gpio.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * MDIO-GPIO bus platform data structures
- *
- * Copyright (C) 2008, Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
- *
- * This file is licensed under the terms of the GNU General Public License
- * version 2. This program is licensed "as is" without any warranty of any
- * kind, whether express or implied.
- */
-
-#ifndef __LINUX_MDIO_GPIO_H
-#define __LINUX_MDIO_GPIO_H
-
-#include <linux/mdio-bitbang.h>
-
-struct mdio_gpio_platform_data {
-	/* GPIO numbers for bus pins */
-	struct gpio_desc *mdc;
-	struct gpio_desc *mdio;
-	struct gpio_desc *mdo;
-};
-
-#endif /* __LINUX_MDIO_GPIO_H */
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH net-next 00/11] Modernize mdio-gpio
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
                   ` (10 preceding siblings ...)
  2018-04-18 23:02 ` [PATCH net-next 11/11] net: phy: mdio-gpio: Remove redundant platform data header Andrew Lunn
@ 2018-04-19 19:52 ` Linus Walleij
  2018-04-19 20:20   ` Andrew Lunn
  2018-04-19 19:59 ` David Miller
  12 siblings, 1 reply; 16+ messages in thread
From: Linus Walleij @ 2018-04-19 19:52 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: David Miller, netdev, Florian Fainelli

On Thu, Apr 19, 2018 at 1:02 AM, Andrew Lunn <andrew@lunn.ch> wrote:

> This patchset is inspired by a previous version by Linus Walleij
>
> It reworks the mdio-gpio code to make use of gpio descriptors instead
> of gpio numbers. However compared to the previous version, it retains
> support for platform devices. It does however remove the platform_data
> header file. The needed GPIOs are now passed by making use of a gpiod
> lookup table. e.g:

Looks good to me, but wasn't this what Florian was NACKing?

I thought he was going to add some x86 MDIO using platform data,
and then I suppose he wanted to use something more than some
GPIO descriptors, maybe IRQ etc (who knows)?

If he only needs to put in GPIO descriptors then this is fine of
course.

Anyway the series has a solid:
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Thanks,
Linus Walleij

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH net-next 00/11] Modernize mdio-gpio
  2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
                   ` (11 preceding siblings ...)
  2018-04-19 19:52 ` [PATCH net-next 00/11] Modernize mdio-gpio Linus Walleij
@ 2018-04-19 19:59 ` David Miller
  12 siblings, 0 replies; 16+ messages in thread
From: David Miller @ 2018-04-19 19:59 UTC (permalink / raw)
  To: andrew; +Cc: netdev, f.fainelli, linus.walleij

From: Andrew Lunn <andrew@lunn.ch>
Date: Thu, 19 Apr 2018 01:02:48 +0200

> This patchset is inspired by a previous version by Linus Walleij
> 
> It reworks the mdio-gpio code to make use of gpio descriptors instead
> of gpio numbers. However compared to the previous version, it retains
> support for platform devices. It does however remove the platform_data
> header file. The needed GPIOs are now passed by making use of a gpiod
> lookup table. e.g:
> 
> static struct gpiod_lookup_table zii_scu_mdio_gpiod_table = {
> 	.dev_id = "mdio-gpio.0",
> 	.table = {
> 		GPIO_LOOKUP_IDX("gpio_ich", 17, NULL, MDIO_GPIO_MDC,
> 				GPIO_ACTIVE_HIGH),
> 		GPIO_LOOKUP_IDX("gpio_ich", 2, NULL, MDIO_GPIO_MDIO,
> 				GPIO_ACTIVE_HIGH),
> 		GPIO_LOOKUP_IDX("gpio_ich", 21, NULL, MDIO_GPIO_MDO,
> 				GPIO_ACTIVE_LOW),
> 	},
> };

Nice set of simplifications, applied.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH net-next 01/11] net: phy_ mdio-gpio: Fixup , which should be ;
  2018-04-18 23:02 ` [PATCH net-next 01/11] net: phy_ mdio-gpio: Fixup , which should be ; Andrew Lunn
@ 2018-04-19 20:00   ` David Miller
  0 siblings, 0 replies; 16+ messages in thread
From: David Miller @ 2018-04-19 20:00 UTC (permalink / raw)
  To: andrew; +Cc: netdev, f.fainelli, linus.walleij

From: Andrew Lunn <andrew@lunn.ch>
Date: Thu, 19 Apr 2018 01:02:49 +0200

> @@ -161,7 +161,7 @@ static struct mii_bus *mdio_gpio_bus_init(struct device *dev,
>  	if (!new_bus)
>  		goto out;
>  
> -	new_bus->name = "GPIO Bitbanged MDIO",
> +	new_bus->name = "GPIO Bitbanged MDIO";

Would be so great to find a way to automatically detect these somehow.

Yes, they are useful when controlling evaluation in weird ways in
macros etc.  However most of the time if a ',' is used in a context
where a ';' also works, it's unintentional.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH net-next 00/11] Modernize mdio-gpio
  2018-04-19 19:52 ` [PATCH net-next 00/11] Modernize mdio-gpio Linus Walleij
@ 2018-04-19 20:20   ` Andrew Lunn
  0 siblings, 0 replies; 16+ messages in thread
From: Andrew Lunn @ 2018-04-19 20:20 UTC (permalink / raw)
  To: Linus Walleij; +Cc: David Miller, netdev, Florian Fainelli

On Thu, Apr 19, 2018 at 09:52:09PM +0200, Linus Walleij wrote:
> On Thu, Apr 19, 2018 at 1:02 AM, Andrew Lunn <andrew@lunn.ch> wrote:
> 
> > This patchset is inspired by a previous version by Linus Walleij
> >
> > It reworks the mdio-gpio code to make use of gpio descriptors instead
> > of gpio numbers. However compared to the previous version, it retains
> > support for platform devices. It does however remove the platform_data
> > header file. The needed GPIOs are now passed by making use of a gpiod
> > lookup table. e.g:
> 
> Looks good to me, but wasn't this what Florian was NACKing?

Hi Linus

At the time, i don't think either Florian or i knew about gpiod lookup
tables. It was only when i got deep into this patchset i found them.

> I thought he was going to add some x86 MDIO using platform data,
> and then I suppose he wanted to use something more than some
> GPIO descriptors, maybe IRQ etc (who knows)?

I now have said x86 MDIO device, connecting to an Ethernet switch. It
works :-)

      Andrew

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2018-04-19 20:21 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-18 23:02 [PATCH net-next 00/11] Modernize mdio-gpio Andrew Lunn
2018-04-18 23:02 ` [PATCH net-next 01/11] net: phy_ mdio-gpio: Fixup , which should be ; Andrew Lunn
2018-04-19 20:00   ` David Miller
2018-04-18 23:02 ` [PATCH net-next 02/11] net: phy: mdio-gpio: Remove reset function Andrew Lunn
2018-04-18 23:02 ` [PATCH net-next 03/11] net: phy: mdio-bitbang: Remove reset support Andrew Lunn
2018-04-18 23:02 ` [PATCH net-next 04/11] net: phy: mdio-gpio: remove support for ignoring turn around Andrew Lunn
2018-04-18 23:02 ` [PATCH net-next 05/11] net: phy: mdio-gpio: remove support for phy mask Andrew Lunn
2018-04-18 23:02 ` [PATCH net-next 06/11] net: phy: mdio-gpio: Remove support for IRQs in platform data Andrew Lunn
2018-04-18 23:02 ` [PATCH net-next 07/11] net: phy: mdio-gpio: Swap to using gpio descriptors Andrew Lunn
2018-04-18 23:02 ` [PATCH net-next 08/11] net: phy: mdio-gpio: Move allocation for bitbanging data Andrew Lunn
2018-04-18 23:02 ` [PATCH net-next 09/11] net: phy: mdio-gpio: Parse properties directly into bitbang structure Andrew Lunn
2018-04-18 23:02 ` [PATCH net-next 10/11] net: phy: mdio-gpio: Add #defines for the GPIO index's Andrew Lunn
2018-04-18 23:02 ` [PATCH net-next 11/11] net: phy: mdio-gpio: Remove redundant platform data header Andrew Lunn
2018-04-19 19:52 ` [PATCH net-next 00/11] Modernize mdio-gpio Linus Walleij
2018-04-19 20:20   ` Andrew Lunn
2018-04-19 19:59 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.