lint: take care of various warnings/errors issued by cppcheck

- [ ] ~~4860~~ 1688  style (unusedStructMember)
- [x]   ~~68~~ ~~51  error (nullPointer)~~
- [x]   ~~15  style (unreadVariable)~~
- [x]    ~~12  performance (redundantAssignment)~~
- [x]      ~~8  style (unusedVariable)~~
- [ ]      8  performance (passedByValue)
- [x]      ~~7  style (unassignedVariable)~~
- [x]     ~~3  warning (nullPointer)~~
- [x]      ~~1  warning (uselessAssignmentPtrArg)~~
- [x]      ~~1  warning (invalidPrintfArgType_sint)~~
- [x]      ~~1  style (obsoleteFunctionsasctime)~~
- [x]      ~~1  performance (redundantCopy)~~
- [x]      ~~1  error (syntaxError)~~

See #480 

I think an other way would be preferable: with increasing amount of devices this becomes ugly fast (e.g. `GPIO_1_EN | GPIO_2_EN | .... | GPIO_15_EN`).
The problem is that my preprocessor-fu seems to be insufficent to solve this in an elegant way...