]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
8 years agoMerge remote-tracking branch 'net-next/master'
Stephen Rothwell [Wed, 10 Feb 2016 00:49:11 +0000 (11:49 +1100)]
Merge remote-tracking branch 'net-next/master'

8 years agoMerge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Wed, 10 Feb 2016 00:43:45 +0000 (11:43 +1100)]
Merge remote-tracking branch 'slave-dma/next'

8 years agoMerge remote-tracking branch 'thermal-soc/next'
Stephen Rothwell [Wed, 10 Feb 2016 00:41:37 +0000 (11:41 +1100)]
Merge remote-tracking branch 'thermal-soc/next'

8 years agoMerge remote-tracking branch 'pm/linux-next'
Stephen Rothwell [Wed, 10 Feb 2016 00:31:15 +0000 (11:31 +1100)]
Merge remote-tracking branch 'pm/linux-next'

8 years agoMerge remote-tracking branch 'libata/for-next'
Stephen Rothwell [Wed, 10 Feb 2016 00:29:42 +0000 (11:29 +1100)]
Merge remote-tracking branch 'libata/for-next'

8 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Wed, 10 Feb 2016 00:27:39 +0000 (11:27 +1100)]
Merge remote-tracking branch 'kbuild/for-next'

8 years agoMerge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Wed, 10 Feb 2016 00:25:01 +0000 (11:25 +1100)]
Merge remote-tracking branch 'v4l-dvb/master'

8 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Wed, 10 Feb 2016 00:23:37 +0000 (11:23 +1100)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

8 years agoMerge branch 'dmi/master'
Stephen Rothwell [Wed, 10 Feb 2016 00:23:33 +0000 (11:23 +1100)]
Merge branch 'dmi/master'

8 years agoMerge branch 'jdelvare-hwmon/master'
Stephen Rothwell [Wed, 10 Feb 2016 00:22:09 +0000 (11:22 +1100)]
Merge branch 'jdelvare-hwmon/master'

8 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Wed, 10 Feb 2016 00:20:39 +0000 (11:20 +1100)]
Merge remote-tracking branch 'hid/for-next'

8 years agoMerge remote-tracking branch 'pci/next'
Stephen Rothwell [Wed, 10 Feb 2016 00:16:02 +0000 (11:16 +1100)]
Merge remote-tracking branch 'pci/next'

8 years agoMerge remote-tracking branch 'vfs/for-next'
Stephen Rothwell [Wed, 10 Feb 2016 00:15:49 +0000 (11:15 +1100)]
Merge remote-tracking branch 'vfs/for-next'

8 years agoMerge remote-tracking branch 'xfs/for-next'
Stephen Rothwell [Wed, 10 Feb 2016 00:06:27 +0000 (11:06 +1100)]
Merge remote-tracking branch 'xfs/for-next'

8 years agoMerge remote-tracking branch 'orangefs/for-next'
Stephen Rothwell [Wed, 10 Feb 2016 00:04:53 +0000 (11:04 +1100)]
Merge remote-tracking branch 'orangefs/for-next'

8 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Wed, 10 Feb 2016 00:03:23 +0000 (11:03 +1100)]
Merge remote-tracking branch 'nfsd/nfsd-next'

8 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Wed, 10 Feb 2016 00:01:15 +0000 (11:01 +1100)]
Merge remote-tracking branch 'nfs/linux-next'

8 years agoMerge remote-tracking branch 'gfs2/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:59:47 +0000 (10:59 +1100)]
Merge remote-tracking branch 'gfs2/for-next'

8 years agoMerge remote-tracking branch 'fscache/fscache'
Stephen Rothwell [Tue, 9 Feb 2016 23:59:33 +0000 (10:59 +1100)]
Merge remote-tracking branch 'fscache/fscache'

8 years agoMerge remote-tracking branch 'f2fs/dev'
Stephen Rothwell [Tue, 9 Feb 2016 23:58:09 +0000 (10:58 +1100)]
Merge remote-tracking branch 'f2fs/dev'

8 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Tue, 9 Feb 2016 23:56:38 +0000 (10:56 +1100)]
Merge remote-tracking branch 'ext4/dev'

8 years agoMerge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Tue, 9 Feb 2016 23:46:36 +0000 (10:46 +1100)]
Merge remote-tracking branch 'ext3/for_next'

8 years agoMerge remote-tracking branch 'ecryptfs/next'
Stephen Rothwell [Tue, 9 Feb 2016 23:45:08 +0000 (10:45 +1100)]
Merge remote-tracking branch 'ecryptfs/next'

8 years agoMerge remote-tracking branch 'ceph/master'
Stephen Rothwell [Tue, 9 Feb 2016 23:45:03 +0000 (10:45 +1100)]
Merge remote-tracking branch 'ceph/master'

8 years agoMerge remote-tracking branch 'btrfs-kdave/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:43:34 +0000 (10:43 +1100)]
Merge remote-tracking branch 'btrfs-kdave/for-next'

8 years agoMerge remote-tracking branch 'xtensa/for_next'
Stephen Rothwell [Tue, 9 Feb 2016 23:42:04 +0000 (10:42 +1100)]
Merge remote-tracking branch 'xtensa/for_next'

8 years agoMerge remote-tracking branch 'uml/linux-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:40:38 +0000 (10:40 +1100)]
Merge remote-tracking branch 'uml/linux-next'

8 years agoMerge remote-tracking branch 'tile/master'
Stephen Rothwell [Tue, 9 Feb 2016 23:39:14 +0000 (10:39 +1100)]
Merge remote-tracking branch 'tile/master'

8 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Tue, 9 Feb 2016 23:37:49 +0000 (10:37 +1100)]
Merge remote-tracking branch 's390/features'

8 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:36:18 +0000 (10:36 +1100)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

8 years agoMerge remote-tracking branch 'microblaze/next'
Stephen Rothwell [Tue, 9 Feb 2016 23:34:52 +0000 (10:34 +1100)]
Merge remote-tracking branch 'microblaze/next'

8 years agoMerge remote-tracking branch 'metag/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:33:26 +0000 (10:33 +1100)]
Merge remote-tracking branch 'metag/for-next'

8 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:32:03 +0000 (10:32 +1100)]
Merge remote-tracking branch 'm68knommu/for-next'

8 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:30:39 +0000 (10:30 +1100)]
Merge remote-tracking branch 'm68k/for-next'

8 years agoMerge remote-tracking branch 'h8300/h8300-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:29:12 +0000 (10:29 +1100)]
Merge remote-tracking branch 'h8300/h8300-next'

8 years agoMerge remote-tracking branch 'arm64/for-next/core'
Stephen Rothwell [Tue, 9 Feb 2016 23:19:38 +0000 (10:19 +1100)]
Merge remote-tracking branch 'arm64/for-next/core'

8 years agoMerge remote-tracking branch 'tegra/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:18:15 +0000 (10:18 +1100)]
Merge remote-tracking branch 'tegra/for-next'

8 years agoMerge remote-tracking branch 'sunxi/sunxi/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:16:51 +0000 (10:16 +1100)]
Merge remote-tracking branch 'sunxi/sunxi/for-next'

8 years agoMerge remote-tracking branch 'samsung-krzk/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:15:26 +0000 (10:15 +1100)]
Merge remote-tracking branch 'samsung-krzk/for-next'

8 years agoMerge remote-tracking branch 'rockchip/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:14:00 +0000 (10:14 +1100)]
Merge remote-tracking branch 'rockchip/for-next'

8 years agoMerge remote-tracking branch 'renesas/next'
Stephen Rothwell [Tue, 9 Feb 2016 23:12:27 +0000 (10:12 +1100)]
Merge remote-tracking branch 'renesas/next'

8 years agoMerge remote-tracking branch 'qcom/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:10:59 +0000 (10:10 +1100)]
Merge remote-tracking branch 'qcom/for-next'

8 years agoMerge remote-tracking branch 'omap-pending/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:10:55 +0000 (10:10 +1100)]
Merge remote-tracking branch 'omap-pending/for-next'

8 years agoMerge remote-tracking branch 'omap/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:09:13 +0000 (10:09 +1100)]
Merge remote-tracking branch 'omap/for-next'

8 years agoMerge remote-tracking branch 'mvebu/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:07:42 +0000 (10:07 +1100)]
Merge remote-tracking branch 'mvebu/for-next'

8 years agoMerge remote-tracking branch 'keystone/next'
Stephen Rothwell [Tue, 9 Feb 2016 23:06:19 +0000 (10:06 +1100)]
Merge remote-tracking branch 'keystone/next'

8 years agoMerge remote-tracking branch 'imx-mxs/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:04:55 +0000 (10:04 +1100)]
Merge remote-tracking branch 'imx-mxs/for-next'

8 years agoMerge remote-tracking branch 'berlin/berlin/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:04:44 +0000 (10:04 +1100)]
Merge remote-tracking branch 'berlin/berlin/for-next'

8 years agoMerge remote-tracking branch 'bcm2835-dt/bcm2835-dt-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:03:21 +0000 (10:03 +1100)]
Merge remote-tracking branch 'bcm2835-dt/bcm2835-dt-next'

8 years agoMerge remote-tracking branch 'at91/at91-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:03:18 +0000 (10:03 +1100)]
Merge remote-tracking branch 'at91/at91-next'

8 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 23:01:55 +0000 (10:01 +1100)]
Merge remote-tracking branch 'arm-soc/for-next'

8 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 22:59:28 +0000 (09:59 +1100)]
Merge remote-tracking branch 'arm/for-next'

8 years agoMerge remote-tracking branch 'arc/for-next'
Stephen Rothwell [Tue, 9 Feb 2016 22:58:03 +0000 (09:58 +1100)]
Merge remote-tracking branch 'arc/for-next'

8 years agoMerge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'
Stephen Rothwell [Tue, 9 Feb 2016 22:47:08 +0000 (09:47 +1100)]
Merge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'

8 years agoMerge remote-tracking branch 'rr-fixes/fixes'
Stephen Rothwell [Tue, 9 Feb 2016 22:47:04 +0000 (09:47 +1100)]
Merge remote-tracking branch 'rr-fixes/fixes'

8 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:59 +0000 (09:46 +1100)]
Merge remote-tracking branch 'input-current/for-linus'

8 years agoMerge remote-tracking branch 'char-misc.current/char-misc-linus'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:58 +0000 (09:46 +1100)]
Merge remote-tracking branch 'char-misc.current/char-misc-linus'

8 years agoMerge remote-tracking branch 'tty.current/tty-linus'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:56 +0000 (09:46 +1100)]
Merge remote-tracking branch 'tty.current/tty-linus'

8 years agoMerge remote-tracking branch 'driver-core.current/driver-core-linus'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:55 +0000 (09:46 +1100)]
Merge remote-tracking branch 'driver-core.current/driver-core-linus'

8 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:54 +0000 (09:46 +1100)]
Merge remote-tracking branch 'pci-current/for-linus'

8 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:53 +0000 (09:46 +1100)]
Merge remote-tracking branch 'sound-current/for-linus'

8 years agoMerge remote-tracking branch 'mac80211/master'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:52 +0000 (09:46 +1100)]
Merge remote-tracking branch 'mac80211/master'

8 years agoMerge remote-tracking branch 'wireless-drivers/master'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:51 +0000 (09:46 +1100)]
Merge remote-tracking branch 'wireless-drivers/master'

8 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:48 +0000 (09:46 +1100)]
Merge remote-tracking branch 'net/master'

8 years agoMerge remote-tracking branch 'sparc/master'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:47 +0000 (09:46 +1100)]
Merge remote-tracking branch 'sparc/master'

8 years agoMerge remote-tracking branch 'powerpc-fixes/fixes'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:45 +0000 (09:46 +1100)]
Merge remote-tracking branch 'powerpc-fixes/fixes'

8 years agoMerge remote-tracking branch 'm68k-current/for-linus'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:40 +0000 (09:46 +1100)]
Merge remote-tracking branch 'm68k-current/for-linus'

8 years agoMerge remote-tracking branch 'arm-current/fixes'
Stephen Rothwell [Tue, 9 Feb 2016 22:46:40 +0000 (09:46 +1100)]
Merge remote-tracking branch 'arm-current/fixes'

8 years agothermal: allow u8500-thermal driver to be a module
Arnd Bergmann [Mon, 25 Jan 2016 16:44:12 +0000 (17:44 +0100)]
thermal: allow u8500-thermal driver to be a module

When the thermal subsystem is a loadable module, the u8500 driver
fails to build:

drivers/thermal/built-in.o: In function `db8500_thermal_probe':
db8500_thermal.c:(.text+0x96c): undefined reference to `thermal_zone_device_register'
drivers/thermal/built-in.o: In function `db8500_thermal_work':
db8500_thermal.c:(.text+0xab4): undefined reference to `thermal_zone_device_update'

This changes the symbol to a tristate, so Kconfig can track the
dependency correctly.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
8 years agothermal: allow spear-thermal driver to be a module
Arnd Bergmann [Mon, 25 Jan 2016 16:44:11 +0000 (17:44 +0100)]
thermal: allow spear-thermal driver to be a module

When the thermal subsystem is a loadable module, the spear driver
fails to build:

drivers/thermal/built-in.o: In function `spear_thermal_exit':
spear_thermal.c:(.text+0xf8): undefined reference to `thermal_zone_device_unregister'
drivers/thermal/built-in.o: In function `spear_thermal_probe':
spear_thermal.c:(.text+0x230): undefined reference to `thermal_zone_device_register'

This changes the symbol to a tristate, so Kconfig can track the
dependency correctly.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
8 years agothermal: spear: use __maybe_unused for PM functions
Arnd Bergmann [Mon, 25 Jan 2016 16:44:10 +0000 (17:44 +0100)]
thermal: spear: use __maybe_unused for PM functions

The spear thermal driver hides its suspend/resume function conditionally
based on CONFIG_PM, but references them based on CONFIG_PM_SLEEP, so
we get a warning if the former is set but the latter is not:

thermal/spear_thermal.c:58:12: warning: 'spear_thermal_suspend' defined but not used [-Wunused-function]
thermal/spear_thermal.c:75:12: warning: 'spear_thermal_resume' defined but not used [-Wunused-function]

This removes the #ifdef and instead uses a __maybe_uninitialized
annotation to avoid the warning and improve compile-time coverage.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
8 years agoMerge branch 'topic/core-fixes' into for-linus
Takashi Iwai [Tue, 9 Feb 2016 22:08:37 +0000 (23:08 +0100)]
Merge branch 'topic/core-fixes' into for-linus

8 years agothermal: rcar: enable to use thermal-zone on DT
Kuninori Morimoto [Thu, 28 Jan 2016 02:45:08 +0000 (02:45 +0000)]
thermal: rcar: enable to use thermal-zone on DT

This patch enables to use thermal-zone on DT if it was calles as
"renesas,rcar-thermal-gen2".
Previous style (= non thermal-zone) is still supported by
"renesas,rcar-thermal" to keep compatibility for "git bisect".

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
8 years agothermal: of: use for_each_available_child_of_node for child iterator
Laxman Dewangan [Mon, 8 Feb 2016 13:28:34 +0000 (18:58 +0530)]
thermal: of: use for_each_available_child_of_node for child iterator

Use for_each_available_child_of_node() for iterating over each
available child instead of iterating over each child and then
checking their status.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
8 years agoMerge branch 'pm-cpufreq' into linux-next
Rafael J. Wysocki [Tue, 9 Feb 2016 20:35:46 +0000 (21:35 +0100)]
Merge branch 'pm-cpufreq' into linux-next

* pm-cpufreq: (22 commits)
  cpufreq: governor: Drop pointless goto from cpufreq_governor_init()
  cpufreq: governor: Rename skip_work to work_count
  cpufreq: governor: Symmetrize cpu_dbs_info initialization and cleanup
  cpufreq: governor: Rearrange governor data structures
  cpufreq: governor: Simplify cpufreq_governor_limits()
  cpufreq: governor: Drop cpu argument from dbs_check_cpu()
  cpufreq: governor: Rename cpu_common_dbs_info to policy_dbs_info
  cpufreq: governor: Drop the gov pointer from struct dbs_data
  cpufreq: governor: Rework cpufreq_governor_dbs()
  cpufreq: governor: Rename some data types and variables
  cpufreq: governor: Put governor structure into common_dbs_data
  cpufreq: governor: Avoid passing dbs_data pointers around unnecessarily
  cpufreq: governor: Use common mutex for dbs_data protection
  cpufreq: governor: Replace timers with utilization update callbacks
  cpufreq: intel_pstate: Replace timers with utilization update callbacks
  cpufreq: Add a mechanism for registering utilization update callbacks
  cpufreq: powernv: Replace pr_info with trace print for throttle event
  cpufreq: powernv/tracing: Add powernv_throttle tracepoint
  cpufreq: powernv: Remove cpu_to_chip_id() from hot-path
  cpufreq: powernv: Hot-plug safe the kworker thread
  ...

8 years agocpufreq: governor: Drop pointless goto from cpufreq_governor_init()
Rafael J. Wysocki [Mon, 8 Feb 2016 22:57:22 +0000 (23:57 +0100)]
cpufreq: governor: Drop pointless goto from cpufreq_governor_init()

It is silly to jump around "return 0", so don't do that.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Rename skip_work to work_count
Rafael J. Wysocki [Mon, 8 Feb 2016 22:41:10 +0000 (23:41 +0100)]
cpufreq: governor: Rename skip_work to work_count

The skip_work field in struct policy_dbs_info technically is a
counter, so give it a new name to reflect that.

No functional changes.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Symmetrize cpu_dbs_info initialization and cleanup
Rafael J. Wysocki [Sun, 7 Feb 2016 15:25:02 +0000 (16:25 +0100)]
cpufreq: governor: Symmetrize cpu_dbs_info initialization and cleanup

Make the initialization of struct cpu_dbs_info objects in
alloc_policy_dbs_info() and the code that cleans them up in
free_policy_dbs_info() more symmetrical.  In particular,
set/clear the update_util.func field in those functions along
with the policy_dbs field.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Rearrange governor data structures
Rafael J. Wysocki [Sun, 7 Feb 2016 15:24:26 +0000 (16:24 +0100)]
cpufreq: governor: Rearrange governor data structures

The struct policy_dbs_info objects representing per-policy governor
data are not accessible directly from the corresponding policy
objects.  To access them, one has to get a pointer to the
struct cpu_dbs_info of policy->cpu and use the policy_dbs field of
that which isn't really straightforward.

To address that rearrange the governor data structures so the
governor_data pointer in struct cpufreq_policy will point to
struct policy_dbs_info (instead of struct dbs_data) and that will
contain a pointer to struct dbs_data.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Simplify cpufreq_governor_limits()
Rafael J. Wysocki [Sun, 7 Feb 2016 15:23:49 +0000 (16:23 +0100)]
cpufreq: governor: Simplify cpufreq_governor_limits()

Use the observation that cpufreq_governor_limits() doesn't have to
get to the policy object it wants to manipulate by walking the
reference chain cdbs->policy_dbs->policy, as the final pointer is
actually equal to its argument, and make it access the policy
object directy via its argument.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Drop cpu argument from dbs_check_cpu()
Rafael J. Wysocki [Sat, 6 Feb 2016 12:50:24 +0000 (13:50 +0100)]
cpufreq: governor: Drop cpu argument from dbs_check_cpu()

Since policy->cpu is always passed as the second argument to
dbs_check_cpu(), it is not really necessary to pass it, because
the function can obtain that value via its first argument just fine.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Rename cpu_common_dbs_info to policy_dbs_info
Rafael J. Wysocki [Sun, 7 Feb 2016 15:11:15 +0000 (16:11 +0100)]
cpufreq: governor: Rename cpu_common_dbs_info to policy_dbs_info

The struct cpu_common_dbs_info structure represents the per-policy
part of the governor data (for the ondemand and conservative
governors), but its name doesn't reflect its purpose.

Rename it to struct policy_dbs_info and rename variables related to
it accordingly.

No functional changes.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Drop the gov pointer from struct dbs_data
Rafael J. Wysocki [Sun, 7 Feb 2016 15:09:51 +0000 (16:09 +0100)]
cpufreq: governor: Drop the gov pointer from struct dbs_data

Since it is possible to obtain a pointer to struct dbs_governor
from a pointer to the struct governor embedded in it with the help
of container_of(), the additional gov pointer in struct dbs_data
isn't really necessary.

Drop that pointer and make the code using it reach the dbs_governor
object via policy->governor.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Rework cpufreq_governor_dbs()
Rafael J. Wysocki [Sun, 7 Feb 2016 15:07:51 +0000 (16:07 +0100)]
cpufreq: governor: Rework cpufreq_governor_dbs()

Since it is possible to obtain a pointer to struct dbs_governor
from a pointer to the struct governor embedded in it via
container_of(), the second argument of cpufreq_governor_init()
is not necessary.  Accordingly, cpufreq_governor_dbs() doesn't
need its second argument either and the ->governor callbacks
for both the ondemand and conservative governors may be set
to cpufreq_governor_dbs() directly.  Make that happen.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Saravana Kannan <skannan@codeaurora.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Rename some data types and variables
Rafael J. Wysocki [Sun, 7 Feb 2016 15:05:07 +0000 (16:05 +0100)]
cpufreq: governor: Rename some data types and variables

The ondemand and conservative governors are represented by
struct common_dbs_data whose name doesn't reflect the purpose it
is used for, so rename it to struct dbs_governor and rename
variables of that type accordingly.

No functional changes.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Put governor structure into common_dbs_data
Rafael J. Wysocki [Fri, 5 Feb 2016 02:16:08 +0000 (03:16 +0100)]
cpufreq: governor: Put governor structure into common_dbs_data

For the ondemand and conservative governors (generally, governors
that use the common code in cpufreq_governor.c), there are two static
data structures representing the governor, the struct governor
structure (the interface to the cpufreq core) and the struct
common_dbs_data one (the interface to the cpufreq_governor.c code).

There's no fundamental reason why those two structures have to be
separate.  Moreover, if the struct governor one is included into
struct common_dbs_data, it will be possible to reach the latter from
the policy via its policy->governor pointer, so it won't be necessary
to pass a separate pointer to it around.  For this reason, embed
struct governor in struct common_dbs_data.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Saravana Kannan <skannan@codeaurora.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Avoid passing dbs_data pointers around unnecessarily
Rafael J. Wysocki [Fri, 5 Feb 2016 02:15:24 +0000 (03:15 +0100)]
cpufreq: governor: Avoid passing dbs_data pointers around unnecessarily

Do not pass struct dbs_data pointers to the family of functions
implementing governor operations in cpufreq_governor.c as they can
take that pointer from policy->governor by themselves.

The cpufreq_governor_init() case is slightly more complicated, since
policy->governor may be NULL when it is invoked, but then it can reach
the pointer in question via its cdata argument just fine.

While at it, rework cpufreq_governor_dbs() to avoid a pointless
policy_governor check in the CPUFREQ_GOV_POLICY_INIT case.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Use common mutex for dbs_data protection
Rafael J. Wysocki [Sun, 7 Feb 2016 15:01:31 +0000 (16:01 +0100)]
cpufreq: governor: Use common mutex for dbs_data protection

Every governor relying on the common code in cpufreq_governor.c
has to provide its own mutex in struct common_dbs_data.  However,
there actually is no need to have a separate mutex per governor
for this purpose, they may be using the same global mutex just
fine.  Accordingly, introduce a single common mutex for that and
drop the mutex field from struct common_dbs_data.

That at least will ensure that the mutex is always present and
initialized regardless of what the particular governors do.

Another benefit is that the common code does not need a pointer to
a governor-related structure to get to the mutex which sometimes
helps.

Finally, it makes the code generally easier to follow.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Saravana Kannan <skannan@codeaurora.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
8 years agocpufreq: governor: Replace timers with utilization update callbacks
Rafael J. Wysocki [Sun, 7 Feb 2016 14:50:31 +0000 (15:50 +0100)]
cpufreq: governor: Replace timers with utilization update callbacks

Instead of using a per-CPU deferrable timer for queuing up governor
work items, register a utilization update callback that will be
invoked from the scheduler on utilization changes.

The sampling rate is still the same as what was used for the
deferrable timers and the added irq_work overhead should be offset by
the eliminated timers overhead, so in theory the functional impact of
this patch should not be significant.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Tested-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
8 years agocpufreq: intel_pstate: Replace timers with utilization update callbacks
Rafael J. Wysocki [Fri, 5 Feb 2016 00:45:30 +0000 (01:45 +0100)]
cpufreq: intel_pstate: Replace timers with utilization update callbacks

Instead of using a per-CPU deferrable timer for utilization sampling
and P-states adjustments, register a utilization update callback that
will be invoked from the scheduler on utilization changes.

The sampling rate is still the same as what was used for the deferrable
timers, so the functional impact of this patch should not be significant.

Based on an earlier patch from Srinivas Pandruvada.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
8 years agocpufreq: Add a mechanism for registering utilization update callbacks
Rafael J. Wysocki [Fri, 29 Jan 2016 22:53:50 +0000 (23:53 +0100)]
cpufreq: Add a mechanism for registering utilization update callbacks

Introduce a mechanism by which parts of the cpufreq subsystem
("setpolicy" drivers or the core) can register callbacks to be
executed from cpufreq_update_util() which is invoked by the
scheduler's update_load_avg() on CPU utilization changes.

This allows the "setpolicy" drivers to dispense with their timers
and do all of the computations they need and frequency/voltage
adjustments in the update_load_avg() code path, among other things.

The scheduler changes were suggested by Peter Zijlstra.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Tested-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
8 years agoMerge branches 'heads/arm64-dt-for-v4.6', 'heads/defconfig-for-v4.6', 'heads/dt-for...
Simon Horman [Tue, 9 Feb 2016 20:20:08 +0000 (21:20 +0100)]
Merge branches 'heads/arm64-dt-for-v4.6', 'heads/defconfig-for-v4.6', 'heads/dt-for-v4.6' and 'heads/soc-for-v4.6' into next

8 years agoARM: shmobile: emev2: Move declaration of emev2_smp_ops to emev2.h
Geert Uytterhoeven [Thu, 28 Jan 2016 15:20:49 +0000 (16:20 +0100)]
ARM: shmobile: emev2: Move declaration of emev2_smp_ops to emev2.h

make C=1:

    arch/arm/mach-shmobile/smp-emev2.c:51:29: warning: symbol 'emev2_smp_ops' was not declared. Should it be static?

To fix this, move the forward declaration of emev2_smp_ops to a header
file, and include it where appropriate.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
8 years agoARM: shmobile: emev2: Remove legacy machine_desc.map_io() callback
Geert Uytterhoeven [Thu, 28 Jan 2016 15:17:26 +0000 (16:17 +0100)]
ARM: shmobile: emev2: Remove legacy machine_desc.map_io() callback

Commit FIXME ("ARM: shmobile: Consolidate SCU mapping code") removed the
last user of the static mapping on emev2-based systems.  Remove the
mapping and the legacy machine_desc.map_io() callback.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
8 years agoARM: shmobile: r8a7740: Remove legacy machine_desc.map_io() callback
Geert Uytterhoeven [Thu, 28 Jan 2016 15:17:25 +0000 (16:17 +0100)]
ARM: shmobile: r8a7740: Remove legacy machine_desc.map_io() callback

Commit 37201ba5c99d0be8 ("ARM: shmobile: r8a7740: Migrate to generic l2c
OF initialization") removed the last user of the legacy "IOMEM()" macro
on r8a7740-based systems. Hence there's no longer a need to set up a
transparent mapping of system I/O registers. Remove the mapping and the
legacy machine_desc.map_io() callback.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
8 years agoARM: shmobile: Consolidate SCU mapping code
Geert Uytterhoeven [Thu, 28 Jan 2016 15:13:32 +0000 (16:13 +0100)]
ARM: shmobile: Consolidate SCU mapping code

Currently the SCU registers are mapped in SoC-specific code, using
different methods, all involving the static mapping set up from
machine_desc.map_io():
  - On emev2, a static (non-identity) mapping is used, with ioremap().
    As the static mapping uses the MT_DEVICE type, ioremap() reuses it,
    and the returned virtual address is suitable for passing to
    shmobile_smp_hook(),
  - On sh73a0 and r8a7779, a static identity mapping is used, with the
    legacy IOMEM() macro.
    As the static mapping uses the MT_DEVICE_NONSHARED type, replacing
    IOMEM() by ioremap() would create a new mapping, whose virtual
    address cannot be passed to shmobile_smp_hook().

Move the mapping of the SCU registers from SoC-specific code to common
code, always using ioremap(). To work in the absence of a static
mapping, this requires passing the physical SCU base address to
shmobile_smp_hook().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
8 years agoARM: shmobile: Move shmobile_scu_base from .text to .data
Geert Uytterhoeven [Thu, 28 Jan 2016 15:04:21 +0000 (16:04 +0100)]
ARM: shmobile: Move shmobile_scu_base from .text to .data

shmobile_scu_base is being written to, so it doesn't belong in the .text
section. Fix this by moving it from asm .text to C .data, as it's no
longer used from asm code since commit 4f6da36f7edd5790 ("ARM: shmobile:
Remove old SCU boot code").

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
8 years agoARM: shmobile: r8a7740: Remove mapping of L2 cache controller registers
Geert Uytterhoeven [Mon, 23 Nov 2015 13:56:02 +0000 (14:56 +0100)]
ARM: shmobile: r8a7740: Remove mapping of L2 cache controller registers

Now all r8a7740-based platforms have been migrated to the generic l2c OF
initialization, it's no longer needed to map the L2 cache controller
registers from .map_io().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
8 years agoARM: shmobile: r8a7740: Migrate to generic l2c OF initialization
Geert Uytterhoeven [Mon, 23 Nov 2015 13:56:01 +0000 (14:56 +0100)]
ARM: shmobile: r8a7740: Migrate to generic l2c OF initialization

Migrate the generic r8a7740 platform from calling l2x0_of_init() to the
generic l2c OF initialization.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
8 years agoMerge branches 'pci/host-designware', 'pci/host-imx6', 'pci/host-layerscape' and...
Bjorn Helgaas [Tue, 9 Feb 2016 18:54:03 +0000 (12:54 -0600)]
Merge branches 'pci/host-designware', 'pci/host-imx6', 'pci/host-layerscape' and 'pci/host-rcar' into next

* pci/host-designware:
  PCI: designware: Remove PCI_PROBE_ONLY handling
  PCI: designware: Explain why we don't program ATU for some platforms

* pci/host-imx6:
  PCI: imx6: Move link up check into imx6_pcie_wait_for_link()
  PCI: imx6: Remove broken Gen2 workaround
  PCI: imx6: Move PHY reset into imx6_pcie_establish_link()
  PCI: imx6: Move imx6_pcie_reset_phy() near other PHY handling functions

* pci/host-layerscape:
  PCI: layerscape: Add "fsl,ls2085a-pcie" compatible ID

* pci/host-rcar:
  PCI: rcar: Remove PCI_PROBE_ONLY handling