<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/arch/arm/mach-omap2/powerdomain.c, branch v3.17-rc4</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v3.17-rc4</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v3.17-rc4'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2014-05-16T04:34:48+00:00</updated>
<entry>
<title>ARM: OMAP2+: PRCM: cleanup some header includes</title>
<updated>2014-05-16T04:34:48+00:00</updated>
<author>
<name>Tero Kristo</name>
<email>t-kristo@ti.com</email>
</author>
<published>2014-05-12T01:41:50+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=4794208c5b0122e51e3e13830bb707466b638c4c'/>
<id>urn:sha1:4794208c5b0122e51e3e13830bb707466b638c4c</id>
<content type='text'>
Some of the includes are totally unnecessary, remove some others in
preparation to make the PRCM its own driver.

Signed-off-by: Tero Kristo &lt;t-kristo@ti.com&gt;
[paul@pwsan.com: updated to apply; fixed build error on OMAP2xxx-only configs]
Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
</content>
</entry>
<entry>
<title>ARM: OMAP2+: Powerdomain: Fix unchecked dereference of arch_pwrdm</title>
<updated>2013-12-02T19:38:14+00:00</updated>
<author>
<name>Rajendra Nayak</name>
<email>rnayak@ti.com</email>
</author>
<published>2013-12-02T19:38:14+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=1cfc4bdd51970ac07c9eea545e65a3b16dc269b6'/>
<id>urn:sha1:1cfc4bdd51970ac07c9eea545e65a3b16dc269b6</id>
<content type='text'>
Commit 'cd8abed' "ARM: OMAP2+: Powerdomain: Remove the need to
always have a voltdm associated to a pwrdm" leads to the following
Smatch complaint:

arch/arm/mach-omap2/powerdomain.c:131 _pwrdm_register()
	 error: we previously assumed 'arch_pwrdm' could be null (see line 105)

So, fix the unchecked dereference of arch_pwrdm.

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Acked-by: Nishanth Menon &lt;nm@ti.com&gt;
Signed-off-by: Rajendra Nayak &lt;rnayak@ti.com&gt;
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
</entry>
<entry>
<title>ARM: OMAP2+: Powerdomain: Remove the need to always have a voltdm associated to a pwrdm</title>
<updated>2013-06-17T14:25:14+00:00</updated>
<author>
<name>Rajendra Nayak</name>
<email>rnayak@ti.com</email>
</author>
<published>2013-06-17T13:16:22+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=cd8abed1da91a3250aa4b3857479613a2b446f84'/>
<id>urn:sha1:cd8abed1da91a3250aa4b3857479613a2b446f84</id>
<content type='text'>
The powerdomain framework currently expects all powerdomains to be associated with
a corresponding voltagedomain. For some SoCs' (like the already existing AM33xx
family, or for the upcoming AM437x and DRA7 SoCs') which
do not have a Voltage controller/Voltage Processor (neither the SR I2C
bus to communicate with the PMIC) there is no need for a Powerdomain to have
a voltage domain association since there is no auto-scaling of voltages possible
using the voltage FSM.

Extend the arch operations to add an api which the powerdomain core can
then use to identify if a voltdm lookup and association for a powerdomain
is really needed.

Acked-by: Nishanth Menon &lt;nm@ti.com&gt;
Acked-by: Vaibhav Hiremath &lt;hvaibhav@ti.com&gt;
Signed-off-by: Rajendra Nayak &lt;rnayak@ti.com&gt;
Acked-by: Santosh Shilimkar &lt;santosh.shilimkar@ti.com&gt;
Tested-by: Afzal Mohammed &lt;afzal@ti.com&gt; # am335x evm
Signed-off-by: Kevin Hilman &lt;khilman@linaro.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm</title>
<updated>2013-05-03T16:13:19+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-05-03T16:13:19+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=8546dc1d4b671480961c3eaf4c0c102ae6848340'/>
<id>urn:sha1:8546dc1d4b671480961c3eaf4c0c102ae6848340</id>
<content type='text'>
Pull ARM updates from Russell King:
 "The major items included in here are:

   - MCPM, multi-cluster power management, part of the infrastructure
     required for ARMs big.LITTLE support.

   - A rework of the ARM KVM code to allow re-use by ARM64.

   - Error handling cleanups of the IS_ERR_OR_NULL() madness and fixes
     of that stuff for arch/arm

   - Preparatory patches for Cortex-M3 support from Uwe Kleine-König.

  There is also a set of three patches in here from Hugh/Catalin to
  address freeing of inappropriate page tables on LPAE.  You already
  have these from akpm, but they were already part of my tree at the
  time he sent them, so unfortunately they'll end up with duplicate
  commits"

* 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (77 commits)
  ARM: EXYNOS: remove unnecessary use of IS_ERR_VALUE()
  ARM: IMX: remove unnecessary use of IS_ERR_VALUE()
  ARM: OMAP: use consistent error checking
  ARM: cleanup: OMAP hwmod error checking
  ARM: 7709/1: mcpm: Add explicit AFLAGS to support v6/v7 multiplatform kernels
  ARM: 7700/2: Make cpu_init() notrace
  ARM: 7702/1: Set the page table freeing ceiling to TASK_SIZE
  ARM: 7701/1: mm: Allow arch code to control the user page table ceiling
  ARM: 7703/1: Disable preemption in broadcast_tlb*_a15_erratum()
  ARM: mcpm: provide an interface to set the SMP ops at run time
  ARM: mcpm: generic SMP secondary bringup and hotplug support
  ARM: mcpm_head.S: vlock-based first man election
  ARM: mcpm: Add baremetal voting mutexes
  ARM: mcpm: introduce helpers for platform coherency exit/setup
  ARM: mcpm: introduce the CPU/cluster power API
  ARM: multi-cluster PM: secondary kernel entry code
  ARM: cacheflush: add synchronization helpers for mixed cache state accesses
  ARM: cpu hotplug: remove majority of cache flushing from platforms
  ARM: smp: flush L1 cache in cpu_die()
  ARM: tegra: remove tegra specific cpu_disable()
  ...
</content>
</entry>
<entry>
<title>Merge branch 'cleanup' into for-linus</title>
<updated>2013-05-02T20:31:29+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2013-05-02T20:31:29+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=33b9f582c5c1db515412cc7efff28f7d1779321f'/>
<id>urn:sha1:33b9f582c5c1db515412cc7efff28f7d1779321f</id>
<content type='text'>
Conflicts:
	arch/arm/plat-omap/dmtimer.c
</content>
</entry>
<entry>
<title>ARM: OMAP2+: powerdomain: avoid testing whether an unsigned char is less than 0</title>
<updated>2013-04-01T02:22:22+00:00</updated>
<author>
<name>Paul Walmsley</name>
<email>paul@pwsan.com</email>
</author>
<published>2013-04-01T02:22:22+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=bd70f6eb3e78b7c9c6bec2cf5be6423dd2b37f6f'/>
<id>urn:sha1:bd70f6eb3e78b7c9c6bec2cf5be6423dd2b37f6f</id>
<content type='text'>
_pwrdm_save_clkdm_state_and_activate() tried to test one of its
unsigned arguments to determine whether it was less than zero.  Fix by
moving the error test to the caller.

Reported-by: Chen Gang &lt;gang.chen@asianux.com&gt;
Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
</content>
</entry>
<entry>
<title>ARM: cleanup: pwrdm_can_ever_lose_context() checking</title>
<updated>2013-02-24T10:55:24+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2013-02-24T10:55:24+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=62f0f39b4aa2dce08f08797089e60d945448ca2b'/>
<id>urn:sha1:62f0f39b4aa2dce08f08797089e60d945448ca2b</id>
<content type='text'>
pwrdm_can_ever_lose_context() is only ever called from the OMAP GPIO
code, and only with a pointer returned from omap_hwmod_get_pwrdm().
omap_hwmod_get_pwrdm() only ever returns NULL on error, so using
IS_ERR_OR_NULL() to validate the passed pointer is silly.  Use a
simpler !ptr check instead.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: OMAP2+: powerdomain/clockdomain: add a per-powerdomain spinlock</title>
<updated>2013-01-29T21:59:57+00:00</updated>
<author>
<name>Paul Walmsley</name>
<email>paul@pwsan.com</email>
</author>
<published>2013-01-26T07:58:16+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=3a090284056954f382612da42ebe9f3147403ef5'/>
<id>urn:sha1:3a090284056954f382612da42ebe9f3147403ef5</id>
<content type='text'>
Add a per-powerdomain spinlock.  Use that instead of the clockdomain
spinlock.  Add pwrdm_lock()/pwrdm_unlock() functions to allow other
code to acquire or release the powerdomain spinlock without reaching
directly into the struct powerdomain.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Cc: Jean Pihet &lt;jean.pihet@newoldbits.com&gt;
</content>
</entry>
<entry>
<title>ARM: OMAP2+: PM/powerdomain: move omap_set_pwrdm_state() to powerdomain code</title>
<updated>2013-01-29T21:59:57+00:00</updated>
<author>
<name>Paul Walmsley</name>
<email>paul@pwsan.com</email>
</author>
<published>2013-01-29T20:45:09+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=c4978fba6b2d4e3a584d72c067a371871fecbedc'/>
<id>urn:sha1:c4978fba6b2d4e3a584d72c067a371871fecbedc</id>
<content type='text'>
Move omap_set_pwrdm_state() from the PM code to the powerdomain code,
and refactor it to split it up into several functions.  A subsequent patch
will rename it to conform with the existing powerdomain function names.

This version includes some additional documentation, based on a
suggestion from Jean Pihet.  It also modifies omap_set_pwrdm_state()
to not bail out early unless both the powerdomain current power state
and the next power state are equal.  (Previously it would terminate
early if the next power state was equal to the target power state,
which was insufficiently rigorous.)

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Cc: Jean Pihet &lt;jean.pihet@newoldbits.com&gt;
Cc: Kevin Hilman &lt;khilman@deeprootsystems.com&gt;
Cc: Tero Kristo &lt;t-kristo@ti.com&gt;
</content>
</entry>
<entry>
<title>ARM: OMAP2: PM/powerdomain: drop unnecessary pwrdm_wait_transition()</title>
<updated>2013-01-29T21:59:57+00:00</updated>
<author>
<name>Paul Walmsley</name>
<email>paul@pwsan.com</email>
</author>
<published>2013-01-26T07:58:15+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=f8457c2d8be94779c8c460060e536d3a2a02c8d8'/>
<id>urn:sha1:f8457c2d8be94779c8c460060e536d3a2a02c8d8</id>
<content type='text'>
Drop an unnecessary pwrdm_wait_transition() from mach-omap2/pm.c -
it's called by the subsequent pwrdm_state_switch().

Also get rid of pwrdm_wait_transition() in the powerdomain code - there's
no longer any need to export this function.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Cc: Kevin Hilman &lt;khilman@deeprootsystems.com&gt;
</content>
</entry>
</feed>
