changed definition of adf_device_t to solve dereferencing pointer to incomplete type