Anastasia Klimchuk submitted this change.

View Change


Approvals: build bot (Jenkins): Verified Felix Singer: Looks good to me, approved Anastasia Klimchuk: Looks good to me, approved
usb_device.c: Allow for programmer_cfg plumbing

The only driver impacted is raiden_debug_spi.c and so
plumb state directly.

Change-Id: I85ff3117de8743b0a548dad98875cc41f48cac93
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/66670
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
---
M include/usb_device.h
M raiden_debug_spi.c
M usb_device.c
3 files changed, 35 insertions(+), 17 deletions(-)

diff --git a/include/usb_device.h b/include/usb_device.h
index 282a755..ed8187b 100644
--- a/include/usb_device.h
+++ b/include/usb_device.h
@@ -102,7 +102,7 @@
* extract_programmer_param_str. If the value is found convert it to an integer
* using strtol, accepting hex, decimal and octal encoding.
*/
-void usb_match_init(struct usb_match *match);
+void usb_match_init(const struct programmer_cfg *cfg, struct usb_match *match);

/*
* Add a default value to a usb_match_value. This must be done after calling
diff --git a/raiden_debug_spi.c b/raiden_debug_spi.c
index 2f073ae..161471c 100644
--- a/raiden_debug_spi.c
+++ b/raiden_debug_spi.c
@@ -1497,7 +1497,7 @@
return 1;
}

- usb_match_init(&match);
+ usb_match_init(cfg, &match);

usb_match_value_default(&match.vid, GOOGLE_VID);
usb_match_value_default(&match.class, LIBUSB_CLASS_VENDOR_SPEC);
diff --git a/usb_device.c b/usb_device.c
index f89e3bb..b23b204 100644
--- a/usb_device.c
+++ b/usb_device.c
@@ -28,10 +28,11 @@
* Possibly extract a programmer parameter and use it to initialize the given
* match value structure.
*/
-static void usb_match_value_init(struct usb_match_value *match,
+static void usb_match_value_init(const struct programmer_cfg *cfg,
+ struct usb_match_value *match,
char const *parameter)
{
- char *string = extract_programmer_param_str(NULL, parameter); /* TODO(quasisec): pass prog_param */
+ char *string = extract_programmer_param_str(cfg, parameter);

match->name = parameter;

@@ -45,21 +46,21 @@
free(string);
}

-#define USB_MATCH_VALUE_INIT(NAME) \
- usb_match_value_init(&match->NAME, #NAME)
+#define USB_MATCH_VALUE_INIT(PPARAM, NAME) \
+ usb_match_value_init(PPARAM, &match->NAME, #NAME)

-void usb_match_init(struct usb_match *match)
+void usb_match_init(const struct programmer_cfg *cfg, struct usb_match *match)
{
- USB_MATCH_VALUE_INIT(vid);
- USB_MATCH_VALUE_INIT(pid);
- USB_MATCH_VALUE_INIT(bus);
- USB_MATCH_VALUE_INIT(address);
- USB_MATCH_VALUE_INIT(config);
- USB_MATCH_VALUE_INIT(interface);
- USB_MATCH_VALUE_INIT(altsetting);
- USB_MATCH_VALUE_INIT(class);
- USB_MATCH_VALUE_INIT(subclass);
- USB_MATCH_VALUE_INIT(protocol);
+ USB_MATCH_VALUE_INIT(cfg, vid);
+ USB_MATCH_VALUE_INIT(cfg, pid);
+ USB_MATCH_VALUE_INIT(cfg, bus);
+ USB_MATCH_VALUE_INIT(cfg, address);
+ USB_MATCH_VALUE_INIT(cfg, config);
+ USB_MATCH_VALUE_INIT(cfg, interface);
+ USB_MATCH_VALUE_INIT(cfg, altsetting);
+ USB_MATCH_VALUE_INIT(cfg, class);
+ USB_MATCH_VALUE_INIT(cfg, subclass);
+ USB_MATCH_VALUE_INIT(cfg, protocol);
}

void usb_match_value_default(struct usb_match_value *value,

To view, visit change 66670. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I85ff3117de8743b0a548dad98875cc41f48cac93
Gerrit-Change-Number: 66670
Gerrit-PatchSet: 10
Gerrit-Owner: Edward O'Callaghan <quasisec@chromium.org>
Gerrit-Reviewer: Anastasia Klimchuk <aklm@chromium.org>
Gerrit-Reviewer: Felix Singer <felixsinger@posteo.net>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-MessageType: merged