tree:   https://github.com/morimoto/linux kf-2018-10-10-v1
head:   ae74bc16d2dde0173f15399bc99db13708cc55c0
commit: 0116d6b25f709a6b034cc77baff02f2ed0505864 [5/7] clk: add 74aup1g157gw 
2-input multiplexer as clock driver

smatch warnings:
drivers/clk/nxp/clk-74aup1g157gw.c:161 clk74_probe() warn: possible memory leak 
of 'priv'

# 
https://github.com/morimoto/linux/commit/0116d6b25f709a6b034cc77baff02f2ed0505864
git remote add morimoto-linux https://github.com/morimoto/linux
git remote update morimoto-linux
git checkout 0116d6b25f709a6b034cc77baff02f2ed0505864
vim +/priv +161 drivers/clk/nxp/clk-74aup1g157gw.c

0116d6b25 Kuninori Morimoto 2018-10-09  144  
0116d6b25 Kuninori Morimoto 2018-10-09  145  static int clk74_probe(struct 
platform_device *pdev)
0116d6b25 Kuninori Morimoto 2018-10-09  146  {
0116d6b25 Kuninori Morimoto 2018-10-09  147     struct clk *clk;
0116d6b25 Kuninori Morimoto 2018-10-09  148     struct clk_init_data init;
0116d6b25 Kuninori Morimoto 2018-10-09  149     struct clk_priv *priv;
0116d6b25 Kuninori Morimoto 2018-10-09  150     struct device *dev = &pdev->dev;
0116d6b25 Kuninori Morimoto 2018-10-09  151     const char 
*parent_names[CLK_I_NUM];
0116d6b25 Kuninori Morimoto 2018-10-09  152     int i, ret;
0116d6b25 Kuninori Morimoto 2018-10-09  153  
0116d6b25 Kuninori Morimoto 2018-10-09  154     priv = kzalloc(sizeof(*priv), 
GFP_KERNEL);
                                                
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Just use devm_kzalloc() and remove the free in the release function.

0116d6b25 Kuninori Morimoto 2018-10-09  155     if (!priv)
0116d6b25 Kuninori Morimoto 2018-10-09  156             return -ENODEV;
0116d6b25 Kuninori Morimoto 2018-10-09  157  
0116d6b25 Kuninori Morimoto 2018-10-09  158     for_each_iclk (i) {
0116d6b25 Kuninori Morimoto 2018-10-09  159             clk = devm_clk_get(dev, 
clk74_in_name[i]);
0116d6b25 Kuninori Morimoto 2018-10-09  160             if (IS_ERR(clk))
0116d6b25 Kuninori Morimoto 2018-10-09 @161                     return 
-EPROBE_DEFER;
0116d6b25 Kuninori Morimoto 2018-10-09  162             priv->i[i] = clk;
0116d6b25 Kuninori Morimoto 2018-10-09  163             parent_names[i] = 
__clk_get_name(clk);
0116d6b25 Kuninori Morimoto 2018-10-09  164     }
0116d6b25 Kuninori Morimoto 2018-10-09  165  
0116d6b25 Kuninori Morimoto 2018-10-09  166     memset(&init, 0, sizeof(init));
0116d6b25 Kuninori Morimoto 2018-10-09  167     init.name               = 
"74aup1g157gw";
0116d6b25 Kuninori Morimoto 2018-10-09  168     init.ops                = 
&clk74_ops;
0116d6b25 Kuninori Morimoto 2018-10-09  169     init.parent_names       = 
parent_names;
0116d6b25 Kuninori Morimoto 2018-10-09  170     init.num_parents        = 
CLK_I_NUM;
0116d6b25 Kuninori Morimoto 2018-10-09  171  
0116d6b25 Kuninori Morimoto 2018-10-09  172     priv->hw.init           = &init;
0116d6b25 Kuninori Morimoto 2018-10-09  173     priv->dev               = dev;
0116d6b25 Kuninori Morimoto 2018-10-09  174     priv->round_rate        = 
of_device_get_match_data(dev);
0116d6b25 Kuninori Morimoto 2018-10-09  175     priv->sel               = 
devm_gpiod_get(dev, "sel", 0);
0116d6b25 Kuninori Morimoto 2018-10-09  176     if (IS_ERR(priv->sel))
0116d6b25 Kuninori Morimoto 2018-10-09  177             return -EPROBE_DEFER;
0116d6b25 Kuninori Morimoto 2018-10-09  178  
0116d6b25 Kuninori Morimoto 2018-10-09  179     
gpiod_direction_output(priv->sel, 0);
0116d6b25 Kuninori Morimoto 2018-10-09  180  
0116d6b25 Kuninori Morimoto 2018-10-09  181     ret = devm_clk_hw_register(dev, 
&priv->hw);
0116d6b25 Kuninori Morimoto 2018-10-09  182     if (ret < 0)
0116d6b25 Kuninori Morimoto 2018-10-09  183             return ret;
0116d6b25 Kuninori Morimoto 2018-10-09  184  
0116d6b25 Kuninori Morimoto 2018-10-09  185     ret = 
devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, &priv->hw);
0116d6b25 Kuninori Morimoto 2018-10-09  186     if (ret < 0)
0116d6b25 Kuninori Morimoto 2018-10-09  187             return ret;
0116d6b25 Kuninori Morimoto 2018-10-09  188  
0116d6b25 Kuninori Morimoto 2018-10-09  189     platform_set_drvdata(pdev, 
priv);
0116d6b25 Kuninori Morimoto 2018-10-09  190  
0116d6b25 Kuninori Morimoto 2018-10-09  191     dev_info(dev, "probed\n");
0116d6b25 Kuninori Morimoto 2018-10-09  192  
0116d6b25 Kuninori Morimoto 2018-10-09  193     return 0;
0116d6b25 Kuninori Morimoto 2018-10-09  194  }
0116d6b25 Kuninori Morimoto 2018-10-09  195  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
_______________________________________________
kbuild mailing list
kbuild@lists.01.org
https://lists.01.org/mailman/listinfo/kbuild

Reply via email to