linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [00/02] msi-laptop patches for N034 laptop
@ 2010-01-15 23:47 Greg KH
  2010-01-15 23:47 ` [01/02] msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook Greg KH
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Greg KH @ 2010-01-15 23:47 UTC (permalink / raw)
  To: Lennart Poettering; +Cc: Chun-Yi, linux-kernel

Hi Lennart,

Here are 2 patches from Joey Lee for the msi-laptop driver that add
support for the 3G button and other stuff for the new N034 laptop.

If you don't have any objections, do you want me to take them through my
driver tree to go to Linus for the .34 kernel merge, or do you have a
tree that they can go through?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [01/02] msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook
  2010-01-15 23:47 [00/02] msi-laptop patches for N034 laptop Greg KH
@ 2010-01-15 23:47 ` Greg KH
  2010-01-15 23:48 ` [02/02] msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command Greg KH
  2010-01-16  2:33 ` [00/02] msi-laptop patches for N034 laptop Lennart Poettering
  2 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2010-01-15 23:47 UTC (permalink / raw)
  To: Lennart Poettering; +Cc: Chun-Yi, linux-kernel


From: Lee, Chun-Yi <jlee@novell.com>

Suppport standard ec 66/62 command on MSI notebook and nebook. MSI
netbook and notebook already support 66/62 command, so, add new
get_state function, and put the old model to non-standard model, but
driver still support those old model.

Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Cc: Lennart Poettering <mzxreary@0pointer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

--- a/drivers/platform/x86/msi-laptop.c
+++ b/drivers/platform/x86/msi-laptop.c
@@ -66,6 +66,11 @@
 #define MSI_EC_COMMAND_WIRELESS 0x10
 #define MSI_EC_COMMAND_LCD_LEVEL 0x11
 
+#define MSI_STANDARD_EC_COMMAND_ADDRESS	0x2e
+#define MSI_STANDARD_EC_BLUETOOTH_MASK	(1 << 0)
+#define MSI_STANDARD_EC_WEBCAM_MASK	(1 << 1)
+#define MSI_STANDARD_EC_WLAN_MASK	(1 << 3)
+
 static int force;
 module_param(force, bool, 0);
 MODULE_PARM_DESC(force, "Force driver load, ignore DMI data");
@@ -74,6 +79,9 @@ static int auto_brightness;
 module_param(auto_brightness, int, 0);
 MODULE_PARM_DESC(auto_brightness, "Enable automatic brightness control (0: disabled; 1: enabled; 2: don't touch)");
 
+static bool old_ec_model;
+static int wlan_s, bluetooth_s;
+
 /* Hardware access */
 
 static int set_lcd_level(int level)
@@ -148,6 +156,22 @@ static int get_wireless_state(int *wlan, int *bluetooth)
 	return 0;
 }
 
+static int get_wireless_state_ec_standard(void)
+{
+	u8 rdata;
+	int result;
+
+	result = ec_read(MSI_STANDARD_EC_COMMAND_ADDRESS, &rdata);
+	if (result < 0)
+		return -1;
+
+	wlan_s = !!(rdata & MSI_STANDARD_EC_WLAN_MASK);
+
+	bluetooth_s = !!(rdata & MSI_STANDARD_EC_BLUETOOTH_MASK);
+
+	return 0;
+}
+
 /* Backlight device stuff */
 
 static int bl_get_brightness(struct backlight_device *b)
@@ -176,7 +200,12 @@ static ssize_t show_wlan(struct device *dev,
 
 	int ret, enabled;
 
-	ret = get_wireless_state(&enabled, NULL);
+	if (old_ec_model) {
+		ret = get_wireless_state(&enabled, NULL);
+	} else {
+		ret = get_wireless_state_ec_standard();
+		enabled = wlan_s;
+	}
 	if (ret < 0)
 		return ret;
 
@@ -189,7 +218,12 @@ static ssize_t show_bluetooth(struct device *dev,
 
 	int ret, enabled;
 
-	ret = get_wireless_state(NULL, &enabled);
+	if (old_ec_model) {
+		ret = get_wireless_state(NULL, &enabled);
+	} else {
+		ret = get_wireless_state_ec_standard();
+		enabled = bluetooth_s;
+	}
 	if (ret < 0)
 		return ret;
 
@@ -339,8 +373,8 @@ static int __init msi_init(void)
 	if (acpi_disabled)
 		return -ENODEV;
 
-	if (!force && !dmi_check_system(msi_dmi_table))
-		return -ENODEV;
+	if (force || dmi_check_system(msi_dmi_table))
+		old_ec_model = 1;
 
 	if (auto_brightness < 0 || auto_brightness > 2)
 		return -EINVAL;
@@ -435,3 +469,4 @@ MODULE_ALIAS("dmi:*:svnMICRO-STARINT'LCO.,LTD:pnMS-1013:pvr0131*:cvnMICRO-STARIN
 MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1058:pvr0581:rvnMSI:rnMS-1058:*:ct10:*");
 MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1412:*:rvnMSI:rnMS-1412:*:cvnMICRO-STARINT'LCO.,LTD:ct10:*");
 MODULE_ALIAS("dmi:*:svnNOTEBOOK:pnSAM2000:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*");
+MODULE_ALIAS("dmi:*:svnMICRO-STARINTERNATIONAL*:pnMS-N034:*");
-- 
1.6.0.2


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [02/02] msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command
  2010-01-15 23:47 [00/02] msi-laptop patches for N034 laptop Greg KH
  2010-01-15 23:47 ` [01/02] msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook Greg KH
@ 2010-01-15 23:48 ` Greg KH
  2010-01-16  2:33 ` [00/02] msi-laptop patches for N034 laptop Lennart Poettering
  2 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2010-01-15 23:48 UTC (permalink / raw)
  To: Lennart Poettering; +Cc: Chun-Yi, linux-kernel

From: Lee, Chun-Yi <jlee@novell.com>

Add threeg sysfs file for support query 3G state by standard 66/62 ec
command, the MSI standard ec interface supported this feature.

Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Cc: Lennart Poettering <mzxreary@0pointer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

--- a/drivers/platform/x86/msi-laptop.c
+++ b/drivers/platform/x86/msi-laptop.c
@@ -70,6 +70,7 @@
 #define MSI_STANDARD_EC_BLUETOOTH_MASK	(1 << 0)
 #define MSI_STANDARD_EC_WEBCAM_MASK	(1 << 1)
 #define MSI_STANDARD_EC_WLAN_MASK	(1 << 3)
+#define MSI_STANDARD_EC_3G_MASK		(1 << 4)
 
 static int force;
 module_param(force, bool, 0);
@@ -80,7 +81,7 @@ module_param(auto_brightness, int, 0);
 MODULE_PARM_DESC(auto_brightness, "Enable automatic brightness control (0: disabled; 1: enabled; 2: don't touch)");
 
 static bool old_ec_model;
-static int wlan_s, bluetooth_s;
+static int wlan_s, bluetooth_s, threeg_s;
 
 /* Hardware access */
 
@@ -169,6 +170,8 @@ static int get_wireless_state_ec_standard(void)
 
 	bluetooth_s = !!(rdata & MSI_STANDARD_EC_BLUETOOTH_MASK);
 
+	threeg_s = !!(rdata & MSI_STANDARD_EC_3G_MASK);
+
 	return 0;
 }
 
@@ -230,6 +233,23 @@ static ssize_t show_bluetooth(struct device *dev,
 	return sprintf(buf, "%i\n", enabled);
 }
 
+static ssize_t show_threeg(struct device *dev,
+	struct device_attribute *attr, char *buf)
+{
+
+	int ret;
+
+	/* old msi ec not support 3G */
+	if (old_ec_model)
+		return -1;
+
+	ret = get_wireless_state_ec_standard();
+	if (ret < 0)
+		return ret;
+
+	return sprintf(buf, "%i\n", threeg_s);
+}
+
 static ssize_t show_lcd_level(struct device *dev,
 	struct device_attribute *attr, char *buf)
 {
@@ -292,6 +312,7 @@ static DEVICE_ATTR(lcd_level, 0644, show_lcd_level, store_lcd_level);
 static DEVICE_ATTR(auto_brightness, 0644, show_auto_brightness, store_auto_brightness);
 static DEVICE_ATTR(bluetooth, 0444, show_bluetooth, NULL);
 static DEVICE_ATTR(wlan, 0444, show_wlan, NULL);
+static DEVICE_ATTR(threeg, 0444, show_threeg, NULL);
 
 static struct attribute *msipf_attributes[] = {
 	&dev_attr_lcd_level.attr,
@@ -412,6 +433,12 @@ static int __init msi_init(void)
 	if (ret)
 		goto fail_platform_device2;
 
+	if (!old_ec_model) {
+		ret = device_create_file(&msipf_device->dev, &dev_attr_threeg);
+		if (ret)
+			goto fail_platform_device2;
+	}
+
 	/* Disable automatic brightness control by default because
 	 * this module was probably loaded to do brightness control in
 	 * software. */
@@ -446,6 +473,8 @@ static void __exit msi_cleanup(void)
 {
 
 	sysfs_remove_group(&msipf_device->dev.kobj, &msipf_attribute_group);
+	if (!old_ec_model)
+		device_remove_file(&msipf_device->dev, &dev_attr_threeg);
 	platform_device_unregister(msipf_device);
 	platform_driver_unregister(&msipf_driver);
 	backlight_device_unregister(msibl_device);
-- 
1.6.0.2


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [00/02] msi-laptop patches for N034 laptop
  2010-01-15 23:47 [00/02] msi-laptop patches for N034 laptop Greg KH
  2010-01-15 23:47 ` [01/02] msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook Greg KH
  2010-01-15 23:48 ` [02/02] msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command Greg KH
@ 2010-01-16  2:33 ` Lennart Poettering
  2010-01-16  3:30   ` Greg KH
  2 siblings, 1 reply; 5+ messages in thread
From: Lennart Poettering @ 2010-01-16  2:33 UTC (permalink / raw)
  To: Greg KH; +Cc: Chun-Yi, linux-kernel

On Fri, 15.01.10 15:47, Greg KH (greg@kroah.com) wrote:

Heya,
 
> Here are 2 patches from Joey Lee for the msi-laptop driver that add
> support for the 3G button and other stuff for the new N034 laptop.
> 
> If you don't have any objections, do you want me to take them through my
> driver tree to go to Linus for the .34 kernel merge, or do you have a
> tree that they can go through?

Patches make sense to me.

Nope, I don't really maintain a tree. Please add them to your driver
tree!

Thanks,

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/           GnuPG 0x1A015CC4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [00/02] msi-laptop patches for N034 laptop
  2010-01-16  2:33 ` [00/02] msi-laptop patches for N034 laptop Lennart Poettering
@ 2010-01-16  3:30   ` Greg KH
  0 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2010-01-16  3:30 UTC (permalink / raw)
  To: Lennart Poettering; +Cc: Chun-Yi, linux-kernel

On Sat, Jan 16, 2010 at 03:33:49AM +0100, Lennart Poettering wrote:
> On Fri, 15.01.10 15:47, Greg KH (greg@kroah.com) wrote:
> 
> Heya,
>  
> > Here are 2 patches from Joey Lee for the msi-laptop driver that add
> > support for the 3G button and other stuff for the new N034 laptop.
> > 
> > If you don't have any objections, do you want me to take them through my
> > driver tree to go to Linus for the .34 kernel merge, or do you have a
> > tree that they can go through?
> 
> Patches make sense to me.

Great, can I add your 'acked-by:' ?

> Nope, I don't really maintain a tree. Please add them to your driver
> tree!

Now done.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-01-16  3:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-15 23:47 [00/02] msi-laptop patches for N034 laptop Greg KH
2010-01-15 23:47 ` [01/02] msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook Greg KH
2010-01-15 23:48 ` [02/02] msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command Greg KH
2010-01-16  2:33 ` [00/02] msi-laptop patches for N034 laptop Lennart Poettering
2010-01-16  3:30   ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).