Esempio n. 1
0
void
sdhci_fdt_gpio_teardown(struct sdhci_fdt_gpio *gpio)
{

	if (gpio == NULL)
		return;

	if (gpio->cd_ihandler != NULL)
		bus_teardown_intr(gpio->dev, gpio->cd_ires, gpio->cd_ihandler);
	if (gpio->wp_pin != NULL)
		gpio_pin_release(gpio->wp_pin);
	if (gpio->cd_pin != NULL)
		gpio_pin_release(gpio->cd_pin);
	if (gpio->cd_ires != NULL)
		bus_release_resource(gpio->dev, SYS_RES_IRQ, 0, gpio->cd_ires);

	free(gpio, M_DEVBUF);
}
Esempio n. 2
0
static void
gpioleds_detach_led(struct gpioled *led)
{

	if (led->leddev != NULL)
		led_destroy(led->leddev);

	if (led->pin)
		gpio_pin_release(led->pin);
}
Esempio n. 3
0
static int
gpiobacklight_detach(device_t dev)
{
    struct gpiobacklight_softc *sc;

    sc = device_get_softc(dev);

    if (sc->sc_pin)
        gpio_pin_release(sc->sc_pin);

    return (0);
}