Re: [PATCH 3/4] gpio: dt-bindings: Declare gpio-hog optional for GPIO subnodes

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

 



On Wed, Mar 2, 2016 at 10:41 PM, Rob Herring <robh@xxxxxxxxxx> wrote:

> Requiring removing the gpio-hog to add a specific
> binding is a problem. AIUI, a hog will prevent any other user in the
> kernel. I think that is backwards in that a hog should only provide some
> default configuration/use.

I think there is some misunderstanding here.

- HOGS are done to hook a line up in a way so that
  it is *used* for something, such as biasing a MMC CD line
  in this example from arch/arm/boot/dts/ste-nomadik-s8815.dts:

        gpio3: gpio@101e7000 {
                /* This hog will bias the MMC/SD card detect line */
                mmcsd-gpio {
                        gpio-hog;
                        gpios = <16 0x0>;
                        output-low;
                        line-name = "card detect bias";
                };
        };

   So it's not like this line is "unused" or something.

- For the case when we want to just set up some default values
  in some registers for a GPIO line and just leave it for whatever
  consumer may turn up (whether a driver or e.g. userspace), we
  have had proposals for
  setting up initial values from the DT, using essentially the hog
  syntax but with another bool than "gpio-hog" obviously,
  "gpio-initval" or just leaving it blank was suggested in the former
  thread. (See switch discussion.)

So my view is if we want just initial configuration of lines, then handle
that separately, do not try to change the semantic meaning of the
hogs to be something else, let hogs be hogs.

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