Merge branches 'pm-cpufreq' and 'acpi-video'

* pm-cpufreq:
cpufreq: update 'cpufreq_suspended' after stopping governors
cpufreq: integrator: fix integrator_cpufreq_remove return type
cpufreq: pcc-cpufreq: Fix wait_event() under spinlock

* acpi-video:
ACPI / i915: Update the condition to ignore firmware backlight change request

Changed files
+18 -11
drivers
+4 -3
drivers/cpufreq/cpufreq.c
··· 1658 1658 if (!cpufreq_driver) 1659 1659 return; 1660 1660 1661 - cpufreq_suspended = true; 1662 - 1663 1661 if (!has_target()) 1664 - return; 1662 + goto suspend; 1665 1663 1666 1664 pr_debug("%s: Suspending Governors\n", __func__); 1667 1665 ··· 1672 1674 pr_err("%s: Failed to suspend driver: %p\n", __func__, 1673 1675 policy); 1674 1676 } 1677 + 1678 + suspend: 1679 + cpufreq_suspended = true; 1675 1680 } 1676 1681 1677 1682 /**
+2 -2
drivers/cpufreq/integrator-cpufreq.c
··· 213 213 return cpufreq_register_driver(&integrator_driver); 214 214 } 215 215 216 - static void __exit integrator_cpufreq_remove(struct platform_device *pdev) 216 + static int __exit integrator_cpufreq_remove(struct platform_device *pdev) 217 217 { 218 - cpufreq_unregister_driver(&integrator_driver); 218 + return cpufreq_unregister_driver(&integrator_driver); 219 219 } 220 220 221 221 static const struct of_device_id integrator_cpufreq_match[] = {
+1 -1
drivers/cpufreq/pcc-cpufreq.c
··· 204 204 u32 input_buffer; 205 205 int cpu; 206 206 207 - spin_lock(&pcc_lock); 208 207 cpu = policy->cpu; 209 208 pcc_cpu_data = per_cpu_ptr(pcc_cpu_info, cpu); 210 209 ··· 215 216 freqs.old = policy->cur; 216 217 freqs.new = target_freq; 217 218 cpufreq_freq_transition_begin(policy, &freqs); 219 + spin_lock(&pcc_lock); 218 220 219 221 input_buffer = 0x1 | (((target_freq * 100) 220 222 / (ioread32(&pcch_hdr->nominal) * 1000)) << 8);
+11 -5
drivers/gpu/drm/i915/intel_opregion.c
··· 396 396 return -EINVAL; 397 397 } 398 398 399 + /* 400 + * If the vendor backlight interface is not in use and ACPI backlight interface 401 + * is broken, do not bother processing backlight change requests from firmware. 402 + */ 403 + static bool should_ignore_backlight_request(void) 404 + { 405 + return acpi_video_backlight_support() && 406 + !acpi_video_verify_backlight_support(); 407 + } 408 + 399 409 static u32 asle_set_backlight(struct drm_device *dev, u32 bclp) 400 410 { 401 411 struct drm_i915_private *dev_priv = dev->dev_private; ··· 414 404 415 405 DRM_DEBUG_DRIVER("bclp = 0x%08x\n", bclp); 416 406 417 - /* 418 - * If the acpi_video interface is not supposed to be used, don't 419 - * bother processing backlight level change requests from firmware. 420 - */ 421 - if (!acpi_video_verify_backlight_support()) { 407 + if (should_ignore_backlight_request()) { 422 408 DRM_DEBUG_KMS("opregion backlight request ignored\n"); 423 409 return 0; 424 410 }