How does the character device driver adds and remove itself from the kernel. create power manageable components.