/* ×Ö·ûÉ豸³õʼ»¯ */ long chr_dev_init(long mem_start, long mem_end) { if (register_chrdev(MEM_MAJOR,"mem",&memory_fops)) printk("unable to get major %d for memory devs\n", MEM_MAJOR); mem_start = tty_init(mem_start); #ifdef CONFIG_PRINTER mem_start = lp_init(mem_start); #endif #if defined (CONFIG_BUSMOUSE) || defined (CONFIG_82C710_MOUSE) || \ defined (CONFIG_PSMOUSE) || defined (CONFIG_MS_BUSMOUSE) || \ defined (CONFIG_ATIXL_BUSMOUSE) mem_start = mouse_init(mem_start); #endif #ifdef CONFIG_SOUND mem_start = soundcard_init(mem_start); #endif #if CONFIG_TAPE_QIC02 mem_start = tape_qic02_init(mem_start); #endif /* * Rude way to allocate kernel memory buffer for tape device */ #ifdef CONFIG_FTAPE /* allocate NR_FTAPE_BUFFERS 32Kb buffers at aligned address */ ftape_big_buffer= (char*) ((mem_start + 0x7fff) & ~0x7fff); printk( "ftape: allocated %d buffers alligned at: %p\n", NR_FTAPE_BUFFERS, ftape_big_buffer); mem_start = (long) ftape_big_buffer + NR_FTAPE_BUFFERS * 0x8000; #endif return mem_start; }
int __init chr_dev_init(void) { if (devfs_register_chrdev(MEM_MAJOR,"mem",&memory_fops)) printk("unable to get major %d for memory devs\n", MEM_MAJOR); memory_devfs_register(); rand_initialize(); raw_init(); #ifdef CONFIG_I2C i2c_init_all(); #endif #if defined (CONFIG_FB) fbmem_init(); #endif #if defined (CONFIG_PROM_CONSOLE) prom_con_init(); #endif #if defined (CONFIG_MDA_CONSOLE) mda_console_init(); #endif tty_init(); #ifdef CONFIG_PRINTER lp_init(); #endif #ifdef CONFIG_M68K_PRINTER lp_m68k_init(); #endif misc_init(); #if CONFIG_QIC02_TAPE qic02_tape_init(); #endif #if CONFIG_ISDN isdn_init(); #endif #ifdef CONFIG_FTAPE ftape_init(); #endif #if defined(CONFIG_ADB) adbdev_init(); #endif #ifdef CONFIG_VIDEO_DEV videodev_init(); #endif return 0; }