コード例 #1
0
ファイル: enp2611.c プロジェクト: Antonio-Zhou/Linux-2.6.11
int __init enp2611_pci_init(void)
{
	if (machine_is_enp2611())
		pci_common_init(&enp2611_pci);

	return 0;
}
コード例 #2
0
ファイル: enp2611.c プロジェクト: BackupTheBerlios/arp2-svn
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;
}