[flashrom] [PATCH] dediprog: use ordinary USB devs array.

Stefan Tauner stefan.tauner at alumni.tuwien.ac.at
Sun Feb 21 21:22:00 CET 2016


Even though there is currently only one USB device ID in the wild using our
standard way to define the devices creates nicer output for -L and -z.

Signed-off-by: Stefan Tauner <stefan.tauner at alumni.tuwien.ac.at>
---
 dediprog.c   | 10 +++++++++-
 flashrom.c   |  5 ++---
 programmer.h |  1 +
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/dediprog.c b/dediprog.c
index 6a9b9ae..019de46 100644
--- a/dediprog.c
+++ b/dediprog.c
@@ -143,6 +143,11 @@ enum dediprog_standalone_mode {
 	LEAVE_STANDALONE_MODE = 1,
 };
 
+const struct dev_entry devs_dediprog[] = {
+	{0x0483, 0xDADA, OK, "Dediprog", "SF100/SF600"},
+
+	{0},
+};
 
 static int dediprog_firmwareversion = FIRMWARE_VERSION(0, 0, 0);
 enum dediprog_devtype dediprog_devicetype = DEV_UNKNOWN;
@@ -1019,7 +1024,10 @@ int dediprog_init(void)
 		msg_perr("Could not initialize libusb!\n");
 		return 1;
 	}
-	dediprog_handle = get_device_by_vid_pid_number(0x0483, 0xdada, (unsigned int) usedevice);
+
+	const uint16_t vid = devs_dediprog[0].vendor_id;
+	const uint16_t pid = devs_dediprog[0].device_id;
+	dediprog_handle = get_device_by_vid_pid_number(vid, pid, (unsigned int) usedevice);
 	if (!dediprog_handle) {
 		msg_perr("Could not find a Dediprog programmer on USB.\n");
 		libusb_exit(usb_ctx);
diff --git a/flashrom.c b/flashrom.c
index 7bdfb73..6ca633e 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -247,9 +247,8 @@ const struct programmer_entry programmer_table[] = {
 #if CONFIG_DEDIPROG == 1
 	{
 		.name			= "dediprog",
-		.type			= OTHER,
-					/* FIXME */
-		.devs.note		= "Dediprog SF100\n",
+		.type			= USB,
+		.devs.dev		= devs_dediprog,
 		.init			= dediprog_init,
 		.map_flash_region	= fallback_map,
 		.unmap_flash_region	= fallback_unmap,
diff --git a/programmer.h b/programmer.h
index 301f3ff..61702a4 100644
--- a/programmer.h
+++ b/programmer.h
@@ -527,6 +527,7 @@ int linux_spi_init(void);
 /* dediprog.c */
 #if CONFIG_DEDIPROG == 1
 int dediprog_init(void);
+extern const struct dev_entry devs_dediprog[];
 #endif
 
 /* ch341a_spi.c */
-- 
Kind regards, Stefan Tauner





More information about the flashrom mailing list