summaryrefslogtreecommitdiffstats
path: root/sys/arm/freescale
diff options
context:
space:
mode:
authorloos <loos@FreeBSD.org>2015-02-14 21:16:19 +0000
committerloos <loos@FreeBSD.org>2015-02-14 21:16:19 +0000
commita7a8c39e00df26eda21597ddbe0f587ced4375a8 (patch)
treea2bdaaa92bec82c663e0a841ddfdce165ac2ebf1 /sys/arm/freescale
parentfd8cd0a9634bc701a7e4e2431a43432b23767400 (diff)
downloadFreeBSD-src-a7a8c39e00df26eda21597ddbe0f587ced4375a8.zip
FreeBSD-src-a7a8c39e00df26eda21597ddbe0f587ced4375a8.tar.gz
MFC r274670, r274671, r276168:
Moves all the duplicate code to a single function. Verify for invalid modes and unwanted flags before pass the new flags to driver. Make gpio_default_map_gpios() static. No functional changes. Improves the GPIO API description a little bit. gpio_pin_max must return the maximum supported pin number and not the total number of pins on the system.
Diffstat (limited to 'sys/arm/freescale')
-rw-r--r--sys/arm/freescale/imx/imx_gpio.c10
-rw-r--r--sys/arm/freescale/vybrid/vf_gpio.c9
2 files changed, 0 insertions, 19 deletions
diff --git a/sys/arm/freescale/imx/imx_gpio.c b/sys/arm/freescale/imx/imx_gpio.c
index b365489..c23f75b 100644
--- a/sys/arm/freescale/imx/imx_gpio.c
+++ b/sys/arm/freescale/imx/imx_gpio.c
@@ -268,18 +268,8 @@ imx51_gpio_pin_setflags(device_t dev, uint32_t pin, uint32_t flags)
if (i >= sc->gpio_npins)
return (EINVAL);
- /* Check for unwanted flags. */
- if ((flags & sc->gpio_pins[i].gp_caps) != flags)
- return (EINVAL);
-
- /* Can't mix input/output together */
- if ((flags & (GPIO_PIN_INPUT|GPIO_PIN_OUTPUT)) ==
- (GPIO_PIN_INPUT|GPIO_PIN_OUTPUT))
- return (EINVAL);
-
imx51_gpio_pin_configure(sc, &sc->gpio_pins[i], flags);
-
return (0);
}
diff --git a/sys/arm/freescale/vybrid/vf_gpio.c b/sys/arm/freescale/vybrid/vf_gpio.c
index ab6274e..ab4a18b 100644
--- a/sys/arm/freescale/vybrid/vf_gpio.c
+++ b/sys/arm/freescale/vybrid/vf_gpio.c
@@ -312,15 +312,6 @@ vf_gpio_pin_setflags(device_t dev, uint32_t pin, uint32_t flags)
if (i >= sc->gpio_npins)
return (EINVAL);
- /* Check for unwanted flags. */
- if ((flags & sc->gpio_pins[i].gp_caps) != flags)
- return (EINVAL);
-
- /* Can't mix input/output together */
- if ((flags & (GPIO_PIN_INPUT|GPIO_PIN_OUTPUT)) ==
- (GPIO_PIN_INPUT|GPIO_PIN_OUTPUT))
- return (EINVAL);
-
vf_gpio_pin_configure(sc, &sc->gpio_pins[i], flags);
return (0);
OpenPOWER on IntegriCloud