usart: stdio: splitted the STDIO and USART init.

Splitted the initialisation of the stdout, stdin and stderr streams from
the initialisation process of the core USART. The initialisation of
these streams is now done by the hardware driver.

Signed-off-by: Michel Megens <dev@michelmegens.net>
vfs: doc: Added docs to the vfs.

Added a module for filesystems and virtual file systems.

Hierarchy:
	- Modules
		- Kernel
			- FS
				- VFS

Signed-off-by: Michel Megens <dev@michelmegens.net>
Merge branch 'dev-core'

* File operations for stdio:

	* open/close
	* read/write

* Some generic docs.

Signed-off-by: Michel Megens <dev@michelmegens.net>

Conflicts:
	drivers/core/core.c
	fs/vfs.c
	include/etaos/stdio.h
ETA/OS 0.1.0

Signed-off-by: Michel Megens <dev@michelmegens.net>
doxygen: Patched the Doxyfile to the right version.

Signed-off-by: Michel Megens <dev@michelmegens.net>
readme: md: fixed a md issue for HTML generation

The < and > brackets were causing issue's with doxygen's markdown to
HTML generator.

Signed-off-by: Michel Megens <dev@michelmegens.net>
doc: updated the docs on the sched core and usart.

The scheduling core and USART module pages now have a more detailed
description of their functionality.

Signed-off-by: Michel Megens <dev@michelmegens.net>
kernel: sys: added sysctl to kernel/sys.c

sysctl can be used to change settings of the system during runtime.

Signed-off-by: Michel Megens <dev@michelmegens.net>
drivers: i2c: added I2C basics.

i2c-msg:
Describes a message which is to be sent over an I2C interface.

i2c-bus:
Description of the I2C interface (aka the bus).

i2c-client:
Representation of the receiving chip and its I2C interface.

Signed-off-by: Michel Megens <dev@michelmegens.net>
dev: core: added API calls to lock a device.

dev_lock:
Lock the device mutex of a given device.

dev_unlock:
Unlock the device mutex of a given device.

Signed-off-by: Michel Megens <dev@michelmegens.net>
kern: sem: added semaphore interface.

Added an interface for semaphore locks:

	* sem_init
	* sem_wait
	* sem_signal
	* sem_try_wait

Signed-off-by: Michel Megens <dev@michelmegens.net>
Merge branch 'master' into sched

Signed-off-by: Michel Megens <dev@michelmegens.net>

Conflicts:
	kernel/Makefile
kern: sem: fixed some build warnings in semaphores

Added semaphore API functions to the semaphore header.

Signed-off-by: Michel Megens <dev@michelmegens.net>
ETA/OS 0.2.0-rc1

Signed-off-by: Michel Megens <dev@michelmegens.net>
kern: sem: added documentation to semaphores.

 * Added a module to doxygen for semaphores.
 * Added doxygen comments to all sem functions and data structures

Signed-off-by: Michel Megens <dev@michelmegens.net>
gpio: core: setup of an initial GPIO core.

Setup of an initial core GPIO driver. Added these two data structures:

	* gpio_pin
	* gpio_chip

A gpio_chip is a chip containing atleast 1 gpio_pin, and has the ability
to control its I/O pins.

Implemented these API functions:

extern struct gpio_pin *gpio_chip_to_pin(struct gpio_chip *chip, uint16_t nr);
extern int gpio_pin_request(struct gpio_pin *pin);
extern int gpio_pin_write(struct gpio_pin *pin, int val);
extern int gpio_pin_read(struct gpio_pin *pin);
extern int gpio_direction_input(struct gpio_pin *pin);
extern int gpio_direction_output(struct gpio_pin *pin, int value);
extern int raw_gpio_direction_ouput(struct gpio_pin *pin, int value);
extern int raw_gpio_pin_write(struct gpio_pin *pin, int val);
extern int raw_gpio_read_pin(struct gpio_pin *pin);

Signed-off-by: Michel Megens <dev@michelmegens.net>
Merge branch 'sched'
kbuild: fixed a kbuild error in kernel/kconfig.

There was a dependency error in the Kconfig file of the kernel/
subsystem. Fixed by added a depends on.

Signed-off-by: Michel Megens <dev@michelmegens.net>
ETA/OS 0.2.0-rc2

Signed-off-by: Michel Megens <dev@michelmegens.net>
gpio: added open source/drain enables.

gpio_set_open_drain:
	Configure a pin as open drain.

gpio_set_open_source:
	Configure a pin as open source.

Signed-off-by: Michel Megens <dev@michelmegens.net>