Exemple #1
0
static void
at91_vbus_poll(struct at91_udp_softc *sc)
{
	uint8_t vbus_val;

	vbus_val = at91_pio_gpio_get(VBUS_BASE, VBUS_MASK) != 0;
	at91dci_vbus_interrupt(&sc->sc_dci, vbus_val);

	callout_reset(&sc->sc_vbus, hz, (void *)&at91_vbus_poll, sc);
}
static void
at91_vbus_poll(struct at91_udp_softc *sc)
{
    uint32_t temp;
    uint8_t vbus_val;

    /* XXX temporary clear interrupts here */

    temp = at91_pio_gpio_clear_interrupt(VBUS_BASE);

    /* just forward it */

    vbus_val = at91_pio_gpio_get(VBUS_BASE, VBUS_MASK);
    at91dci_vbus_interrupt(&sc->sc_dci, vbus_val);
}