<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/clk/clk-gate.c, branch linux-4.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-07-28T18:59:28Z</updated>
<entry>
<title>clk: basic-type: Silence warnings about lock imbalances</title>
<updated>2015-07-28T18:59:28Z</updated>
<author>
<name>Stephen Boyd</name>
</author>
<published>2015-07-24T19:21:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=661e2180cf050a2f859d466f30d74e990b9345be'/>
<id>urn:sha1:661e2180cf050a2f859d466f30d74e990b9345be</id>
<content type='text'>
The basic clock types use conditional locking for the register
accessor spinlocks. Add __acquire() and __release() markings in
the right locations so that sparse isn't tripped up on the
conditional locking.

drivers/clk/clk-mux.c:68:12: warning: context imbalance in 'clk_mux_set_parent' - different lock contexts for basic block
drivers/clk/clk-divider.c:379:12: warning: context imbalance in 'clk_divider_set_rate' - different lock contexts for basic block
drivers/clk/clk-gate.c:71:9: warning: context imbalance in 'clk_gate_endisable' - different lock contexts for basic block
drivers/clk/clk-fractional-divider.c:36:9: warning: context imbalance in 'clk_fd_recalc_rate' - different lock contexts for basic block
drivers/clk/clk-fractional-divider.c:68:12: warning: context imbalance in 'clk_fd_set_rate' - different lock contexts for basic block

Cc: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>clk: basic-types: Remove useless allocation failure printks</title>
<updated>2015-05-14T23:51:50Z</updated>
<author>
<name>Stephen Boyd</name>
</author>
<published>2015-05-14T23:47:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d122db7e86669244759226bfdd2b9d623d5c6ae8'/>
<id>urn:sha1:d122db7e86669244759226bfdd2b9d623d5c6ae8</id>
<content type='text'>
Printing an error on kmalloc() failures is unnecessary. Remove
the print and use *ptr in sizeof() for future-proof code.

Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>clk-gate: fix bit # check in clk_register_gate()</title>
<updated>2015-01-20T18:09:05Z</updated>
<author>
<name>Sergei Shtylyov</name>
</author>
<published>2014-12-24T14:43:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e9dcdae4068460c45a308dd891be5248260251c'/>
<id>urn:sha1:2e9dcdae4068460c45a308dd891be5248260251c</id>
<content type='text'>
In case CLK_GATE_HIWORD_MASK flag is passed to clk_register_gate(), the bit #
should be no higher than 15, however the corresponding check is obviously off-
by-one.

Fixes: 045779942c04 ("clk: gate: add CLK_GATE_HIWORD_MASK")
Signed-off-by: Sergei Shtylyov &lt;sergei.shtylyov@cogentembedded.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: Add clk_unregister_{divider, gate, mux} to close memory leak</title>
<updated>2015-01-17T21:52:41Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
</author>
<published>2015-01-05T09:52:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4e3c021fb995bcbb5d1f814d00584cb80eb904a8'/>
<id>urn:sha1:4e3c021fb995bcbb5d1f814d00584cb80eb904a8</id>
<content type='text'>
The common clk_register_{divider,gate,mux} functions allocated memory
for internal data which wasn't freed anywhere. Drivers using these
helpers could only unregister clocks but the memory would still leak.

Add corresponding unregister functions which will release all resources.

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Reviewed-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: use uninitialized_var instead setting 'flags' to 0 directly.</title>
<updated>2014-09-27T23:03:06Z</updated>
<author>
<name>Xiubo Li</name>
</author>
<published>2014-09-22T05:52:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7af472485733c19a52bba5d1a064f6d88c0d9880'/>
<id>urn:sha1:7af472485733c19a52bba5d1a064f6d88c0d9880</id>
<content type='text'>
Setting 'flags' to zero will be certainly a misleading way to avoid
warning of 'flags' may be used uninitialized. uninitialized_var is
a correct way because the warning is a false possitive.

Signed-off-by: Xiubo Li &lt;Li.Xiubo@freescale.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: wrap I/O access for improved portability</title>
<updated>2013-08-28T00:50:38Z</updated>
<author>
<name>Gerhard Sittig</name>
</author>
<published>2013-07-22T12:14:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aa514ce34b65e3dc01f95a0b470b39bbb7e09998'/>
<id>urn:sha1:aa514ce34b65e3dc01f95a0b470b39bbb7e09998</id>
<content type='text'>
the common clock drivers were motivated/initiated by ARM development
and apparently assume little endian peripherals

wrap register/peripherals access in the common code (div, gate, mux)
in preparation of adding COMMON_CLK support for other platforms

Signed-off-by: Gerhard Sittig &lt;gsi@denx.de&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: export fixed-factor, gate &amp; mux registration</title>
<updated>2013-08-16T19:08:54Z</updated>
<author>
<name>Mike Turquette</name>
</author>
<published>2013-08-16T02:06:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5cfe10bb00e1b8c0aaa3f0c796c643bb1af6db82'/>
<id>urn:sha1:5cfe10bb00e1b8c0aaa3f0c796c643bb1af6db82</id>
<content type='text'>
These registration calls may be used by loadable modules. Export them.

Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: gate: add CLK_GATE_HIWORD_MASK</title>
<updated>2013-06-16T03:23:53Z</updated>
<author>
<name>Haojian Zhuang</name>
</author>
<published>2013-06-08T14:47:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=045779942c04646a222289989e6a5b617dfdedf7'/>
<id>urn:sha1:045779942c04646a222289989e6a5b617dfdedf7</id>
<content type='text'>
In Rockchip Cortex-A9 based chips, they don't use paradigm of
reading-changing-writing the register contents.  Instead they
use a hiword mask to indicate the changed bits.

When b1 should be set as gate, it also needs to indicate the change
by setting hiword mask (b1 &lt;&lt; 16).

The patch adds gate flag for this usage.

Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Signed-off-by: Haojian Zhuang &lt;haojian.zhuang@linaro.org&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: Add CLK_IS_BASIC flag to identify basic clocks</title>
<updated>2012-07-11T22:36:43Z</updated>
<author>
<name>Rajendra Nayak</name>
</author>
<published>2012-06-01T08:32:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f7d8caadfd2813cbada82ce9041b13c38e8e5282'/>
<id>urn:sha1:f7d8caadfd2813cbada82ce9041b13c38e8e5282</id>
<content type='text'>
Most platforms end up using a mix of basic clock types and
some which use clk_hw_foo struct for filling in custom platform
information when the clocks don't fit into basic types supported.

In platform code, its useful to know if a clock is using a basic
type or clk_hw_foo, which helps platforms know if they can
safely use to_clk_hw_foo to derive the clk_hw_foo pointer from
clk_hw.

Mark all basic clocks with a CLK_IS_BASIC flag.

Signed-off-by: Rajendra Nayak &lt;rnayak@ti.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: Use a separate struct for holding init data.</title>
<updated>2012-05-02T01:13:20Z</updated>
<author>
<name>Saravana Kannan</name>
</author>
<published>2012-04-26T05:58:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0197b3ea0f66cd2a11417f58fe1812858ea77908'/>
<id>urn:sha1:0197b3ea0f66cd2a11417f58fe1812858ea77908</id>
<content type='text'>
Create a struct clk_init_data to hold all data that needs to be passed from
the platfrom specific driver to the common clock framework during clock
registration. Add a pointer to this struct inside clk_hw.

This has several advantages:
* Completely hides struct clk from many clock platform drivers and static
  clock initialization code that don't care for static initialization of
  the struct clks.
* For platforms that want to do complete static initialization, it removed
  the need to directly mess with the struct clk's fields while still
  allowing to statically allocate struct clk. This keeps the code more
  future proof even if they include clk-private.h.
* Simplifies the generic clk_register() function and allows adding optional
  fields in the future without modifying the function signature.
* Simplifies the static initialization of clocks on all platforms by
  removing the need for forward delcarations or convoluted macros.

Signed-off-by: Saravana Kannan &lt;skannan@codeaurora.org&gt;
[mturquette@linaro.org: kept DEFINE_CLK_* macros and __clk_init]
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Cc: Jeremy Kerr &lt;jeremy.kerr@canonical.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Arnd Bergman &lt;arnd.bergmann@linaro.org&gt;
Cc: Paul Walmsley &lt;paul@pwsan.com&gt;
Cc: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Cc: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Cc: Jamie Iles &lt;jamie@jamieiles.com&gt;
Cc: Richard Zhao &lt;richard.zhao@linaro.org&gt;
Cc: Saravana Kannan &lt;skannan@codeaurora.org&gt;
Cc: Magnus Damm &lt;magnus.damm@gmail.com&gt;
Cc: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Cc: Linus Walleij &lt;linus.walleij@stericsson.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Amit Kucheria &lt;amit.kucheria@linaro.org&gt;
Cc: Deepak Saxena &lt;dsaxena@linaro.org&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</content>
</entry>
</feed>
