From: Jason Stubbs <jasonbstubbs@gmail.com>
To: Greg KH <gregkh@suse.de>
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH] platform: add support for samsung nc210/nc110
Date: Wed, 20 Apr 2011 15:07:54 +1000 [thread overview]
Message-ID: <201104201507.54862.jasonbstubbs@gmail.com> (raw)
From: Jason Stubbs <jasonbstubbs@gmail.com>
Note, I don't expect this patch to go in and would actually just like some
feedback on how to better handle the set_brightness problem. Note also that
this patch won't apply on top of my brightness min/max fixes patch and I'll
redo this one as necessary.
This patch adds support for the NC210/NC110 to the samsung-laptop driver.
All SABI commands except for set_brightness work as expected. The behaviour
of set_brightness is as follows:
- Setting a new brightness will only step one level toward the new brightness
level. For example, setting a level of 5 when the current level is 2 will
result in a brightness level of 3.
- A spurious KEY_BRIGHTNESS_UP or KEY_BRIGHTNESS_DOWN event is also generated
along with the change in brightness.
- Neither of the above two issues occur when changing from/to brightness level 0.
The changes in set_brightness() work around the above while attempting to
minimize flicker due to jumping to and from brightness level 0.
Signed-off-by: Jason Stubbs <jasonbstubbs@gmail.com>
---
diff --git a/drivers/platform/x86/samsung-laptop.c b/drivers/platform/x86/samsung-laptop.c
index d347116..01d5278 100644
--- a/drivers/platform/x86/samsung-laptop.c
+++ b/drivers/platform/x86/samsung-laptop.c
@@ -380,6 +380,14 @@ static void set_brightness(u8 user_brightness)
{
u8 user_level = user_brightness - sabi_config->min_brightness;
+ if (user_level == read_brightness()) {
+ return;
+ }
+
+ if (sabi_config->min_brightness == 0 && user_level != 0) {
+ sabi_set_command(sabi_config->commands.set_brightness, 0);
+ }
+
sabi_set_command(sabi_config->commands.set_brightness, user_level);
}
@@ -666,6 +674,15 @@ static struct dmi_system_id __initdata samsung_dmi_table[] = {
},
.callback = dmi_check_cb,
},
+ {
+ .ident = "NC210/NC110",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "NC210/NC110"),
+ DMI_MATCH(DMI_BOARD_NAME, "NC210/NC110"),
+ },
+ .callback = dmi_check_cb,
+ },
{ },
};
MODULE_DEVICE_TABLE(dmi, samsung_dmi_table);
next reply other threads:[~2011-04-20 5:09 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-20 5:07 Jason Stubbs [this message]
-- strict thread matches above, loose matches on Subject: below --
2011-04-20 3:58 [PATCH] platform: fix samsung brightness min/max calculations Jason Stubbs
2011-05-12 16:44 ` Greg KH
2011-05-13 10:44 ` Jason Stubbs
2011-05-13 10:47 ` [PATCH] platform: add support for samsung nc210/nc110 Jason Stubbs
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=201104201507.54862.jasonbstubbs@gmail.com \
--to=jasonbstubbs@gmail.com \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.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.