All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Bartosz Golaszewski" <brgl@bgdev.pl>,
	"Ahmad Fatoum" <a.fatoum@pengutronix.de>,
	"Kent Gibson" <warthog618@gmail.com>,
	"Jan Lübbe" <jlu@pengutronix.de>, "Marek Vasut" <marex@denx.de>,
	"Geert Uytterhoeven" <geert+renesas@glider.be>,
	"Linus Walleij" <linus.walleij@linaro.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 8/9] gpio: sysfs: allow disabling the legacy parts of the GPIO sysfs interface
Date: Fri, 27 Jun 2025 19:40:57 +0800	[thread overview]
Message-ID: <202506271940.T2QaCrba-lkp@intel.com> (raw)
In-Reply-To: <20250623-gpio-sysfs-chip-export-v2-8-d592793f8964@linaro.org>

Hi Bartosz,

kernel test robot noticed the following build warnings:

[auto build test WARNING on cb908f3699fb137e28017a8fdf506c35762b3eb6]

url:    https://github.com/intel-lab-lkp/linux/commits/Bartosz-Golaszewski/gpio-sysfs-add-a-parallel-class-device-for-each-GPIO-chip-using-device-IDs/20250623-170412
base:   cb908f3699fb137e28017a8fdf506c35762b3eb6
patch link:    https://lore.kernel.org/r/20250623-gpio-sysfs-chip-export-v2-8-d592793f8964%40linaro.org
patch subject: [PATCH v2 8/9] gpio: sysfs: allow disabling the legacy parts of the GPIO sysfs interface
config: s390-randconfig-002-20250627 (https://download.01.org/0day-ci/archive/20250627/202506271940.T2QaCrba-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project e04c938cc08a90ae60440ce22d072ebc69d67ee8)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250627/202506271940.T2QaCrba-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506271940.T2QaCrba-lkp@intel.com/

All warnings (new ones prefixed by >>):

   drivers/gpio/gpiolib-sysfs.c:818:3: error: cannot jump from this goto statement to its label
     818 |                 goto err_free_name;
         |                 ^
   drivers/gpio/gpiolib-sysfs.c:820:8: note: jump bypasses initialization of variable with __attribute__((cleanup))
     820 |         char *path __free(kfree) = kasprintf(GFP_KERNEL, "gpio%u/value",
         |               ^
   drivers/gpio/gpiolib-sysfs.c:811:3: error: cannot jump from this goto statement to its label
     811 |                 goto err_put_dirent;
         |                 ^
   drivers/gpio/gpiolib-sysfs.c:820:8: note: jump bypasses initialization of variable with __attribute__((cleanup))
     820 |         char *path __free(kfree) = kasprintf(GFP_KERNEL, "gpio%u/value",
         |               ^
   drivers/gpio/gpiolib-sysfs.c:802:3: error: cannot jump from this goto statement to its label
     802 |                 goto err_put_dirent;
         |                 ^
   drivers/gpio/gpiolib-sysfs.c:820:8: note: jump bypasses initialization of variable with __attribute__((cleanup))
     820 |         char *path __free(kfree) = kasprintf(GFP_KERNEL, "gpio%u/value",
         |               ^
   drivers/gpio/gpiolib-sysfs.c:747:3: error: cannot jump from this goto statement to its label
     747 |                 goto err_clear_bit;
         |                 ^
   drivers/gpio/gpiolib-sysfs.c:820:8: note: jump bypasses initialization of variable with __attribute__((cleanup))
     820 |         char *path __free(kfree) = kasprintf(GFP_KERNEL, "gpio%u/value",
         |               ^
   drivers/gpio/gpiolib-sysfs.c:741:3: error: cannot jump from this goto statement to its label
     741 |                 goto err_clear_bit;
         |                 ^
   drivers/gpio/gpiolib-sysfs.c:820:8: note: jump bypasses initialization of variable with __attribute__((cleanup))
     820 |         char *path __free(kfree) = kasprintf(GFP_KERNEL, "gpio%u/value",
         |               ^
>> drivers/gpio/gpiolib-sysfs.c:962:6: warning: unused variable 'err' [-Wunused-variable]
     962 |         int err;
         |             ^~~
   1 warning and 5 errors generated.


vim +/err +962 drivers/gpio/gpiolib-sysfs.c

65fbd24108991d Bartosz Golaszewski 2025-06-23  798  
574194e59098d9 Bartosz Golaszewski 2025-06-23  799  	gdev_data = gdev_get_data(gdev);
574194e59098d9 Bartosz Golaszewski 2025-06-23  800  	if (!gdev_data) {
574194e59098d9 Bartosz Golaszewski 2025-06-23  801  		status = -ENODEV;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  802  		goto err_put_dirent;
574194e59098d9 Bartosz Golaszewski 2025-06-23  803  	}
574194e59098d9 Bartosz Golaszewski 2025-06-23  804  
574194e59098d9 Bartosz Golaszewski 2025-06-23  805  	list_add(&desc_data->list, &gdev_data->exported_lines);
574194e59098d9 Bartosz Golaszewski 2025-06-23  806  
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  807  	desc_data->attr_group.name = kasprintf(GFP_KERNEL, "gpio%u",
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  808  					       gpio_chip_hwgpio(desc));
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  809  	if (!desc_data->attr_group.name) {
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  810  		status = -ENOMEM;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  811  		goto err_put_dirent;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  812  	}
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  813  
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  814  	desc_data->parent = &gdev_data->cdev_id->kobj;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  815  	status = sysfs_create_groups(desc_data->parent,
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  816  				     desc_data->attr_groups);
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  817  	if (status)
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  818  		goto err_free_name;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  819  
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 @820  	char *path __free(kfree) = kasprintf(GFP_KERNEL, "gpio%u/value",
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  821  					     gpio_chip_hwgpio(desc));
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  822  	if (!path) {
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  823  		status = -ENOMEM;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  824  		goto err_remove_groups;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  825  	}
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  826  
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  827  	desc_data->value_chip_node = kernfs_walk_and_get(desc_data->parent->sd,
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  828  							 path);
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  829  	if (!desc_data->value_chip_node) {
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  830  		status = -ENODEV;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  831  		goto err_remove_groups;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  832  	}
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  833  
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  834  	return 0;
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  835  
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  836  err_remove_groups:
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  837  	sysfs_remove_groups(desc_data->parent, desc_data->attr_groups);
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  838  err_free_name:
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  839  	kfree(desc_data->attr_group.name);
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  840  err_put_dirent:
d6fe296d76af3f Bartosz Golaszewski 2025-06-23  841  #if IS_ENABLED(CONFIG_GPIO_SYSFS_LEGACY)
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  842  	sysfs_put(desc_data->value_class_node);
65fbd24108991d Bartosz Golaszewski 2025-06-23  843  err_unregister_device:
574194e59098d9 Bartosz Golaszewski 2025-06-23  844  	device_unregister(desc_data->dev);
c43960fbcc514b Johan Hovold        2015-05-04  845  err_free_data:
d6fe296d76af3f Bartosz Golaszewski 2025-06-23  846  #endif /* CONFIG_GPIO_SYSFS_LEGACY */
d54627a4c4f9a8 Bartosz Golaszewski 2025-06-23  847  	kfree(desc_data);
f4af1671c28854 Bartosz Golaszewski 2024-10-31  848  err_clear_bit:
35b545332b809a Bartosz Golaszewski 2024-01-12  849  	clear_bit(FLAG_EXPORT, &desc->flags);
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  850  	gpiod_dbg(desc, "%s: status %d\n", __func__, status);
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  851  	return status;
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  852  }
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  853  EXPORT_SYMBOL_GPL(gpiod_export);
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  854  
d6fe296d76af3f Bartosz Golaszewski 2025-06-23  855  #if IS_ENABLED(CONFIG_GPIO_SYSFS_LEGACY)
c43960fbcc514b Johan Hovold        2015-05-04  856  static int match_export(struct device *dev, const void *desc)
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  857  {
c43960fbcc514b Johan Hovold        2015-05-04  858  	struct gpiod_data *data = dev_get_drvdata(dev);
c43960fbcc514b Johan Hovold        2015-05-04  859  
c43960fbcc514b Johan Hovold        2015-05-04  860  	return data->desc == desc;
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  861  }
d6fe296d76af3f Bartosz Golaszewski 2025-06-23  862  #endif /* CONFIG_GPIO_SYSFS_LEGACY */
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  863  
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  864  /**
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  865   * gpiod_export_link - create a sysfs link to an exported GPIO node
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  866   * @dev: device under which to create symlink
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  867   * @name: name of the symlink
2d9d05192e7d1a Thierry Reding      2017-07-24  868   * @desc: GPIO to create symlink to, already exported
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  869   *
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  870   * Set up a symlink from /sys/.../dev/name to /sys/class/gpio/gpioN
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  871   * node. Caller is responsible for unlinking.
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  872   *
94bd9ce16063a2 Andy Shevchenko     2024-08-28  873   * Returns:
94bd9ce16063a2 Andy Shevchenko     2024-08-28  874   * 0 on success, or negative errno on failure.
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  875   */
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  876  int gpiod_export_link(struct device *dev, const char *name,
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  877  		      struct gpio_desc *desc)
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  878  {
d6fe296d76af3f Bartosz Golaszewski 2025-06-23  879  #if IS_ENABLED(CONFIG_GPIO_SYSFS_LEGACY)
56d30ec14c1330 Johan Hovold        2015-05-04  880  	struct device *cdev;
56d30ec14c1330 Johan Hovold        2015-05-04  881  	int ret;
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  882  
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  883  	if (!desc) {
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  884  		pr_warn("%s: invalid GPIO\n", __func__);
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  885  		return -EINVAL;
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  886  	}
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  887  
56d30ec14c1330 Johan Hovold        2015-05-04  888  	cdev = class_find_device(&gpio_class, NULL, desc, match_export);
56d30ec14c1330 Johan Hovold        2015-05-04  889  	if (!cdev)
56d30ec14c1330 Johan Hovold        2015-05-04  890  		return -ENODEV;
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  891  
56d30ec14c1330 Johan Hovold        2015-05-04  892  	ret = sysfs_create_link(&dev->kobj, &cdev->kobj, name);
56d30ec14c1330 Johan Hovold        2015-05-04  893  	put_device(cdev);
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  894  
56d30ec14c1330 Johan Hovold        2015-05-04  895  	return ret;
d6fe296d76af3f Bartosz Golaszewski 2025-06-23  896  #else
d6fe296d76af3f Bartosz Golaszewski 2025-06-23  897  	return -EOPNOTSUPP;
d6fe296d76af3f Bartosz Golaszewski 2025-06-23  898  #endif /* CONFIG_GPIO_SYSFS_LEGACY */
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  899  }
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  900  EXPORT_SYMBOL_GPL(gpiod_export_link);
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  901  
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  902  /**
31963eb039b7d5 Amitesh Singh       2016-09-08  903   * gpiod_unexport - reverse effect of gpiod_export()
2d9d05192e7d1a Thierry Reding      2017-07-24  904   * @desc: GPIO to make unavailable
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  905   *
31963eb039b7d5 Amitesh Singh       2016-09-08  906   * This is implicit on gpiod_free().
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  907   */
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  908  void gpiod_unexport(struct gpio_desc *desc)
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  909  {
574194e59098d9 Bartosz Golaszewski 2025-06-23  910  	struct gpiod_data *desc_data = NULL;
574194e59098d9 Bartosz Golaszewski 2025-06-23  911  	struct gpiodev_data *gdev_data;
574194e59098d9 Bartosz Golaszewski 2025-06-23  912  	struct gpio_device *gdev;
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  913  
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  914  	if (!desc) {
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  915  		pr_warn("%s: invalid GPIO\n", __func__);
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  916  		return;
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  917  	}
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  918  
f4af1671c28854 Bartosz Golaszewski 2024-10-31  919  	scoped_guard(mutex, &sysfs_lock) {
72eba6f66a0017 Johan Hovold        2015-05-04  920  		if (!test_bit(FLAG_EXPORT, &desc->flags))
f4af1671c28854 Bartosz Golaszewski 2024-10-31  921  			return;
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  922  
574194e59098d9 Bartosz Golaszewski 2025-06-23  923  		gdev = gpiod_to_gpio_device(desc);
574194e59098d9 Bartosz Golaszewski 2025-06-23  924  		gdev_data = gdev_get_data(gdev);
574194e59098d9 Bartosz Golaszewski 2025-06-23  925  		if (!gdev_data)
574194e59098d9 Bartosz Golaszewski 2025-06-23  926  			return;
574194e59098d9 Bartosz Golaszewski 2025-06-23  927  
574194e59098d9 Bartosz Golaszewski 2025-06-23  928  		list_for_each_entry(desc_data, &gdev_data->exported_lines, list)
574194e59098d9 Bartosz Golaszewski 2025-06-23  929  			if (desc == desc_data->desc)
574194e59098d9 Bartosz Golaszewski 2025-06-23  930  				break;
574194e59098d9 Bartosz Golaszewski 2025-06-23  931  
574194e59098d9 Bartosz Golaszewski 2025-06-23  932  		if (!desc_data)
f4af1671c28854 Bartosz Golaszewski 2024-10-31  933  			return;
72eba6f66a0017 Johan Hovold        2015-05-04  934  
574194e59098d9 Bartosz Golaszewski 2025-06-23  935  		list_del(&desc_data->list);
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  936  		clear_bit(FLAG_EXPORT, &desc->flags);
d6fe296d76af3f Bartosz Golaszewski 2025-06-23  937  #if IS_ENABLED(CONFIG_GPIO_SYSFS_LEGACY)
d54627a4c4f9a8 Bartosz Golaszewski 2025-06-23  938  		sysfs_put(desc_data->value_class_node);
574194e59098d9 Bartosz Golaszewski 2025-06-23  939  		device_unregister(desc_data->dev);
d6fe296d76af3f Bartosz Golaszewski 2025-06-23  940  #endif /* CONFIG_GPIO_SYSFS_LEGACY */
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  941  		sysfs_remove_groups(desc_data->parent, desc_data->attr_groups);
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23  942  		kernfs_put(desc_data->value_chip_node);
72eba6f66a0017 Johan Hovold        2015-05-04  943  
54d9acd7540995 Johan Hovold        2015-05-04  944  		/*
f4af1671c28854 Bartosz Golaszewski 2024-10-31  945  		 * Release irq after deregistration to prevent race with
f4af1671c28854 Bartosz Golaszewski 2024-10-31  946  		 * edge_store.
54d9acd7540995 Johan Hovold        2015-05-04  947  		 */
d54627a4c4f9a8 Bartosz Golaszewski 2025-06-23  948  		if (desc_data->irq_flags)
d54627a4c4f9a8 Bartosz Golaszewski 2025-06-23  949  			gpio_sysfs_free_irq(desc_data);
f4af1671c28854 Bartosz Golaszewski 2024-10-31  950  	}
72eba6f66a0017 Johan Hovold        2015-05-04  951  
d54627a4c4f9a8 Bartosz Golaszewski 2025-06-23  952  	mutex_destroy(&desc_data->mutex);
d54627a4c4f9a8 Bartosz Golaszewski 2025-06-23  953  	kfree(desc_data);
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  954  }
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  955  EXPORT_SYMBOL_GPL(gpiod_unexport);
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  956  
afbc4f312b5e6e Linus Walleij       2016-02-09  957  int gpiochip_sysfs_register(struct gpio_device *gdev)
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  958  {
fd19792851db77 Bartosz Golaszewski 2025-06-10  959  	struct gpiodev_data *data;
d83cee3d2bb131 Bartosz Golaszewski 2024-01-23  960  	struct gpio_chip *chip;
513246a34b8dc5 Bartosz Golaszewski 2023-12-21  961  	struct device *parent;
e6bb78570f7d53 Antonio Quartulli   2025-06-23 @962  	int err;
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  963  
426577bd8846d6 Johan Hovold        2015-05-04  964  	/*
426577bd8846d6 Johan Hovold        2015-05-04  965  	 * Many systems add gpio chips for SOC support very early,
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  966  	 * before driver model support is available.  In those cases we
426577bd8846d6 Johan Hovold        2015-05-04  967  	 * register later, in gpiolib_sysfs_init() ... here we just
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  968  	 * verify that _some_ field of gpio_class got initialized.
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  969  	 */
6f14c02220c791 Greg Kroah-Hartman  2023-03-31  970  	if (!class_is_registered(&gpio_class))
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  971  		return 0;
0eb4c6c2671ca0 Alexandre Courbot   2014-07-01  972  
d83cee3d2bb131 Bartosz Golaszewski 2024-01-23  973  	guard(srcu)(&gdev->srcu);
d83cee3d2bb131 Bartosz Golaszewski 2024-01-23  974  
d82b9e0887e69d Bartosz Golaszewski 2024-02-14  975  	chip = srcu_dereference(gdev->chip, &gdev->srcu);
d83cee3d2bb131 Bartosz Golaszewski 2024-01-23  976  	if (!chip)
d83cee3d2bb131 Bartosz Golaszewski 2024-01-23  977  		return -ENODEV;
d83cee3d2bb131 Bartosz Golaszewski 2024-01-23  978  
d27c17285eb7eb Bamvor Jian Zhang   2016-02-24  979  	/*
d27c17285eb7eb Bamvor Jian Zhang   2016-02-24  980  	 * For sysfs backward compatibility we need to preserve this
d27c17285eb7eb Bamvor Jian Zhang   2016-02-24  981  	 * preferred parenting to the gpio_chip parent field, if set.
d27c17285eb7eb Bamvor Jian Zhang   2016-02-24  982  	 */
d27c17285eb7eb Bamvor Jian Zhang   2016-02-24  983  	if (chip->parent)
d27c17285eb7eb Bamvor Jian Zhang   2016-02-24  984  		parent = chip->parent;
d27c17285eb7eb Bamvor Jian Zhang   2016-02-24  985  	else
d27c17285eb7eb Bamvor Jian Zhang   2016-02-24  986  		parent = &gdev->dev;
d27c17285eb7eb Bamvor Jian Zhang   2016-02-24  987  
fd19792851db77 Bartosz Golaszewski 2025-06-10  988  	data = kmalloc(sizeof(*data), GFP_KERNEL);
fd19792851db77 Bartosz Golaszewski 2025-06-10  989  	if (!data)
fd19792851db77 Bartosz Golaszewski 2025-06-10  990  		return -ENOMEM;
fd19792851db77 Bartosz Golaszewski 2025-06-10  991  
fd19792851db77 Bartosz Golaszewski 2025-06-10  992  	data->gdev = gdev;
574194e59098d9 Bartosz Golaszewski 2025-06-23  993  	INIT_LIST_HEAD(&data->exported_lines);
3ff74be5c1a72d Johan Hovold        2015-05-04  994  
f4af1671c28854 Bartosz Golaszewski 2024-10-31  995  	guard(mutex)(&sysfs_lock);
fd19792851db77 Bartosz Golaszewski 2025-06-10  996  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  parent reply	other threads:[~2025-06-27 11:41 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-23  8:59 [PATCH v2 0/9] gpio: sysfs: add a per-chip export/unexport attribute pair Bartosz Golaszewski
2025-06-23  8:59 ` [PATCH v2 1/9] gpio: sysfs: add a parallel class device for each GPIO chip using device IDs Bartosz Golaszewski
2025-06-27 15:21   ` Andy Shevchenko
2025-06-30  8:34     ` Bartosz Golaszewski
2025-06-30  9:16       ` Andy Shevchenko
2025-06-23  8:59 ` [PATCH v2 2/9] gpio: sysfs: only get the dirent reference for the value attr once Bartosz Golaszewski
2025-06-27 15:35   ` Andy Shevchenko
2025-06-30  8:41     ` Bartosz Golaszewski
2025-06-23  8:59 ` [PATCH v2 3/9] gpio: sysfs: pass gpiod_data directly to internal GPIO sysfs functions Bartosz Golaszewski
2025-06-24 19:32   ` Linus Walleij
2025-06-27 15:37   ` Andy Shevchenko
2025-06-23  8:59 ` [PATCH v2 4/9] gpio: sysfs: don't use driver data in sysfs callbacks for line attributes Bartosz Golaszewski
2025-06-24 19:33   ` Linus Walleij
2025-06-27 15:41   ` Andy Shevchenko
2025-06-30  8:57     ` Bartosz Golaszewski
2025-06-30 10:05       ` Andy Shevchenko
2025-06-23  8:59 ` [PATCH v2 5/9] gpio: sysfs: rename the data variable in gpiod_(un)export() Bartosz Golaszewski
2025-06-24 19:34   ` Linus Walleij
2025-06-27 15:43   ` Andy Shevchenko
2025-06-30  8:57     ` Bartosz Golaszewski
2025-06-30  9:03       ` Bartosz Golaszewski
2025-06-23  8:59 ` [PATCH v2 6/9] gpio: sysfs: don't look up exported lines as class devices Bartosz Golaszewski
2025-06-24 19:34   ` Linus Walleij
2025-06-27 15:47   ` Andy Shevchenko
2025-06-23  8:59 ` [PATCH v2 7/9] gpio: sysfs: export the GPIO directory locally in the gpiochip<id> directory Bartosz Golaszewski
2025-06-23 22:07   ` kernel test robot
2025-06-23  8:59 ` [PATCH v2 8/9] gpio: sysfs: allow disabling the legacy parts of the GPIO sysfs interface Bartosz Golaszewski
2025-06-24 11:31   ` Geert Uytterhoeven
2025-06-24 19:40   ` Linus Walleij
2025-06-27 11:40   ` kernel test robot [this message]
2025-06-23  8:59 ` [PATCH v2 9/9] gpio: TODO: remove the task for the sysfs rework Bartosz Golaszewski

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=202506271940.T2QaCrba-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=a.fatoum@pengutronix.de \
    --cc=brgl@bgdev.pl \
    --cc=geert+renesas@glider.be \
    --cc=jlu@pengutronix.de \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=marex@denx.de \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=warthog618@gmail.com \
    /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.