Bring in the last round of updates before adding the interrupt support.
Fix the following issues:
- Removed revision from device softc, it isn't used anywhere else out of device attach routine;
- Move the duplicated code for verification of valid banks (and pins) to a single function;
- Use some macros to simplify the handling of some constants;
- Update some stale comments.