I find it's often easy to use an arduino with usb built in, or a usb to serial adapter, and just pipe comms through the serial port. Easy.
FT2232 in bit-bang mode is even easier. Direct usage of built-in GPIO too. No drivers needed.
The cases when dedicated driver is needed are:
1. A FPGA or something is hooked directly to the system bus.
2. GPIO is used in hard-realtime mode so that FIQ handler is needed.
3. GPIOs are used in some non-standard manner (i.e. to output audio).
4. A device like i2c touchscreen is used and there is no driver yet. In this case it is wise to submit the driver into Linux mainstream.