Start reading about libusb (user-space low-level access to USB devices) or kernel mode USB drivers.
This may be useful if it's the first time you are seeing USB.
If you decide you don't want to hear about any kind of USB drivers anymore, another option is to make your device behave like USB-serial bridge, which gives you OS-provided drivers for free. Just open /dev/ttyUSBwhatever and write commands to the chip there. Device-side, this can be implemented in firmware (there demos for AVRs, maybe for PICs too) or using a USB-UART bridge chip (which is what Arduino and Bus Pirate do, for example).
However, if you feel tempted to avoid dealing with USB by employing some ft232, note that the ft232 has so-called bit-bang mode. Basically, you send a block of bytes to the chip and it outputs them through a 4-bit or 8-bit (I don't remember now) bus multiplexed over its UART I/O pins at clock rate of your choice. FTDI also makes dedicated bitbanging chips which don't even pretend to have anything to do with UART and may have more I/O pins, USB2 HS support and some silver bells. See libftdi (host-side library to program FTDI bitbanging chips) and datasheets.
If there is no bitbanger with enough pins, surely something can be hacked together with SIPO registers.
All depends on what kind of fun you want to have.
EDIT:
Somebody mentioned Arduino. A possible compromise between "Linux" and "Arduino" is "connect it to RPi and bit-bang"
