Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'pm+acpi-4.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management and ACPI fixes from Rafael Wysocki:
"These are: a fix for a recently introduced false-positive warnings
about PM domain pointers being changed inappropriately (harmless but
annoying), an MCH size workaround quirk for one more platform, a
compiler warning fix (generic power domains framework), an ACPI LPSS
(Intel SoCs) driver fixup and a cleanup of the ACPI CPPC core code.

Specifics:

- PM core fix to avoid false-positive warnings generated when the
pm_domain field is cleared for a device that appears to be bound to
a driver (Rafael Wysocki).

- New MCH size workaround quirk for Intel Haswell-ULT (Josh Boyer).

- Fix for an "unused function" compiler warning in the generic power
domains framework (Ulf Hansson).

- Fixup for the ACPI driver for Intel SoCs (acpi-lpss) to set the PM
domain pointer of a device properly in one place that was
overlooked by a recent PM core update (Andy Shevchenko).

- Removal of a redundant function declaration in the ACPI CPPC core
code (Timur Tabi)"

* tag 'pm+acpi-4.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
PM: Avoid false-positive warnings in dev_pm_domain_set()
PM / Domains: Silence compiler warning for an unused function
ACPI / CPPC: remove redundant mbox_send_message() declaration
ACPI / LPSS: set PM domain via helper setter
PNP: Add Haswell-ULT to Intel MCH size workaround

+10 -23
+1 -1
drivers/acpi/acpi_lpss.c
··· 880 880 break; 881 881 case BUS_NOTIFY_DRIVER_NOT_BOUND: 882 882 case BUS_NOTIFY_UNBOUND_DRIVER: 883 - pdev->dev.pm_domain = NULL; 883 + dev_pm_domain_set(&pdev->dev, NULL); 884 884 break; 885 885 case BUS_NOTIFY_ADD_DEVICE: 886 886 dev_pm_domain_set(&pdev->dev, &acpi_lpss_pm_domain);
+1 -1
drivers/base/power/common.c
··· 146 146 if (dev->pm_domain == pd) 147 147 return; 148 148 149 - WARN(device_is_bound(dev), 149 + WARN(pd && device_is_bound(dev), 150 150 "PM domains can only be changed for unbound devices\n"); 151 151 dev->pm_domain = pd; 152 152 device_pm_check_callbacks(dev);
+7 -20
drivers/base/power/domain.c
··· 173 173 } 174 174 175 175 /** 176 - * __genpd_poweron - Restore power to a given PM domain and its masters. 176 + * genpd_poweron - Restore power to a given PM domain and its masters. 177 177 * @genpd: PM domain to power up. 178 178 * @depth: nesting count for lockdep. 179 179 * 180 180 * Restore power to @genpd and all of its masters so that it is possible to 181 181 * resume a device belonging to it. 182 182 */ 183 - static int __genpd_poweron(struct generic_pm_domain *genpd, unsigned int depth) 183 + static int genpd_poweron(struct generic_pm_domain *genpd, unsigned int depth) 184 184 { 185 185 struct gpd_link *link; 186 186 int ret = 0; ··· 200 200 genpd_sd_counter_inc(master); 201 201 202 202 mutex_lock_nested(&master->lock, depth + 1); 203 - ret = __genpd_poweron(master, depth + 1); 203 + ret = genpd_poweron(master, depth + 1); 204 204 mutex_unlock(&master->lock); 205 205 206 206 if (ret) { ··· 226 226 227 227 return ret; 228 228 } 229 - 230 - /** 231 - * genpd_poweron - Restore power to a given PM domain and its masters. 232 - * @genpd: PM domain to power up. 233 - */ 234 - static int genpd_poweron(struct generic_pm_domain *genpd) 235 - { 236 - int ret; 237 - 238 - mutex_lock(&genpd->lock); 239 - ret = __genpd_poweron(genpd, 0); 240 - mutex_unlock(&genpd->lock); 241 - return ret; 242 - } 243 - 244 229 245 230 static int genpd_save_dev(struct generic_pm_domain *genpd, struct device *dev) 246 231 { ··· 474 489 } 475 490 476 491 mutex_lock(&genpd->lock); 477 - ret = __genpd_poweron(genpd, 0); 492 + ret = genpd_poweron(genpd, 0); 478 493 mutex_unlock(&genpd->lock); 479 494 480 495 if (ret) ··· 1806 1821 1807 1822 dev->pm_domain->detach = genpd_dev_pm_detach; 1808 1823 dev->pm_domain->sync = genpd_dev_pm_sync; 1809 - ret = genpd_poweron(pd); 1810 1824 1825 + mutex_lock(&pd->lock); 1826 + ret = genpd_poweron(pd, 0); 1827 + mutex_unlock(&pd->lock); 1811 1828 out: 1812 1829 return ret ? -EPROBE_DEFER : 0; 1813 1830 }
+1
drivers/pnp/quirks.c
··· 342 342 /* Device IDs of parts that have 32KB MCH space */ 343 343 static const unsigned int mch_quirk_devices[] = { 344 344 0x0154, /* Ivy Bridge */ 345 + 0x0a04, /* Haswell-ULT */ 345 346 0x0c00, /* Haswell */ 346 347 0x1604, /* Broadwell */ 347 348 };
-1
include/acpi/cppc_acpi.h
··· 133 133 /* Methods to interact with the PCC mailbox controller. */ 134 134 extern struct mbox_chan * 135 135 pcc_mbox_request_channel(struct mbox_client *, unsigned int); 136 - extern int mbox_send_message(struct mbox_chan *chan, void *mssg); 137 136 138 137 #endif /* _CPPC_ACPI_H*/