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; }
static int __init smsc47b397_init(void) { int ret; if ((ret = smsc47b397_find(&address))) return ret; return i2c_isa_add_driver(&smsc47b397_driver); }