Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4bf27b70 authored by Vaishali Thakkar's avatar Vaishali Thakkar Committed by Chanwoo Choi
Browse files

extcon: axp288: Convert to using managed resources



Use resource managed functions devm_usb_get_phy and
devm_gpio_request to make error path simpler. To be
compatible the change, various gotos are replaced
with direct returns and unnecessary label
gpio_req_failed is dropped.

Also, remove function axp288_extcon_remove as it is
now redundant.

Signed-off-by: default avatarVaishali Thakkar <vthakkar1994@gmail.com>
Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
parent ff612f91
Loading
Loading
Loading
Loading
+5 −18
Original line number Original line Diff line number Diff line
@@ -309,7 +309,7 @@ static int axp288_extcon_probe(struct platform_device *pdev)
	}
	}


	/* Get otg transceiver phy */
	/* Get otg transceiver phy */
	info->otg = usb_get_phy(USB_PHY_TYPE_USB2);
	info->otg = devm_usb_get_phy(&pdev->dev, USB_PHY_TYPE_USB2);
	if (IS_ERR(info->otg)) {
	if (IS_ERR(info->otg)) {
		dev_err(&pdev->dev, "failed to get otg transceiver\n");
		dev_err(&pdev->dev, "failed to get otg transceiver\n");
		return PTR_ERR(info->otg);
		return PTR_ERR(info->otg);
@@ -318,11 +318,11 @@ static int axp288_extcon_probe(struct platform_device *pdev)
	/* Set up gpio control for USB Mux */
	/* Set up gpio control for USB Mux */
	if (info->pdata->gpio_mux_cntl) {
	if (info->pdata->gpio_mux_cntl) {
		gpio = desc_to_gpio(info->pdata->gpio_mux_cntl);
		gpio = desc_to_gpio(info->pdata->gpio_mux_cntl);
		ret = gpio_request(gpio, "USB_MUX");
		ret = devm_gpio_request(&pdev->dev, gpio, "USB_MUX");
		if (ret < 0) {
		if (ret < 0) {
			dev_err(&pdev->dev,
			dev_err(&pdev->dev,
				"failed to request the gpio=%d\n", gpio);
				"failed to request the gpio=%d\n", gpio);
			goto gpio_req_failed;
			return ret;
		}
		}
		gpiod_direction_output(info->pdata->gpio_mux_cntl,
		gpiod_direction_output(info->pdata->gpio_mux_cntl,
						EXTCON_GPIO_MUX_SEL_PMIC);
						EXTCON_GPIO_MUX_SEL_PMIC);
@@ -335,7 +335,7 @@ static int axp288_extcon_probe(struct platform_device *pdev)
			dev_err(&pdev->dev,
			dev_err(&pdev->dev,
				"failed to get virtual interrupt=%d\n", pirq);
				"failed to get virtual interrupt=%d\n", pirq);
			ret = info->irq[i];
			ret = info->irq[i];
			goto gpio_req_failed;
			return ret;
		}
		}


		ret = devm_request_threaded_irq(&pdev->dev, info->irq[i],
		ret = devm_request_threaded_irq(&pdev->dev, info->irq[i],
@@ -345,7 +345,7 @@ static int axp288_extcon_probe(struct platform_device *pdev)
		if (ret) {
		if (ret) {
			dev_err(&pdev->dev, "failed to request interrupt=%d\n",
			dev_err(&pdev->dev, "failed to request interrupt=%d\n",
							info->irq[i]);
							info->irq[i]);
			goto gpio_req_failed;
			return ret;
		}
		}
	}
	}


@@ -353,23 +353,10 @@ static int axp288_extcon_probe(struct platform_device *pdev)
	axp288_extcon_enable_irq(info);
	axp288_extcon_enable_irq(info);


	return 0;
	return 0;

gpio_req_failed:
	usb_put_phy(info->otg);
	return ret;
}

static int axp288_extcon_remove(struct platform_device *pdev)
{
	struct axp288_extcon_info *info = platform_get_drvdata(pdev);

	usb_put_phy(info->otg);
	return 0;
}
}


static struct platform_driver axp288_extcon_driver = {
static struct platform_driver axp288_extcon_driver = {
	.probe = axp288_extcon_probe,
	.probe = axp288_extcon_probe,
	.remove = axp288_extcon_remove,
	.driver = {
	.driver = {
		.name = "axp288_extcon",
		.name = "axp288_extcon",
	},
	},