summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorkbuild test robot <fengguang.wu@intel.com>2019-03-02 09:50:36 +0300
committerAlex Deucher <alexander.deucher@amd.com>2019-03-19 23:36:36 +0300
commit24bf582e27a8ac5ffab6c2f1b9541ebaeb250a3d (patch)
tree4cdf657427b82fdd0c423a1d32d29efc584c673a /drivers/gpu
parentd38ca8f0f1a44c0ffe1cc746edf16b245e188ea5 (diff)
downloadlinux-24bf582e27a8ac5ffab6c2f1b9541ebaeb250a3d.tar.xz
drm/amd/powerplay: fix memdup.cocci warnings
Simplify the code a bit by using kmemdup instead of kzalloc and memcpy. Generated by: scripts/coccinelle/api/memdup.cocci CC: Likun Gao <Likun.Gao@amd.com> Reviewed-by: Likun Gao <Likun.Gao@amd.com> Acked-by: Huang Rui <ray.huang@amd.com> Signed-off-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/amd/powerplay/vega20_ppt.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c
index f7188a7fb194..c66ad3b223d3 100644
--- a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c
+++ b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c
@@ -204,14 +204,12 @@ static int vega20_setup_od8_information(struct smu_context *smu)
if (table_context->od_feature_capabilities)
return -EINVAL;
- table_context->od_feature_capabilities = kzalloc(od_feature_array_size, GFP_KERNEL);
+ table_context->od_feature_capabilities = kmemdup(&powerplay_table->OverDrive8Table.ODFeatureCapabilities,
+ od_feature_array_size,
+ GFP_KERNEL);
if (!table_context->od_feature_capabilities)
return -ENOMEM;
- memcpy(table_context->od_feature_capabilities,
- &powerplay_table->OverDrive8Table.ODFeatureCapabilities,
- od_feature_array_size);
-
/* Setup correct ODSettingCount, and store ODSettingArray from
* powerplay table to od_settings_max and od_setting_min */
od_setting_count =
@@ -225,7 +223,9 @@ static int vega20_setup_od8_information(struct smu_context *smu)
if (table_context->od_settings_max)
return -EINVAL;
- table_context->od_settings_max = kzalloc(od_setting_array_size, GFP_KERNEL);
+ table_context->od_settings_max = kmemdup(&powerplay_table->OverDrive8Table.ODSettingsMax,
+ od_setting_array_size,
+ GFP_KERNEL);
if (!table_context->od_settings_max) {
kfree(table_context->od_feature_capabilities);
@@ -233,14 +233,12 @@ static int vega20_setup_od8_information(struct smu_context *smu)
return -ENOMEM;
}
- memcpy(table_context->od_settings_max,
- &powerplay_table->OverDrive8Table.ODSettingsMax,
- od_setting_array_size);
-
if (table_context->od_settings_min)
return -EINVAL;
- table_context->od_settings_min = kzalloc(od_setting_array_size, GFP_KERNEL);
+ table_context->od_settings_min = kmemdup(&powerplay_table->OverDrive8Table.ODSettingsMin,
+ od_setting_array_size,
+ GFP_KERNEL);
if (!table_context->od_settings_min) {
kfree(table_context->od_feature_capabilities);
@@ -249,10 +247,6 @@ static int vega20_setup_od8_information(struct smu_context *smu)
table_context->od_settings_max = NULL;
return -ENOMEM;
}
-
- memcpy(table_context->od_settings_min,
- &powerplay_table->OverDrive8Table.ODSettingsMin,
- od_setting_array_size);
}
return 0;