initcall ordering of driver w/respect to tty_init?
From: Miles Bader
Date: Wed Oct 08 2003 - 02:51:14 EST
I have a tty driver, arch/v850/kernel/simcons.c, who's init function is
called via __initcall:
int __init simcons_tty_init (void)
struct tty_driver *driver = alloc_tty_driver(1);
err = tty_register_driver(driver);
I'm getting errors because this init function is being called _before_
tty_init, and tty_kobj (which is the `parent' kobj of simcon's kobj) is
apparently not setup correctly yet when the simcons_tty_init calls
Since there seems to be no way of ordering basic initcalls, I can see
why it's happening. But what's the proper way to avoid this? Other
tty drivers that call tty_register_driver also seem to get initialized
via initcalls (usually declared with module_init), so maybe this
problem exists for other drivers too.
Come now, if we were really planning to harm you, would we be waiting here,
beside the path, in the very darkest part of the forest?
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/