- strncpy((char *)&tmp,
- (const char *)&SUPERIOTOOL_VERSION[6],
- strlen(SUPERIOTOOL_VERSION) - 8);
- printf("superiotool r%s\n", (char *)&tmp);
+ /* Unless the ldn is empty, assume this chip has a dump. */
+ if (reg_table[i].ldn[0].ldn != EOT)
+ printf(" (dump available)");
+
+ printf("\n");
+ }
+
+ /* If we printed any chips for this vendor, put in a blank line. */
+ if (i != 0)
+ printf("\n");
+}
+
+/** Print a list of all chips supported by superiotool. */
+void print_list_of_supported_chips(void)
+{
+ int i;
+
+ printf("Supported Super I/O chips:\n\n");
+
+ for (i = 0; i < ARRAY_SIZE(vendor_print_functions); i++)
+ vendor_print_functions[i].print_list();
+
+ printf("See <http://coreboot.org/Superiotool#Supported_devices> "
+ "for more information.\n");
+}
+
+static void print_version(void)
+{
+ printf("superiotool r%s\n", SUPERIOTOOL_VERSION);