Hi folks,
as the kernel (2.6) doesn't allow to reserve individual bits (e.g request_mem_region), there may arise configuration problems. Especially on systems that have GPIOs with multiple functions and where are multiple GPIOs are configured in one byte. (e.g. NS9750)
This may be solved by reserving non-existent physical memory, e.g. in include/asm/arch/hardware.h with # define request_gpio( start, length, name ) \ request_region(IO_BASE+IO_SIZE+(start),(length),(name)) # define release_gpio( start, length ) \ release_region(IO_BASE+IO_SIZE+(start),(length))
Start and length are the GPIOs numbers and length, IO_BASE+IO_SIZE points to empty space.
Every driver can now ensure to be the only one using the GPIO.
Does anyone has a different approach?
Bye,