I think you are making a confusion here, between the gpiolib framework which control gpio pin, and pin multiplexing.
Having a common pin multiplexing scheme doesn't mean all your pin will be declared as GPIO.
Now, regarding your GPIO, the gpiolib code is not pefect, but I think there was an attempt to do gpio gouping, so that they can act as a parallel bus.
In many cases, the gpiolib is a clear win, and when using SoC from different vendor, playing with individual gpio is now the same, wether you are playing with an atmel or a texas chip. I don't miss old days when you add to figure out what code to use to move a particular gpio.