ipa: Pass IPA initialization settings to IPAInterface::init()
Add a new IPASettings class to pass IPA initialization settings through the IPAInterface::init() method. The settings currently only contain the name of a configuration file, and are expected to be extended later. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
@@ -79,11 +79,15 @@ void *IPAInterfaceWrapper::get_interface(struct ipa_context *_ctx)
|
||||
return ctx->ipa_.get();
|
||||
}
|
||||
|
||||
void IPAInterfaceWrapper::init(struct ipa_context *_ctx)
|
||||
void IPAInterfaceWrapper::init(struct ipa_context *_ctx,
|
||||
const struct ipa_settings *settings)
|
||||
{
|
||||
IPAInterfaceWrapper *ctx = static_cast<IPAInterfaceWrapper *>(_ctx);
|
||||
|
||||
ctx->ipa_->init();
|
||||
IPASettings ipaSettings{
|
||||
.configurationFile = settings->configuration_file
|
||||
};
|
||||
ctx->ipa_->init(ipaSettings);
|
||||
}
|
||||
|
||||
int IPAInterfaceWrapper::start(struct ipa_context *_ctx)
|
||||
|
||||
@@ -23,7 +23,8 @@ public:
|
||||
private:
|
||||
static void destroy(struct ipa_context *ctx);
|
||||
static void *get_interface(struct ipa_context *ctx);
|
||||
static void init(struct ipa_context *ctx);
|
||||
static void init(struct ipa_context *ctx,
|
||||
const struct ipa_settings *settings);
|
||||
static int start(struct ipa_context *ctx);
|
||||
static void stop(struct ipa_context *ctx);
|
||||
static void register_callbacks(struct ipa_context *ctx,
|
||||
|
||||
@@ -32,7 +32,7 @@ LOG_DEFINE_CATEGORY(IPARkISP1)
|
||||
class IPARkISP1 : public IPAInterface
|
||||
{
|
||||
public:
|
||||
int init() override { return 0; }
|
||||
int init(const IPASettings &settings) override { return 0; }
|
||||
int start() override { return 0; }
|
||||
void stop() override {}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ public:
|
||||
IPAVimc();
|
||||
~IPAVimc();
|
||||
|
||||
int init() override;
|
||||
int init(const IPASettings &settings) override;
|
||||
|
||||
int start() override;
|
||||
void stop() override;
|
||||
@@ -61,7 +61,7 @@ IPAVimc::~IPAVimc()
|
||||
::close(fd_);
|
||||
}
|
||||
|
||||
int IPAVimc::init()
|
||||
int IPAVimc::init(const IPASettings &settings)
|
||||
{
|
||||
trace(IPAOperationInit);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user