From: kernel test robot <lkp@intel.com>
To: William Breathitt Gray <william.gray@linaro.org>,
linus.walleij@linaro.org, brgl@bgdev.pl
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
broonie@kernel.org,
William Breathitt Gray <william.gray@linaro.org>,
Arnaud de Turckheim <quarium@gmail.com>,
John Hentges <jhentges@accesio.com>,
Jay Dolan <jay.dolan@accesio.com>
Subject: Re: [PATCH v3 2/3] gpio: pcie-idio-24: Migrate to the regmap API
Date: Mon, 6 Mar 2023 04:03:08 +0800 [thread overview]
Message-ID: <202303060355.RtbgFd25-lkp@intel.com> (raw)
In-Reply-To: <278e328cd1689a4e331e7515050c12c29f2a4785.1678034378.git.william.gray@linaro.org>
Hi William,
I love your patch! Perhaps something to improve:
[auto build test WARNING on 4827aae061337251bb91801b316157a78b845ec7]
url: https://github.com/intel-lab-lkp/linux/commits/William-Breathitt-Gray/regmap-Pass-irq_drv_data-as-a-parameter-for-set_type_config/20230306-010313
base: 4827aae061337251bb91801b316157a78b845ec7
patch link: https://lore.kernel.org/r/278e328cd1689a4e331e7515050c12c29f2a4785.1678034378.git.william.gray%40linaro.org
patch subject: [PATCH v3 2/3] gpio: pcie-idio-24: Migrate to the regmap API
config: i386-randconfig-a013 (https://download.01.org/0day-ci/archive/20230306/202303060355.RtbgFd25-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/e60d5c32ff098c33b1e171190079ed3f40180008
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review William-Breathitt-Gray/regmap-Pass-irq_drv_data-as-a-parameter-for-set_type_config/20230306-010313
git checkout e60d5c32ff098c33b1e171190079ed3f40180008
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/gpio/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303060355.RtbgFd25-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/gpio/gpio-pcie-idio-24.c:365:2: warning: variable 'idio24gpio' is uninitialized when used here [-Wuninitialized]
idio24gpio->map = devm_regmap_init_mmio(dev, idio_24_regs,
^~~~~~~~~~
drivers/gpio/gpio-pcie-idio-24.c:333:33: note: initialize the variable 'idio24gpio' to silence this warning
struct idio_24_gpio *idio24gpio;
^
= NULL
1 warning generated.
vim +/idio24gpio +365 drivers/gpio/gpio-pcie-idio-24.c
329
330 static int idio_24_probe(struct pci_dev *pdev, const struct pci_device_id *id)
331 {
332 struct device *const dev = &pdev->dev;
333 struct idio_24_gpio *idio24gpio;
334 int err;
335 const size_t pci_plx_bar_index = 1;
336 const size_t pci_bar_index = 2;
337 const char *const name = pci_name(pdev);
338 struct gpio_regmap_config gpio_config = {};
339 void __iomem *pex8311_intcsr;
340 void __iomem *idio_24_regs;
341 struct regmap *pex8311_intcsr_map;
342 struct regmap_irq_chip *chip;
343 struct regmap_irq_chip_data *chip_data;
344
345 err = pcim_enable_device(pdev);
346 if (err) {
347 dev_err(dev, "Failed to enable PCI device (%d)\n", err);
348 return err;
349 }
350
351 err = pcim_iomap_regions(pdev, BIT(pci_plx_bar_index) | BIT(pci_bar_index), name);
352 if (err) {
353 dev_err(dev, "Unable to map PCI I/O addresses (%d)\n", err);
354 return err;
355 }
356
357 pex8311_intcsr = pcim_iomap_table(pdev)[pci_plx_bar_index] + PLX_PEX8311_PCI_LCS_INTCSR;
358 idio_24_regs = pcim_iomap_table(pdev)[pci_bar_index];
359
360 pex8311_intcsr_map = devm_regmap_init_mmio(dev, pex8311_intcsr,
361 &pex8311_intcsr_regmap_config);
362 if (IS_ERR(pex8311_intcsr_map))
363 return dev_err_probe(dev, PTR_ERR(pex8311_intcsr_map),
364 "Unable to initialize PEX8311 register map\n");
> 365 idio24gpio->map = devm_regmap_init_mmio(dev, idio_24_regs,
366 &idio_24_regmap_config);
367 if (IS_ERR(idio24gpio->map))
368 return dev_err_probe(dev, PTR_ERR(idio24gpio->map),
369 "Unable to initialize register map\n");
370
371 idio24gpio = devm_kzalloc(dev, sizeof(*idio24gpio), GFP_KERNEL);
372 if (!idio24gpio)
373 return -ENOMEM;
374
375 mutex_init(&idio24gpio->lock);
376
377 /* Initialize all IRQ type configuration to IRQ_TYPE_EDGE_BOTH */
378 idio24gpio->irq_type = GENMASK(7, 0);
379
380 chip = devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL);
381 if (!chip)
382 return -ENOMEM;
383
384 chip->name = name;
385 chip->status_base = IDIO_24_COS_STATUS_BASE;
386 chip->mask_base = IDIO_24_COS_ENABLE;
387 chip->ack_base = IDIO_24_COS_STATUS_BASE;
388 chip->num_regs = 4;
389 chip->irqs = idio_24_regmap_irqs;
390 chip->num_irqs = ARRAY_SIZE(idio_24_regmap_irqs);
391 chip->handle_mask_sync = idio_24_handle_mask_sync;
392 chip->set_type_config = idio_24_set_type_config;
393 chip->irq_drv_data = idio24gpio;
394
395 /* Software board reset */
396 err = regmap_write(idio24gpio->map, IDIO_24_SOFT_RESET, 0);
397 if (err)
398 return err;
399 /*
400 * enable PLX PEX8311 internal PCI wire interrupt and local interrupt
401 * input
402 */
403 err = regmap_update_bits(pex8311_intcsr_map, 0x0, IDIO_24_ENABLE_IRQ,
404 IDIO_24_ENABLE_IRQ);
405 if (err)
406 return err;
407
408 err = devm_regmap_add_irq_chip(dev, idio24gpio->map, pdev->irq, 0, 0,
409 chip, &chip_data);
410 if (err)
411 return dev_err_probe(dev, err, "IRQ registration failed\n");
412
413 gpio_config.parent = dev;
414 gpio_config.regmap = idio24gpio->map;
415 gpio_config.ngpio = IDIO_24_NGPIO;
416 gpio_config.names = idio_24_names;
417 gpio_config.reg_dat_base = GPIO_REGMAP_ADDR(IDIO_24_OUT_BASE);
418 gpio_config.reg_set_base = GPIO_REGMAP_ADDR(IDIO_24_OUT_BASE);
419 gpio_config.reg_dir_out_base = GPIO_REGMAP_ADDR(IDIO_24_CONTROL_REG);
420 gpio_config.ngpio_per_reg = IDIO_24_NGPIO_PER_REG;
421 gpio_config.irq_domain = regmap_irq_get_domain(chip_data);
422 gpio_config.reg_mask_xlate = idio_24_reg_mask_xlate;
423 gpio_config.drvdata = idio24gpio->map;
424
425 return PTR_ERR_OR_ZERO(devm_gpio_regmap_register(dev, &gpio_config));
426 }
427
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
next prev parent reply other threads:[~2023-03-05 20:03 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-05 17:01 [PATCH v3 0/3] Migrate the PCIe-IDIO-24 and WS16C48 GPIO drivers to the regmap API William Breathitt Gray
2023-03-05 17:01 ` [PATCH v3 1/3] regmap: Pass irq_drv_data as a parameter for set_type_config() William Breathitt Gray
2023-03-05 17:01 ` [PATCH v3 2/3] gpio: pcie-idio-24: Migrate to the regmap API William Breathitt Gray
2023-03-05 20:03 ` kernel test robot [this message]
2023-03-06 8:31 ` Dan Carpenter
2023-03-05 17:01 ` [PATCH v3 3/3] gpio: ws16c48: " William Breathitt Gray
-- strict thread matches above, loose matches on Subject: below --
2023-03-05 22:58 [PATCH v3 2/3] gpio: pcie-idio-24: " kernel test robot
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=202303060355.RtbgFd25-lkp@intel.com \
--to=lkp@intel.com \
--cc=brgl@bgdev.pl \
--cc=broonie@kernel.org \
--cc=jay.dolan@accesio.com \
--cc=jhentges@accesio.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=quarium@gmail.com \
--cc=william.gray@linaro.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.