I've been experimenting with using Y-permutations to solve the 2x2 cube as described here. I ended up with the cube solved but for a single face where the opposite corners were swapped and disoriented. I managed to solve the cube, but I wonder if there is a shorter algorithm to accomplish this task.
If you're using Y-perms, then simply rotate a face containing one of the corners 90 degrees, to position them opposite each other. This is called a setup move. Doing so puts the two corners opposite each other, and a Y-perm will then swap the correct corners.
You can then undo that setup move after completing the Y-perm by rotating the face back in place.
Let the corners you want to swap be on the top left and bottom right of the top layer like
Execute the algorithm:
R U' R' U' F2 U' R U R' D R2 where green is F and red is L