mayur...@acm.org (Mayuresh) writes: >On Sun, Apr 11, 2021 at 08:15:03PM +0200, Martin Husemann wrote: >> grep '^pms' /var/run/dmesg.boot
>pms0 at pckbc2 (aux slot) >wsmouse0 at pms0 mux 0 >But the following line in the kernel config is enabled. How is it supposed >to play a role? The name Synaptics comes only on 'options' line and not >like a device line (e.g. like 'wsmouse* at pms? mux 0'). >options PMS_SYNAPTICS_TOUCHPAD # Enable support for Synaptics Touchpads It's a compile-time option for the pms driver to include code that handles Synaptics Touchpads. There is: defflag opt_pms.h PMS_SYNAPTICS_TOUCHPAD defflag opt_pms.h PMS_ELANTECH_TOUCHPAD defflag opt_pms.h PMS_ALPS_TOUCHPAD and file dev/pckbport/synaptics.c pms & pms_synaptics_touchpad file dev/pckbport/elantech.c pms & pms_elantech_touchpad file dev/pckbport/alps.c pms & pms_alps_touchpad in the included files.pckbport config file. The upper case defflags are used as lower case condition names to optionally include source files. opt_pms.h is created by the config program and includes definitions for the flags that are enabled by the option statement. E.g. #define PMS_SYNAPTICS_TOUCHPAD 1 #ifdef _LOCORE .ifndef _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD .global _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD .equiv _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD,0x1 .endif #else __asm(" .ifndef _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD\n .global _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD\n .equiv _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD,0x1\n .endif"); #endif C code can just use the macro PMS_SYNAPTICS_TOUCHPAD, assembler code can evaluate the global symbol _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD.