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

Commit 5f629ad7 authored by Ben Dooks's avatar Ben Dooks Committed by Greg Kroah-Hartman
Browse files

USB: s3c2410 gadget: ensure vbus pin in input mode during read



Some CPUs in the S3C24XX series do not support readback of the
value of a pin when the pin has been configured to an IRQ.

Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
Acked-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 8802bca4
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1511,7 +1511,11 @@ static irqreturn_t s3c2410_udc_vbus_irq(int irq, void *_dev)
	unsigned int		value;

	dprintk(DEBUG_NORMAL, "%s()\n", __func__);

	/* some cpus cannot read from an line configured to IRQ! */
	s3c2410_gpio_cfgpin(udc_info->vbus_pin, S3C2410_GPIO_INPUT);
	value = s3c2410_gpio_getpin(udc_info->vbus_pin);
	s3c2410_gpio_cfgpin(udc_info->vbus_pin, S3C2410_GPIO_SFN2);

	if (udc_info->vbus_pin_inverted)
		value = !value;