Dne Čt 19. srpna 2010 17:00:03 Vasily Khoruzhick napsal(a):
> Signed-off-by: Vasily Khoruzhick <anars...@gmail.com>
> ---
>  arch/arm/mach-s3c2410/include/mach/h1940-latch.h |    2 +-
>  arch/arm/mach-s3c2410/mach-h1940.c               |   23
> +++++++++++++++++++-- 2 files changed, 21 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/mach-s3c2410/include/mach/h1940-latch.h
> b/arch/arm/mach-s3c2410/include/mach/h1940-latch.h index 73586f2..ef7d8cf
> 100644
> --- a/arch/arm/mach-s3c2410/include/mach/h1940-latch.h
> +++ b/arch/arm/mach-s3c2410/include/mach/h1940-latch.h
> @@ -35,7 +35,7 @@
>  #define H1940_LATCH_AUDIO_POWER              H1940_LATCH_GPIO(9)
>  #define H1940_LATCH_SM803_ENABLE     H1940_LATCH_GPIO(10)
>  #define H1940_LATCH_LCD_P4           H1940_LATCH_GPIO(11)
> -#define H1940_LATCH_CPUQ5            H1940_LATCH_GPIO(12)
> +#define H1940_LATCH_SD_POWER         H1940_LATCH_GPIO(12)
>  #define H1940_LATCH_BLUETOOTH_POWER  H1940_LATCH_GPIO(13)
>  #define H1940_LATCH_LED_GREEN                H1940_LATCH_GPIO(14)
>  #define H1940_LATCH_LED_FLASH                H1940_LATCH_GPIO(15)
> diff --git a/arch/arm/mach-s3c2410/mach-h1940.c
> b/arch/arm/mach-s3c2410/mach-h1940.c index 9717790..c1ccc8e 100644
> --- a/arch/arm/mach-s3c2410/mach-h1940.c
> +++ b/arch/arm/mach-s3c2410/mach-h1940.c
> @@ -116,8 +116,7 @@ static unsigned int latch_state =
> H1940_LATCH_BIT(H1940_LATCH_LCD_P4) |
> H1940_LATCH_BIT(H1940_LATCH_LCD_P1)                   |
>       H1940_LATCH_BIT(H1940_LATCH_LCD_P2)                     |
>       H1940_LATCH_BIT(H1940_LATCH_LCD_P3)                     |
> -     H1940_LATCH_BIT(H1940_LATCH_MAX1698_nSHUTDOWN)   |
> -     H1940_LATCH_BIT(H1940_LATCH_CPUQ5);
> +     H1940_LATCH_BIT(H1940_LATCH_MAX1698_nSHUTDOWN);
> 
>  static void h1940_latch_control(unsigned int clear, unsigned int set)
>  {
> @@ -259,10 +258,25 @@ static struct platform_device h1940_device_bluetooth
> = { .id               = -1,
>  };
> 
> +static void h1940_set_mmc_power(unsigned char power_mode, unsigned short
> vdd) +{
> +     switch (power_mode) {
> +     case MMC_POWER_OFF:
> +             gpio_set_value(H1940_LATCH_SD_POWER, 0);
> +             break;
> +     case MMC_POWER_UP:
> +     case MMC_POWER_ON:
> +             gpio_set_value(H1940_LATCH_SD_POWER, 1);
> +             break;
> +     default:
> +             break;
> +     };
> +}
> +
>  static struct s3c24xx_mci_pdata h1940_mmc_cfg __initdata = {
>       .gpio_detect   = S3C2410_GPF(5),
>       .gpio_wprotect = S3C2410_GPH(8),
> -     .set_power     = NULL,
> +     .set_power     = h1940_set_mmc_power,
>       .ocr_avail     = MMC_VDD_32_33,
>  };
> 

Can't you implement gpio_power into the s3c24xx mmc driver ? Then you can fix 
mach-n30 too.

> @@ -402,6 +416,9 @@ static void __init h1940_init(void)
>       gpio_request(H1940_LATCH_USB_DP, "USB pullup");
>       gpio_direction_output(H1940_LATCH_USB_DP, 0);
> 
> +     gpio_request(H1940_LATCH_SD_POWER, "SD power");
> +     gpio_direction_output(H1940_LATCH_SD_POWER, 0);

Please handle possible return values here !
> +
>       platform_add_devices(h1940_devices, ARRAY_SIZE(h1940_devices));
>  }

Cheers
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to