> Thank you for your contribution. To begin with, I don't believe a simple GPIO > driver needs 1000+ LoCs. But see more comments below. Andy, Thank you for your feedback. I will apply all the input you have provided. I will need to rewrite this code and I am considering the need to perhaps create two files instead of one to keep code length down. As implied by the description I was trying to have one file handle two different compatible strings. I believe that one file will need to be the regular IO from the host and memory mapped IO pins of our SoC. The other will need to be the memory mapped IO pins coming from our CPLD. Both of these sources are interruptible which does cause some complexity. Please let me know if what I have described above is not a good approach to take with GPIO drivers. Any guidance would be greatly appreciated. Best Regards, -Nick Hawkins