Commit 07290bed authored by Len Brown's avatar Len Brown
Browse files

Merge branch 'acer' into release

parents 12648810 4f0175dc
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
Acer Laptop WMI Extras Driver
http://code.google.com/p/aceracpi
Version 0.2
18th August 2008
Version 0.3
4th April 2009

Copyright 2007-2008 Carlos Corbacho <carlos@strangeworlds.co.uk>
Copyright 2007-2009 Carlos Corbacho <carlos@strangeworlds.co.uk>

acer-wmi is a driver to allow you to control various parts of your Acer laptop
hardware under Linux which are exposed via ACPI-WMI.
@@ -36,6 +36,10 @@ not possible in kernel space from a 64 bit OS.
Supported Hardware
******************

NOTE: The Acer Aspire One is not supported hardware. It cannot work with
acer-wmi until Acer fix their ACPI-WMI implementation on them, so has been
blacklisted until that happens.

Please see the website for the current list of known working hardare:

http://code.google.com/p/aceracpi/wiki/SupportedHardware
+33 −2
Original line number Diff line number Diff line
/*
 *  Acer WMI Laptop Extras
 *
 *  Copyright (C) 2007-2008	Carlos Corbacho <carlos@strangeworlds.co.uk>
 *  Copyright (C) 2007-2009	Carlos Corbacho <carlos@strangeworlds.co.uk>
 *
 *  Based on acer_acpi:
 *    Copyright (C) 2005-2007	E.M. Smith
@@ -225,6 +225,25 @@ static struct quirk_entry quirk_fujitsu_amilo_li_1718 = {
	.wireless = 2,
};

/* The Aspire One has a dummy ACPI-WMI interface - disable it */
static struct dmi_system_id __devinitdata acer_blacklist[] = {
	{
		.ident = "Acer Aspire One (SSD)",
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
			DMI_MATCH(DMI_PRODUCT_NAME, "AOA110"),
		},
	},
	{
		.ident = "Acer Aspire One (HDD)",
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
			DMI_MATCH(DMI_PRODUCT_NAME, "AOA150"),
		},
	},
	{}
};

static struct dmi_system_id acer_quirks[] = {
	{
		.callback = dmi_matched,
@@ -1117,10 +1136,16 @@ static int __devinit acer_platform_probe(struct platform_device *device)
	}

	err = acer_rfkill_init(&device->dev);
	if (err)
		goto error_rfkill;

	return err;

error_rfkill:
	if (has_cap(ACER_CAP_BRIGHTNESS))
		acer_backlight_exit();
error_brightness:
	if (has_cap(ACER_CAP_MAILLED))
		acer_led_exit();
error_mailled:
	return err;
@@ -1254,6 +1279,12 @@ static int __init acer_wmi_init(void)

	printk(ACER_INFO "Acer Laptop ACPI-WMI Extras\n");

	if (dmi_check_system(acer_blacklist)) {
		printk(ACER_INFO "Blacklisted hardware detected - "
				"not loading\n");
		return -ENODEV;
	}

	find_quirks();

	/*