Commit b267ddf6 authored by Linus Walleij's avatar Linus Walleij Committed by Greg Kroah-Hartman
Browse files

usb: phy-generic: Delete unused platform data



The last user of the phy generic platform data was
deleted in commit 1e041b6f
("usb: dwc3: exynos: Remove dead code"). So get rid of
the platform data, which rids us of another consumer of
the legacy GPIO API at the same time. Make sure we
only inlcude <linux/gpio/consumer.h> which is all we use.

Alter the usb_phy_gen_create_phy() function prototype to
not pass any platform data as this is just hardcoded to
NULL at all locations calling it in the kernel.

Move the devm_gpiod_get* calls out of the if (of_node)
parenthesis, as these calls are generic and do not depend
on device tree, they are used by any hardware description.

Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Felipe Balbi <balbi@kernel.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7b813767
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ static int am335x_phy_probe(struct platform_device *pdev)

	am_phy->dr_mode = of_usb_get_dr_mode_by_phy(pdev->dev.of_node, -1);

	ret = usb_phy_gen_create_phy(dev, &am_phy->usb_phy_gen, NULL);
	ret = usb_phy_gen_create_phy(dev, &am_phy->usb_phy_gen);
	if (ret)
		return ret;

+12 −27
Original line number Diff line number Diff line
@@ -21,8 +21,7 @@
#include <linux/clk.h>
#include <linux/regulator/consumer.h>
#include <linux/of.h>
#include <linux/of_gpio.h>
#include <linux/gpio.h>
#include <linux/gpio/consumer.h>
#include <linux/delay.h>

#include "phy-generic.h"
@@ -204,8 +203,7 @@ static int nop_set_host(struct usb_otg *otg, struct usb_bus *host)
	return 0;
}

int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop,
		struct usb_phy_generic_platform_data *pdata)
int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop)
{
	enum usb_phy_type type = USB_PHY_TYPE_USB2;
	int err = 0;
@@ -221,6 +219,7 @@ int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop,

		needs_vcc = of_property_read_bool(node, "vcc-supply");
		needs_clk = of_property_read_bool(node, "clocks");
	}
	nop->gpiod_reset = devm_gpiod_get_optional(dev, "reset",
						   GPIOD_ASIS);
	err = PTR_ERR_OR_ZERO(nop->gpiod_reset);
@@ -230,20 +229,6 @@ int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop,
						 GPIOD_ASIS);
		err = PTR_ERR_OR_ZERO(nop->gpiod_vbus);
	}
	} else if (pdata) {
		type = pdata->type;
		clk_rate = pdata->clk_rate;
		needs_vcc = pdata->needs_vcc;
		if (gpio_is_valid(pdata->gpio_reset)) {
			err = devm_gpio_request_one(dev, pdata->gpio_reset,
						    GPIOF_ACTIVE_LOW,
						    dev_name(dev));
			if (!err)
				nop->gpiod_reset =
					gpio_to_desc(pdata->gpio_reset);
		}
		nop->gpiod_vbus = pdata->gpiod_vbus;
	}

	if (err == -EPROBE_DEFER)
		return -EPROBE_DEFER;
@@ -308,7 +293,7 @@ static int usb_phy_generic_probe(struct platform_device *pdev)
	if (!nop)
		return -ENOMEM;

	err = usb_phy_gen_create_phy(dev, nop, dev_get_platdata(&pdev->dev));
	err = usb_phy_gen_create_phy(dev, nop);
	if (err)
		return err;
	if (nop->gpiod_vbus) {
+1 −2
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ struct usb_phy_generic {
int usb_gen_phy_init(struct usb_phy *phy);
void usb_gen_phy_shutdown(struct usb_phy *phy);

int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop,
		struct usb_phy_generic_platform_data *pdata);
int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop);

#endif
+1 −1
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ static int keystone_usbphy_probe(struct platform_device *pdev)
	if (IS_ERR(k_phy->phy_ctrl))
		return PTR_ERR(k_phy->phy_ctrl);

	ret = usb_phy_gen_create_phy(dev, &k_phy->usb_phy_gen, NULL);
	ret = usb_phy_gen_create_phy(dev, &k_phy->usb_phy_gen);
	if (ret)
		return ret;

+0 −12
Original line number Diff line number Diff line
@@ -3,18 +3,6 @@
#define __LINUX_USB_NOP_XCEIV_H

#include <linux/usb/otg.h>
#include <linux/gpio/consumer.h>

struct usb_phy_generic_platform_data {
	enum usb_phy_type type;
	unsigned long clk_rate;

	/* if set fails with -EPROBE_DEFER if can't get regulator */
	unsigned int needs_vcc:1;
	unsigned int needs_reset:1;	/* deprecated */
	int gpio_reset;
	struct gpio_desc *gpiod_vbus;
};

#if IS_ENABLED(CONFIG_NOP_USB_XCEIV)
/* sometimes transceivers are accessed only through e.g. ULPI */