the bcm5974 kernel driver is a low-level hardware driver that should only provide for the hardware to send any signals to the OS at the most basic functions. detecting how many fingers touching, detecting position of touching fingers, and whether or not the button is "clicked". Pretty much anything else that uses this raw information to perform more advanced functions should go in an xorg driver (synaptics).
the bcm5974 kernel driver is a low-level hardware driver that should only provide for the hardware to send any signals to the OS at the most basic functions. detecting how many fingers touching, detecting position of touching fingers, and whether or not the button is "clicked". Pretty much anything else that uses this raw information to perform more advanced functions should go in an xorg driver (synaptics).
I hope this better explains the difference.