lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 29 Mar 2011 11:59:15 +0200
From:	Belisko Marek <marek.belisko@...il.com>
To:	ben-linux@...ff.org, linux@....linux.org.uk
Cc:	linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
	Marek Belisko <marek.belisko@...n-nandra.com>
Subject: Re: [PATCH] s3c2440: mini2440: Use leds-gpio driver for board leds handling.

This should be in-reply-to https://lkml.org/lkml/2011/3/29/79 comments

On Tue, Mar 29, 2011 at 11:53 AM, Marek Belisko
<marek.belisko@...n-nandra.com> wrote:
> Intention of this patch is convert existing usage of leds-s3c24xx driver
> to use generic gpio-leds driver. Leds are separated to 2 devices.
> First device handle 4 available leds. Second device is used to drive
> LCD backlight. Backlight can be controlled via parameter b so we need
> separate device which is registered or not depending on parameter.
>
> Signed-off-by: Marek Belisko <marek.belisko@...n-nandra.com>
> ---
>  arch/arm/mach-s3c2440/mach-mini2440.c |  121 +++++++++++++++------------------
>  1 files changed, 54 insertions(+), 67 deletions(-)
>
> diff --git a/arch/arm/mach-s3c2440/mach-mini2440.c b/arch/arm/mach-s3c2440/mach-mini2440.c
> index 163d318..28ef6eb 100644
> --- a/arch/arm/mach-s3c2440/mach-mini2440.c
> +++ b/arch/arm/mach-s3c2440/mach-mini2440.c
> @@ -419,81 +419,71 @@ static struct platform_device mini2440_button_device = {
>  };
>
>  /* LEDS */
> -
> -static struct s3c24xx_led_platdata mini2440_led1_pdata = {
> -       .name           = "led1",
> -       .gpio           = S3C2410_GPB(5),
> -       .flags          = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE,
> -       .def_trigger    = "heartbeat",
> -};
> -
> -static struct s3c24xx_led_platdata mini2440_led2_pdata = {
> -       .name           = "led2",
> -       .gpio           = S3C2410_GPB(6),
> -       .flags          = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE,
> -       .def_trigger    = "nand-disk",
> -};
> -
> -static struct s3c24xx_led_platdata mini2440_led3_pdata = {
> -       .name           = "led3",
> -       .gpio           = S3C2410_GPB(7),
> -       .flags          = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE,
> -       .def_trigger    = "mmc0",
> -};
> -
> -static struct s3c24xx_led_platdata mini2440_led4_pdata = {
> -       .name           = "led4",
> -       .gpio           = S3C2410_GPB(8),
> -       .flags          = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE,
> -       .def_trigger    = "",
> -};
> -
> -static struct s3c24xx_led_platdata mini2440_led_backlight_pdata = {
> -       .name           = "backlight",
> -       .gpio           = S3C2410_GPG(4),
> -       .def_trigger    = "backlight",
> +static struct gpio_led gpio_leds[] = {
> +       {
> +               .name                   = "led1",
> +               .gpio                   = S3C2410_GPB(5),
> +               .active_low             = 1,
> +               .default_trigger        = "heartbeat",
> +       },
> +       {
> +               .name                   = "led2",
> +               .gpio                   = S3C2410_GPB(6),
> +               .active_low             = 1,
> +               .default_trigger        = "nand-disk",
> +               .default_state          = LEDS_GPIO_DEFSTATE_OFF,
> +       },
> +       {
> +               .name                   = "led3",
> +               .gpio                   = S3C2410_GPB(7),
> +               .active_low             = 1,
> +               .default_trigger        = "mmc0",
> +               .default_state          = LEDS_GPIO_DEFSTATE_OFF,
> +       },
> +       {
> +               .name                   = "led4",
> +               .gpio                   = S3C2410_GPB(8),
> +               .active_low             = 1,
> +               .default_trigger        = "none",
> +               .default_state          = LEDS_GPIO_DEFSTATE_OFF,
> +       }
>  };
>
> -static struct platform_device mini2440_led1 = {
> -       .name           = "s3c24xx_led",
> -       .id             = 1,
> -       .dev            = {
> -               .platform_data  = &mini2440_led1_pdata,
> -       },
> +static struct gpio_led backlight_led[] = {
> +       {
> +               .name                   = "backlight",
> +               .gpio                   = S3C2410_GPG(4),
> +               .active_low             = 0,
> +               .default_trigger        = "backlight",
> +               .default_state          = LEDS_GPIO_DEFSTATE_ON,
> +       }
>  };
>
> -static struct platform_device mini2440_led2 = {
> -       .name           = "s3c24xx_led",
> -       .id             = 2,
> -       .dev            = {
> -               .platform_data  = &mini2440_led2_pdata,
> -       },
> +static struct gpio_led_platform_data gpio_led_info = {
> +       .leds           = gpio_leds,
> +       .num_leds       = ARRAY_SIZE(gpio_leds),
>  };
>
> -static struct platform_device mini2440_led3 = {
> -       .name           = "s3c24xx_led",
> -       .id             = 3,
> -       .dev            = {
> -               .platform_data  = &mini2440_led3_pdata,
> -       },
> +static struct gpio_led_platform_data backlight_info = {
> +       .leds           = backlight_led,
> +       .num_leds       = ARRAY_SIZE(backlight_led),
>  };
>
> -static struct platform_device mini2440_led4 = {
> -       .name           = "s3c24xx_led",
> -       .id             = 4,
> -       .dev            = {
> -               .platform_data  = &mini2440_led4_pdata,
> -       },
> +static struct platform_device mini2440_leds = {
> +       .name   = "leds-gpio",
> +       .id     = 0,
> +       .dev    = {
> +               .platform_data  = &gpio_led_info,
> +       }
>  };
>
>  static struct platform_device mini2440_led_backlight = {
> -       .name           = "s3c24xx_led",
> -       .id             = 5,
> -       .dev            = {
> -               .platform_data  = &mini2440_led_backlight_pdata,
> -       },
> +       .name   = "leds-gpio",
> +       .id     = 1,
> +       .dev    = {
> +               .platform_data  = &backlight_info,
> +       }
>  };
> -
>  /* AUDIO */
>
>  static struct s3c24xx_uda134x_platform_data mini2440_audio_pins = {
> @@ -543,10 +533,7 @@ static struct platform_device *mini2440_devices[] __initdata = {
>        &s3c_device_rtc,
>        &s3c_device_usbgadget,
>        &mini2440_device_eth,
> -       &mini2440_led1,
> -       &mini2440_led2,
> -       &mini2440_led3,
> -       &mini2440_led4,
> +       &mini2440_leds,
>        &mini2440_button_device,
>        &s3c_device_nand,
>        &s3c_device_sdi,
> --
> 1.7.1
>
>

regards,

marek

-- 
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
icq: 290551086
web: http://open-nandra.com

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ