irq: added function stubs to handle IRQ's.

gpio_device_irq(): this function is the actual IRQ handler. It is
(and should always be) called by the Linux IRQ module.

gpio_irq_worker(): Helper function which wraps the work_struct and does
next to nothing. It only provides easy memory deallocation of the
work_struct.

Signed-off-by: Michel Megens <dev@michelmegens.net>
IRQ setup function + docu added.

gpio_setup_irq(): Create a new IRQ for a given pin. When it should
fire can be configured with the flags argument.

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>
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>
pins: added ensured pin number definition.

One of the things that this module assumes is that there is always
a definition available telling how many I/O pins there are in total.

Signed-off-by: Michel Megens <dev@michelmegens.net>
irq: added some IRQ related status flags.

Signed-off-by: Michel Megens <dev@michelmegens.net>
git: added git ignore entry.

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

Conflicts:
	src/gpio-core.c

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