The Niners should trade the 2nd round pick they got from KC to the Jets for Revis. That is effectively trading Revis for Smith.
I think the trade of a 2nd rounder for Revis is less of an issue than the massive amount of money Revis is going to require for a long-term deal coming off an ACL injury.