@tjuerges I agree with you. I think init_device() was created to intialise the device once the object existed and could assume it could use the Device object fully. Typical initialisation involved communication with hardware etc. I wonder why pogo then calls it from inside the constructor and if it has always been like this. It could be useful for the kernel experts to provide some guidelines on the correct use of dev_init().