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

Stefan Tauner stefan.tauner at alumni.tuwien.ac.at
Sun Feb 21 21:41:18 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>
---
 flashrom.c    |  5 ++---
 pickit2_spi.c | 13 +++++++++----
 programmer.h  |  1 +
 3 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/flashrom.c b/flashrom.c
index 7bdfb73..d671003 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -382,9 +382,8 @@ const struct programmer_entry programmer_table[] = {
 #if CONFIG_PICKIT2_SPI == 1
 	{
 		.name			= "pickit2_spi",
-		.type			= OTHER,
-					/* FIXME */
-		.devs.note		= "Microchip PICkit2\n",
+		.type			= USB,
+		.devs.dev		= devs_pickit2_spi,
 		.init			= pickit2_spi_init,
 		.map_flash_region	= fallback_map,
 		.unmap_flash_region	= fallback_unmap,
diff --git a/pickit2_spi.c b/pickit2_spi.c
index e5f7bed..f1f60a2 100644
--- a/pickit2_spi.c
+++ b/pickit2_spi.c
@@ -55,6 +55,12 @@
 #include "programmer.h"
 #include "spi.h"
 
+const struct dev_entry devs_pickit2_spi[] = {
+	{0x04D8, 0x0033, OK, "Microchip", "PICkit 2"},
+
+	{}
+};
+
 static usb_dev_handle *pickit2_handle;
 
 /* Default USB transaction timeout in ms */
@@ -64,9 +70,6 @@ static usb_dev_handle *pickit2_handle;
 #define ENDPOINT_OUT            0x01
 #define ENDPOINT_IN             0x81
 
-#define PICKIT2_VID             0x04D8
-#define PICKIT2_PID             0x0033
-
 #define CMD_GET_VERSION         0x76
 #define CMD_SET_VDD             0xA0
 #define CMD_SET_VPP             0xA1
@@ -448,7 +451,9 @@ int pickit2_spi_init(void)
 	usb_init();
 	(void)usb_find_busses();
 	(void)usb_find_devices();
-	struct usb_device *dev = get_device_by_vid_pid(PICKIT2_VID, PICKIT2_PID, usedevice);
+	const uint16_t vid = devs_pickit2_spi[0].vendor_id;
+	const uint16_t pid = devs_pickit2_spi[0].device_id;
+ 	struct usb_device *dev = get_device_by_vid_pid(vid, pid, usedevice);
 	if (dev == NULL) {
 		msg_perr("Could not find a PICkit2 on USB!\n");
 		return 1;
diff --git a/programmer.h b/programmer.h
index 301f3ff..9a880d7 100644
--- a/programmer.h
+++ b/programmer.h
@@ -499,6 +499,7 @@ int mstarddc_spi_init(void);
 /* pickit2_spi.c */
 #if CONFIG_PICKIT2_SPI == 1
 int pickit2_spi_init(void);
+extern const struct dev_entry devs_pickit2_spi[];
 #endif
 
 /* rayer_spi.c */
-- 
Kind regards, Stefan Tauner





More information about the flashrom mailing list