[PATCH] xfree86: Disable all hotplugging features without CONFIG_HAL
Peter Hutterer
peter.hutterer at who-t.net
Wed Jan 28 17:19:38 PST 2009
On Wed, Jan 28, 2009 at 03:16:45PM -0800, Dan Nicholson wrote:
> If HAL configuration has not been built into the server, force
> AutoAddDevices, AutoEnableDevices and AllowEmptyInput to FALSE. The only
> way to use input devices in this configuration is through xorg.conf.
>
> Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>
> ---
> There are still people out there not riding the HAL wave, and this allows
> them to carry on without applying special server flags.
>
> Technically, I think this should also consider CONFIG_DBUS_API, but
> nothing else in the code does.
Why do we need that on top of commit ace38fafb062372dcd3d56378b5b8f86525c6241?
xfree86: without CONFIG_HAL, Auto{Add|Enable}Devices and AEI is false.
The man page patch looks good though.
Cheers,
Peter
>
> hw/xfree86/common/xf86Config.c | 14 ++++++++++++++
> hw/xfree86/doc/man/xorg.conf.man.pre | 11 ++++++-----
> 2 files changed, 20 insertions(+), 5 deletions(-)
>
> diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
> index 8df9780..20fa631 100644
> --- a/hw/xfree86/common/xf86Config.c
> +++ b/hw/xfree86/common/xf86Config.c
> @@ -833,6 +833,7 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
> xf86Msg(X_CONFIG, "Ignoring ABI Version\n");
> }
>
> +#ifdef CONFIG_HAL
> if (xf86IsOptionSet(FlagOptions, FLAG_AUTO_ADD_DEVICES)) {
> xf86GetOptValBool(FlagOptions, FLAG_AUTO_ADD_DEVICES,
> &xf86Info.autoAddDevices);
> @@ -841,9 +842,14 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
> else {
> from = X_DEFAULT;
> }
> +#else
> + xf86Info.autoAddDevices = FALSE;
> + from = X_DEFAULT;
> +#endif
> xf86Msg(from, "%sutomatically adding devices\n",
> xf86Info.autoAddDevices ? "A" : "Not a");
>
> +#ifdef CONFIG_HAL
> if (xf86IsOptionSet(FlagOptions, FLAG_AUTO_ENABLE_DEVICES)) {
> xf86GetOptValBool(FlagOptions, FLAG_AUTO_ENABLE_DEVICES,
> &xf86Info.autoEnableDevices);
> @@ -852,6 +858,10 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
> else {
> from = X_DEFAULT;
> }
> +#else
> + xf86Info.autoEnableDevices = FALSE;
> + from = X_DEFAULT;
> +#endif
> xf86Msg(from, "%sutomatically enabling devices\n",
> xf86Info.autoEnableDevices ? "A" : "Not a");
>
> @@ -952,9 +962,13 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
> }
> #endif
>
> +#ifdef CONFIG_HAL
> /* AllowEmptyInput is automatically true if we're hotplugging */
> xf86Info.allowEmptyInput = (xf86Info.autoAddDevices && xf86Info.autoEnableDevices);
> xf86GetOptValBool(FlagOptions, FLAG_ALLOW_EMPTY_INPUT, &xf86Info.allowEmptyInput);
> +#else
> + xf86Info.allowEmptyInput = FALSE;
> +#endif
>
> /* AEI on? Then we're not using kbd, so use the evdev rules set. */
> #ifdef XKB
> diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre
> index f5c49e1..987a290 100644
> --- a/hw/xfree86/doc/man/xorg.conf.man.pre
> +++ b/hw/xfree86/doc/man/xorg.conf.man.pre
> @@ -640,19 +640,20 @@ the X server to load. Disabled by default.
> .TP 7
> .BI "Option \*qAllowEmptyInput\*q \*q" boolean \*q
> If enabled, don't add the standard keyboard and mouse drivers, if there are no
> -input devices in the config file. Enabled by default if AutoAddDevices and
> -AutoEnableDevices is enabled, otherwise disabled.
> -If AllowEmptyInput is on, devices using the kbd, mouse or vmmouse driver are ignored.
> +input devices in the config file. Enabled by default if Xorg has HAL support
> +and AutoAddDevices and AutoEnableDevices are enabled, otherwise disabled.
> +If AllowEmptyInput is on, devices using the kbd, mouse or vmmouse driver are
> +ignored.
> .TP 7
> .BI "Option \*qAutoAddDevices\*q \*q" boolean \*q
> If this option is disabled, then no devices will be added from HAL events.
> -Enabled by default.
> +Enabled by default if Xorg has HAL support.
> .TP 7
> .BI "Option \*qAutoEnableDevices\*q \*q" boolean \*q
> If this option is disabled, then the devices will be added (and the
> DevicePresenceNotify event sent), but not enabled, thus leaving policy up
> to the client.
> -Enabled by default.
> +Enabled by default if Xorg has HAL support.
> .TP 7
> .BI "Option \*qLog\*q \*q" string \*q
> This option controls whether the log is flushed and/or synced to disk after
> --
> 1.5.6.6
>
More information about the xorg
mailing list