Dmitry Torokhov wrote:
> Hi Andres,
[...]
>
> Unfortunately I do not think this is going to work well in in default case:
>
> 1. PS/2 probing order is important. You need to probe for intellimouse
> explorer last otherwise you might miss that mouse supports extended
> protocol.
>
Sorry, I'm not sure I understand; you're saying that the intellimouse
probe will match other mice?
I originally had kept the probing order, but dropped it here:
http://dev.laptop.org/git?p=users/dilinger/psmouse-split;a=commit;h=14f352333d057c3a7a05fdab484b339b9bac2959
I can readd it if necessary.
> 2. Synaptics hardware has to be probed even if synaptics protocol is not
> used, otherwise intellimouse probe will case trackpoint on passthrough
> port not working.
>
I'm aware of that, and the synaptics_hardware variable remains in the
psmouse_extensions() function as a reminder. I just need to figure out
a clean way to do the probing; I wanted feedback about whether people
liked the broken out modules idea, first.
> 3. Doing full reset after every protocol probe will cause long delays in
> mouse detection.
I'm not convinced this will actually take that long, and it should only
happen during init. With ordered detection and an additional field in
the psmouse_protocol struct, each protocol could specify whether it
should be reset or not. However, if it's not necessary, I'd rather get
rid of it all (sounds like the detection ordering might be necessary,
though).
>
> 4. Maxproto is still needed - psmouse base still contains several protocols
> and sometimes users need to force "standard" protocols (Intellimouse/
> Explorer), for example when using a KVM switch.
>
Yes, I intended to split out the protocols into a separate module, as
mentioned in
http://dev.laptop.org/git?p=users/dilinger/psmouse-split;a=commit;h=2a19dbb884cb05b5e9469bde439ac60ed56bd48d
If a KVM requires a user to force a standard protocol, I would think
that forcing it via psmouse_attr_set_protocol would be a much nicer way
than dealing w/ max_proto. Combine that w/ being able to rmmod specific
protocol modules (ie, rmmod psmouse-synaptics if it turns out that
detection is incorrectly seeing something synaptics-like).
> Also, splitting psmouse into several modules as opposed to having monolitic
> psmouse with an option to exclude some protocols via Kconfig does not really
> buy us anything - because protocol autoload is not possible (we do not know
It does; compiling a custom kernel for users is a pain. However, using
a distribution kernel and being able to control specifically which
modules are loaded makes life a lot easier (users get security updates,
etc).
> what protocols port uses until we actually do the probe) distributions will
> have to compile and load everything anyway. Custom kernel users will just
> have to compile protocols they need into psmouse.
>
Yes, distributions will have to compile and load everything anyways.
However, people who know what hardware they have can then force loading
of a specific module, rather than having a monolithic module or having
to recompile a custom kernel.