Messages in this thread | | | Date | Fri, 10 Oct 2003 08:02:12 -0700 | From | "Randy.Dunlap" <> | Subject | Re: initcall ordering of driver w/respect to tty_init? |
| |
On 08 Oct 2003 16:48:17 +0900 Miles Bader <miles@lsi.nec.co.jp> wrote:
| 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); | } | __initcall (simcons_tty_init); | | 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 | tty_register_driver. | | 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.
Does it help/work to change it to a console_initcall() ?
-- ~Randy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |