Ejemplo n.º 1
0
int vnic_dev_cmd_init(struct vnic_dev *vdev)
{
	int err;
	void *p;

	p = vnic_dev_get_res(vdev, RES_TYPE_DEVCMD2, 0);
	if (p) {
		pr_err("fnic: DEVCMD2 resource found!\n");
		err = vnic_dev_init_devcmd2(vdev);
	} else {
		pr_err("fnic: DEVCMD2 not found, fall back to Devcmd\n");
		err = vnic_dev_init_devcmd1(vdev);
	}

	return err;
}
Ejemplo n.º 2
0
struct vnic_dev *vnic_dev_register(struct vnic_dev *vdev,
	void *priv, struct pci_dev *pdev, struct vnic_dev_bar *bar,
	unsigned int num_bars)
{
	vdev = vnic_dev_alloc_discover(vdev, priv, pdev, bar, num_bars);
	if (!vdev)
		goto err_out;

	if (vnic_dev_init_devcmd1(vdev))
		goto err_free;

	return vdev;

err_free:
	vnic_dev_unregister(vdev);
err_out:
	return NULL;
}
Ejemplo n.º 3
0
int vnic_devcmd_init(struct vnic_dev *vdev, int fallback)
{
#if !defined(CONFIG_MIPS) && !defined(MGMT_VNIC)
	int err;
 	void *p;
    
	p = vnic_dev_get_res(vdev, RES_TYPE_DEVCMD2, 0);
	if (p)
		err = vnic_dev_init_devcmd2(vdev);
	else if (fallback) {
		pr_warning("DEVCMD2 resource not found, fall back to devcmd\n");
		err = vnic_dev_init_devcmd1(vdev);
	} else {
		pr_err("DEVCMD2 resource not found, no fall back to devcmd allowed\n");
		err = -ENODEV;
	}
	
	return err;
#else
	return 0;
#endif
}
Ejemplo n.º 4
0
int vnic_devcmd_init(struct vnic_dev *vdev)
{
	void __iomem *res;
	int err;

	res = vnic_dev_get_res(vdev, RES_TYPE_DEVCMD2, 0);
	if (res) {
		err = vnic_dev_init_devcmd2(vdev);
		if (err)
			vdev_warn(vdev, "DEVCMD2 init failed: %d, Using DEVCMD1\n",
				  err);
		else
			return 0;
	} else {
		vdev_warn(vdev, "DEVCMD2 resource not found (old firmware?) Using DEVCMD1\n");
	}
	err = vnic_dev_init_devcmd1(vdev);
	if (err)
		vdev_err(vdev, "DEVCMD1 initialization failed: %d\n", err);

	return err;
}