gpio-core: added base data structure.

* gpio-core.h now contains the base of the data structures powering
  this kernel module.

Signed-off-by: Michel Megens <dev@michelmegens.net>
dot: UML diagram of the base I/O structures.

* Added a Graphviz dot file to describe the gpio_bus, gpio_pin_info and
  gpio_irq_data structures. Generate using the command:

    dot -T png -o gpio-main.png gpio-main.dot

Signed-off-by: Michel Megens <dev@michelmegens.net>
make: Makefile to build documentation.

* Running make in the doc sub tree results in building all dynamically
  generatable documentation (this includes dot files and doxygen files).

Signed-off-by: Michel Megens <dev@michelmegens.net>
make: added a doc target to the root Makefile.

* Running `make doc' in the root of the project is the same as running
  `make' in $(src)/doc subtree.

Signed-off-by: Michel Megens <dev@michelmegens.net>
make: changed root target name for documentation.

* `make doc' conflicts with other Linux Makefiles, therefore the target
  to build Linux GPIO documentation has been renamed to `doc-gpio'.

* Updated the .gitignore to exclude documentation output.

Signed-off-by: Michel Megens <dev@michelmegens.net>
flags: added flag definitions.

* Added definitions of the gpio_pin_info::flags field to
  gpio-core.h.

Signed-off-by: Michel Megens <dev@michelmegens.net>
rename: renamed gpio-main.dot to gpio-core.dot

* Renamed this file to correspondent with the header file where it is
  located in.
* Added a few forgotten data fields in gpio_bus and gpio_pin_info.

Signed-off-by: Michel Megens <dev@michelmegens.net>
irq: splitted the state and value field.

* The state of the pin and its value are now saved in two different
  data fields. The state of the pin is (obviously) stored in
  gpio_irq_data::state and the value is (again, obviously) stored in
  the gpio_irq_data::value field.

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