linux device driver and test code