Sony laptop: Sony Vaio laptops do not enable wwan power by default.
Subsystems (3)
PATCH v2 1/1 Sony laptop: Sony Vaio laptops do not enable wwan power by default.
Mattia,
Ok, it would help if I sent a patch against the right kernel (2.6.30-rc3).
rtg
--------------------
Quoted 1 line
From
f24d04392307d990fcc9a46721c8494effee58c9Mon Sep 17 00:00:00 2001
From: Tim Gardner <[email protected]>
Date: Tue, 21 Apr 2009 11:09:10 -0600
Subject: [PATCH v2] UBUNTU: Sony laptop: Sony Vaio laptops do not enable wwan power by default.
Added quirk to enable wwan power based on DMI information already present in the module. It appears that Vaio's do not enable power to wwan from a cold boot.
Signed-off-by Tim Gardner <[email protected]>
--- drivers/platform/x86/sony-laptop.c | 24 +++++++++++++++++++++++- 1 files changed, 23 insertions(+), 1 deletions(-)
drivers/platform/x86/sony-laptop.c +23 -1
@@ -1440,10 +1440,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;
@@ -1452,6 +1455,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;
@@ -2885,6 +2889,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:
@@ -2955,6 +2965,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" ,
@@ -2969,6 +2989,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, }, { } };
Signature · 1 line
1.5.6.3