1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-07-01 14:11:15 +02:00

Refactor PCI and USB device status printing

To be able to get rid of lots of #ifdefs and centralize programmer-specific
data more...
 - introduce two new fields to struct programmer_entry, namely
   enum type (OTHER, USB, PCI) and union devs (pcidev_status, usbdev_status
   or char *note).
 - use those fields to generate device listings in print.c and print_wiki.c.

Bonus: add printing of USB devices to print_wiki.c and count supported PCI
and USB devices.

Corresponding to flashrom svn r1631.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
This commit is contained in:
Stefan Tauner
2012-12-27 18:40:26 +00:00
parent a6d9648017
commit af358d6af2
6 changed files with 228 additions and 193 deletions

View File

@ -64,6 +64,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_INTERNAL == 1
{
.name = "internal",
.type = OTHER,
.devs.note = NULL,
.init = internal_init,
.map_flash_region = physmap,
.unmap_flash_region = physunmap,
@ -74,6 +76,9 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_DUMMY == 1
{
.name = "dummy",
.type = OTHER,
/* FIXME */
.devs.note = "Dummy device, does nothing and logs all accesses\n",
.init = dummy_init,
.map_flash_region = dummy_map,
.unmap_flash_region = dummy_unmap,
@ -84,6 +89,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_NIC3COM == 1
{
.name = "nic3com",
.type = PCI,
.devs.pci = nics_3com,
.init = nic3com_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -95,6 +102,8 @@ const struct programmer_entry programmer_table[] = {
{
/* This programmer works for Realtek RTL8139 and SMC 1211. */
.name = "nicrealtek",
.type = PCI,
.devs.pci = nics_realtek,
.init = nicrealtek_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -105,6 +114,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_NICNATSEMI == 1
{
.name = "nicnatsemi",
.type = PCI,
.devs.pci = nics_natsemi,
.init = nicnatsemi_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -115,6 +126,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_GFXNVIDIA == 1
{
.name = "gfxnvidia",
.type = PCI,
.devs.pci = gfx_nvidia,
.init = gfxnvidia_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -125,6 +138,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_DRKAISER == 1
{
.name = "drkaiser",
.type = PCI,
.devs.pci = drkaiser_pcidev,
.init = drkaiser_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -135,6 +150,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_SATASII == 1
{
.name = "satasii",
.type = PCI,
.devs.pci = satas_sii,
.init = satasii_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -145,6 +162,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_ATAHPT == 1
{
.name = "atahpt",
.type = PCI,
.devs.pci = ata_hpt,
.init = atahpt_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -155,6 +174,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_FT2232_SPI == 1
{
.name = "ft2232_spi",
.type = USB,
.devs.usb = devs_ft2232spi,
.init = ft2232_spi_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -165,6 +186,9 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_SERPROG == 1
{
.name = "serprog",
.type = OTHER,
/* FIXME */
.devs.note = "All programmer devices speaking the serprog protocol\n",
.init = serprog_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -175,6 +199,9 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_BUSPIRATE_SPI == 1
{
.name = "buspirate_spi",
.type = OTHER,
/* FIXME */
.devs.note = "Dangerous Prototypes Bus Pirate\n",
.init = buspirate_spi_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -185,6 +212,9 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_DEDIPROG == 1
{
.name = "dediprog",
.type = OTHER,
/* FIXME */
.devs.note = "Dediprog SF100\n",
.init = dediprog_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -195,6 +225,9 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_RAYER_SPI == 1
{
.name = "rayer_spi",
.type = OTHER,
/* FIXME */
.devs.note = "RayeR parallel port programmer\n",
.init = rayer_spi_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -205,16 +238,21 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_PONY_SPI == 1
{
.name = "pony_spi",
.type = OTHER,
/* FIXME */
.devs.note = "Programmers compatible with SI-Prog, serbang or AJAWe\n",
.init = pony_spi_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
.delay = internal_delay,
},
},
#endif
#if CONFIG_NICINTEL == 1
{
.name = "nicintel",
.type = PCI,
.devs.pci = nics_intel,
.init = nicintel_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -225,6 +263,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_NICINTEL_SPI == 1
{
.name = "nicintel_spi",
.type = PCI,
.devs.pci = nics_intel_spi,
.init = nicintel_spi_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -235,6 +275,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_OGP_SPI == 1
{
.name = "ogp_spi",
.type = PCI,
.devs.pci = ogp_spi,
.init = ogp_spi_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -245,6 +287,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_SATAMV == 1
{
.name = "satamv",
.type = PCI,
.devs.pci = satas_mv,
.init = satamv_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -255,6 +299,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_LINUX_SPI == 1
{
.name = "linux_spi",
.type = OTHER,
.devs.note = "Device files /dev/spidev*.*\n",
.init = linux_spi_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
@ -1577,6 +1623,23 @@ int selfcheck(void)
* messages below without jumping through hoops. */
continue;
}
switch (p.type) {
case USB:
case PCI:
case OTHER:
if (p.devs.note == NULL) {
if (strcmp("internal", p.name) == 0)
break; /* This one has its device list stored separately. */
msg_gerr("Programmer %s has neither a device list nor a textual description!\n",
p.name);
ret = 1;
}
break;
default:
msg_gerr("Programmer %s does not have a valid type set!\n", p.name);
ret = 1;
break;
}
if (p.init == NULL) {
msg_gerr("Programmer %s does not have a valid init function!\n", p.name);
ret = 1;