2005-11-13 Marco Gerards <mgerards@xs4all.nl>

* geninit.sh: New file.

	* geninitheader.sh: Likewise.

	* commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
	* commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
	* commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
	* commands/configfile.c (grub_configfile_init)
	(grub_configfile_fini): Likewise.
	* commands/default.c (grub_default_init, grub_default_fini):
	Likewise.
	* commands/help.c (grub_help_init, grub_help_fini): Likewise.
	* commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
	* commands/search.c (grub_search_init, grub_search_fini): Likewise.
	* commands/terminal.c (grub_terminal_init, grub_terminal_fini):
	Likewise.
	* commands/test.c (grub_test_init, grub_test_fini): Likewise.
	* commands/timeout.c (grub_timeout_init, grub_timeout_fini):
	Likewise.
	* commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
	* commands/iee1275/halt.c (grub_halt_init, grub_halt_fini):
	Likewise.
	* commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
	Likewise.
	* commands/iee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
	Likewise.
	* disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
	* fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
	* fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
	* fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
	* fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
	* fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
	* fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
	* fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
	* fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
	* fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
	* fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
	* normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
	* partmap/amiga.c (grub_amiga_partition_map_init)
	(grub_amiga_partition_map_fini): Likewise.
	* partmap/apple.c (grub_apple_partition_map_init)
	(grub_apple_partition_map_fini): Likewise.
	* partmap/pc.c (grub_pc_partition_map_init)
	(grub_pc_partition_map_fini): Likewise.
	* partmap/sun.c (grub_sun_partition_map_init,
	grub_sun_partition_map_fini): Likewise.
	* term/terminfo.c (grub_terminal_init, grub_terminal_fini):
	Likewise.

	* util/grub-emu.c: Include <grub_modules_init.h>.
	(main): Don't initialize and de-initialize any modules directly,
	use `grub_init_all' and `grub_fini_all' instead.

	* term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
	`grub_vesafb_mod_init'.
	(grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'.  Updated
	all users.
	* term/i386/pc/vga.c (grub_vga_init): Renamed to
	`grub_vga_mod_init'.  Updated all users.
	(grub_vga_fini): Renamed to `grub_vga_mod_fini'.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
	(grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
	rules.

	* include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
	Generate a function to initialize the module in utilities.
	Updated all callers.
	(GRUB_MOD_FINI): Add argument `name'.  Generate a function to
	initialize the module in utilities.  Updated all callers.
This commit is contained in:
marco_g 2005-11-13 15:47:09 +00:00
parent 9046bcf0e6
commit 6d099807fa
57 changed files with 414 additions and 663 deletions

View file

@ -616,7 +616,7 @@ grub_cmd_serial (struct grub_arg_list *state,
return hwiniterr;
}
GRUB_MOD_INIT
GRUB_MOD_INIT(serial)
{
(void) mod; /* To stop warning. */
grub_register_command ("serial", grub_cmd_serial, GRUB_COMMAND_FLAG_BOTH,
@ -629,7 +629,7 @@ GRUB_MOD_INIT
serial_settings.stop_bits = UART_1_STOP_BIT;
}
GRUB_MOD_FINI
GRUB_MOD_FINI(serial)
{
grub_unregister_command ("serial");
if (registered == 1) /* Unregister terminal only if registered. */

View file

@ -142,7 +142,7 @@ grub_virtual_screen_setup (grub_uint32_t width,
}
static grub_err_t
grub_vesafb_init (void)
grub_vesafb_mod_init (void)
{
grub_uint32_t use_mode = GRUB_VBE_DEFAULT_VIDEO_MODE;
struct grub_vbe_info_block controller_info;
@ -200,7 +200,7 @@ grub_vesafb_init (void)
}
static grub_err_t
grub_vesafb_fini (void)
grub_vesafb_mod_fini (void)
{
grub_virtual_screen_free ();
@ -589,8 +589,8 @@ grub_vesafb_setcursor (int on)
static struct grub_term grub_vesafb_term =
{
.name = "vesafb",
.init = grub_vesafb_init,
.fini = grub_vesafb_fini,
.init = grub_vesafb_mod_init,
.fini = grub_vesafb_mod_fini,
.putchar = grub_vesafb_putchar,
.getcharwidth = grub_vesafb_getcharwidth,
.checkkey = grub_console_checkkey,
@ -606,13 +606,13 @@ static struct grub_term grub_vesafb_term =
.next = 0
};
GRUB_MOD_INIT
GRUB_MOD_INIT(vesafb)
{
my_mod = mod;
grub_term_register (&grub_vesafb_term);
}
GRUB_MOD_FINI
GRUB_MOD_FINI(vesafb)
{
grub_term_unregister (&grub_vesafb_term);
}

View file

@ -173,7 +173,7 @@ set_start_address (unsigned int start)
}
static grub_err_t
grub_vga_init (void)
grub_vga_mod_init (void)
{
vga_font = grub_vga_get_font ();
text_mode = grub_vga_set_mode (0x10);
@ -188,7 +188,7 @@ grub_vga_init (void)
}
static grub_err_t
grub_vga_fini (void)
grub_vga_mod_fini (void)
{
set_map_mask (saved_map_mask);
grub_vga_set_mode (text_mode);
@ -578,8 +578,8 @@ grub_vga_setcursor (int on)
static struct grub_term grub_vga_term =
{
.name = "vga",
.init = grub_vga_init,
.fini = grub_vga_fini,
.init = grub_vga_mod_init,
.fini = grub_vga_mod_fini,
.putchar = grub_vga_putchar,
.getcharwidth = grub_vga_getcharwidth,
.checkkey = grub_console_checkkey,
@ -595,13 +595,15 @@ static struct grub_term grub_vga_term =
.next = 0
};
GRUB_MOD_INIT
GRUB_MOD_INIT(vga)
{
#ifndef GRUB_UTIL
my_mod = mod;
#endif
grub_term_register (&grub_vga_term);
}
GRUB_MOD_FINI
GRUB_MOD_FINI(vga)
{
grub_term_unregister (&grub_vga_term);
}

View file

@ -174,7 +174,7 @@ grub_cmd_terminfo (struct grub_arg_list *state __attribute__ ((unused)),
return grub_terminfo_set_current (args[0]);
}
GRUB_MOD_INIT
GRUB_MOD_INIT(terminfo)
{
(void) mod; /* To stop warning. */
grub_register_command ("terminfo", grub_cmd_terminfo, GRUB_COMMAND_FLAG_BOTH,
@ -182,7 +182,7 @@ GRUB_MOD_INIT
grub_terminfo_set_current ("vt100");
}
GRUB_MOD_FINI
GRUB_MOD_FINI(terminfo)
{
grub_unregister_command ("terminfo");
}