xfree86: merge driver from the input class into the options.

A driver that is assigned by an input class is only present as idev->driver.
The driver itself has no access to this information once PreInit is called.
For devices that rely on chain-hotplugging (wacom), this means that for the
second device the driver information is lost and the second device cannot be
initialized through NewInputDeviceRequest. Although this could be worked
around by hardcoding the driver name in the wacom driver, having the
assigned driver in the options seems like the better solution.

This issue only manifests itself with the udev backend. With HAL, the driver
is assigned by HAL and the option is duplicated in config/hal.c.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
This commit is contained in:
Peter Hutterer 2010-03-23 12:13:56 +10:00
parent 8311cd5f89
commit 70bd02f2ea

View File

@ -618,6 +618,7 @@ MergeInputClasses(IDevPtr idev, InputAttributes *attrs)
"InputClass configuration");
return BadAlloc;
}
mergedopts = xf86ReplaceStrOption(mergedopts, "driver", idev->driver);
}
idev->commonOptions = xf86optionListMerge(idev->commonOptions, mergedopts);