static int __init smsc47b397_init(void)
{
	unsigned short address;
	int ret;

	ret = smsc47b397_find();
	if (ret < 0)
		return ret;
	address = ret;

	ret = platform_driver_register(&smsc47b397_driver);
	if (ret)
		goto exit;

	/* Sets global pdev as a side effect */
	ret = smsc47b397_device_add(address);
	if (ret)
		goto exit_driver;

	return 0;

exit_driver:
	platform_driver_unregister(&smsc47b397_driver);
exit:
	return ret;
}
Exemplo n.º 2
0
static int __init smsc47b397_init(void)
{
	int ret;

	if ((ret = smsc47b397_find(&address)))
		return ret;

	return i2c_isa_add_driver(&smsc47b397_driver);
}