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

usb: renesas_usbhs: Switch to GPIO descriptor



The Renesas USBHS driver includes a bit of surplus headers
and uses the old GPIO API so let's switch it to use the
GPIO descriptor.

I noticed that the enable_gpio inside renesas_usbhs_driver_param
isn't really referenced anywhere, and it is also the wrong
type (u32) so let's just delete it and use a local variable
instead.

Cc: Eugeniu Rosca <erosca@de.adit-jv.com>
Cc: Veeraiyan Chidambaram <veeraiyan.chidambaram@in.bosch.com>
Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20191217141241.57639-1-linus.walleij@linaro.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 91687c19
Loading
Loading
Loading
Loading
+9 −13
Original line number Diff line number Diff line
@@ -8,11 +8,10 @@
 */
#include <linux/clk.h>
#include <linux/err.h>
#include <linux/gpio.h>
#include <linux/gpio/consumer.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of_device.h>
#include <linux/of_gpio.h>
#include <linux/pm_runtime.h>
#include <linux/reset.h>
#include <linux/slab.h>
@@ -592,7 +591,8 @@ static int usbhs_probe(struct platform_device *pdev)
	struct usbhs_priv *priv;
	struct resource *irq_res;
	struct device *dev = &pdev->dev;
	int ret, gpio;
	struct gpio_desc *gpiod;
	int ret;
	u32 tmp;

	/* check device node */
@@ -657,10 +657,9 @@ static int usbhs_probe(struct platform_device *pdev)
		priv->dparam.pio_dma_border = 64; /* 64byte */
	if (!of_property_read_u32(dev_of_node(dev), "renesas,buswait", &tmp))
		priv->dparam.buswait_bwait = tmp;
	gpio = of_get_named_gpio_flags(dev_of_node(dev), "renesas,enable-gpio",
				       0, NULL);
	if (gpio > 0)
		priv->dparam.enable_gpio = gpio;
	gpiod = devm_gpiod_get_optional(dev, "renesas,enable", GPIOD_IN);
	if (IS_ERR(gpiod))
		return PTR_ERR(gpiod);

	/* FIXME */
	/* runtime power control ? */
@@ -708,13 +707,10 @@ static int usbhs_probe(struct platform_device *pdev)
	usbhs_sys_clock_ctrl(priv, 0);

	/* check GPIO determining if USB function should be enabled */
	if (priv->dparam.enable_gpio) {
		gpio_request_one(priv->dparam.enable_gpio, GPIOF_IN, NULL);
		ret = !gpio_get_value(priv->dparam.enable_gpio);
		gpio_free(priv->dparam.enable_gpio);
	if (gpiod) {
		ret = !gpiod_get_value(gpiod);
		if (ret) {
			dev_warn(dev, "USB function not selected (GPIO %d)\n",
				 priv->dparam.enable_gpio);
			dev_warn(dev, "USB function not selected (GPIO)\n");
			ret = -ENOTSUPP;
			goto probe_end_mod_exit;
		}
+0 −2
Original line number Diff line number Diff line
@@ -6,8 +6,6 @@
 * Copyright (C) 2019 Renesas Electronics Corporation
 */

#include <linux/gpio.h>
#include <linux/of_gpio.h>
#include <linux/phy/phy.h>
#include "common.h"
#include "rcar2.h"
+0 −2
Original line number Diff line number Diff line
@@ -170,8 +170,6 @@ struct renesas_usbhs_driver_param {
	 */
	int pio_dma_border; /* default is 64byte */

	u32 enable_gpio;

	/*
	 * option:
	 */