Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fix systemd boot.
[kvmfornfv.git]
/
kernel
/
arch
/
avr32
/
mach-at32ap
/
clock.c
diff --git
a/kernel/arch/avr32/mach-at32ap/clock.c
b/kernel/arch/avr32/mach-at32ap/clock.c
index
23b1a97
..
52c179b
100644
(file)
--- a/
kernel/arch/avr32/mach-at32ap/clock.c
+++ b/
kernel/arch/avr32/mach-at32ap/clock.c
@@
-80,6
+80,9
@@
int clk_enable(struct clk *clk)
{
unsigned long flags;
{
unsigned long flags;
+ if (!clk)
+ return 0;
+
spin_lock_irqsave(&clk_lock, flags);
__clk_enable(clk);
spin_unlock_irqrestore(&clk_lock, flags);
spin_lock_irqsave(&clk_lock, flags);
__clk_enable(clk);
spin_unlock_irqrestore(&clk_lock, flags);
@@
-106,6
+109,9
@@
void clk_disable(struct clk *clk)
{
unsigned long flags;
{
unsigned long flags;
+ if (IS_ERR_OR_NULL(clk))
+ return;
+
spin_lock_irqsave(&clk_lock, flags);
__clk_disable(clk);
spin_unlock_irqrestore(&clk_lock, flags);
spin_lock_irqsave(&clk_lock, flags);
__clk_disable(clk);
spin_unlock_irqrestore(&clk_lock, flags);
@@
-117,6
+123,9
@@
unsigned long clk_get_rate(struct clk *clk)
unsigned long flags;
unsigned long rate;
unsigned long flags;
unsigned long rate;
+ if (!clk)
+ return 0;
+
spin_lock_irqsave(&clk_lock, flags);
rate = clk->get_rate(clk);
spin_unlock_irqrestore(&clk_lock, flags);
spin_lock_irqsave(&clk_lock, flags);
rate = clk->get_rate(clk);
spin_unlock_irqrestore(&clk_lock, flags);
@@
-129,6
+138,9
@@
long clk_round_rate(struct clk *clk, unsigned long rate)
{
unsigned long flags, actual_rate;
{
unsigned long flags, actual_rate;
+ if (!clk)
+ return 0;
+
if (!clk->set_rate)
return -ENOSYS;
if (!clk->set_rate)
return -ENOSYS;
@@
-145,6
+157,9
@@
int clk_set_rate(struct clk *clk, unsigned long rate)
unsigned long flags;
long ret;
unsigned long flags;
long ret;
+ if (!clk)
+ return 0;
+
if (!clk->set_rate)
return -ENOSYS;
if (!clk->set_rate)
return -ENOSYS;
@@
-161,6
+176,9
@@
int clk_set_parent(struct clk *clk, struct clk *parent)
unsigned long flags;
int ret;
unsigned long flags;
int ret;
+ if (!clk)
+ return 0;
+
if (!clk->set_parent)
return -ENOSYS;
if (!clk->set_parent)
return -ENOSYS;
@@
-174,7
+192,7
@@
EXPORT_SYMBOL(clk_set_parent);
struct clk *clk_get_parent(struct clk *clk)
{
struct clk *clk_get_parent(struct clk *clk)
{
- return clk->parent;
+ return
!clk ? NULL :
clk->parent;
}
EXPORT_SYMBOL(clk_get_parent);
}
EXPORT_SYMBOL(clk_get_parent);