[flashrom] [Patch] + RFC: Use shutdown callback mechanism to shutdown programmers

Stefan Reinauer reinauer at google.com
Wed Apr 27 22:08:50 CEST 2011


On Wed, Apr 27, 2011 at 7:56 AM, Carl-Daniel Hailfinger
<c-d.hailfinger.devel.2006 at gmx.net> wrote:
>
> Am 22.04.2011 06:31 schrieb David Hendricks:
>>
>> Index: internal.c
>> ===================================================================
>> --- internal.c  (revision 1288)
>> +++ internal.c  (working copy)
>> @@ -164,6 +164,7 @@
>>        }
>>        free(arg);
>>
>> +       register_shutdown(internal_shutdown, NULL);
>>        get_io_perms();
>>
>
> Wrong order. We want to register the shutdown function only after we got IO permissions. That said, should get_io_perms automatically register release_io_perms? This would kill a few useless shutdown functions.

I like this idea of everybody cleaning up after themselfes.

>
> Index: it85spi.c
> ===================================================================
> --- it85spi.c   (revision 1288)
> +++ it85spi.c   (working copy)
> @@ -80,6 +80,8 @@
>  #define INDIRECT_WRITE(base, value) OUTB(value, (base) + 4)
>  #endif  /* LPC_IO */
>
> +void it85xx_shutdown(void *);
> +

This should go away, rather make the function static instead.

>
>  #ifdef LPC_IO
>  unsigned int shm_io_base;
>  #endif
> @@ -308,6 +310,7 @@
>        /* Set this as spi controller. */
>        spi_controller = SPI_CONTROLLER_IT85XX;
>
> +       register_shutdown(it85xx_shutdown, NULL);
>        return 0;
>  }
>
> @@ -349,11 +352,10 @@
>        return ret;
>  }
>
> -int it85xx_shutdown(void)
> +void it85xx_shutdown(void *data)
>  {
>        msg_pdbg("%s():%d\n", __func__, __LINE__);
>        it85xx_exit_scratch_rom();
> -       return 0;
>  }

And move it above the register_... function.

--
Stefan Reinauer
Google Inc.




More information about the flashrom mailing list