From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: lkp@intel.com, kbuild-all@lists.01.org,
devel@driverdev.osuosl.org, linux-media@vger.kernel.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: [staging:staging-next 67/73] drivers/staging/hikey9xx/hi6421-spmi-pmic.c:238 hi6421_spmi_pmic_probe() warn: 'ddata->irq' not released on lines: 238.
Date: Mon, 8 Feb 2021 16:51:00 +0300 [thread overview]
Message-ID: <20210208135100.GH2696@kadam> (raw)
[-- Attachment #1: Type: text/plain, Size: 7027 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-next
head: 06b0c0dce88e2aa2f01343db0f26d214d7f264a0
commit: a2e904fc59e15d9e4128415579a2664ab3a1ed14 [67/73] staging: hikey9xx: hi6421-spmi-pmic: cleanup probe code
config: x86_64-randconfig-m001-20210207 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/staging/hikey9xx/hi6421-spmi-pmic.c:238 hi6421_spmi_pmic_probe() warn: 'ddata->irq' not released on lines: 238.
Old smatch warnings:
drivers/staging/hikey9xx/hi6421-spmi-pmic.c:52 hi6421_spmi_irq_handler() error: uninitialized symbol 'offset'.
vim +238 drivers/staging/hikey9xx/hi6421-spmi-pmic.c
1eb2784a90925d Mauro Carvalho Chehab 2020-08-17 164 static int hi6421_spmi_pmic_probe(struct spmi_device *pdev)
4524ac56cdcabf Mayulong 2020-08-17 165 {
4524ac56cdcabf Mayulong 2020-08-17 166 struct device *dev = &pdev->dev;
4524ac56cdcabf Mayulong 2020-08-17 167 struct device_node *np = dev->of_node;
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 168 struct hi6421_spmi_pmic *ddata;
4524ac56cdcabf Mayulong 2020-08-17 169 unsigned int virq;
6b946699252c68 Mauro Carvalho Chehab 2020-08-17 170 int ret, i;
4524ac56cdcabf Mayulong 2020-08-17 171
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 172 ddata = devm_kzalloc(dev, sizeof(*ddata), GFP_KERNEL);
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 173 if (!ddata)
4524ac56cdcabf Mayulong 2020-08-17 174 return -ENOMEM;
4524ac56cdcabf Mayulong 2020-08-17 175
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 176 ddata->regmap = devm_regmap_init_spmi_ext(pdev, ®map_config);
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 177 if (IS_ERR(ddata->regmap))
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 178 return PTR_ERR(ddata->regmap);
fb02e3ebfb2da2 Mauro Carvalho Chehab 2021-01-29 179
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 180 spin_lock_init(&ddata->lock);
4524ac56cdcabf Mayulong 2020-08-17 181
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 182 ddata->dev = dev;
4524ac56cdcabf Mayulong 2020-08-17 183
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 184 ddata->gpio = of_get_gpio(np, 0);
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 185 if (ddata->gpio < 0)
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 186 return ddata->gpio;
4524ac56cdcabf Mayulong 2020-08-17 187
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 188 if (!gpio_is_valid(ddata->gpio))
4524ac56cdcabf Mayulong 2020-08-17 189 return -EINVAL;
4524ac56cdcabf Mayulong 2020-08-17 190
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 191 ret = devm_gpio_request_one(dev, ddata->gpio, GPIOF_IN, "pmic");
4524ac56cdcabf Mayulong 2020-08-17 192 if (ret < 0) {
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 193 dev_err(dev, "Failed to request gpio%d\n", ddata->gpio);
4524ac56cdcabf Mayulong 2020-08-17 194 return ret;
4524ac56cdcabf Mayulong 2020-08-17 195 }
4524ac56cdcabf Mayulong 2020-08-17 196
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 197 ddata->irq = gpio_to_irq(ddata->gpio);
4524ac56cdcabf Mayulong 2020-08-17 198
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 199 hi6421_spmi_pmic_irq_prc(ddata);
4524ac56cdcabf Mayulong 2020-08-17 200
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 201 ddata->irqs = devm_kzalloc(dev, HISI_IRQ_NUM * sizeof(int), GFP_KERNEL);
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 202 if (!ddata->irqs)
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 203 return -ENOMEM;
4524ac56cdcabf Mayulong 2020-08-17 204
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 205 ddata->domain = irq_domain_add_simple(np, HISI_IRQ_NUM, 0,
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 206 &hi6421_spmi_domain_ops, ddata);
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 207 if (!ddata->domain) {
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 208 dev_err(dev, "Failed to create IRQ domain\n");
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 209 return -ENODEV;
4524ac56cdcabf Mayulong 2020-08-17 210 }
4524ac56cdcabf Mayulong 2020-08-17 211
b240d0143bfbc9 Mauro Carvalho Chehab 2020-08-18 212 for (i = 0; i < HISI_IRQ_NUM; i++) {
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 213 virq = irq_create_mapping(ddata->domain, i);
6b946699252c68 Mauro Carvalho Chehab 2020-08-17 214 if (!virq) {
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 215 dev_err(dev, "Failed to map H/W IRQ\n");
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 216 return -ENOSPC;
4524ac56cdcabf Mayulong 2020-08-17 217 }
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 218 ddata->irqs[i] = virq;
4524ac56cdcabf Mayulong 2020-08-17 219 }
4524ac56cdcabf Mayulong 2020-08-17 220
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 221 ret = request_threaded_irq(ddata->irq, hi6421_spmi_irq_handler, NULL,
4524ac56cdcabf Mayulong 2020-08-17 222 IRQF_TRIGGER_LOW | IRQF_SHARED | IRQF_NO_SUSPEND,
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 223 "pmic", ddata);
Use the devm_request_threaded_irq() version.
4524ac56cdcabf Mayulong 2020-08-17 224 if (ret < 0) {
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 225 dev_err(dev, "Failed to start IRQ handling thread: error %d\n",
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 226 ret);
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 227 return ret;
4524ac56cdcabf Mayulong 2020-08-17 228 }
4524ac56cdcabf Mayulong 2020-08-17 229
fcd732406c5d65 Mauro Carvalho Chehab 2021-01-29 230 dev_set_drvdata(&pdev->dev, ddata);
cf0f27b7b20b5f Mauro Carvalho Chehab 2020-08-17 231
cf0f27b7b20b5f Mauro Carvalho Chehab 2020-08-17 232 ret = devm_mfd_add_devices(&pdev->dev, PLATFORM_DEVID_NONE,
cf0f27b7b20b5f Mauro Carvalho Chehab 2020-08-17 233 hi6421v600_devs, ARRAY_SIZE(hi6421v600_devs),
cf0f27b7b20b5f Mauro Carvalho Chehab 2020-08-17 234 NULL, 0, NULL);
a2e904fc59e15d Mauro Carvalho Chehab 2021-01-29 235 if (ret < 0)
6b946699252c68 Mauro Carvalho Chehab 2020-08-17 236 dev_err(dev, "Failed to add child devices: %d\n", ret);
Resource leak if devm_mfd_add_devices() fails.
6b946699252c68 Mauro Carvalho Chehab 2020-08-17 237
4524ac56cdcabf Mayulong 2020-08-17 @238 return ret;
4524ac56cdcabf Mayulong 2020-08-17 239 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 37319 bytes --]
reply other threads:[~2021-02-08 13:52 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210208135100.GH2696@kadam \
--to=dan.carpenter@oracle.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=kbuild-all@lists.01.org \
--cc=kbuild@lists.01.org \
--cc=linux-media@vger.kernel.org \
--cc=lkp@intel.com \
--cc=mchehab@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox