From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH v2 2/2] pinctrl: pinmux: Add pinmux-select debugfs file
Date: Wed, 10 Feb 2021 23:29:26 +0800 [thread overview]
Message-ID: <202102102309.BWgHEziz-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 8264 bytes --]
CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210210074946.155417-3-drew@beagleboard.org>
References: <20210210074946.155417-3-drew@beagleboard.org>
TO: Drew Fustini <drew@beagleboard.org>
TO: Linus Walleij <linus.walleij@linaro.org>
TO: linux-gpio(a)vger.kernel.org
TO: linux-kernel(a)vger.kernel.org
TO: Tony Lindgren <tony@atomide.com>
TO: Andy Shevchenko <andy.shevchenko@gmail.com>
TO: Alexandre Belloni <alexandre.belloni@bootlin.com>
TO: Geert Uytterhoeven <geert@linux-m68k.org>
TO: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
TO: Jason Kridner <jkridner@beagleboard.org>
TO: Robert Nelson <robertcnelson@beagleboard.org>
Hi Drew,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on pinctrl/devel]
[also build test WARNING on v5.11-rc7 next-20210125]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Drew-Fustini/pinctrl-pinmux-Add-pinmux-select-debugfs-file/20210210-160108
base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git devel
:::::: branch date: 7 hours ago
:::::: commit date: 7 hours ago
config: i386-randconfig-m021-20210209 (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>
smatch warnings:
drivers/pinctrl/pinmux.c:762 pinmux_select() error: uninitialized symbol 'gname'.
vim +/gname +762 drivers/pinctrl/pinmux.c
2744e8afb3b763 Linus Walleij 2011-05-02 675
99b2f99aa41aa7 Drew Fustini 2021-02-09 676
99b2f99aa41aa7 Drew Fustini 2021-02-09 677 #define PINMUX_MAX_NAME 64
99b2f99aa41aa7 Drew Fustini 2021-02-09 678 static ssize_t pinmux_select(struct file *file, const char __user *user_buf,
99b2f99aa41aa7 Drew Fustini 2021-02-09 679 size_t len, loff_t *ppos)
99b2f99aa41aa7 Drew Fustini 2021-02-09 680 {
99b2f99aa41aa7 Drew Fustini 2021-02-09 681 struct seq_file *sfile = file->private_data;
99b2f99aa41aa7 Drew Fustini 2021-02-09 682 struct pinctrl_dev *pctldev = sfile->private;
99b2f99aa41aa7 Drew Fustini 2021-02-09 683 const struct pinmux_ops *pmxops = pctldev->desc->pmxops;
99b2f99aa41aa7 Drew Fustini 2021-02-09 684 const char *const *groups;
99b2f99aa41aa7 Drew Fustini 2021-02-09 685 char *buf, *fname, *gname;
99b2f99aa41aa7 Drew Fustini 2021-02-09 686 unsigned int num_groups;
99b2f99aa41aa7 Drew Fustini 2021-02-09 687 int fsel, gsel, ret;
99b2f99aa41aa7 Drew Fustini 2021-02-09 688
99b2f99aa41aa7 Drew Fustini 2021-02-09 689 if (len > (PINMUX_MAX_NAME * 2)) {
99b2f99aa41aa7 Drew Fustini 2021-02-09 690 dev_err(pctldev->dev, "write too big for buffer");
99b2f99aa41aa7 Drew Fustini 2021-02-09 691 return -EINVAL;
99b2f99aa41aa7 Drew Fustini 2021-02-09 692 }
99b2f99aa41aa7 Drew Fustini 2021-02-09 693
99b2f99aa41aa7 Drew Fustini 2021-02-09 694 buf = devm_kzalloc(pctldev->dev, PINMUX_MAX_NAME * 2, GFP_KERNEL);
99b2f99aa41aa7 Drew Fustini 2021-02-09 695 if (!buf)
99b2f99aa41aa7 Drew Fustini 2021-02-09 696 return -ENOMEM;
99b2f99aa41aa7 Drew Fustini 2021-02-09 697
99b2f99aa41aa7 Drew Fustini 2021-02-09 698 fname = devm_kzalloc(pctldev->dev, PINMUX_MAX_NAME, GFP_KERNEL);
99b2f99aa41aa7 Drew Fustini 2021-02-09 699 if (!fname) {
99b2f99aa41aa7 Drew Fustini 2021-02-09 700 ret = -ENOMEM;
99b2f99aa41aa7 Drew Fustini 2021-02-09 701 goto free_buf;
99b2f99aa41aa7 Drew Fustini 2021-02-09 702 }
99b2f99aa41aa7 Drew Fustini 2021-02-09 703
99b2f99aa41aa7 Drew Fustini 2021-02-09 704 gname = devm_kzalloc(pctldev->dev, PINMUX_MAX_NAME, GFP_KERNEL);
99b2f99aa41aa7 Drew Fustini 2021-02-09 705 if (!buf) {
99b2f99aa41aa7 Drew Fustini 2021-02-09 706 ret = -ENOMEM;
99b2f99aa41aa7 Drew Fustini 2021-02-09 707 goto free_fname;
99b2f99aa41aa7 Drew Fustini 2021-02-09 708 }
99b2f99aa41aa7 Drew Fustini 2021-02-09 709
99b2f99aa41aa7 Drew Fustini 2021-02-09 710 ret = strncpy_from_user(buf, user_buf, PINMUX_MAX_NAME * 2);
99b2f99aa41aa7 Drew Fustini 2021-02-09 711 if (ret < 0) {
99b2f99aa41aa7 Drew Fustini 2021-02-09 712 dev_err(pctldev->dev, "failed to copy buffer from userspace");
99b2f99aa41aa7 Drew Fustini 2021-02-09 713 goto free_gname;
99b2f99aa41aa7 Drew Fustini 2021-02-09 714 }
99b2f99aa41aa7 Drew Fustini 2021-02-09 715 buf[len-1] = '\0';
99b2f99aa41aa7 Drew Fustini 2021-02-09 716
99b2f99aa41aa7 Drew Fustini 2021-02-09 717 ret = sscanf(buf, "%s %s", fname, gname);
99b2f99aa41aa7 Drew Fustini 2021-02-09 718 if (ret != 2) {
99b2f99aa41aa7 Drew Fustini 2021-02-09 719 dev_err(pctldev->dev, "expected format: <function-name> <group-name>");
99b2f99aa41aa7 Drew Fustini 2021-02-09 720 goto free_gname;
99b2f99aa41aa7 Drew Fustini 2021-02-09 721 }
99b2f99aa41aa7 Drew Fustini 2021-02-09 722
99b2f99aa41aa7 Drew Fustini 2021-02-09 723 fsel = pinmux_func_name_to_selector(pctldev, fname);
99b2f99aa41aa7 Drew Fustini 2021-02-09 724 if (fsel < 0) {
99b2f99aa41aa7 Drew Fustini 2021-02-09 725 dev_err(pctldev->dev, "invalid function %s in map table\n", fname);
99b2f99aa41aa7 Drew Fustini 2021-02-09 726 ret = -EINVAL;
99b2f99aa41aa7 Drew Fustini 2021-02-09 727 goto free_gname;
99b2f99aa41aa7 Drew Fustini 2021-02-09 728 }
99b2f99aa41aa7 Drew Fustini 2021-02-09 729
99b2f99aa41aa7 Drew Fustini 2021-02-09 730 ret = pmxops->get_function_groups(pctldev, fsel, &groups, &num_groups);
99b2f99aa41aa7 Drew Fustini 2021-02-09 731 if (ret) {
99b2f99aa41aa7 Drew Fustini 2021-02-09 732 dev_err(pctldev->dev, "no groups for function %d (%s)", fsel, fname);
99b2f99aa41aa7 Drew Fustini 2021-02-09 733 goto free_gname;
99b2f99aa41aa7 Drew Fustini 2021-02-09 734
99b2f99aa41aa7 Drew Fustini 2021-02-09 735 }
99b2f99aa41aa7 Drew Fustini 2021-02-09 736
99b2f99aa41aa7 Drew Fustini 2021-02-09 737 ret = match_string(groups, num_groups, gname);
99b2f99aa41aa7 Drew Fustini 2021-02-09 738 if (ret < 0) {
99b2f99aa41aa7 Drew Fustini 2021-02-09 739 dev_err(pctldev->dev, "invalid group %s", gname);
99b2f99aa41aa7 Drew Fustini 2021-02-09 740 goto free_gname;
99b2f99aa41aa7 Drew Fustini 2021-02-09 741 }
99b2f99aa41aa7 Drew Fustini 2021-02-09 742
99b2f99aa41aa7 Drew Fustini 2021-02-09 743 ret = pinctrl_get_group_selector(pctldev, gname);
99b2f99aa41aa7 Drew Fustini 2021-02-09 744 if (ret < 0) {
99b2f99aa41aa7 Drew Fustini 2021-02-09 745 dev_err(pctldev->dev, "failed to get group selectorL %s", gname);
99b2f99aa41aa7 Drew Fustini 2021-02-09 746 goto free_gname;
99b2f99aa41aa7 Drew Fustini 2021-02-09 747 }
99b2f99aa41aa7 Drew Fustini 2021-02-09 748 gsel = ret;
99b2f99aa41aa7 Drew Fustini 2021-02-09 749
99b2f99aa41aa7 Drew Fustini 2021-02-09 750 ret = pmxops->set_mux(pctldev, fsel, gsel);
99b2f99aa41aa7 Drew Fustini 2021-02-09 751 if (ret) {
99b2f99aa41aa7 Drew Fustini 2021-02-09 752 dev_err(pctldev->dev, "set_mux() failed: %d", ret);
99b2f99aa41aa7 Drew Fustini 2021-02-09 753 goto free_gname;
99b2f99aa41aa7 Drew Fustini 2021-02-09 754 }
99b2f99aa41aa7 Drew Fustini 2021-02-09 755
99b2f99aa41aa7 Drew Fustini 2021-02-09 756 return len;
99b2f99aa41aa7 Drew Fustini 2021-02-09 757 free_buf:
99b2f99aa41aa7 Drew Fustini 2021-02-09 758 devm_kfree(pctldev->dev, buf);
99b2f99aa41aa7 Drew Fustini 2021-02-09 759 free_fname:
99b2f99aa41aa7 Drew Fustini 2021-02-09 760 devm_kfree(pctldev->dev, fname);
99b2f99aa41aa7 Drew Fustini 2021-02-09 761 free_gname:
99b2f99aa41aa7 Drew Fustini 2021-02-09 @762 devm_kfree(pctldev->dev, gname);
99b2f99aa41aa7 Drew Fustini 2021-02-09 763 return ret;
99b2f99aa41aa7 Drew Fustini 2021-02-09 764 }
99b2f99aa41aa7 Drew Fustini 2021-02-09 765
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 37152 bytes --]
next reply other threads:[~2021-02-10 15:29 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-10 15:29 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-02-10 7:49 [PATCH v2 0/2] pinctrl: pinmux: Add pinmux-select debugfs file Drew Fustini
2021-02-10 7:49 ` [PATCH v2 2/2] " Drew Fustini
2021-02-10 8:35 ` Geert Uytterhoeven
2021-02-10 9:56 ` Andy Shevchenko
2021-02-10 17:31 ` Drew Fustini
2021-02-10 18:20 ` Dan Carpenter
2021-02-10 18:20 ` Dan Carpenter
2021-02-10 18:20 ` Dan Carpenter
2021-02-10 18:39 ` Geert Uytterhoeven
2021-02-10 18:39 ` Geert Uytterhoeven
2021-02-10 19:05 ` Dan Carpenter
2021-02-10 19:05 ` Dan Carpenter
2021-02-10 19:05 ` Dan Carpenter
2021-02-10 19:14 ` Drew Fustini
2021-02-10 19:04 ` Drew Fustini
2021-02-10 20:33 ` Dan Carpenter
2021-02-10 20:33 ` Dan Carpenter
2021-02-10 20:33 ` Dan Carpenter
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=202102102309.BWgHEziz-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.