Jaunty SRU - LP364678 - UBUNTU: Sony laptop: Some Sony Vaia laptops do not enable wwan power by default.

Tim Gardner timg at tpi.com
Wed Apr 22 18:44:31 UTC 2009


The following changes since commit a63b7d7beeaa1f8f33369cab6419831fa8991e40:
  Tyler Hicks (1):
        UBUNTU: SAUCE: (drop after 2.6.28) [PATCH] eCryptfs: Larger buffer for encrypted symlink targets

are available in the git repository at:

  git://kernel.ubuntu.com/rtg/ubuntu-jaunty lp364678

Tim Gardner (1):
      UBUNTU: Sony laptop: Some Sony Vaia laptops do not enable wwan power by default.

 drivers/misc/sony-laptop.c |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)
>From 083972abb1d5e84845927b3925f077953c207b82 Mon Sep 17 00:00:00 2001
From: Tim Gardner <tim.gardner at canonical.com>
Date: Tue, 21 Apr 2009 11:09:10 -0600
Subject: [PATCH] UBUNTU: Sony laptop: Some Sony Vaia laptops do not enable wwan power by default.

Bug: #364678

Added quirk to enable wwan power based on DMI information already present in the module.

Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
---
 drivers/misc/sony-laptop.c |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/drivers/misc/sony-laptop.c b/drivers/misc/sony-laptop.c
index 7e73acc..eab7011 100644
--- a/drivers/misc/sony-laptop.c
+++ b/drivers/misc/sony-laptop.c
@@ -1248,10 +1248,13 @@ struct device_ctrl {
 	u16				evport_offset;
 	u8				has_camera;
 	u8				has_bluetooth;
-	u8				has_wwan;
 	struct sonypi_eventtypes	*event_types;
 };
 
+struct sony_pic_quirk_entry {
+	u8				set_wwan_power;
+};
+
 struct sony_pic_dev {
 	struct device_ctrl	*control;
 	struct acpi_device	*acpi_dev;
@@ -1260,6 +1263,7 @@ struct sony_pic_dev {
 	struct list_head	interrupts;
 	struct list_head	ioports;
 	struct mutex		lock;
+	struct sony_pic_quirk_entry *quirks;
 	u8			camera_power;
 	u8			bluetooth_power;
 	u8			wwan_power;
@@ -2685,6 +2689,12 @@ static int sony_pic_add(struct acpi_device *device)
 	if (result)
 		goto err_remove_pf;
 
+	if (spic_dev.quirks && spic_dev.quirks->set_wwan_power) {
+		/*
+		 * Power isn't enabled by default.
+		 */
+		sony_pic_set_wwanpower(1);
+	}
 	return 0;
 
 err_remove_pf:
@@ -2755,6 +2765,16 @@ static struct acpi_driver sony_pic_driver = {
 		},
 };
 
+static struct sony_pic_quirk_entry sony_pic_vaio_vgn = {
+	.set_wwan_power = 1,
+};
+
+static int dmi_matched(const struct dmi_system_id *dmi)
+{
+	spic_dev.quirks = dmi->driver_data;
+	return 0;
+}
+
 static struct dmi_system_id __initdata sonypi_dmi_table[] = {
 	{
 		.ident = "Sony Vaio",
@@ -2769,6 +2789,8 @@ static struct dmi_system_id __initdata sonypi_dmi_table[] = {
 			DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
 			DMI_MATCH(DMI_PRODUCT_NAME, "VGN-"),
 		},
+		.callback = dmi_matched,
+		.driver_data = &sony_pic_vaio_vgn,
 	},
 	{ }
 };
-- 
1.5.6.3





More information about the kernel-team mailing list