[DRIVERS] include: Fixing ioreadxx and iowritexx functions.

Making ioreadxx and iowritexx functions behave as a linux like functions.

Signed-off-by: Pranavkumar Sawargaonkar <pranav.sawargaonkar@gmail.com>
[DRIVERS] New driver support for GPIO And Pinctrl devices.

This patch has:
- Initial version of GPIO and Pin control device driver support.
- Ported from linux's code inside drivers/gpio and drivers/pinctrl
- GPIO base layer code farely completely ported from linux.
- Pinctrl will need more code porting from linux.
- This is an experimental code and will get improved over time.

Signed-off-by: Pranavkumar Sawargaonkar <pranav.sawargaonkar@gmail.com>
[CORE] vmm_heap: Adding allocation size retrival functions.

This patch adds:

vmm_alloc_size() and vmm_dma_alloc_size() functions to retrive allocation
size of alloced memory when required later.

This patch also adds linux like api of ksize() using vmm_alloc_size().
ksize() assumes that you are asking a size of a normal memory
and not dma memory which was allocated.
For dma memory one can directly call vmm_dma_alloc_size()

Signed-off-by: Pranavkumar Sawargaonkar <pranav.sawargaonkar@gmail.com>