static int __init eisa_register_device()

in eisa-bus.c [226:253]


static int __init eisa_register_device(struct eisa_device *edev)
{
	int rc = device_register(&edev->dev);
	if (rc) {
		put_device(&edev->dev);
		return rc;
	}

	rc = device_create_file(&edev->dev, &dev_attr_signature);
	if (rc)
		goto err_devreg;
	rc = device_create_file(&edev->dev, &dev_attr_enabled);
	if (rc)
		goto err_sig;
	rc = device_create_file(&edev->dev, &dev_attr_modalias);
	if (rc)
		goto err_enab;

	return 0;

err_enab:
	device_remove_file(&edev->dev, &dev_attr_enabled);
err_sig:
	device_remove_file(&edev->dev, &dev_attr_signature);
err_devreg:
	device_unregister(&edev->dev);
	return rc;
}