The work is not complete yet; this is an interim checkin. Ultimately the device.c file will be merged with the regular one or the deltas will be separated into some other file.