Looking at the initial commit for TRIM in the kernel I can see that it's calling ata_id_has_trim() and passing in the disks ID. This looks like it filters disks that don't support TRIM.
You can see the commit for trim in the 2.6.33 kernel here:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=18f0f97850059303ed73b1f02084f55ca330a80c
If you want to investigate the ata_id_has_trim function more closely you can find it in include/linux/ata.h.
Looking at the initial commit for TRIM in the kernel I can see that it's calling ata_id_has_trim() and passing in the disks ID. This looks like it filters disks that don't support TRIM.
You can see the commit for trim in the 2.6.33 kernel here:
http:// git.kernel. org/?p= linux/kernel/ git/torvalds/ linux-2. 6.git;a= commitdiff; h=18f0f97850059 303ed73b1f02084 f55ca330a80c
If you want to investigate the ata_id_has_trim function more closely you can find it in include/ linux/ata. h.