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