reg_script: add reg_script_run_on_dev()

The reg_script library has proven to be useful. It's
also shown that many scripts operate on devices. However,
certain code paths run the same script on multiple,
but different, devices. In order to make that easier
introduce reg_script_run_on_dev() which takes a device
as a parameter. That way, chained reg_scripts are not
scrictly needed to run the same script on multiple devices.

BUG=None
BRANCH=None
TEST=Built.

Change-Id: I273499af4d303ebd7dc19e9b635ca23cf9bb2225
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/179540
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: http://review.coreboot.org/5005
Tested-by: build bot (Jenkins)
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
This commit is contained in:
Aaron Durbin 2013-12-10 17:09:40 -08:00 committed by Kyösti Mälkki
parent 430bf0d8a9
commit d86f0b743f
2 changed files with 8 additions and 2 deletions

View File

@ -334,5 +334,6 @@ struct reg_script {
_REG_SCRIPT_ENCODE_RAW(REG_SCRIPT_COMMAND_END, 0, 0, 0, 0, 0, 0, 0) _REG_SCRIPT_ENCODE_RAW(REG_SCRIPT_COMMAND_END, 0, 0, 0, 0, 0, 0, 0)
void reg_script_run(const struct reg_script *script); void reg_script_run(const struct reg_script *script);
void reg_script_run_on_dev(device_t dev, const struct reg_script *step);
#endif /* REG_SCRIPT_H */ #endif /* REG_SCRIPT_H */

View File

@ -468,11 +468,16 @@ static void reg_script_run_next(struct reg_script_context *prev_ctx,
reg_script_run_with_context(&ctx); reg_script_run_with_context(&ctx);
} }
void reg_script_run(const struct reg_script *step) void reg_script_run_on_dev(device_t dev, const struct reg_script *step)
{ {
struct reg_script_context ctx; struct reg_script_context ctx;
reg_script_set_dev(&ctx, EMPTY_DEV); reg_script_set_dev(&ctx, dev);
reg_script_set_step(&ctx, step); reg_script_set_step(&ctx, step);
reg_script_run_with_context(&ctx); reg_script_run_with_context(&ctx);
} }
void reg_script_run(const struct reg_script *step)
{
reg_script_run_on_dev(EMPTY_DEV, step);
}