-Wcast-qual differently, by instead changing the signatore of those
"functions" to take a "volatile struct timeval*" instead of a
"struct timeval*". Many places, these functions are called with
&time, and time is declared as volatile in <sys/kernel.h>. This
way we can get rid of all the ugly casts which now also triggered
warnings, and caused more code to be added to work around the
problem.
Reviewed by thorpej.
- Prepare mk48txxvar.h and leave only register definitions in mk48txxreg.h.
- Define struct mk48txx_softc as usual devices and allocate necessary
members like struct todr_chip_handle in it.
- Change mk48txx_attach(), mk48txx_nvwr() and mk48txx_nvrd() to take
struct mk48txx_softc.
locations. If passed NULL, the old behaviour using bus_space_{read,write}_1()
is used. Otherwise, all access to the chip goes via the MD functions.
This is necessary for mvmeppc boards where the mk48txx NVRAM/RTC is not
directly addressable.