diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-10-16 15:14:50 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-10-16 15:14:50 +0900 |
commit | abeaf33a4101764291ec79cf286e08c0966eb26e (patch) | |
tree | bb3f8ae60d1ff0d99a907bcc223886f9d71fafea /drivers | |
parent | 731ba3301de41d2ffae9dd3e0f85f7361d8ad8f4 (diff) | |
parent | 52a94909f00e0ffceeac202e517a126d57c1c523 (diff) |
Merge branch 'sh/stable-updates'
Conflicts:
arch/sh/mm/cache-sh4.c
Diffstat (limited to 'drivers')
127 files changed, 11250 insertions, 580 deletions
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig index 0ed42d8870c..93d2c7971df 100644 --- a/drivers/acpi/Kconfig +++ b/drivers/acpi/Kconfig @@ -218,10 +218,10 @@ config ACPI_PROCESSOR_AGGREGATOR depends on X86 help ACPI 4.0 defines processor Aggregator, which enables OS to perform - specfic processor configuration and control that applies to all + specific processor configuration and control that applies to all processors in the platform. Currently only logical processor idling is defined, which is to reduce power consumption. This driver - support the new device. + supports the new device. config ACPI_THERMAL tristate "Thermal Zone" diff --git a/drivers/acpi/ac.c b/drivers/acpi/ac.c index 98b9690b015..b6ed60b57b0 100644 --- a/drivers/acpi/ac.c +++ b/drivers/acpi/ac.c @@ -245,6 +245,7 @@ static void acpi_ac_notify(struct acpi_device *device, u32 event) acpi_bus_generate_netlink_event(device->pnp.device_class, dev_name(&device->dev), event, (u32) ac->state); + acpi_notifier_call_chain(device, event, (u32) ac->state); #ifdef CONFIG_ACPI_SYSFS_POWER kobject_uevent(&ac->charger.dev->kobj, KOBJ_CHANGE); #endif diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c index 9335b87c517..0c9c6a9a002 100644 --- a/drivers/acpi/button.c +++ b/drivers/acpi/button.c @@ -251,6 +251,9 @@ int acpi_lid_open(void) acpi_status status; unsigned long long state; + if (!lid_device) + return -ENODEV; + status = acpi_evaluate_integer(lid_device->handle, "_LID", NULL, &state); if (ACPI_FAILURE(status)) diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index 31122214e0e..1af808171d4 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c @@ -389,6 +389,17 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle) pbus = pdev->subordinate; pci_dev_put(pdev); + + /* + * This function may be called for a non-PCI device that has a + * PCI parent (eg. a disk under a PCI SATA controller). In that + * case pdev->subordinate will be NULL for the parent. + */ + if (!pbus) { + dev_dbg(&pdev->dev, "Not a PCI-to-PCI bridge\n"); + pdev = NULL; + break; + } } out: list_for_each_entry_safe(node, tmp, &device_list, node) diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index f6e54bf8dd9..64e3c581b7a 100644 --- a/drivers/acpi/video.c +++ b/ |