udev-seat: Make the udev_input structure an embedded structure
And as a result of this stop iterating through the compositor seat list
(of one item) and instead access the udev_input structure directly.
This enables a refactoring to pull out the weston_seat into a separate
structure permitting multiple seats.
diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c
index 43897da..605dcd8 100644
--- a/src/compositor-fbdev.c
+++ b/src/compositor-fbdev.c
@@ -52,6 +52,7 @@
struct udev *udev;
struct tty *tty;
+ struct udev_input input;
};
struct fbdev_screeninfo {
@@ -751,11 +752,8 @@
fbdev_compositor_destroy(struct weston_compositor *base)
{
struct fbdev_compositor *compositor = to_fbdev_compositor(base);
- struct udev_input *input, *next;
- /* Destroy all inputs. */
- wl_list_for_each_safe(input, next, &compositor->base.seat_list, base.link)
- udev_input_destroy(input);
+ udev_input_destroy(&compositor->input);
/* Destroy the output. */
weston_compositor_shutdown(&compositor->base);
@@ -771,7 +769,6 @@
vt_func(struct weston_compositor *base, int event)
{
struct fbdev_compositor *compositor = to_fbdev_compositor(base);
- struct udev_input *input;
struct weston_output *output;
switch (event) {
@@ -786,13 +783,11 @@
weston_compositor_damage_all(&compositor->base);
- wl_list_for_each(input, &compositor->base.seat_list, base.link)
- udev_input_enable(input, compositor->udev);
+ udev_input_enable(&compositor->input, compositor->udev);
break;
case TTY_LEAVE_VT:
weston_log("leaving VT\n");
- wl_list_for_each(input, &compositor->base.seat_list, base.link)
- udev_input_disable(input);
+ udev_input_disable(&compositor->input);
wl_list_for_each(output, &compositor->base.output_list, link) {
fbdev_output_disable(output);
@@ -884,7 +879,7 @@
if (fbdev_output_create(compositor, param->device) < 0)
goto out_pixman;
- udev_input_create(&compositor->base, compositor->udev, seat);
+ udev_input_init(&compositor->input, &compositor->base, compositor->udev, seat);
return &compositor->base;