linux-next: manual merge of the akpm tree with Linus' tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
drivers/idle/intel_idle.c between commit 46bcfad7a819 ("cpuidle:
Single/Global registration of idle states") from Linus' tree and commit
"intel_idle: fix API misuse" from the akpm tree.

The former moved the code modified by the latter.  I fixed it up (see
below0 and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@xxxxxxxxxxxxxxxx

diff --cc drivers/idle/intel_idle.c
index 5d2f8e1,0a53882..0000000
--- a/drivers/idle/intel_idle.c
+++ b/drivers/idle/intel_idle.c
@@@ -424,60 -398,6 +424,60 @@@ static void intel_idle_cpuidle_devices_
  	return;
  }
  /*
 + * intel_idle_cpuidle_driver_init()
 + * allocate, initialize cpuidle_states
 + */
 +static int intel_idle_cpuidle_driver_init(void)
 +{
 +	int cstate;
 +	struct cpuidle_driver *drv = &intel_idle_driver;
 +
 +	drv->state_count = 1;
 +
 +	for (cstate = 1; cstate < MWAIT_MAX_NUM_CSTATES; ++cstate) {
 +		int num_substates;
 +
 +		if (cstate > max_cstate) {
 +			printk(PREFIX "max_cstate %d reached\n",
 +				max_cstate);
 +			break;
 +		}
 +
 +		/* does the state exist in CPUID.MWAIT? */
 +		num_substates = (mwait_substates >> ((cstate) * 4))
 +					& MWAIT_SUBSTATE_MASK;
 +		if (num_substates == 0)
 +			continue;
 +		/* is the state not enabled? */
 +		if (cpuidle_state_table[cstate].enter == NULL) {
 +			/* does the driver not know about the state? */
 +			if (*cpuidle_state_table[cstate].name == '\0')
 +				pr_debug(PREFIX "unaware of model 0x%x"
 +					" MWAIT %d please"
 +					" contact lenb@xxxxxxxxxx",
 +				boot_cpu_data.x86_model, cstate);
 +			continue;
 +		}
 +
 +		if ((cstate > 2) &&
 +			!boot_cpu_has(X86_FEATURE_NONSTOP_TSC))
 +			mark_tsc_unstable("TSC halts in idle"
 +					" states deeper than C2");
 +
 +		drv->states[drv->state_count] =	/* structure copy */
 +			cpuidle_state_table[cstate];
 +
 +		drv->state_count += 1;
 +	}
 +
 +	if (auto_demotion_disable_flags)
- 		smp_call_function(auto_demotion_disable, NULL, 1);
++		on_each_cpu(auto_demotion_disable, NULL, 1);
 +
 +	return 0;
 +}
 +
 +
 +/*
   * intel_idle_cpuidle_devices_init()
   * allocate, initialize, register cpuidle_devices
   */

Attachment: pgpF9pi8BIsa2.pgp
Description: PGP signature


[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux