-
If the module's init isn't marked with __init, it doesn't go in the .init.text section. I was starting the LCD at the module_init address; but this is the address of the beginning of .init.text, not necessarily the module's init function. If the module's init function is marked with __init, then it was going at the beginning of that section, and so I was getting lucky. Now I'm using the struct module.init pointer. Shouldn't matter whether module's init function is in .init or regular .text (core) now.
8eafb9cd