From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peng Fan Date: Tue, 29 Mar 2016 12:57:30 +0800 Subject: [U-Boot] [PATCH] dm: gpio: handle GPIO_ACTIVE_LOW flag in DT In-Reply-To: <1458936731-13223-1-git-send-email-eric@nelint.com> References: <1458936731-13223-1-git-send-email-eric@nelint.com> Message-ID: <20160329045729.GA32493@linux-7smt.suse> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Eric, On Fri, Mar 25, 2016 at 01:12:11PM -0700, Eric Nelson wrote: >Device tree parsing of GPIO nodes is currently ignoring flags. > >Add support for GPIO_ACTIVE_LOW by checking for the presence >of the flag and setting the desc->flags field to the driver >model constant GPIOD_ACTIVE_LOW. You may need to try this: https://patchwork.ozlabs.org/patch/597363/ Regards, Peng. > >Signed-off-by: Eric Nelson >--- > drivers/gpio/gpio-uclass.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > >diff --git a/drivers/gpio/gpio-uclass.c b/drivers/gpio/gpio-uclass.c >index b58d4e6..6d30612 100644 >--- a/drivers/gpio/gpio-uclass.c >+++ b/drivers/gpio/gpio-uclass.c >@@ -6,6 +6,7 @@ > > #include > #include >+#include > #include > #include > #include >@@ -118,12 +119,16 @@ static int gpio_find_and_xlate(struct gpio_desc *desc, > { > struct dm_gpio_ops *ops = gpio_get_ops(desc->dev); > >+ desc->flags = 0; > /* Use the first argument as the offset by default */ >- if (args->args_count > 0) >+ if (args->args_count > 0) { > desc->offset = args->args[0]; >+ if ((args->args_count > 1) && >+ (args->args[1] & GPIO_ACTIVE_LOW)) >+ desc->flags = GPIOD_ACTIVE_LOW; >+ } > else > desc->offset = -1; >- desc->flags = 0; > > return ops->xlate ? ops->xlate(desc->dev, desc, args) : 0; > } >-- >2.6.2 > >_______________________________________________ >U-Boot mailing list >U-Boot at lists.denx.de >http://lists.denx.de/mailman/listinfo/u-boot