Re: [PATCH 17/19] xfree86: Fix xf86 backend-specific input initialization

2010-08-07 Thread Simon Thum
Am 30.07.2010 08:21, schrieb Peter Hutterer:
 From: Simon Thum simon.t...@gmx.de
 
 Instead of shoving it in rather unrelated places, move acceleration init
 into xf86NewInputDevice.
 
 Caveat: It's not clear atm how relevant other callers of ActivateDevice
 (like OpenDevice) actually are.
Seems like I hit the nail on the head here :)

Since the followup patch removes those hooks, you may want to remove the
caveat as well.


 
 Signed-off-by: Simon Thum simon.t...@gmx.de
I guess s-o-b tops r-b, so just keep that.

 Reviewed-by: Peter Hutterer peter.hutte...@who-t.net
 Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
 ---
  hw/xfree86/common/xf86Xinput.c |   27 ---
  1 files changed, 24 insertions(+), 3 deletions(-)
 
 diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
 index a6b0b58..ea82638 100644
 --- a/hw/xfree86/common/xf86Xinput.c
 +++ b/hw/xfree86/common/xf86Xinput.c
 @@ -93,6 +93,9 @@
  
  EventListPtr xf86Events = NULL;
  
 +static int
 +xf86InputDevicePostInit(DeviceIntPtr dev);
 +
  /**
   * Eval config and modify DeviceVelocityRec accordingly
   */
 @@ -782,6 +785,19 @@ xf86DeleteInput(InputInfoPtr pInp, int flags)
  free(pInp);
  }
  
 +/*
 + * Apply backend-specific initialization. Invoked after ActiveteDevice(),
 + * i.e. after the driver successfully completed DEVICE_INIT and the device
 + * is advertised.
 + * @param dev the device
 + * @return Success or an error code
 + */
 +static int
 +xf86InputDevicePostInit(DeviceIntPtr dev) {
 +ApplyAccelerationSettings(dev);
 +return Success;
 +}
 +
  /**
   * Create a new input device, activate and enable it.
   *
 @@ -851,6 +867,14 @@ xf86NewInputDevice(IDevPtr idev, DeviceIntPtr *pdev, 
 BOOL enable)
  goto unwind;
  }
  
 +rval = xf86InputDevicePostInit(dev);
 +if (rval != Success)
 +{
 + xf86Msg(X_ERROR, Couldn't post-init device \%s\\n, 
 idev-identifier);
 + RemoveDevice(dev, TRUE);
 + goto unwind;
 +}
 +
  /* Enable it if it's properly initialised and we're currently in the VT 
 */
  if (enable  dev-inited  dev-startup  xf86Screens[0]-vtSema)
  {
 @@ -1361,9 +1385,6 @@ xf86InitValuatorDefaults(DeviceIntPtr dev, int axnum)
   dev-valuator-axisVal[1] = screenInfo.screens[0]-height / 2;
  dev-last.valuators[1] = dev-valuator-axisVal[1];
  }
 -
 -if(axnum == 0)  /* to prevent double invocation */
 - ApplyAccelerationSettings(dev);
  }
  
  

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[PATCH 17/19] xfree86: Fix xf86 backend-specific input initialization

2010-07-30 Thread Peter Hutterer
From: Simon Thum simon.t...@gmx.de

Instead of shoving it in rather unrelated places, move acceleration init
into xf86NewInputDevice.

Caveat: It's not clear atm how relevant other callers of ActivateDevice
(like OpenDevice) actually are.

Signed-off-by: Simon Thum simon.t...@gmx.de
Reviewed-by: Peter Hutterer peter.hutte...@who-t.net
Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
---
 hw/xfree86/common/xf86Xinput.c |   27 ---
 1 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index a6b0b58..ea82638 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -93,6 +93,9 @@
 
 EventListPtr xf86Events = NULL;
 
+static int
+xf86InputDevicePostInit(DeviceIntPtr dev);
+
 /**
  * Eval config and modify DeviceVelocityRec accordingly
  */
@@ -782,6 +785,19 @@ xf86DeleteInput(InputInfoPtr pInp, int flags)
 free(pInp);
 }
 
+/*
+ * Apply backend-specific initialization. Invoked after ActiveteDevice(),
+ * i.e. after the driver successfully completed DEVICE_INIT and the device
+ * is advertised.
+ * @param dev the device
+ * @return Success or an error code
+ */
+static int
+xf86InputDevicePostInit(DeviceIntPtr dev) {
+ApplyAccelerationSettings(dev);
+return Success;
+}
+
 /**
  * Create a new input device, activate and enable it.
  *
@@ -851,6 +867,14 @@ xf86NewInputDevice(IDevPtr idev, DeviceIntPtr *pdev, BOOL 
enable)
 goto unwind;
 }
 
+rval = xf86InputDevicePostInit(dev);
+if (rval != Success)
+{
+   xf86Msg(X_ERROR, Couldn't post-init device \%s\\n, 
idev-identifier);
+   RemoveDevice(dev, TRUE);
+   goto unwind;
+}
+
 /* Enable it if it's properly initialised and we're currently in the VT */
 if (enable  dev-inited  dev-startup  xf86Screens[0]-vtSema)
 {
@@ -1361,9 +1385,6 @@ xf86InitValuatorDefaults(DeviceIntPtr dev, int axnum)
dev-valuator-axisVal[1] = screenInfo.screens[0]-height / 2;
 dev-last.valuators[1] = dev-valuator-axisVal[1];
 }
-
-if(axnum == 0)  /* to prevent double invocation */
-   ApplyAccelerationSettings(dev);
 }
 
 
-- 
1.7.2

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel