Hi Ming, ... > +static int __init nct6694_init(void) > +{ > + int err; > + > + err = platform_driver_register(&nct6694_i2c_driver); > + if (!err) { > + if (err) > + platform_driver_unregister(&nct6694_i2c_driver); > + } > + > + return err; > +} > +subsys_initcall(nct6694_init); > + > +static void __exit nct6694_exit(void) > +{ > + platform_driver_unregister(&nct6694_i2c_driver); > +} > +module_exit(nct6694_exit); Have you thought about using auxiliary driver here? (auxiliary_bus.h) Thanks, Andi