* [PATCH v5 0/3] OMAP3: beaglexm: GPIO fixes [not found] <[PATCH v4 0/3] OMAP3: beaglexm: GPIO fixes> @ 2011-01-11 17:13 ` Nishanth Menon 2011-01-11 17:13 ` [PATCH v5 1/3] omap3: beaglexm: fix EHCI power up GPIO dir Nishanth Menon ` (2 subsequent siblings) 3 siblings, 0 replies; 8+ messages in thread From: Nishanth Menon @ 2011-01-11 17:13 UTC (permalink / raw) To: l-o; +Cc: l-a, Kevin, Tony, Koen Kooi, Aaro, Nishanth Menon Hi, revision 5 of this series. As discussed in the threads: http://thread.gmane.org/gmane.linux.ports.arm.omap/47807/ http://marc.info/?t=121540030800004&r=1&w=2 here is the split up series with commit message after discussion: http://www.beagleboard.org/irclogs/index.php?date=2011-01-06#T19:12:21 Koen Kooi (3): omap3: beaglexm: fix EHCI power up GPIO dir omap3: beaglexm: fix DVI reset GPIO omap3: beaglexm: fix power on of DVI arch/arm/mach-omap2/board-omap3beagle.c | 38 ++++++++++++++++++++++++++----- 1 files changed, 32 insertions(+), 6 deletions(-) v5: review comment incorporation - gpio_direction_output removable. v4: http://marc.info/?t=129444130100001&r=1&w=2 no functional change. minor cleanups in commit logs incorporating offline feedback v3: http://marc.info/?t=129434384700006&r=1&w=2 split up the series, addressed review comments v2: http://marc.info/?t=129276977900002&r=1&w=2 Reenable the PMU stat LED v1: http://marc.info/?t=129172571000001&r=1&w=2 Regards, Nishanth Menon ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 1/3] omap3: beaglexm: fix EHCI power up GPIO dir [not found] <[PATCH v4 0/3] OMAP3: beaglexm: GPIO fixes> 2011-01-11 17:13 ` [PATCH v5 0/3] OMAP3: beaglexm: GPIO fixes Nishanth Menon @ 2011-01-11 17:13 ` Nishanth Menon 2011-01-11 17:13 ` [PATCH v5 2/3] omap3: beaglexm: fix DVI reset GPIO Nishanth Menon 2011-01-11 17:13 ` [PATCH v5 3/3] omap3: beaglexm: fix power on of DVI Nishanth Menon 3 siblings, 0 replies; 8+ messages in thread From: Nishanth Menon @ 2011-01-11 17:13 UTC (permalink / raw) To: l-o; +Cc: l-a, Kevin, Tony, Koen Kooi, Aaro, Nishanth Menon From: Koen Kooi <koen@beagleboard.org> EHCI enable power pin is inverted (active high) in comparison to vanilla beagle which is active low. Handle this case conditionally. Without this fix, Beagle XM 4 port EHCI will not function and no networking will be available [nm@ti.com: split up, added descriptive changelogs] Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Koen Kooi <koen@beagleboard.org> --- arch/arm/mach-omap2/board-omap3beagle.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 6c12760..af1166b 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c @@ -297,9 +297,15 @@ static int beagle_twl_gpio_setup(struct device *dev, gpio_request(gpio + 1, "EHCI_nOC"); gpio_direction_input(gpio + 1); - /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */ + /* + * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active + * high / others active low) + */ gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR"); - gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0); + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) + gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1); + else + gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0); /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; -- 1.6.3.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v5 2/3] omap3: beaglexm: fix DVI reset GPIO [not found] <[PATCH v4 0/3] OMAP3: beaglexm: GPIO fixes> 2011-01-11 17:13 ` [PATCH v5 0/3] OMAP3: beaglexm: GPIO fixes Nishanth Menon 2011-01-11 17:13 ` [PATCH v5 1/3] omap3: beaglexm: fix EHCI power up GPIO dir Nishanth Menon @ 2011-01-11 17:13 ` Nishanth Menon 2011-01-11 17:13 ` [PATCH v5 3/3] omap3: beaglexm: fix power on of DVI Nishanth Menon 3 siblings, 0 replies; 8+ messages in thread From: Nishanth Menon @ 2011-01-11 17:13 UTC (permalink / raw) To: l-o; +Cc: l-a, Kevin, Tony, Koen Kooi, Aaro, Nishanth Menon From: Koen Kooi <koen@beagleboard.org> GPIO reset line for Beagle XM is different from vanilla beagle so we populate it as part of gpio update routine. This in part fixes the issue of display not functioning on beagle XM platform. [nm@ti.com: split up, added descriptive changelogs] Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Koen Kooi <koen@beagleboard.org> --- arch/arm/mach-omap2/board-omap3beagle.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index af1166b..673deb9 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c @@ -199,7 +199,7 @@ static struct omap_dss_device beagle_dvi_device = { .name = "dvi", .driver_name = "generic_panel", .phy.dpi.data_lines = 24, - .reset_gpio = 170, + .reset_gpio = -EINVAL, .platform_enable = beagle_enable_dvi, .platform_disable = beagle_disable_dvi, }; @@ -307,6 +307,12 @@ static int beagle_twl_gpio_setup(struct device *dev, else gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0); + /* DVI reset GPIO is different between beagle revisions */ + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) + beagle_dvi_device.reset_gpio = 129; + else + beagle_dvi_device.reset_gpio = 170; + /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; -- 1.6.3.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v5 3/3] omap3: beaglexm: fix power on of DVI [not found] <[PATCH v4 0/3] OMAP3: beaglexm: GPIO fixes> ` (2 preceding siblings ...) 2011-01-11 17:13 ` [PATCH v5 2/3] omap3: beaglexm: fix DVI reset GPIO Nishanth Menon @ 2011-01-11 17:13 ` Nishanth Menon 2011-01-11 23:23 ` Tony Lindgren 3 siblings, 1 reply; 8+ messages in thread From: Nishanth Menon @ 2011-01-11 17:13 UTC (permalink / raw) To: l-o; +Cc: l-a, Kevin, Tony, Koen Kooi, Aaro, Nishanth Menon From: Koen Kooi <koen@beagleboard.org> TFP410 DVI chip is used to provide display out. This chip is controlled by 2 lines: LDO which supplies the power is controlled over gpio + 2 and the enable of the chip itself is done over gpio + 1 NOTE: the LDO is necessary for LED, serial blocks as well. gpio + 1 was used to sense USB overcurrent in vanilla beagle. Without this fix, the display would not function as the LDO remains shut down. [nm@ti.com: split up, added descriptive changelogs] Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Koen Kooi <koen@beagleboard.org> --- arch/arm/mach-omap2/board-omap3beagle.c | 20 +++++++++++++++++--- 1 files changed, 17 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 673deb9..458aee4 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c @@ -293,9 +293,10 @@ static int beagle_twl_gpio_setup(struct device *dev, /* REVISIT: need ehci-omap hooks for external VBUS * power switch and overcurrent detect */ - - gpio_request(gpio + 1, "EHCI_nOC"); - gpio_direction_input(gpio + 1); + if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) { + gpio_request(gpio + 1, "EHCI_nOC"); + gpio_direction_input(gpio + 1); + } /* * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active @@ -316,6 +317,19 @@ static int beagle_twl_gpio_setup(struct device *dev, /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; + /* + * gpio + 1 on Xm controls the TFP410's enable line (active low) + * gpio + 2 control varies depending on the board rev as follows: + * P7/P8 revisions(prototype): Camera EN + * A2+ revisions (production): LDO (supplies DVI, serial, led blocks) + */ + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) { + gpio_request(gpio + 1, "nDVI_PWR_EN"); + gpio_direction_output(gpio + 1, 0); + gpio_request(gpio + 2, "DVI_LDO_EN"); + gpio_direction_output(gpio + 2, 1); + } + return 0; } -- 1.6.3.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v5 3/3] omap3: beaglexm: fix power on of DVI 2011-01-11 17:13 ` [PATCH v5 3/3] omap3: beaglexm: fix power on of DVI Nishanth Menon @ 2011-01-11 23:23 ` Tony Lindgren 2011-01-11 23:55 ` Nishanth Menon 0 siblings, 1 reply; 8+ messages in thread From: Tony Lindgren @ 2011-01-11 23:23 UTC (permalink / raw) To: Nishanth Menon; +Cc: l-o, l-a, Kevin, Koen Kooi, Aaro * Nishanth Menon <nm@ti.com> [110111 09:12]: > From: Koen Kooi <koen@beagleboard.org> > > TFP410 DVI chip is used to provide display out. > This chip is controlled by 2 lines: > LDO which supplies the power is controlled over gpio + 2 > and the enable of the chip itself is done over gpio + 1 > NOTE: the LDO is necessary for LED, serial blocks as well. > > gpio + 1 was used to sense USB overcurrent in vanilla beagle. > > Without this fix, the display would not function as the LDO > remains shut down. > > [nm@ti.com: split up, added descriptive changelogs] > Signed-off-by: Nishanth Menon <nm@ti.com> > Signed-off-by: Koen Kooi <koen@beagleboard.org> > --- > arch/arm/mach-omap2/board-omap3beagle.c | 20 +++++++++++++++++--- > 1 files changed, 17 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c > index 673deb9..458aee4 100644 > --- a/arch/arm/mach-omap2/board-omap3beagle.c > +++ b/arch/arm/mach-omap2/board-omap3beagle.c > @@ -293,9 +293,10 @@ static int beagle_twl_gpio_setup(struct device *dev, > /* REVISIT: need ehci-omap hooks for external VBUS > * power switch and overcurrent detect > */ > - > - gpio_request(gpio + 1, "EHCI_nOC"); > - gpio_direction_input(gpio + 1); > + if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) { > + gpio_request(gpio + 1, "EHCI_nOC"); > + gpio_direction_input(gpio + 1); > + } The return value for gpio_request must be checked. > /* > * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active > @@ -316,6 +317,19 @@ static int beagle_twl_gpio_setup(struct device *dev, > /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ > gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; > > + /* > + * gpio + 1 on Xm controls the TFP410's enable line (active low) > + * gpio + 2 control varies depending on the board rev as follows: > + * P7/P8 revisions(prototype): Camera EN > + * A2+ revisions (production): LDO (supplies DVI, serial, led blocks) > + */ > + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) { > + gpio_request(gpio + 1, "nDVI_PWR_EN"); > + gpio_direction_output(gpio + 1, 0); > + gpio_request(gpio + 2, "DVI_LDO_EN"); > + gpio_direction_output(gpio + 2, 1); > + } > + > return 0; > } Here too. I've applied the first two patches into devel-board branch, but not this one. Regards, Tony ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 3/3] omap3: beaglexm: fix power on of DVI 2011-01-11 23:23 ` Tony Lindgren @ 2011-01-11 23:55 ` Nishanth Menon 2011-01-12 0:15 ` Tony Lindgren 0 siblings, 1 reply; 8+ messages in thread From: Nishanth Menon @ 2011-01-11 23:55 UTC (permalink / raw) To: Tony Lindgren; +Cc: l-o, l-a, Kevin, Koen Kooi, Aaro [-- Attachment #1: Type: text/plain, Size: 556 bytes --] Tony Lindgren had written, on 01/11/2011 05:23 PM, the following: [..] >> - >> - gpio_request(gpio + 1, "EHCI_nOC"); >> - gpio_direction_input(gpio + 1); >> + if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) { >> + gpio_request(gpio + 1, "EHCI_nOC"); >> + gpio_direction_input(gpio + 1); >> + } > > The return value for gpio_request must be checked. Ack. we can go down two paths: a) I can redo this patch as in v6.patch (attached) OR b) we take this patch and do another one cleaning the function up - gpio-check.patch -- Regards, Nishanth Menon [-- Attachment #2: v6.patch --] [-- Type: text/x-patch, Size: 2998 bytes --] >From d08694a8dff8506f1963d9249a89dae9fe508e70 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@beagleboard.org> Date: Thu, 6 Jan 2011 13:29:18 -0600 Subject: [PATCH v6 3/3] omap3: beaglexm: fix power on of DVI TFP410 DVI chip is used to provide display out. This chip is controlled by 2 lines: LDO which supplies the power is controlled over gpio + 2 and the enable of the chip itself is done over gpio + 1 NOTE: the LDO is necessary for LED, serial blocks as well. gpio + 1 was used to sense USB overcurrent in vanilla beagle. Without this fix, the display would not function as the LDO remains shut down. [nm@ti.com: split up, added descriptive changelogs] Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Koen Kooi <koen@beagleboard.org> --- arch/arm/mach-omap2/board-omap3beagle.c | 42 ++++++++++++++++++++++++++++-- 1 files changed, 39 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 673deb9..28dfe8e 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c @@ -273,6 +273,8 @@ static struct gpio_led gpio_leds[]; static int beagle_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio) { + int r; + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) { mmc[0].gpio_wp = -EINVAL; } else if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) || @@ -293,9 +295,16 @@ static int beagle_twl_gpio_setup(struct device *dev, /* REVISIT: need ehci-omap hooks for external VBUS * power switch and overcurrent detect */ - - gpio_request(gpio + 1, "EHCI_nOC"); - gpio_direction_input(gpio + 1); + if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) { + r = gpio_request(gpio + 1, "EHCI_nOC"); + if (!r) { + r = gpio_direction_input(gpio + 1); + if (r) + gpio_free(gpio + 1); + } + if (r) + pr_err("%s: unable to configure EHCI_nOC\n", __func__); + } /* * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active @@ -316,6 +325,33 @@ static int beagle_twl_gpio_setup(struct device *dev, /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; + /* + * gpio + 1 on Xm controls the TFP410's enable line (active low) + * gpio + 2 control varies depending on the board rev as follows: + * P7/P8 revisions(prototype): Camera EN + * A2+ revisions (production): LDO (supplies DVI, serial, led blocks) + */ + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) { + r = gpio_request(gpio + 1, "nDVI_PWR_EN"); + if (!r) { + r = gpio_direction_output(gpio + 1, 0); + if (r) + gpio_free(gpio + 1); + } + if (r) + pr_err("%s: unable to configure nDVI_PWR_EN\n", + __func__); + r = gpio_request(gpio + 2, "DVI_LDO_EN"); + if (!r) { + r = gpio_direction_output(gpio + 2, 1); + if (r) + gpio_free(gpio + 1); + } + if (r) + pr_err("%s: unable to configure DVI_LDO_EN\n", + __func__); + } + return 0; } -- 1.6.3.3 [-- Attachment #3: gpio-check.patch --] [-- Type: text/x-patch, Size: 3120 bytes --] >From f16524ab1cfba7d2a9bd0a8ef5a577a1fb41bfff Mon Sep 17 00:00:00 2001 From: Nishanth Menon <nm@ti.com> Date: Tue, 11 Jan 2011 17:51:47 -0600 Subject: [PATCH] omap3: beagle: check gpio returns in gpio_setup gpio request and set of directions need checks of return value to ensure that operation succeeded or not. Signed-off-by: Nishanth Menon <nm@ti.com> --- arch/arm/mach-omap2/board-omap3beagle.c | 49 ++++++++++++++++++++++++------- 1 files changed, 38 insertions(+), 11 deletions(-) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 458aee4..fc598d3 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c @@ -273,6 +273,8 @@ static struct gpio_led gpio_leds[]; static int beagle_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio) { + int r; + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) { mmc[0].gpio_wp = -EINVAL; } else if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) || @@ -294,19 +296,29 @@ static int beagle_twl_gpio_setup(struct device *dev, * power switch and overcurrent detect */ if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) { - gpio_request(gpio + 1, "EHCI_nOC"); - gpio_direction_input(gpio + 1); + r = gpio_request(gpio + 1, "EHCI_nOC"); + if (!r) { + r = gpio_direction_input(gpio + 1); + if (r) + gpio_free(gpio + 1); + } + if (r) + pr_err("%s: unable to configure EHCI_nOC\n", __func__); } /* * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active * high / others active low) */ - gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR"); - if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) - gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1); - else - gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0); + r = gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR"); + if (!r) { + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) + r = gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1); + else + r = gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0); + } + if (r) + pr_err("%s: unable to configure nEN_USB_PWR\n", __func__); /* DVI reset GPIO is different between beagle revisions */ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) @@ -324,12 +336,27 @@ static int beagle_twl_gpio_setup(struct device *dev, * A2+ revisions (production): LDO (supplies DVI, serial, led blocks) */ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) { - gpio_request(gpio + 1, "nDVI_PWR_EN"); - gpio_direction_output(gpio + 1, 0); - gpio_request(gpio + 2, "DVI_LDO_EN"); - gpio_direction_output(gpio + 2, 1); + r = gpio_request(gpio + 1, "nDVI_PWR_EN"); + if (!r) { + r = gpio_direction_output(gpio + 1, 0); + if (r) + gpio_free(gpio + 1); + } + if (r) + pr_err("%s: unable to configure nDVI_PWR_EN\n", + __func__); + r = gpio_request(gpio + 2, "DVI_LDO_EN"); + if (!r) { + r = gpio_direction_output(gpio + 2, 1); + if (r) + gpio_free(gpio + 1); + } + if (r) + pr_err("%s: unable to configure DVI_LDO_EN\n", + __func__); } + return 0; } -- 1.6.3.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v5 3/3] omap3: beaglexm: fix power on of DVI 2011-01-11 23:55 ` Nishanth Menon @ 2011-01-12 0:15 ` Tony Lindgren 2011-01-12 0:17 ` Nishanth Menon 0 siblings, 1 reply; 8+ messages in thread From: Tony Lindgren @ 2011-01-12 0:15 UTC (permalink / raw) To: Nishanth Menon; +Cc: l-o, l-a, Kevin, Koen Kooi, Aaro * Nishanth Menon <nm@ti.com> [110111 15:54]: > Tony Lindgren had written, on 01/11/2011 05:23 PM, the following: > [..] > >>- > >>- gpio_request(gpio + 1, "EHCI_nOC"); > >>- gpio_direction_input(gpio + 1); > >>+ if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) { > >>+ gpio_request(gpio + 1, "EHCI_nOC"); > >>+ gpio_direction_input(gpio + 1); > >>+ } > > > >The return value for gpio_request must be checked. > Ack. > we can go down two paths: > a) I can redo this patch as in v6.patch (attached) Yes let's do that, one comment below though.. > OR > b) we take this patch and do another one cleaning the function up - > gpio-check.patch That can be done later. > + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) { > + r = gpio_request(gpio + 1, "nDVI_PWR_EN"); > + if (!r) { > + r = gpio_direction_output(gpio + 1, 0); > + if (r) > + gpio_free(gpio + 1); > + } > + if (r) > + pr_err("%s: unable to configure nDVI_PWR_EN\n", > + __func__); > + r = gpio_request(gpio + 2, "DVI_LDO_EN"); > + if (!r) { > + r = gpio_direction_output(gpio + 2, 1); > + if (r) > + gpio_free(gpio + 1); > + } > + if (r) > + pr_err("%s: unable to configure DVI_LDO_EN\n", > + __func__); > + } > + Should the second gpio_free be gpio + 2 instead of gpio + 1? Tony ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 3/3] omap3: beaglexm: fix power on of DVI 2011-01-12 0:15 ` Tony Lindgren @ 2011-01-12 0:17 ` Nishanth Menon 0 siblings, 0 replies; 8+ messages in thread From: Nishanth Menon @ 2011-01-12 0:17 UTC (permalink / raw) To: Tony Lindgren; +Cc: l-o, l-a, Kevin, Koen Kooi, Aaro Tony Lindgren had written, on 01/11/2011 06:15 PM, the following: > * Nishanth Menon <nm@ti.com> [110111 15:54]: >> Tony Lindgren had written, on 01/11/2011 05:23 PM, the following: >> [..] >>>> - >>>> - gpio_request(gpio + 1, "EHCI_nOC"); >>>> - gpio_direction_input(gpio + 1); >>>> + if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) { >>>> + gpio_request(gpio + 1, "EHCI_nOC"); >>>> + gpio_direction_input(gpio + 1); >>>> + } >>> The return value for gpio_request must be checked. >> Ack. >> we can go down two paths: >> a) I can redo this patch as in v6.patch (attached) > > Yes let's do that, one comment below though.. > >> OR >> b) we take this patch and do another one cleaning the function up - >> gpio-check.patch > > That can be done later. ok > >> + if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) { >> + r = gpio_request(gpio + 1, "nDVI_PWR_EN"); >> + if (!r) { >> + r = gpio_direction_output(gpio + 1, 0); >> + if (r) >> + gpio_free(gpio + 1); >> + } >> + if (r) >> + pr_err("%s: unable to configure nDVI_PWR_EN\n", >> + __func__); >> + r = gpio_request(gpio + 2, "DVI_LDO_EN"); >> + if (!r) { >> + r = gpio_direction_output(gpio + 2, 1); >> + if (r) >> + gpio_free(gpio + 1); >> + } >> + if (r) >> + pr_err("%s: unable to configure DVI_LDO_EN\n", >> + __func__); >> + } >> + > > Should the second gpio_free be gpio + 2 instead of gpio + 1? oops.. yep. will fix and send out a v6 for this alone. thanks for the check. -- Regards, Nishanth Menon ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-01-12 0:17 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <[PATCH v4 0/3] OMAP3: beaglexm: GPIO fixes>
2011-01-11 17:13 ` [PATCH v5 0/3] OMAP3: beaglexm: GPIO fixes Nishanth Menon
2011-01-11 17:13 ` [PATCH v5 1/3] omap3: beaglexm: fix EHCI power up GPIO dir Nishanth Menon
2011-01-11 17:13 ` [PATCH v5 2/3] omap3: beaglexm: fix DVI reset GPIO Nishanth Menon
2011-01-11 17:13 ` [PATCH v5 3/3] omap3: beaglexm: fix power on of DVI Nishanth Menon
2011-01-11 23:23 ` Tony Lindgren
2011-01-11 23:55 ` Nishanth Menon
2011-01-12 0:15 ` Tony Lindgren
2011-01-12 0:17 ` Nishanth Menon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox