[flashrom] [PATCH] Kill globals, initialize programmer-related variables explicitly

Michael Karcher flashrom at mkarcher.dialup.fu-berlin.de
Fri Jul 2 09:37:15 CEST 2010


Am Freitag, den 02.07.2010, 04:05 +0200 schrieb Carl-Daniel Hailfinger:
> Kill global variables, constants and functions if local scope suffices.
> Constify variables where possible.
Great!

> Some of the const pointer to const changes may be excessive. Comments
> welcome.
I don't think that they are excessive. Adding const to run-time
constants seems like a good idea to me.

>  /* ichspi.c */
>  extern int ichspi_lock;
>  extern uint32_t ichspi_bbar;
> +extern void *ich_spibar;
Do we really need this global, if...

> Index: flashrom-explicit_init/chipset_enable.c
> ===================================================================
> --- flashrom-explicit_init/chipset_enable.c	(Revision 1066)
> +++ flashrom-explicit_init/chipset_enable.c	(Arbeitskopie)
> @@ -417,10 +417,10 @@
>  	/* Do we really need no write enable? */
>  	mmio_base = (pci_read_long(dev, 0xbc)) << 8;
>  	msg_pdbg("MMIO base at = 0x%x\n", mmio_base);
> -	spibar = physmap("VT8237S MMIO registers", mmio_base, 0x70);
> +	ich_spibar = physmap("VT8237S MMIO registers", mmio_base, 0x70);
>  
>  	msg_pdbg("0x6c: 0x%04x     (CLOCK/DEBUG)\n",
[yada, yada, yada]
> -		     mmio_readw(spibar + 0x6c));
> +		     mmio_readw(ich_spibar + 0x6c));
>  		msg_pdbg("0xB0: 0x%08x (FDOC)\n",
> -			     mmio_readl(spibar + 0xB0));
> +			     mmio_readl(ich_spibar + 0xB0));
>  		if (tmp2 & (1 << 15)) {
>  			msg_pinfo("WARNING: SPI Configuration Lockdown activated.\n");
>  			ichspi_lock = 1;
...we move all this stuff in a new, non-static function in ichspi.c?
 
>  	for (i = shutdown_fn_count - 1; i >= 0; i--)
>  		shutdown_fn[i].func(shutdown_fn[i].data);
> +	/* FIXME: Clear the shutdown function array on shutdown or startup? */
>  	return programmer_table[programmer].shutdown();
>  }
use shutdown_fn_count as loop variable, instead of an extra i, like
while (shutdown_fn_count > 0) {
    int j = --shutdown_fn_count;
    shutdown_fn[j].func(shutdown_fn[j].data);
}

This makes sure that even if shutdown_fn[j] calls exit and we atexit()
our generic shutdown function, no function will be called twice.

> +/* programmer_param is programmer-specific, but it MUST NOT be initialized in
> + * programmer_init() because it is initialized in the command line parser.
> + */
>  char *programmer_param = NULL;
So why not make this a parameter of programmer_init() ?


Remaining stuff seems fine.

Regards,
  Michael Karcher





More information about the flashrom mailing list