On Wed, 3 Jan 2018 16:09:18 +0100 Emre Ucan <eu...@de.adit-jv.com> wrote:
> weston loads hmi-controller as a weston module. > IVI-shell does not need to load it explicitly. > > Signed-off-by: Emre Ucan <eu...@de.adit-jv.com> > --- > ivi-shell/hmi-controller.c | 33 ++++++++++++++------------------- > ivi-shell/weston.ini.in | 2 +- > 2 files changed, 15 insertions(+), 20 deletions(-) > > diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c > index 34abc11..e6dd174 100644 > --- a/ivi-shell/hmi-controller.c > +++ b/ivi-shell/hmi-controller.c > @@ -148,12 +148,6 @@ struct launcher_info { > int32_t index; > }; > > -int > -controller_module_init(struct weston_compositor *ec, > - int *argc, char *argv[], > - const struct ivi_layout_interface *interface, > - size_t interface_version); > - > > /***************************************************************************** > * local functions > > ****************************************************************************/ > @@ -766,16 +760,24 @@ hmi_controller_destroy(struct wl_listener *listener, > void *data) > * ivi_hmi_controller_home is requested. > */ > static struct hmi_controller * > -hmi_controller_create(struct weston_compositor *ec, > - const struct ivi_layout_interface *interface) > +hmi_controller_create(struct weston_compositor *ec) > { > struct link_layer *tmp_link_layer = NULL; > int32_t panel_height = 0; > - struct hmi_controller *hmi_ctrl = MEM_ALLOC(sizeof(*hmi_ctrl)); > + struct hmi_controller *hmi_ctrl; > + const struct ivi_layout_interface *interface; > struct hmi_controller_layer *base_layer = NULL; > struct hmi_controller_layer *application_layer = NULL; > struct weston_output *output; > > + interface = ivi_layout_get_api(ec); > + > + if (!interface) { > + weston_log("Cannot use ivi_layout_interface.\n"); > + return NULL; > + } > + > + hmi_ctrl = MEM_ALLOC(sizeof(*hmi_ctrl)); > int32_t i = 0; The definition of 'i' should be with the other definitions. > > wl_array_init(&hmi_ctrl->ui_widgets); > @@ -1954,20 +1956,13 @@ launch_hmi_client_process(void *data) > * exported functions > > ****************************************************************************/ > WL_EXPORT int > -controller_module_init(struct weston_compositor *ec, > - int *argc, char *argv[], > - const struct ivi_layout_interface *interface, > - size_t interface_version) > +wet_module_init(struct weston_compositor *ec, > + int *argc, char *argv[]) This patch causes the old way of loading controller modules fail with: Failed to lookup init function: /home/pq/local/lib/weston/hmi-controller.so: undefined symbol: controller_module_init Would be nicer if there was an error about a no longer used config key, or if the config key was removed. It doesn't bother me much though, so with the style nitpick fixed: Reviewed-by: Pekka Paalanen <pekka.paala...@collabora.co.uk> Thanks, pq > { > struct hmi_controller *hmi_ctrl = NULL; > struct wl_event_loop *loop = NULL; > > - if (interface_version < sizeof(struct ivi_layout_interface)) { > - weston_log("ivi-shell: version mismatch of controller > interface\n"); > - return -1; > - } > - > - hmi_ctrl = hmi_controller_create(ec, interface); > + hmi_ctrl = hmi_controller_create(ec); > if (hmi_ctrl == NULL) > return -1; > > diff --git a/ivi-shell/weston.ini.in b/ivi-shell/weston.ini.in > index 9b53691..3f11e1c 100644 > --- a/ivi-shell/weston.ini.in > +++ b/ivi-shell/weston.ini.in > @@ -1,8 +1,8 @@ > [core] > shell=@plugin_pre...@ivi-shell.so > +modules=@plugin_pre...@hmi-controller.so > > [ivi-shell] > -ivi-module=@plugin_pre...@hmi-controller.so > ivi-shell-user-interface=@abs_top_builddir@/weston-ivi-shell-user-interface > > #developermode=true
pgpMQWywt79sK.pgp
Description: OpenPGP digital signature
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel