aboutsummaryrefslogtreecommitdiffstats
path: root/usb_device.c
diff options
context:
space:
mode:
authorEdward O'Callaghan <quasisec@google.com>2022-08-12 15:19:49 +1000
committerAnastasia Klimchuk <aklm@chromium.org>2022-09-07 02:00:15 +0000
commitea938173a40a6fae076f6fc0f37f940eae82d142 (patch)
tree73b73d116685db844c4951c90929d7ccb8df1b58 /usb_device.c
parent5c710ea54afabf8c0e5f3c8ada45c4a5f9f0781b (diff)
downloadflashrom-ea938173a40a6fae076f6fc0f37f940eae82d142.tar.gz
flashrom-ea938173a40a6fae076f6fc0f37f940eae82d142.tar.bz2
flashrom-ea938173a40a6fae076f6fc0f37f940eae82d142.zip
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>
Diffstat (limited to 'usb_device.c')
-rw-r--r--usb_device.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/usb_device.c b/usb_device.c
index f89e3bbb..b23b2045 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 @@ static void usb_match_value_init(struct usb_match_value *match,
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,