change hal_data to adapter