From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Nelson Date: Sun, 10 Apr 2016 08:55:06 -0700 Subject: [U-Boot] [PATCH 7/7] gpio: tegra: remove flags parsing in xlate routine In-Reply-To: <570A66F5.8000902@nelint.com> References: <56FD8B60.8060103@nelint.com> <1459525662-28032-1-git-send-email-eric@nelint.com> <1459525662-28032-8-git-send-email-eric@nelint.com> <570437B3.9010004@wwwdotorg.org> <570A66F5.8000902@nelint.com> Message-ID: <570A775A.6050104@nelint.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 04/10/2016 07:45 AM, Eric Nelson wrote: > On 04/09/2016 11:34 AM, Simon Glass wrote: >> On 5 April 2016 at 16:09, Stephen Warren wrote: >>> On 04/01/2016 09:47 AM, Eric Nelson wrote: >>>> >>>> With the addition of GPIO_ACTIVE_LOW parsing in gpio-uclass, it is >>>> no longer necessary for the tegra-specific xlate function to do this. >>> >>>> diff --git a/drivers/gpio/tegra_gpio.c b/drivers/gpio/tegra_gpio.c >>> >>>> @@ -246,7 +246,6 @@ static int tegra_gpio_xlate(struct udevice *dev, >>>> struct gpio_desc *desc, >>>> if (ret) >>>> return ret; >>>> desc->offset = gpio % TEGRA_GPIOS_PER_PORT; >>>> - desc->flags = args->args[1] & GPIO_ACTIVE_LOW ? GPIOD_ACTIVE_LOW : >>>> 0; >>> >>> >>> I expect that after that, you can also remove the following at the top of >>> the file: >>> >>> #include >>> >>> I expect that's true of other GPIO drivers too. >> >> But I don't think we want this patch for Tegra since we need to keep >> the xlate() method, and with your suggested approach earlier, we won't >> call the default xlate() method in the uclass for Tegra. >> > > Based on your comments and Stephens, I can re-work this to have a > __maybe_unused xlate function for the common case of handling > offset+active low, but I think the handling of offset inside of > gpio_find_and_xlate() should be removed at the same time. > > It seems weird to have processing for one argument in the common code > when it may not be used (as is the case with tegra). > While reviewing this, I think I found that the sunxi gpio driver is broken. The device trees have #gpio-cells=<3>, and gpio declaration like this: <&pio 1 8 GPIO_ACTIVE_HIGH> but there's no custom xlate routine, the offset is currently going to have what I presume is the bank number. Hans, can you confirm this? Please advise, Eric