Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2560540b authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'for_linus' of...

Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (38 commits)
  acer-wmi: support Lenovo ideapad S205 wifi switch
  acerhdf.c: spaces in aliased changed to *
  platform-drivers-x86: ideapad-laptop: add missing ideapad_input_exit in ideapad_acpi_add error path
  x86 driver: fix typo in TDP override enabling
  Platform: fix samsung-laptop DMI identification for N150/N210/220/N230
  dell-wmi: Add keys for Dell XPS L502X
  platform-drivers-x86: samsung-q10: make dmi_check_callback return 1
  Platform: Samsung Q10 backlight driver
  platform-drivers-x86: intel_scu_ipc: convert to DEFINE_PCI_DEVICE_TABLE
  platform-drivers-x86: intel_rar_register: convert to DEFINE_PCI_DEVICE_TABLE
  platform-drivers-x86: intel_menlow: add missing return AE_OK for intel_menlow_register_sensor()
  platform-drivers-x86: intel_mid_thermal: fix memory leak
  platform-drivers-x86: msi-wmi: add missing sparse_keymap_free in msi_wmi_init error path
  Samsung Laptop platform driver: support N510
  asus-wmi: add uwb rfkill support
  asus-wmi: add gps rfkill support
  asus-wmi: add CWAP support and clarify the meaning of WAPF bits
  asus-wmi: return proper value in store_cpufv()
  asus-wmi: check for temp1 presence
  asus-wmi: add thermal sensor
  ...
parents 45a05f94 15b956a0
Loading
Loading
Loading
Loading
+17 −0
Original line number Original line Diff line number Diff line
@@ -4,3 +4,20 @@ KernelVersion: 2.6.37
Contact:	"Ike Panhc <ike.pan@canonical.com>"
Contact:	"Ike Panhc <ike.pan@canonical.com>"
Description:
Description:
		Control the power of camera module. 1 means on, 0 means off.
		Control the power of camera module. 1 means on, 0 means off.

What:		/sys/devices/platform/ideapad/cfg
Date:		Jun 2011
KernelVersion:	3.1
Contact:	"Ike Panhc <ike.pan@canonical.com>"
Description:
		Ideapad capability bits.
		Bit 8-10: 1 - Intel graphic only
		          2 - ATI graphic only
		          3 - Nvidia graphic only
		          4 - Intel and ATI graphic
		          5 - Intel and Nvidia graphic
		Bit 16: Bluetooth exist (1 for exist)
		Bit 17: 3G exist (1 for exist)
		Bit 18: Wifi exist (1 for exist)
		Bit 19: Camera exist (1 for exist)
+11 −0
Original line number Original line Diff line number Diff line
@@ -581,3 +581,14 @@ Why: This driver has been superseded by g_mass_storage.
Who:	Alan Stern <stern@rowland.harvard.edu>
Who:	Alan Stern <stern@rowland.harvard.edu>


----------------------------
----------------------------

What:   threeg and interface sysfs files in /sys/devices/platform/acer-wmi
When:   2012
Why:    In 3.0, we can now autodetect internal 3G device and already have
	the threeg rfkill device. So, we plan to remove threeg sysfs support
	for it's no longer necessary.

	We also plan to remove interface sysfs file that exposed which ACPI-WMI
	interface that was used by acer-wmi driver. It will replaced by
	information log when acer-wmi initial.
Who:    Lee, Chun-Yi <jlee@novell.com>
+8 −0
Original line number Original line Diff line number Diff line
@@ -769,4 +769,12 @@ config INTEL_OAKTRAIL
	  enable/disable the Camera, WiFi, BT etc. devices. If in doubt, say Y
	  enable/disable the Camera, WiFi, BT etc. devices. If in doubt, say Y
	  here; it will only load on supported platforms.
	  here; it will only load on supported platforms.


config SAMSUNG_Q10
	tristate "Samsung Q10 Extras"
	depends on SERIO_I8042
	select BACKLIGHT_CLASS_DEVICE
	---help---
	  This driver provides support for backlight control on Samsung Q10
	  and related laptops, including Dell Latitude X200.

endif # X86_PLATFORM_DEVICES
endif # X86_PLATFORM_DEVICES
+1 −0
Original line number Original line Diff line number Diff line
@@ -44,3 +44,4 @@ obj-$(CONFIG_SAMSUNG_LAPTOP) += samsung-laptop.o
obj-$(CONFIG_MXM_WMI)		+= mxm-wmi.o
obj-$(CONFIG_MXM_WMI)		+= mxm-wmi.o
obj-$(CONFIG_INTEL_MID_POWER_BUTTON)	+= intel_mid_powerbtn.o
obj-$(CONFIG_INTEL_MID_POWER_BUTTON)	+= intel_mid_powerbtn.o
obj-$(CONFIG_INTEL_OAKTRAIL)	+= intel_oaktrail.o
obj-$(CONFIG_INTEL_OAKTRAIL)	+= intel_oaktrail.o
obj-$(CONFIG_SAMSUNG_Q10)	+= samsung-q10.o
+36 −4
Original line number Original line Diff line number Diff line
@@ -99,6 +99,7 @@ enum acer_wmi_event_ids {
static const struct key_entry acer_wmi_keymap[] = {
static const struct key_entry acer_wmi_keymap[] = {
	{KE_KEY, 0x01, {KEY_WLAN} },     /* WiFi */
	{KE_KEY, 0x01, {KEY_WLAN} },     /* WiFi */
	{KE_KEY, 0x03, {KEY_WLAN} },     /* WiFi */
	{KE_KEY, 0x03, {KEY_WLAN} },     /* WiFi */
	{KE_KEY, 0x04, {KEY_WLAN} },     /* WiFi */
	{KE_KEY, 0x12, {KEY_BLUETOOTH} },	/* BT */
	{KE_KEY, 0x12, {KEY_BLUETOOTH} },	/* BT */
	{KE_KEY, 0x21, {KEY_PROG1} },    /* Backup */
	{KE_KEY, 0x21, {KEY_PROG1} },    /* Backup */
	{KE_KEY, 0x22, {KEY_PROG2} },    /* Arcade */
	{KE_KEY, 0x22, {KEY_PROG2} },    /* Arcade */
@@ -304,6 +305,10 @@ static struct quirk_entry quirk_fujitsu_amilo_li_1718 = {
	.wireless = 2,
	.wireless = 2,
};
};


static struct quirk_entry quirk_lenovo_ideapad_s205 = {
	.wireless = 3,
};

/* The Aspire One has a dummy ACPI-WMI interface - disable it */
/* The Aspire One has a dummy ACPI-WMI interface - disable it */
static struct dmi_system_id __devinitdata acer_blacklist[] = {
static struct dmi_system_id __devinitdata acer_blacklist[] = {
	{
	{
@@ -450,6 +455,15 @@ static struct dmi_system_id acer_quirks[] = {
		},
		},
		.driver_data = &quirk_medion_md_98300,
		.driver_data = &quirk_medion_md_98300,
	},
	},
	{
		.callback = dmi_matched,
		.ident = "Lenovo Ideapad S205",
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
			DMI_MATCH(DMI_PRODUCT_NAME, "10382LG"),
		},
		.driver_data = &quirk_lenovo_ideapad_s205,
	},
	{}
	{}
};
};


@@ -542,6 +556,12 @@ struct wmi_interface *iface)
				return AE_ERROR;
				return AE_ERROR;
			*value = result & 0x1;
			*value = result & 0x1;
			return AE_OK;
			return AE_OK;
		case 3:
			err = ec_read(0x78, &result);
			if (err)
				return AE_ERROR;
			*value = result & 0x1;
			return AE_OK;
		default:
		default:
			err = ec_read(0xA, &result);
			err = ec_read(0xA, &result);
			if (err)
			if (err)
@@ -1266,8 +1286,13 @@ static void acer_rfkill_update(struct work_struct *ignored)
	acpi_status status;
	acpi_status status;


	status = get_u32(&state, ACER_CAP_WIRELESS);
	status = get_u32(&state, ACER_CAP_WIRELESS);
	if (ACPI_SUCCESS(status))
	if (ACPI_SUCCESS(status)) {
		if (quirks->wireless == 3) {
			rfkill_set_hw_state(wireless_rfkill, !state);
		} else {
			rfkill_set_sw_state(wireless_rfkill, !state);
			rfkill_set_sw_state(wireless_rfkill, !state);
		}
	}


	if (has_cap(ACER_CAP_BLUETOOTH)) {
	if (has_cap(ACER_CAP_BLUETOOTH)) {
		status = get_u32(&state, ACER_CAP_BLUETOOTH);
		status = get_u32(&state, ACER_CAP_BLUETOOTH);
@@ -1400,6 +1425,9 @@ static ssize_t show_bool_threeg(struct device *dev,
{
{
	u32 result; \
	u32 result; \
	acpi_status status;
	acpi_status status;

	pr_info("This threeg sysfs will be removed in 2012"
		" - used by: %s\n", current->comm);
	if (wmi_has_guid(WMID_GUID3))
	if (wmi_has_guid(WMID_GUID3))
		status = wmid3_get_device_status(&result,
		status = wmid3_get_device_status(&result,
				ACER_WMID3_GDS_THREEG);
				ACER_WMID3_GDS_THREEG);
@@ -1415,6 +1443,8 @@ static ssize_t set_bool_threeg(struct device *dev,
{
{
	u32 tmp = simple_strtoul(buf, NULL, 10);
	u32 tmp = simple_strtoul(buf, NULL, 10);
	acpi_status status = set_u32(tmp, ACER_CAP_THREEG);
	acpi_status status = set_u32(tmp, ACER_CAP_THREEG);
	pr_info("This threeg sysfs will be removed in 2012"
		" - used by: %s\n", current->comm);
	if (ACPI_FAILURE(status))
	if (ACPI_FAILURE(status))
		return -EINVAL;
		return -EINVAL;
	return count;
	return count;
@@ -1425,6 +1455,8 @@ static DEVICE_ATTR(threeg, S_IRUGO | S_IWUSR, show_bool_threeg,
static ssize_t show_interface(struct device *dev, struct device_attribute *attr,
static ssize_t show_interface(struct device *dev, struct device_attribute *attr,
	char *buf)
	char *buf)
{
{
	pr_info("This interface sysfs will be removed in 2012"
		" - used by: %s\n", current->comm);
	switch (interface->type) {
	switch (interface->type) {
	case ACER_AMW0:
	case ACER_AMW0:
		return sprintf(buf, "AMW0\n");
		return sprintf(buf, "AMW0\n");
Loading