mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
gpio: sysfs: Remove redundant check for struct gpio_chip
gpiochip_sysfs_unregister() is only called by gpiochip_remove() where the struct gpio_chip is ensured. Remove the redundant check. Reviewed-by: Linus Walleij <linusw@kernel.org> Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org> Link: https://patch.msgid.link/20260223061726.82161-4-tzungbi@kernel.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
This commit is contained in:
committed by
Bartosz Golaszewski
parent
049f711317
commit
395b8e555d
@@ -1053,11 +1053,11 @@ int gpiochip_sysfs_register(struct gpio_device *gdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void gpiochip_sysfs_unregister(struct gpio_device *gdev)
|
||||
void gpiochip_sysfs_unregister(struct gpio_chip *gc)
|
||||
{
|
||||
struct gpio_device *gdev = gc->gpiodev;
|
||||
struct gpiodev_data *data;
|
||||
struct gpio_desc *desc;
|
||||
struct gpio_chip *chip;
|
||||
|
||||
guard(mutex)(&sysfs_lock);
|
||||
|
||||
@@ -1065,13 +1065,8 @@ void gpiochip_sysfs_unregister(struct gpio_device *gdev)
|
||||
if (!data)
|
||||
return;
|
||||
|
||||
guard(srcu)(&gdev->srcu);
|
||||
chip = srcu_dereference(gdev->chip, &gdev->srcu);
|
||||
if (!chip)
|
||||
return;
|
||||
|
||||
/* unregister gpiod class devices owned by sysfs */
|
||||
for_each_gpio_desc_with_flag(chip, desc, GPIOD_FLAG_SYSFS) {
|
||||
for_each_gpio_desc_with_flag(gc, desc, GPIOD_FLAG_SYSFS) {
|
||||
gpiod_unexport_unlocked(desc);
|
||||
gpiod_free(desc);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ struct gpio_device;
|
||||
#ifdef CONFIG_GPIO_SYSFS
|
||||
|
||||
int gpiochip_sysfs_register(struct gpio_device *gdev);
|
||||
void gpiochip_sysfs_unregister(struct gpio_device *gdev);
|
||||
void gpiochip_sysfs_unregister(struct gpio_chip *gc);
|
||||
|
||||
#else
|
||||
|
||||
@@ -17,7 +17,7 @@ static inline int gpiochip_sysfs_register(struct gpio_device *gdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void gpiochip_sysfs_unregister(struct gpio_device *gdev)
|
||||
static inline void gpiochip_sysfs_unregister(struct gpio_chip *gc)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -1286,7 +1286,7 @@ void gpiochip_remove(struct gpio_chip *gc)
|
||||
struct gpio_device *gdev = gc->gpiodev;
|
||||
|
||||
/* FIXME: should the legacy sysfs handling be moved to gpio_device? */
|
||||
gpiochip_sysfs_unregister(gdev);
|
||||
gpiochip_sysfs_unregister(gc);
|
||||
gpiochip_free_hogs(gc);
|
||||
gpiochip_free_remaining_irqs(gc);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user