Merge branch 'linaro-android-3.10-lsk' of git://android.git.linaro.org/kernel/linaro...
authorKevin Hilman <khilman@linaro.org>
Wed, 24 Jun 2015 17:40:17 +0000 (10:40 -0700)
committerKevin Hilman <khilman@linaro.org>
Wed, 24 Jun 2015 17:40:17 +0000 (10:40 -0700)
* 'linaro-android-3.10-lsk' of git://android.git.linaro.org/kernel/linaro-android:
  sched: cpufreq: update power usage only if cpufreq_stat is enabled
  uid_cputime: Extends the cputime functionality to report power per uid
  sched: cpufreq: Adds a field cpu_power in the task_struct
  cpufreq_stats: Adds the fucntionality to load current values for each frequency for all the cores.
  android: drivers: workaround debugfs race in binder
  neigh: Better handling of transition to NUD_PROBE state
  New Build Breakage in branch: kernel-m-dev-tegra-flounder-3.10 @ 1960706
  net/unix: sk_socket can disappear when state is unlocked
  selinux: enable genfscon labeling for sysfs and pstore files
  selinux: enable per-file labeling for debugfs files.
  ext4: don't save the error information if the block device is read-only
  suspend: Return error when pending wakeup source is found.
  proc: uid_cputime: fix show_uid_stat permission
  power: increment wakeup_count when save_wakeup_count failed.
  power: validate wakeup source before activating it.

1  2 
drivers/cpufreq/cpufreq_stats.c
fs/ext4/super.c
include/linux/cpufreq.h
include/linux/sched.h
kernel/fork.c
kernel/power/suspend.c
kernel/sched/cputime.c
net/caif/caif_socket.c
net/core/neighbour.c
net/unix/af_unix.c
security/selinux/hooks.c

index 690af18f55a90010578f62f035894e20a855f760,c441758e01a6c92b02e7ab96c633c07d70eb1e43..52b4d526dcffddb327b19c1c8a472068317f0cf2
  #include <linux/notifier.h>
  #include <linux/sort.h>
  #include <linux/err.h>
+ #include <linux/of.h>
+ #include <linux/sched.h>
  #include <asm/cputime.h>
 +#ifdef CONFIG_BL_SWITCHER
 +#include <asm/bL_switcher.h>
 +#endif
  
  static spinlock_t cpufreq_stats_lock;
  
@@@ -670,56 -796,9 +799,57 @@@ static void cpufreq_stats_cleanup(void
                cpufreq_stats_free_sysfs(cpu);
        }
        cpufreq_allstats_free();
+       cpufreq_powerstats_free();
  }
  
 +#ifdef CONFIG_BL_SWITCHER
 +static int cpufreq_stats_switcher_notifier(struct notifier_block *nfb,
 +                                      unsigned long action, void *_arg)
 +{
 +      switch (action) {
 +      case BL_NOTIFY_PRE_ENABLE:
 +      case BL_NOTIFY_PRE_DISABLE:
 +              cpufreq_stats_cleanup();
 +              break;
 +
 +      case BL_NOTIFY_POST_ENABLE:
 +      case BL_NOTIFY_POST_DISABLE:
 +              cpufreq_stats_setup();
 +              break;
 +
 +      default:
 +              return NOTIFY_DONE;
 +      }
 +
 +      return NOTIFY_OK;
 +}
 +
 +static struct notifier_block switcher_notifier = {
 +      .notifier_call = cpufreq_stats_switcher_notifier,
 +};
 +#endif
 +
 +static int __init cpufreq_stats_init(void)
 +{
 +      int ret;
 +      spin_lock_init(&cpufreq_stats_lock);
 +
 +      ret = cpufreq_stats_setup();
 +#ifdef CONFIG_BL_SWITCHER
 +      if (!ret)
 +              bL_switcher_register_notifier(&switcher_notifier);
 +#endif
 +      return ret;
 +}
 +
 +static void __exit cpufreq_stats_exit(void)
 +{
 +#ifdef CONFIG_BL_SWITCHER
 +      bL_switcher_unregister_notifier(&switcher_notifier);
 +#endif
 +      cpufreq_stats_cleanup();
 +}
 +
  MODULE_AUTHOR("Zou Nan hai <nanhai.zou@intel.com>");
  MODULE_DESCRIPTION("'cpufreq_stats' - A driver to export cpufreq stats "
                                "through sysfs filesystem");
diff --cc fs/ext4/super.c
Simple merge
Simple merge
Simple merge
diff --cc kernel/fork.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge