devm_kzalloc() eliminates the need to free memory explicitly
thereby saving some cleanup code