If we're going to continue to keep drivers/ide on life-support,
then perhaps one should just add SG_IO::ATA_16 support into it
and leave the "legacy" ioctls alone.
I've done this for linux-2.2.xx (really!), and the patch was rather
tiny indeed -- and that custom kernel now supports all of the fancy
ioctl() needs of hdparm-8.9 and smartctl.
Perhaps a similar patch for drivers/ide ?
Here's my 2.2.xx hack for perusal:
http://empeg-hijack.sourceforge.net/patches/relative/v489-v490.patch.gz
It won't work on current kernels, of course, but perhaps something similar would.
Cheers