Re: [PATCH 01/33] clk_ops: change round_rate() to return unsigned long

2018-01-03 Thread Mikko Perttunen
FWIW, we had this problem some years ago with the Tegra CPU clock - then 
it was determined that a simpler solution was to have the determine_rate 
callback support unsigned long rates - so clock drivers that need to 
return rates higher than 2^31 can instead implement the determine_rate 
callback. That is what's currently implemented.


Mikko

On 12/30/2017 03:12 AM, Bryan O'Donoghue wrote:

Right now it is not possible to return a value larger than LONG_MAX on 32
bit systems. You can pass a rate of ULONG_MAX but can't return anything
past LONG_MAX due to the fact both the rounded_rate and negative error
codes are represented in the return value of round_rate().

Most implementations either return zero on error or don't return error
codes at all. A minority of implementations do return a negative number -
typically -EINVAL or -ENODEV.

At the higher level then callers of round_rate() typically and rightly
check for a value of <= 0.

It is possible then to convert round_rate() to an unsigned long return
value and change error code indication for the minority from -ERRORCODE to
a simple 0.

This patch is the first step in making it possible to scale round_rate past
LONG_MAX, later patches will change the previously mentioned minority of
round_rate() implementations to return zero only on error if those
implementations currently return a negative error number. Implementations
that do not return an error code of < 0 will be left as-is.

Signed-off-by: Bryan O'Donoghue 
Cc: Michael Turquette 
Cc: Stephen Boyd 
Cc: linux-o...@vger.kernel.org
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-ker...@vger.kernel.org
Cc: linux-m...@linux-mips.org
Cc: linux-...@vger.kernel.org
Cc: linux-rpi-ker...@lists.infradead.org
Cc: patc...@opensource.cirrus.com
Cc: uclinux-h8-de...@lists.sourceforge.jp
Cc: linux-amlo...@lists.infradead.org
Cc: linux-arm-...@vger.kernel.org
Cc: linux-...@vger.kernel.org
Cc: linux-renesas-...@vger.kernel.org
Cc: linux-rockc...@lists.infradead.org
Cc: linux-samsung-...@vger.kernel.org
Cc: linux-te...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linux-media...@lists.infradead.org
Cc: freedr...@lists.freedesktop.org
Cc: linux-me...@vger.kernel.org
Cc: linux-...@vger.kernel.org
---
  arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c|  4 ++--
  arch/arm/mach-omap2/clock2xxx.h |  4 ++--
  arch/arm/mach-vexpress/spc.c|  4 ++--
  arch/mips/alchemy/common/clock.c|  2 +-
  drivers/clk/at91/clk-audio-pll.c| 10 ++
  drivers/clk/at91/clk-h32mx.c|  5 +++--
  drivers/clk/at91/clk-peripheral.c   |  6 +++---
  drivers/clk/at91/clk-pll.c  |  2 +-
  drivers/clk/at91/clk-plldiv.c   |  5 +++--
  drivers/clk/at91/clk-smd.c  |  5 +++--
  drivers/clk/at91/clk-usb.c  |  5 +++--
  drivers/clk/axs10x/i2s_pll_clock.c  |  4 ++--
  drivers/clk/axs10x/pll_clock.c  |  5 +++--
  drivers/clk/bcm/clk-bcm2835.c   | 11 ++-
  drivers/clk/bcm/clk-iproc-asiu.c|  5 +++--
  drivers/clk/bcm/clk-iproc-pll.c |  8 
  drivers/clk/clk-axi-clkgen.c|  5 +++--
  drivers/clk/clk-cdce706.c   | 15 +--
  drivers/clk/clk-cdce925.c   | 15 +--
  drivers/clk/clk-composite.c |  5 +++--
  drivers/clk/clk-cs2000-cp.c |  4 ++--
  drivers/clk/clk-divider.c   |  5 +++--
  drivers/clk/clk-fixed-factor.c  |  5 +++--
  drivers/clk/clk-fractional-divider.c|  4 ++--
  drivers/clk/clk-gemini.c|  5 +++--
  drivers/clk/clk-highbank.c  | 10 ++
  drivers/clk/clk-hsdk-pll.c  |  4 ++--
  drivers/clk/clk-multiplier.c|  5 +++--
  drivers/clk/clk-scpi.c  |  8 
  drivers/clk/clk-si514.c |  4 ++--
  drivers/clk/clk-si5351.c| 15 +--
  drivers/clk/clk-si570.c |  4 ++--
  drivers/clk/clk-stm32f4.c   | 15 +--
  drivers/clk/clk-u300.c  |  4 ++--
  drivers/clk/clk-versaclock5.c   | 12 ++--
  drivers/clk/clk-vt8500.c|  9 +
  drivers/clk/clk-wm831x.c|  5 +++--
  drivers/clk/clk-xgene.c |  9 +
  drivers/clk/h8300/clk-h8s2678.c |  4 ++--
  drivers/clk/hisilicon/clk-hi6220-stub.c |  5 +++--
  drivers/clk/hisilicon/clkdivider-hi6220.c   |  5 +++--
  drivers/clk/imx/clk-busy.c  |  5 +++--
  drivers/clk/imx/clk-cpu.c   |  4 

Re: [PATCH 01/33] clk_ops: change round_rate() to return unsigned long

2018-01-02 Thread Stephen Boyd
On 01/02, Bryan O'Donoghue wrote:
> On 02/01/18 19:01, Stephen Boyd wrote:
> >On 12/31, Bryan O'Donoghue wrote:
> >>On 30/12/17 16:36, Mikko Perttunen wrote:
> >>>FWIW, we had this problem some years ago with the Tegra CPU clock
> >>>- then it was determined that a simpler solution was to have the
> >>>determine_rate callback support unsigned long rates - so clock
> >>>drivers that need to return rates higher than 2^31 can instead
> >>>implement the determine_rate callback. That is what's currently
> >>>implemented.
> >>>
> >>>Mikko
> >>
> >>Granted we could work around it but, having both zero and less than
> >>zero indicate error means you can't support larger than LONG_MAX
> >>which is I think worth fixing.
> >>
> >
> >Ok. But can you implement the determine_rate op instead of the
> >round_rate op for your clk?
> 
> Don't know .

Please try.

> 
> >It's not a work-around, it's the
> >preferred solution. That would allow rates larger than 2^31 for
> >the clk without pushing through a change to all the drivers to
> >express zero as "error" and non-zero as the rounded rate.
> >
> >I'm not entirely opposed to this approach, because we probably
> >don't care to pass the particular error value from a clk provider
> >to a clk consumer about what the error is.
> 
> Which was my thought. The return value of clk_ops->round_rate()
> appears not to get pushed up the stack, which is what the last patch
> in this series deals with.
> 
> [PATCH 33/33] clk: change handling of round_rate() such that only
> zero is an error

Hmm? clk_core_determine_round_nolock() returns 'rate' if rate < 0
from the round_rate op. clk_core_round_rate_nolock() returns that
value to clk_round_rate() which returns it to the consumer.

> 
> >It's actually what we
> >proposed as the solution for clk_round_rate() to return values
> >larger than LONG_MAX to consumers. But doing that consumer API
> >change or this provider side change is going to require us to
> >evaluate all the consumers of these clks to make sure they don't
> >check for some error value that's less than zero. This series
> >does half the work,
> 
> Do you mean users of clk_rounda_rate() ? I have a set of patches for
> that but wanted to separate that from clk_ops->round_rate() so as
> not to send ~70 patches out to LKML at once - even if they are in
> two blocks.

Ok. What have you done to the consumers of clk_round_rate()?
Made them treat 0 as an error instead of less than zero? The
documentation in clk.h needs to be updated. See this patch from
Paul Wamsley[1] for one proposed patch that went nowhere. Also
include Russell King please. It was also proposed to change the
function signature of clk_round_rate() to return unsigned long,
but that didn't go anywhere either.

> 
> If so, I can publish that set too for reference.
> 
> AFAICT on clk_ops->round_rate the last patch #33 ought to cover the
> usage of the return value of clk_ops->round_rate().
> 
> Have I missed something ?

Hopefully not!

> 
> >by changing the provider side, while ignoring
> >the consumer side and any potential fallout of the less than zero
> >to zero return value change.
> >
> 
> Can you look at #33 ? I'm not sure if you saw that one.
> 

Yeah I looked at it. From what I can tell it makes
clk_round_rate() return 0 now instead of whatever negative value
the clk_ops::round_rate function returns.

[1] https://lkml.kernel.org/r/alpine.DEB.2.02.1311251603310.23090@tamien

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 01/33] clk_ops: change round_rate() to return unsigned long

2018-01-02 Thread Bryan O'Donoghue

On 02/01/18 19:01, Stephen Boyd wrote:

On 12/31, Bryan O'Donoghue wrote:

On 30/12/17 16:36, Mikko Perttunen wrote:

FWIW, we had this problem some years ago with the Tegra CPU clock
- then it was determined that a simpler solution was to have the
determine_rate callback support unsigned long rates - so clock
drivers that need to return rates higher than 2^31 can instead
implement the determine_rate callback. That is what's currently
implemented.

Mikko


Granted we could work around it but, having both zero and less than
zero indicate error means you can't support larger than LONG_MAX
which is I think worth fixing.



Ok. But can you implement the determine_rate op instead of the
round_rate op for your clk?


Don't know .


It's not a work-around, it's the
preferred solution. That would allow rates larger than 2^31 for
the clk without pushing through a change to all the drivers to
express zero as "error" and non-zero as the rounded rate.

I'm not entirely opposed to this approach, because we probably
don't care to pass the particular error value from a clk provider
to a clk consumer about what the error is.


Which was my thought. The return value of clk_ops->round_rate() appears 
not to get pushed up the stack, which is what the last patch in this 
series deals with.


[PATCH 33/33] clk: change handling of round_rate() such that only zero 
is an error



It's actually what we
proposed as the solution for clk_round_rate() to return values
larger than LONG_MAX to consumers. But doing that consumer API
change or this provider side change is going to require us to
evaluate all the consumers of these clks to make sure they don't
check for some error value that's less than zero. This series
does half the work,


Do you mean users of clk_rounda_rate() ? I have a set of patches for 
that but wanted to separate that from clk_ops->round_rate() so as not to 
send ~70 patches out to LKML at once - even if they are in two blocks.


If so, I can publish that set too for reference.

AFAICT on clk_ops->round_rate the last patch #33 ought to cover the 
usage of the return value of clk_ops->round_rate().


Have I missed something ?


by changing the provider side, while ignoring
the consumer side and any potential fallout of the less than zero
to zero return value change.



Can you look at #33 ? I'm not sure if you saw that one.


---
bod
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 01/33] clk_ops: change round_rate() to return unsigned long

2018-01-02 Thread Stephen Boyd
On 12/31, Bryan O'Donoghue wrote:
> On 30/12/17 16:36, Mikko Perttunen wrote:
> >FWIW, we had this problem some years ago with the Tegra CPU clock
> >- then it was determined that a simpler solution was to have the
> >determine_rate callback support unsigned long rates - so clock
> >drivers that need to return rates higher than 2^31 can instead
> >implement the determine_rate callback. That is what's currently
> >implemented.
> >
> >Mikko
> 
> Granted we could work around it but, having both zero and less than
> zero indicate error means you can't support larger than LONG_MAX
> which is I think worth fixing.
> 

Ok. But can you implement the determine_rate op instead of the
round_rate op for your clk? It's not a work-around, it's the
preferred solution. That would allow rates larger than 2^31 for
the clk without pushing through a change to all the drivers to
express zero as "error" and non-zero as the rounded rate.

I'm not entirely opposed to this approach, because we probably
don't care to pass the particular error value from a clk provider
to a clk consumer about what the error is. It's actually what we
proposed as the solution for clk_round_rate() to return values
larger than LONG_MAX to consumers. But doing that consumer API
change or this provider side change is going to require us to
evaluate all the consumers of these clks to make sure they don't
check for some error value that's less than zero. This series
does half the work, by changing the provider side, while ignoring
the consumer side and any potential fallout of the less than zero
to zero return value change.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 01/33] clk_ops: change round_rate() to return unsigned long

2018-01-01 Thread kbuild test robot
Hi Bryan,

I love your patch! Perhaps something to improve:

[auto build test WARNING on tegra/for-next]
[also build test WARNING on v4.15-rc6]
[cannot apply to clk/clk-next next-20171222]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Bryan-O-Donoghue/change-clk_ops-round_rate-to-scale-past-LONG_MAX/20180101-212907
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git for-next
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)


vim +321 drivers/clk/clk-versaclock5.c

8c1ebe97 Marek Vasut 2017-07-09  318  
8c1ebe97 Marek Vasut 2017-07-09  319  static const struct clk_ops vc5_dbl_ops = 
{
8c1ebe97 Marek Vasut 2017-07-09  320.recalc_rate= vc5_dbl_recalc_rate,
8c1ebe97 Marek Vasut 2017-07-09 @321.round_rate = vc5_dbl_round_rate,
8c1ebe97 Marek Vasut 2017-07-09  322.set_rate   = vc5_dbl_set_rate,
8c1ebe97 Marek Vasut 2017-07-09  323  };
8c1ebe97 Marek Vasut 2017-07-09  324  

:: The code at line 321 was first introduced by commit
:: 8c1ebe9762670159ca982167131af63c94ff1571 clk: vc5: Add support for the 
input frequency doubler

:: TO: Marek Vasut 
:: CC: Stephen Boyd 

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 01/33] clk_ops: change round_rate() to return unsigned long

2018-01-01 Thread kbuild test robot
Hi Bryan,

I love your patch! Perhaps something to improve:

[auto build test WARNING on tegra/for-next]
[also build test WARNING on v4.15-rc6]
[cannot apply to clk/clk-next next-20171222]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Bryan-O-Donoghue/change-clk_ops-round_rate-to-scale-past-LONG_MAX/20180101-212907
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git for-next
config: i386-randconfig-b0-01011934 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All warnings (new ones prefixed by >>):

>> drivers/clk/clk-versaclock5.c:321:2: warning: initialization from 
>> incompatible pointer type
 .round_rate = vc5_dbl_round_rate,
 ^
   drivers/clk/clk-versaclock5.c:321:2: warning: (near initialization for 
'vc5_dbl_ops.round_rate')

vim +321 drivers/clk/clk-versaclock5.c

8c1ebe97 Marek Vasut 2017-07-09  318  
8c1ebe97 Marek Vasut 2017-07-09  319  static const struct clk_ops vc5_dbl_ops = 
{
8c1ebe97 Marek Vasut 2017-07-09  320.recalc_rate= vc5_dbl_recalc_rate,
8c1ebe97 Marek Vasut 2017-07-09 @321.round_rate = vc5_dbl_round_rate,
8c1ebe97 Marek Vasut 2017-07-09  322.set_rate   = vc5_dbl_set_rate,
8c1ebe97 Marek Vasut 2017-07-09  323  };
8c1ebe97 Marek Vasut 2017-07-09  324  

:: The code at line 321 was first introduced by commit
:: 8c1ebe9762670159ca982167131af63c94ff1571 clk: vc5: Add support for the 
input frequency doubler

:: TO: Marek Vasut 
:: CC: Stephen Boyd 

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 01/33] clk_ops: change round_rate() to return unsigned long

2018-01-01 Thread kbuild test robot
Hi Bryan,

I love your patch! Yet something to improve:

[auto build test ERROR on tegra/for-next]
[also build test ERROR on v4.15-rc6]
[cannot apply to clk/clk-next next-20171222]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Bryan-O-Donoghue/change-clk_ops-round_rate-to-scale-past-LONG_MAX/20180101-212907
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git for-next
config: x86_64-randconfig-x016-201800 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All errors (new ones prefixed by >>):

>> drivers//clk/clk-versaclock5.c:321:16: error: initialization from 
>> incompatible pointer type [-Werror=incompatible-pointer-types]
 .round_rate = vc5_dbl_round_rate,
   ^~
   drivers//clk/clk-versaclock5.c:321:16: note: (near initialization for 
'vc5_dbl_ops.round_rate')
   cc1: some warnings being treated as errors

vim +321 drivers//clk/clk-versaclock5.c

8c1ebe97 Marek Vasut 2017-07-09  318  
8c1ebe97 Marek Vasut 2017-07-09  319  static const struct clk_ops vc5_dbl_ops = 
{
8c1ebe97 Marek Vasut 2017-07-09  320.recalc_rate= vc5_dbl_recalc_rate,
8c1ebe97 Marek Vasut 2017-07-09 @321.round_rate = vc5_dbl_round_rate,
8c1ebe97 Marek Vasut 2017-07-09  322.set_rate   = vc5_dbl_set_rate,
8c1ebe97 Marek Vasut 2017-07-09  323  };
8c1ebe97 Marek Vasut 2017-07-09  324  

:: The code at line 321 was first introduced by commit
:: 8c1ebe9762670159ca982167131af63c94ff1571 clk: vc5: Add support for the 
input frequency doubler

:: TO: Marek Vasut 
:: CC: Stephen Boyd 

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 01/33] clk_ops: change round_rate() to return unsigned long

2017-12-31 Thread Bryan O'Donoghue

On 30/12/17 16:36, Mikko Perttunen wrote:
FWIW, we had this problem some years ago with the Tegra CPU clock - then 
it was determined that a simpler solution was to have the determine_rate 
callback support unsigned long rates - so clock drivers that need to 
return rates higher than 2^31 can instead implement the determine_rate 
callback. That is what's currently implemented.


Mikko


Granted we could work around it but, having both zero and less than zero 
indicate error means you can't support larger than LONG_MAX which is I 
think worth fixing.


---
bod
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH 01/33] clk_ops: change round_rate() to return unsigned long

2017-12-29 Thread Bryan O'Donoghue
Right now it is not possible to return a value larger than LONG_MAX on 32
bit systems. You can pass a rate of ULONG_MAX but can't return anything
past LONG_MAX due to the fact both the rounded_rate and negative error
codes are represented in the return value of round_rate().

Most implementations either return zero on error or don't return error
codes at all. A minority of implementations do return a negative number -
typically -EINVAL or -ENODEV.

At the higher level then callers of round_rate() typically and rightly
check for a value of <= 0.

It is possible then to convert round_rate() to an unsigned long return
value and change error code indication for the minority from -ERRORCODE to
a simple 0.

This patch is the first step in making it possible to scale round_rate past
LONG_MAX, later patches will change the previously mentioned minority of
round_rate() implementations to return zero only on error if those
implementations currently return a negative error number. Implementations
that do not return an error code of < 0 will be left as-is.

Signed-off-by: Bryan O'Donoghue 
Cc: Michael Turquette 
Cc: Stephen Boyd 
Cc: linux-o...@vger.kernel.org
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-ker...@vger.kernel.org
Cc: linux-m...@linux-mips.org
Cc: linux-...@vger.kernel.org
Cc: linux-rpi-ker...@lists.infradead.org
Cc: patc...@opensource.cirrus.com
Cc: uclinux-h8-de...@lists.sourceforge.jp
Cc: linux-amlo...@lists.infradead.org
Cc: linux-arm-...@vger.kernel.org
Cc: linux-...@vger.kernel.org
Cc: linux-renesas-...@vger.kernel.org
Cc: linux-rockc...@lists.infradead.org
Cc: linux-samsung-...@vger.kernel.org
Cc: linux-te...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linux-media...@lists.infradead.org
Cc: freedr...@lists.freedesktop.org
Cc: linux-me...@vger.kernel.org
Cc: linux-...@vger.kernel.org
---
 arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c|  4 ++--
 arch/arm/mach-omap2/clock2xxx.h |  4 ++--
 arch/arm/mach-vexpress/spc.c|  4 ++--
 arch/mips/alchemy/common/clock.c|  2 +-
 drivers/clk/at91/clk-audio-pll.c| 10 ++
 drivers/clk/at91/clk-h32mx.c|  5 +++--
 drivers/clk/at91/clk-peripheral.c   |  6 +++---
 drivers/clk/at91/clk-pll.c  |  2 +-
 drivers/clk/at91/clk-plldiv.c   |  5 +++--
 drivers/clk/at91/clk-smd.c  |  5 +++--
 drivers/clk/at91/clk-usb.c  |  5 +++--
 drivers/clk/axs10x/i2s_pll_clock.c  |  4 ++--
 drivers/clk/axs10x/pll_clock.c  |  5 +++--
 drivers/clk/bcm/clk-bcm2835.c   | 11 ++-
 drivers/clk/bcm/clk-iproc-asiu.c|  5 +++--
 drivers/clk/bcm/clk-iproc-pll.c |  8 
 drivers/clk/clk-axi-clkgen.c|  5 +++--
 drivers/clk/clk-cdce706.c   | 15 +--
 drivers/clk/clk-cdce925.c   | 15 +--
 drivers/clk/clk-composite.c |  5 +++--
 drivers/clk/clk-cs2000-cp.c |  4 ++--
 drivers/clk/clk-divider.c   |  5 +++--
 drivers/clk/clk-fixed-factor.c  |  5 +++--
 drivers/clk/clk-fractional-divider.c|  4 ++--
 drivers/clk/clk-gemini.c|  5 +++--
 drivers/clk/clk-highbank.c  | 10 ++
 drivers/clk/clk-hsdk-pll.c  |  4 ++--
 drivers/clk/clk-multiplier.c|  5 +++--
 drivers/clk/clk-scpi.c  |  8 
 drivers/clk/clk-si514.c |  4 ++--
 drivers/clk/clk-si5351.c| 15 +--
 drivers/clk/clk-si570.c |  4 ++--
 drivers/clk/clk-stm32f4.c   | 15 +--
 drivers/clk/clk-u300.c  |  4 ++--
 drivers/clk/clk-versaclock5.c   | 12 ++--
 drivers/clk/clk-vt8500.c|  9 +
 drivers/clk/clk-wm831x.c|  5 +++--
 drivers/clk/clk-xgene.c |  9 +
 drivers/clk/h8300/clk-h8s2678.c |  4 ++--
 drivers/clk/hisilicon/clk-hi6220-stub.c |  5 +++--
 drivers/clk/hisilicon/clkdivider-hi6220.c   |  5 +++--
 drivers/clk/imx/clk-busy.c  |  5 +++--
 drivers/clk/imx/clk-cpu.c   |  4 ++--
 drivers/clk/imx/clk-fixup-div.c |  5 +++--
 drivers/clk/imx/clk-pfd.c   |  4 ++--
 drivers/clk/imx/clk-pllv2.c |  4 ++--
 drivers/clk/imx/clk-pllv3.c | 19 +++
 drivers/clk/ingenic/cgu.c   |  4 ++--
 drivers/clk/ingenic/jz4780-cgu.c|  5 +++--
 drivers/clk/mediatek/clk-pll.c  |  4 ++--