Re: [RFC] gpio: add set_active_low() function to gpio_chip

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 18, 2015 at 9:16 PM, David Cohen
<david.a.cohen@xxxxxxxxxxxxxxx> wrote:

> +++ b/drivers/gpio/gpiolib-sysfs.c
> @@ -289,11 +289,15 @@ static DEVICE_ATTR(edge, 0644, gpio_edge_show, gpio_edge_store);
>  static int sysfs_set_active_low(struct gpio_desc *desc, struct device *dev,
>                                 int value)
>  {
> +       struct gpio_chip        *chip = desc->chip;
>         int                     status = 0;
>
>         if (!!test_bit(FLAG_ACTIVE_LOW, &desc->flags) == !!value)
>                 return 0;
>
> +       if (chip->set_active_low)
> +               chip->set_active_low(chip, gpio_chip_hwgpio(desc), value);
> +
>         if (value)
>                 set_bit(FLAG_ACTIVE_LOW, &desc->flags);

Since the only user seems to be this abominable sysfs, and since that is
definitely not on the hotpath due to context switching, this cannot possibly
gain any performance benefits.

Unless we can come up with a use case where this actually improves
performance we should just let software handle this instead.

I like to have all hardware features implemented usually, so I'm a bit
torn. But this one lacks a plausible use case. It looks like some hardware
engineers attempt to be helpful to software developers.

Any takers?

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux