int __init enp2611_pci_init(void) { if (machine_is_enp2611()) pci_common_init(&enp2611_pci); return 0; }
static int __init enp2611_init_module(void) { int ports; int i; if (!machine_is_enp2611()) return -ENODEV; caleb_reset(); pm3386_reset(); ports = pm3386_port_count(); for (i = 0; i < ports; i++) { nds[i] = ixpdev_alloc(i, sizeof(struct enp2611_ixpdev_priv)); if (nds[i] == NULL) { while (--i >= 0) free_netdev(nds[i]); return -ENOMEM; } SET_MODULE_OWNER(nds[i]); nds[i]->get_stats = enp2611_get_stats; pm3386_init_port(i); pm3386_get_mac(i, nds[i]->dev_addr); } ixp2400_msf_init(&enp2611_msf_parameters); if (ixpdev_init(ports, nds, enp2611_set_port_admin_status)) { for (i = 0; i < ports; i++) if (nds[i]) free_netdev(nds[i]); return -EINVAL; } init_timer(&link_check_timer); link_check_timer.function = enp2611_check_link_status; link_check_timer.expires = jiffies; add_timer(&link_check_timer); return 0; }