b267ddf6a5
The last user of the phy generic platform data was
deleted in commit 1e041b6f31
("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: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
28 lines
646 B
C
28 lines
646 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _PHY_GENERIC_H_
|
|
#define _PHY_GENERIC_H_
|
|
|
|
#include <linux/usb/usb_phy_generic.h>
|
|
#include <linux/gpio/consumer.h>
|
|
#include <linux/regulator/consumer.h>
|
|
|
|
struct usb_phy_generic {
|
|
struct usb_phy phy;
|
|
struct device *dev;
|
|
struct clk *clk;
|
|
struct regulator *vcc;
|
|
struct gpio_desc *gpiod_reset;
|
|
struct gpio_desc *gpiod_vbus;
|
|
struct regulator *vbus_draw;
|
|
bool vbus_draw_enabled;
|
|
unsigned long mA;
|
|
unsigned int vbus;
|
|
};
|
|
|
|
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);
|
|
|
|
#endif
|