From: ben-linux@fluff.org (Ben Dooks)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 8/8] Add support for backlight regulation on Acer n35
Date: Fri, 7 May 2010 01:35:04 +0100 [thread overview]
Message-ID: <20100507003504.GV2589@trinity.fluff.org> (raw)
In-Reply-To: <4BE2C2FF.8020404@vscht.cz>
On Thu, May 06, 2010 at 03:24:15PM +0200, Pinkava J. wrote:
>
would a description here hurt?
> Signed-off-by: Jiri Pinkava <jiri.pinkava@vscht.cz>
> ---
> arch/arm/mach-s3c2410/mach-n30.c | 57 ++++++++++++++++++++++++++++++++++++++
> 1 files changed, 57 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-s3c2410/mach-n30.c b/arch/arm/mach-s3c2410/mach-n30.c
> index f25275e..4c37c71 100644
> --- a/arch/arm/mach-s3c2410/mach-n30.c
> +++ b/arch/arm/mach-s3c2410/mach-n30.c
> @@ -23,6 +23,7 @@
> #include <linux/input.h>
> #include <linux/interrupt.h>
> #include <linux/platform_device.h>
> +#include <linux/pwm_backlight.h>
> #include <linux/serial_core.h>
> #include <linux/timer.h>
> #include <linux/io.h>
> @@ -352,6 +353,60 @@ static struct s3c2410fb_mach_info n30_fb_info __initdata = {
> .lpcsel = 0x06,
> };
>
> +static int n35_backlight_init(struct device *dev)
> +{
> + gpio_request(S3C2410_GPB(0), "Backlight PWM");
> + gpio_request(S3C2410_GPB(1), "Backlight power driver");
> +
> + /* set GPIO as output for timer */
> + s3c2410_gpio_setpin(S3C2410_GPB(0), 0);
> + s3c2410_gpio_pullup(S3C2410_GPB(0), 0);
> + s3c2410_gpio_cfgpin(S3C2410_GPB(0), S3C2410_GPB0_TOUT0);
> +
> + /* setup backlight power driving GPIO */
> + s3c2410_gpio_pullup(S3C2410_GPB(1), 1);
> + s3c2410_gpio_cfgpin(S3C2410_GPB(1), S3C2410_GPIO_OUTPUT);
I'm going to hold this one pending the merge of the gpio updates, since
these calls are going away.
> + return 0;
> +}
> +
> +static int n35_backlight_notify(struct device *dev, int brightness)
> +{
> + /* power off backlight, values less than 12 ar useless */
> + s3c2410_gpio_setpin(S3C2410_GPB(1), brightness > 12 ? 1 : 0);
> + return (brightness > 12 ? brightness : 0);
> +}
gpiolib calls here please.
> +static void n35_backlight_exit(struct device *dev)
> +{
> + s3c2410_gpio_cfgpin(S3C2410_GPB(0), 1/*S3C2410_GPB0_OUTP*/);
we have constants for generic output...
> + s3c2410_gpio_setpin(S3C2410_GPB(1), 0); /* co stim */
gpio_set_value().
> + /* power off backlight */
> + s3c2410_gpio_pullup(S3C2410_GPB(1), 0);
> + gpio_free(S3C2410_GPB(1));
> + gpio_free(S3C2410_GPB(0));
> +}
> +
> +static struct platform_pwm_backlight_data backlight_data = {
> + .pwm_id = 0,
> + .max_brightness = 100,
> + .dft_brightness = 50,
> + /* tcnt = 0x31, FIXME: compute some nicer value */
> + .pwm_period_ns = 3*1000*1000,
> + .init = n35_backlight_init,
> + .notify = n35_backlight_notify,
> + .exit = n35_backlight_exit,
> +};
> +
> +static struct platform_device n35_backlight = {
> + .name = "pwm-backlight",
> + .dev = {
> + .parent = &s3c_device_timer[0].dev,
> + .platform_data = &backlight_data,
> + },
> + .id = -1,
> +};
> +
> static void n30_sdi_set_power(unsigned char power_mode, unsigned short vdd)
> {
> switch (power_mode) {
> @@ -395,6 +450,8 @@ static struct platform_device *n35_devices[] __initdata = {
> &s3c_device_rtc,
> &s3c_device_usbgadget,
> &s3c_device_sdi,
> + &s3c_device_timer[0],
> + &n35_backlight,
> &n35_button_device,
> &n35_blue_led,
--
Ben
Q: What's a light-year?
A: One-third less calories than a regular year.
next prev parent reply other threads:[~2010-05-07 0:35 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-05 22:06 [PATCH 1/9] Enable Acer n35 architecture if Acer n30 is selected Pinkava J.
2010-05-05 22:12 ` [PATCH 2/9] fix: suspended wrong USB port on Acer n35 Pinkava J.
2010-05-05 22:13 ` [PATCH 3/9] Add RTC platform device for Acer n30 / " Pinkava J.
2010-05-05 22:17 ` [PATCH 4/9] Add support for blue LED on " Pinkava J.
2010-05-05 22:17 ` [PATCH 5/9] Add support for red flashing " Pinkava J.
2010-05-05 22:18 ` [PATCH 6/9] Enable wake-up by Power button " Pinkava J.
2010-05-05 22:20 ` [PATCH 7/9] Add support for MMC card reader on Acer n30 / " Pinkava J.
2010-05-05 22:22 ` [PATCH 8/9] Add support for power on/off on Acer n30 / Acer n35 MMC card reader Pinkava J.
2010-05-06 1:23 ` [PATCH 7/9] Add support for MMC card reader on Acer n30 / Acer n35 Ben Dooks
2010-05-06 1:22 ` [PATCH 5/9] Add support for red flashing LED on " Ben Dooks
2010-05-06 13:18 ` [PATCH 1/8] Enable Acer n35 architecture if Acer n30 is selected Pinkava J.
2010-05-06 13:19 ` [PATCH 2/8] fix: suspended wrong USB port on Acer n35 Pinkava J.
2010-05-06 13:20 ` [PATCH 3/8] Add RTC platform device for Acer n30 / " Pinkava J.
2010-05-06 13:21 ` [PATCH 4/8] Add support for LEDs on " Pinkava J.
2010-05-06 13:21 ` [PATCH 5/8] Enable wake-up by Power button " Pinkava J.
2010-05-06 13:22 ` [PATCH 6/8] Add support for MMC card reader on Acer n30 / " Pinkava J.
2010-05-06 13:23 ` [PATCH 7/8] Add support for power on/off on Acer n30 / Acer n35 MMC card reader Pinkava J.
2010-05-06 13:24 ` [PATCH 8/8] Add support for backlight regulation on Acer n35 Pinkava J.
2010-05-06 13:39 ` Acer n35 patches Pinkava J.
2010-05-07 0:37 ` Ben Dooks
2010-05-12 13:26 ` Pinkava J.
2010-05-07 0:35 ` Ben Dooks [this message]
2010-05-12 13:18 ` [PATCH 8/8] Add support for backlight regulation on Acer n35 Pinkava J.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100507003504.GV2589@trinity.fluff.org \
--to=ben-linux@fluff.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.