mirror of
https://github.com/torvalds/linux.git
synced 2024-11-19 18:41:48 +00:00
memory: samsung: exynos5422-dmc: Fix kfree() of devm-allocated memory and missing static
Fix issues captured by static checkers: use of kfree() on resource-managed memory and missing 'static' in the private function. Fixes Smatch warning: drivers/memory/samsung/exynos5422-dmc.c:272 exynos5_init_freq_table() warn: passing devm_ allocated variable to kfree. 'dmc->opp' Fixes Sparse warning: drivers/memory/samsung/exynos5422-dmc.c:736:1: warning: symbol 'exynos5_dmc_align_init_freq' was not declared. Reported-by: kbuild test robot <lkp@intel.com> Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Reported-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Lukasz Luba <l.luba@partner.samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
This commit is contained in:
parent
7a5a687ec3
commit
d51e6a69f4
@ -258,7 +258,7 @@ static int exynos5_init_freq_table(struct exynos5_dmc *dmc,
|
|||||||
|
|
||||||
opp = dev_pm_opp_find_freq_floor(dmc->dev, &freq);
|
opp = dev_pm_opp_find_freq_floor(dmc->dev, &freq);
|
||||||
if (IS_ERR(opp))
|
if (IS_ERR(opp))
|
||||||
goto err_free_tables;
|
goto err_opp;
|
||||||
|
|
||||||
dmc->opp[idx - i].freq_hz = freq;
|
dmc->opp[idx - i].freq_hz = freq;
|
||||||
dmc->opp[idx - i].volt_uv = dev_pm_opp_get_voltage(opp);
|
dmc->opp[idx - i].volt_uv = dev_pm_opp_get_voltage(opp);
|
||||||
@ -268,8 +268,6 @@ static int exynos5_init_freq_table(struct exynos5_dmc *dmc,
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_free_tables:
|
|
||||||
kfree(dmc->opp);
|
|
||||||
err_opp:
|
err_opp:
|
||||||
dev_pm_opp_of_remove_table(dmc->dev);
|
dev_pm_opp_of_remove_table(dmc->dev);
|
||||||
|
|
||||||
@ -732,7 +730,7 @@ static struct devfreq_dev_profile exynos5_dmc_df_profile = {
|
|||||||
* statistics engine which supports only registered values. Thus, some alignment
|
* statistics engine which supports only registered values. Thus, some alignment
|
||||||
* must be made.
|
* must be made.
|
||||||
*/
|
*/
|
||||||
unsigned long
|
static unsigned long
|
||||||
exynos5_dmc_align_init_freq(struct exynos5_dmc *dmc,
|
exynos5_dmc_align_init_freq(struct exynos5_dmc *dmc,
|
||||||
unsigned long bootloader_init_freq)
|
unsigned long bootloader_init_freq)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user