/** * Since CCAT doesn't support interrupts until now, we have to poll * some status bits to recognize things like link change etc. */ static enum hrtimer_restart poll_timer_callback(struct hrtimer *timer) { struct ccat_eth_priv *const priv = container_of(timer, struct ccat_eth_priv, poll_timer); poll_link(priv); poll_rx(priv); poll_tx(priv); hrtimer_forward_now(timer, POLL_TIME); return HRTIMER_RESTART; }
static void ec_poll_rx(struct net_device *dev) { struct ccat_eth_priv *const priv = netdev_priv(dev); poll_rx(priv); }