diff mbox

OMAP: HSMMC: Fix GPIO muxing

Message ID 1309250759-18472-1-git-send-email-silesh@ti.com (mailing list archive)
State Superseded, archived
Delegated to: Tony Lindgren
Headers show

Commit Message

Silesh C V June 28, 2011, 8:45 a.m. UTC
Use generic gpio call to check the validity of the gpio. Note that
this includes gpio 0 also which was missing before.

Signed-off-by: Silesh C V <silesh@ti.com>
---
 arch/arm/mach-omap2/hsmmc.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

Comments

Venkatraman S June 28, 2011, 11:37 a.m. UTC | #1
On Tue, Jun 28, 2011 at 2:15 PM, Silesh C V <silesh@ti.com> wrote:
> Use generic gpio call to check the validity of the gpio. Note that
> this includes gpio 0 also which was missing before.
>
> Signed-off-by: Silesh C V <silesh@ti.com>
> ---
>  arch/arm/mach-omap2/hsmmc.c |    7 +++----
>  1 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
> index 66868c5..a9b45c7 100644
> --- a/arch/arm/mach-omap2/hsmmc.c
> +++ b/arch/arm/mach-omap2/hsmmc.c
> @@ -13,6 +13,7 @@
>  #include <linux/slab.h>
>  #include <linux/string.h>
>  #include <linux/delay.h>
> +#include <linux/gpio.h>
>  #include <mach/hardware.h>
>  #include <plat/mmc.h>
>  #include <plat/omap-pm.h>
> @@ -213,12 +214,10 @@ static int nop_mmc_set_power(struct device *dev, int slot, int power_on,
>  static inline void omap_hsmmc_mux(struct omap_mmc_platform_data *mmc_controller,
>                        int controller_nr)
>  {
> -       if ((mmc_controller->slots[0].switch_pin > 0) && \
> -               (mmc_controller->slots[0].switch_pin < OMAP_MAX_GPIO_LINES))
> +       if (gpio_is_valid(mmc_controller->slots[0].switch_pin))
>                omap_mux_init_gpio(mmc_controller->slots[0].switch_pin,
>                                        OMAP_PIN_INPUT_PULLUP);
> -       if ((mmc_controller->slots[0].gpio_wp > 0) && \
> -               (mmc_controller->slots[0].gpio_wp < OMAP_MAX_GPIO_LINES))
> +       if (gpio_is_valid(mmc_controller->slots[0].gpio_wp))
>                omap_mux_init_gpio(mmc_controller->slots[0].gpio_wp,
>                                        OMAP_PIN_INPUT_PULLUP);
>        if (cpu_is_omap34xx()) {
> --
> 1.7.1
>

Looks good to me.
Reviewed-by: Venkatraman S <svenkatr@ti.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Igor Grinberg June 28, 2011, 1:50 p.m. UTC | #2
Hi Silesh,

On 06/28/11 11:45, Silesh C V wrote:

> Use generic gpio call to check the validity of the gpio. Note that
> this includes gpio 0 also which was missing before.
>
> Signed-off-by: Silesh C V <silesh@ti.com>
> ---
>  arch/arm/mach-omap2/hsmmc.c |    7 +++----
>  1 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
> index 66868c5..a9b45c7 100644
> --- a/arch/arm/mach-omap2/hsmmc.c
> +++ b/arch/arm/mach-omap2/hsmmc.c
> @@ -13,6 +13,7 @@
>  #include <linux/slab.h>
>  #include <linux/string.h>
>  #include <linux/delay.h>
> +#include <linux/gpio.h>
>  #include <mach/hardware.h>
>  #include <plat/mmc.h>
>  #include <plat/omap-pm.h>
> @@ -213,12 +214,10 @@ static int nop_mmc_set_power(struct device *dev, int slot, int power_on,
>  static inline void omap_hsmmc_mux(struct omap_mmc_platform_data *mmc_controller,
>  			int controller_nr)
>  {
> -	if ((mmc_controller->slots[0].switch_pin > 0) && \
> -		(mmc_controller->slots[0].switch_pin < OMAP_MAX_GPIO_LINES))
> +	if (gpio_is_valid(mmc_controller->slots[0].switch_pin))
>  		omap_mux_init_gpio(mmc_controller->slots[0].switch_pin,
>  					OMAP_PIN_INPUT_PULLUP);
> -	if ((mmc_controller->slots[0].gpio_wp > 0) && \
> -		(mmc_controller->slots[0].gpio_wp < OMAP_MAX_GPIO_LINES))
> +	if (gpio_is_valid(mmc_controller->slots[0].gpio_wp))
>  		omap_mux_init_gpio(mmc_controller->slots[0].gpio_wp,
>  					OMAP_PIN_INPUT_PULLUP);
>  	if (cpu_is_omap34xx()) {

IMHO, you should not separate the patches
(this one and OMAP: 4430SDP: Register the card detect GPIO properly),
because the 4430sdp fix should come before or together with this patch,
otherwise 4430sdp will be broken, once this patch is applied.

You can either make it a one patch or make it a single properly numbered series.
Silesh C V June 29, 2011, 1:26 a.m. UTC | #3
Hi Igor,

On Tue, Jun 28, 2011 at 10:50 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
> Hi Silesh,
>
>
> IMHO, you should not separate the patches
> (this one and OMAP: 4430SDP: Register the card detect GPIO properly),
> because the 4430sdp fix should come before or together with this patch,
> otherwise 4430sdp will be broken, once this patch is applied.

4430SDP is already broken because it requests/configures GPIO 0. But
as you said if this patch goes before the SDP fix, the driver will do
Muxing of the pad (as this pad fixes that for GPIO 0)also. Thanks for
the suggestion.

>
> You can either make it a one patch or make it a single properly numbered series.
>

I will send it as a series.

Regards,
Silesh
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
index 66868c5..a9b45c7 100644
--- a/arch/arm/mach-omap2/hsmmc.c
+++ b/arch/arm/mach-omap2/hsmmc.c
@@ -13,6 +13,7 @@ 
 #include <linux/slab.h>
 #include <linux/string.h>
 #include <linux/delay.h>
+#include <linux/gpio.h>
 #include <mach/hardware.h>
 #include <plat/mmc.h>
 #include <plat/omap-pm.h>
@@ -213,12 +214,10 @@  static int nop_mmc_set_power(struct device *dev, int slot, int power_on,
 static inline void omap_hsmmc_mux(struct omap_mmc_platform_data *mmc_controller,
 			int controller_nr)
 {
-	if ((mmc_controller->slots[0].switch_pin > 0) && \
-		(mmc_controller->slots[0].switch_pin < OMAP_MAX_GPIO_LINES))
+	if (gpio_is_valid(mmc_controller->slots[0].switch_pin))
 		omap_mux_init_gpio(mmc_controller->slots[0].switch_pin,
 					OMAP_PIN_INPUT_PULLUP);
-	if ((mmc_controller->slots[0].gpio_wp > 0) && \
-		(mmc_controller->slots[0].gpio_wp < OMAP_MAX_GPIO_LINES))
+	if (gpio_is_valid(mmc_controller->slots[0].gpio_wp))
 		omap_mux_init_gpio(mmc_controller->slots[0].gpio_wp,
 					OMAP_PIN_INPUT_PULLUP);
 	if (cpu_is_omap34xx()) {