Controlling GPIO ports

Artem Pak
Hello,

I need to develop a module that will control several GPIO ports. The ports
will be used mostly as I/O and it is necessary to control input. 

I'm new in driver development and without experience it is very hard for me
to dig Internet for appropriate resources and some of them don't provide
complete information on how to do the things. My question is more related
to the approach to use here. As I understand, I need to develop kernel
module that will do the actual job. However I have no idea what is the
proper way to communicate with main application :-( 

To perform port writing I saw some samples using 'ioctl', but when I need
to control the port state.... should I do cyclic reading??? I'm sure there
is a good solution for this, but I cannot find it by myself. Please give me
advice on how to resolve this... I would be happy if you provide me with
some resource that explains common approach that might be used here.

Many thanks for your attention.