Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
clk
mxs
clk.c
Go to the documentation of this file.
1
/*
2
* Copyright 2012 Freescale Semiconductor, Inc.
3
*
4
* The code contained herein is licensed under the GNU General Public
5
* License. You may obtain a copy of the GNU General Public License
6
* Version 2 or later at the following locations:
7
*
8
* http://www.opensource.org/licenses/gpl-license.html
9
* http://www.gnu.org/copyleft/gpl.html
10
*/
11
12
#include <
linux/err.h
>
13
#include <
linux/io.h
>
14
#include <
linux/jiffies.h
>
15
#include <
linux/spinlock.h
>
16
17
DEFINE_SPINLOCK
(mxs_lock);
18
19
int
mxs_clk_wait
(
void
__iomem
*
reg
,
u8
shift)
20
{
21
unsigned
long
timeout
=
jiffies
+
msecs_to_jiffies
(10);
22
23
while
(
readl_relaxed
(reg) & (1 << shift))
24
if
(
time_after
(
jiffies
, timeout))
25
return
-
ETIMEDOUT
;
26
27
return
0;
28
}
Generated on Thu Jan 10 2013 12:59:13 for Linux Kernel by
1.8.2