[PATCH synaptics 03/12] Move SHM hardware state update into a separate function.
Jamey Sharp
jamey at minilop.net
Fri May 7 14:31:11 PDT 2010
Reviewed-by: Jamey Sharp <jamey at minilop.net>
I generally prefer not to use the inline keyword. In this case since
there's only one caller, it seems pretty clear that the compiler will
inline the function anyway; and if it doesn't, there's probably a good
reason not to.
Also, since update_shm only uses local to get priv, which the caller
already has, the code might be more clear if you pass the
SynapticsPrivate directly.
But whatever, my reviewed-by stands either way. :-)
Jamey
On Thu, May 6, 2010 at 9:41 PM, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> No functional changes, this is just to move a slab of code out of mind when
> reading.
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> src/synaptics.c | 56 ++++++++++++++++++++++++++++++++----------------------
> 1 files changed, 33 insertions(+), 23 deletions(-)
>
> diff --git a/src/synaptics.c b/src/synaptics.c
> index 5780be3..f765e30 100644
> --- a/src/synaptics.c
> +++ b/src/synaptics.c
> @@ -2055,6 +2055,38 @@ HandleClickWithFingers(SynapticsParameters *para, struct SynapticsHwState *hw)
> }
>
>
> +/* Update the hardware state in shared memory. This is read-only these days,
> + * nothing in the driver reads back from SHM. SHM configuration is a thing of the past.
> + */
> +static inline void
> +update_shm(const LocalDevicePtr local, const struct SynapticsHwState *hw)
> +{
> + int i;
> + SynapticsPrivate *priv = (SynapticsPrivate *) (local->private);
> + SynapticsSHM *shm = priv->synshm;
> +
> + if (!shm)
> + return;
> +
> + shm->x = hw->x;
> + shm->y = hw->y;
> + shm->z = hw->z;
> + shm->numFingers = hw->numFingers;
> + shm->fingerWidth = hw->fingerWidth;
> + shm->left = hw->left;
> + shm->right = hw->right;
> + shm->up = hw->up;
> + shm->down = hw->down;
> + for (i = 0; i < 8; i++)
> + shm->multi[i] = hw->multi[i];
> + shm->middle = hw->middle;
> + shm->guest_left = hw->guest_left;
> + shm->guest_mid = hw->guest_mid;
> + shm->guest_right = hw->guest_right;
> + shm->guest_dx = hw->guest_dx;
> + shm->guest_dy = hw->guest_dy;
> +}
> +
> /*
> * React on changes in the hardware state. This function is called every time
> * the hardware state changes. The return value is used to specify how many
> @@ -2065,7 +2097,6 @@ static int
> HandleState(LocalDevicePtr local, struct SynapticsHwState *hw)
> {
> SynapticsPrivate *priv = (SynapticsPrivate *) (local->private);
> - SynapticsSHM *shm = priv->synshm;
> SynapticsParameters *para = &priv->synpara;
> int finger;
> int dx, dy, buttons, rep_buttons, id;
> @@ -2075,30 +2106,9 @@ HandleState(LocalDevicePtr local, struct SynapticsHwState *hw)
> int double_click, repeat_delay;
> int delay = 1000000000;
> int timeleft;
> - int i;
> Bool inside_active_area;
>
> - /* update hardware state in shared memory */
> - if (shm)
> - {
> - shm->x = hw->x;
> - shm->y = hw->y;
> - shm->z = hw->z;
> - shm->numFingers = hw->numFingers;
> - shm->fingerWidth = hw->fingerWidth;
> - shm->left = hw->left;
> - shm->right = hw->right;
> - shm->up = hw->up;
> - shm->down = hw->down;
> - for (i = 0; i < 8; i++)
> - shm->multi[i] = hw->multi[i];
> - shm->middle = hw->middle;
> - shm->guest_left = hw->guest_left;
> - shm->guest_mid = hw->guest_mid;
> - shm->guest_right = hw->guest_right;
> - shm->guest_dx = hw->guest_dx;
> - shm->guest_dy = hw->guest_dy;
> - }
> + update_shm(local, hw);
>
> /* If touchpad is switched off, we skip the whole thing and return delay */
> if (para->touchpad_off == 1)
> --
> 1.6.6.1
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>
More information about the xorg-devel
mailing list