Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
171a376d
Commit
171a376d
authored
Feb 20, 2006
by
Juha Yrjola
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of /home/git/linux-omap-2.6
parents
071a568a
107b95cb
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
3 deletions
+33
-3
arch/arm/plat-omap/clock.c
arch/arm/plat-omap/clock.c
+33
-3
No files found.
arch/arm/plat-omap/clock.c
View file @
171a376d
...
@@ -81,7 +81,7 @@ int clk_enable(struct clk *clk)
...
@@ -81,7 +81,7 @@ int clk_enable(struct clk *clk)
int
ret
=
0
;
int
ret
=
0
;
if
(
clk
==
NULL
||
IS_ERR
(
clk
))
if
(
clk
==
NULL
||
IS_ERR
(
clk
))
return
-
E
NODEV
;
return
-
E
INVAL
;
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
if
(
arch_clock
->
clk_enable
)
if
(
arch_clock
->
clk_enable
)
...
@@ -154,6 +154,9 @@ long clk_round_rate(struct clk *clk, unsigned long rate)
...
@@ -154,6 +154,9 @@ long clk_round_rate(struct clk *clk, unsigned long rate)
unsigned
long
flags
;
unsigned
long
flags
;
long
ret
=
0
;
long
ret
=
0
;
if
(
clk
==
NULL
||
IS_ERR
(
clk
))
return
ret
;
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
if
(
arch_clock
->
clk_round_rate
)
if
(
arch_clock
->
clk_round_rate
)
ret
=
arch_clock
->
clk_round_rate
(
clk
,
rate
);
ret
=
arch_clock
->
clk_round_rate
(
clk
,
rate
);
...
@@ -166,7 +169,10 @@ EXPORT_SYMBOL(clk_round_rate);
...
@@ -166,7 +169,10 @@ EXPORT_SYMBOL(clk_round_rate);
int
clk_set_rate
(
struct
clk
*
clk
,
unsigned
long
rate
)
int
clk_set_rate
(
struct
clk
*
clk
,
unsigned
long
rate
)
{
{
unsigned
long
flags
;
unsigned
long
flags
;
int
ret
=
0
;
int
ret
=
-
EINVAL
;
if
(
clk
==
NULL
||
IS_ERR
(
clk
))
return
ret
;
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
if
(
arch_clock
->
clk_set_rate
)
if
(
arch_clock
->
clk_set_rate
)
...
@@ -180,7 +186,10 @@ EXPORT_SYMBOL(clk_set_rate);
...
@@ -180,7 +186,10 @@ EXPORT_SYMBOL(clk_set_rate);
int
clk_set_parent
(
struct
clk
*
clk
,
struct
clk
*
parent
)
int
clk_set_parent
(
struct
clk
*
clk
,
struct
clk
*
parent
)
{
{
unsigned
long
flags
;
unsigned
long
flags
;
int
ret
=
0
;
int
ret
=
-
EINVAL
;
if
(
clk
==
NULL
||
IS_ERR
(
clk
)
||
parent
==
NULL
||
IS_ERR
(
parent
))
return
ret
;
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
if
(
arch_clock
->
clk_set_parent
)
if
(
arch_clock
->
clk_set_parent
)
...
@@ -196,6 +205,9 @@ struct clk *clk_get_parent(struct clk *clk)
...
@@ -196,6 +205,9 @@ struct clk *clk_get_parent(struct clk *clk)
unsigned
long
flags
;
unsigned
long
flags
;
struct
clk
*
ret
=
NULL
;
struct
clk
*
ret
=
NULL
;
if
(
clk
==
NULL
||
IS_ERR
(
clk
))
return
ret
;
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
if
(
arch_clock
->
clk_get_parent
)
if
(
arch_clock
->
clk_get_parent
)
ret
=
arch_clock
->
clk_get_parent
(
clk
);
ret
=
arch_clock
->
clk_get_parent
(
clk
);
...
@@ -232,6 +244,9 @@ __setup("mpurate=", omap_clk_setup);
...
@@ -232,6 +244,9 @@ __setup("mpurate=", omap_clk_setup);
/* Used for clocks that always have same value as the parent clock */
/* Used for clocks that always have same value as the parent clock */
void
followparent_recalc
(
struct
clk
*
clk
)
void
followparent_recalc
(
struct
clk
*
clk
)
{
{
if
(
clk
==
NULL
||
IS_ERR
(
clk
))
return
;
clk
->
rate
=
clk
->
parent
->
rate
;
clk
->
rate
=
clk
->
parent
->
rate
;
}
}
...
@@ -240,6 +255,9 @@ void propagate_rate(struct clk * tclk)
...
@@ -240,6 +255,9 @@ void propagate_rate(struct clk * tclk)
{
{
struct
clk
*
clkp
;
struct
clk
*
clkp
;
if
(
tclk
==
NULL
||
IS_ERR
(
tclk
))
return
;
list_for_each_entry
(
clkp
,
&
clocks
,
node
)
{
list_for_each_entry
(
clkp
,
&
clocks
,
node
)
{
if
(
likely
(
clkp
->
parent
!=
tclk
))
if
(
likely
(
clkp
->
parent
!=
tclk
))
continue
;
continue
;
...
@@ -250,6 +268,9 @@ void propagate_rate(struct clk * tclk)
...
@@ -250,6 +268,9 @@ void propagate_rate(struct clk * tclk)
int
clk_register
(
struct
clk
*
clk
)
int
clk_register
(
struct
clk
*
clk
)
{
{
if
(
clk
==
NULL
||
IS_ERR
(
clk
))
return
-
EINVAL
;
mutex_lock
(
&
clocks_mutex
);
mutex_lock
(
&
clocks_mutex
);
list_add
(
&
clk
->
node
,
&
clocks
);
list_add
(
&
clk
->
node
,
&
clocks
);
if
(
clk
->
init
)
if
(
clk
->
init
)
...
@@ -262,6 +283,9 @@ EXPORT_SYMBOL(clk_register);
...
@@ -262,6 +283,9 @@ EXPORT_SYMBOL(clk_register);
void
clk_unregister
(
struct
clk
*
clk
)
void
clk_unregister
(
struct
clk
*
clk
)
{
{
if
(
clk
==
NULL
||
IS_ERR
(
clk
))
return
;
mutex_lock
(
&
clocks_mutex
);
mutex_lock
(
&
clocks_mutex
);
list_del
(
&
clk
->
node
);
list_del
(
&
clk
->
node
);
mutex_unlock
(
&
clocks_mutex
);
mutex_unlock
(
&
clocks_mutex
);
...
@@ -272,6 +296,9 @@ void clk_deny_idle(struct clk *clk)
...
@@ -272,6 +296,9 @@ void clk_deny_idle(struct clk *clk)
{
{
unsigned
long
flags
;
unsigned
long
flags
;
if
(
clk
==
NULL
||
IS_ERR
(
clk
))
return
;
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
if
(
arch_clock
->
clk_deny_idle
)
if
(
arch_clock
->
clk_deny_idle
)
arch_clock
->
clk_deny_idle
(
clk
);
arch_clock
->
clk_deny_idle
(
clk
);
...
@@ -283,6 +310,9 @@ void clk_allow_idle(struct clk *clk)
...
@@ -283,6 +310,9 @@ void clk_allow_idle(struct clk *clk)
{
{
unsigned
long
flags
;
unsigned
long
flags
;
if
(
clk
==
NULL
||
IS_ERR
(
clk
))
return
;
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
spin_lock_irqsave
(
&
clockfw_lock
,
flags
);
if
(
arch_clock
->
clk_allow_idle
)
if
(
arch_clock
->
clk_allow_idle
)
arch_clock
->
clk_allow_idle
(
clk
);
arch_clock
->
clk_allow_idle
(
clk
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment