[DRIVERS] Adding linux headers (placeholder) for compilation.

Adding placeholders for irq.h, of_address.h of_irq.h and of_platform.h
Since many linux drivers includes these files so this will help
in reducing compilation errors.

Signed-off-by: Pranav Sawargaonkar <pranav.sawargaonkar@gmail.com>
[CORE] vmm_devtree: Adding vmm_devtree_is_compatible() and fixing misc things.

This patch does multiple things:

In core/vmm_devtree.c and core/include/vmm_devtree.h

a. Add Linux-like vmm_devtree_is_compatible() function.
b. Forcing vmm_devtree_match_node arguments() functions
   second argument to const type .

In drivers/include/linux/of.h -

Adding Linux-like follwoing routines/macros:
a. of_device_is_compatible()
b. of_get_property()
c. irq_of_parse_and_map()
d. for_each_available_child_of_node()
e. of_node_get()
f. of_node_put()

Signed-off-by: Pranav Sawargaonkar <pranav.sawargaonkar@gmail.com>
[DRIVERS]: Adding misc Linux-like portability functions.

 In drivers/include/linux/device.h
 - Add platform_set_drvdata() and platform_get_drvdata() macros.
 - Originally these macros were defined inside drivers/net/ethernet/smsc/smc91x.c
   during porting but these should be defined in "include/linux/device.h"

 In drivers/include/linux/errno.h
 - Defining misc errno's like ERESTARTSYS to please the compilation
   of various drivers.

 In drivers/include/linux/interrupt.h
 - Defining cpu_relax(), tasklet_schedule(x), tasklet_hi_schedule(x) tasklet_kill(x)
 - Curretnyl these macros are nothing but empty placeholders.
 - Originally these macros were defined inside drivers/net/ethernet/smsc/smc91x.c
   during porting but these should be defined in "include/linux/device.h"

 In drivers/include/linux/kernel.h
 - Defining sprintf to vmm_sprintf

 In drivers/include/linux/notifier.h
 - Defineing notifier_block to vmm_notifier_block

 In drivers/include/linux/phy.h
 - Adding placeholder functions of phy_ethtool_sset() and phy_ethtool_gset()

 In drivers/net/ethernet/smsc/smc91x.c
 - Removing macros platform_set_drvdata(), platform_get_drvdata(),
   cpu_relax(), tasklet_schedule(x), tasklet_hi_schedule(x)
   and tasklet_kill(x)

Signed-off-by: Pranav Sawargaonkar <pranav.sawargaonkar@gmail.com>
[DRIVERS] netdevice: Cleaing up and adding missing linux-like functionality.

In drivers/include/linux/netdevice.h
- Add NETDEV_OPEN status in enum netdev_status,
  this is to track if open has been called (something similar to ifup in Linux)
  on a perticular device.
  We set this falg in netdev_set_link() function after success of "ndo_open()".
  We clear this flag after "ndo_stop()" is getting called.
  This flag is used in returing status in "netif_running"
- Add netif_running() function.
- Add free_netdev() function.
- Adding floowing debug macros for debug print enablement/disablement decission.
    a. Default enable : netif_msg_ifup(), netif_msg_ifdown(),
       netif_msg_timer(), netif_msg_rx_err().
    b. Default disable: netif_msg_intr(), netif_msg_tx_done(),
       netif_msg_rx_status()

In drivers/net/netdevice.c
- Set/Clear NETDEV_OPEN status in netdev_set_link() function.

Signed-off-by: Pranav Sawargaonkar <pranav.sawargaonkar@gmail.com>
[DRIVERS]: net: smc91x: Enabling free_netdev() function in code.

Uncommenting free_netdev() function in code since we have it now in
include/linux/netdevice,h

Signed-off-by: Pranav Sawargaonkar <pranav.sawargaonkar@gmail.com>
[DRIVERS] include: Adding placeholder for linux/regulator/consumer.h

Adding placeholder file for include/linux/regulator/consumer.h

Signed-off-by: Pranav Sawargaonkar <pranav.sawargaonkar@gmail.com>
[DRIVERS] net: phy: Adding phy/of_mdio.c

Porting Linux's "of_mdio.c" file and corrospnding functionality.

Signed-off-by: Pranav Sawargaonkar <pranav.sawargaonkar@gmail.com>
[DRIVERS] net: phy: Adding SUN4i ethernet MDIO driver.

Porting Linux's mdio-sun4i.c driver for allwinner SUN4i ethernet's MDIO.

Signed-off-by: Pranav Sawargaonkar <pranav.sawargaonkar@gmail.com>
[DRIVERS] net: ethernet: Allwinner SUN4i emac driver.

This driver has been ported from Linux 3.12.3 "drivers/net/ethernet/allwinner/"

Signed-off-by: Pranav Sawargaonkar <pranav.sawargaonkar@gmail.com>
[DRIVERS] More Linux-like API's for network driver porting.

File drivers/include/linux/etherdevice.h
-Added eth_validate_addr() function.

File drivers/include/linux/gpio.h
-Placeholder file.

File drivers/include/linux/kernel.h
-Placeholder macro for might_sleep()

File drivers/include/linux/mii.h
-Uncommenting include of uapi/linux/mii.h

File drivers/include/linux/module.h
-Define placeholder for module_param().

File drivers/include/linux/netdevice.h
-Update struct net_device_ops with inclusion of linux-like function pointers:
 a. ndo_validate_addr
 b. ndo_tx_timeout
 c. ndo_do_ioctl
 d. ndo_change_mtu
- Update struct net_device with Linux-like variables:
 a. trans_start
 b. watchdog_timeo
- Add Linux-like eth_change_mtu() function.

File drivers/include/linux/phy.h
-Define placeholder for phy_mii_ioctl() function.

File  drivers/include/uapi/linux/if.h
-New placeholder for Linux file include/uapi/linux/if.h.

Signed-off-by: Pranav Sawargaonkar <pranav.sawargaonkar@gmail.com>
[DRIVERS] net: ethernet: Enabling misc commented code in SUN4I EMAC driver.

This patch uncomments various #if 0 code in sun4i emac drivers,
I had commented this code because of lack of Linux-like header
or framework support during initial driver porting but now it is
available in our driver portability layer.

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