Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
fs_uart_pd.h
Go to the documentation of this file.
1 /*
2  * Platform information definitions for the CPM Uart driver.
3  *
4  * 2006 (c) MontaVista Software, Inc.
5  * Vitaly Bordug <[email protected]>
6  *
7  * This file is licensed under the terms of the GNU General Public License
8  * version 2. This program is licensed "as is" without any warranty of any
9  * kind, whether express or implied.
10  */
11 
12 #ifndef FS_UART_PD_H
13 #define FS_UART_PD_H
14 
15 #include <asm/types.h>
16 
17 enum fs_uart_id {
25 };
26 
27 static inline int fs_uart_id_scc2fsid(int id)
28 {
29  return fsid_scc1_uart + id - 1;
30 }
31 
32 static inline int fs_uart_id_fsid2scc(int id)
33 {
34  return id - fsid_scc1_uart + 1;
35 }
36 
37 static inline int fs_uart_id_smc2fsid(int id)
38 {
39  return fsid_smc1_uart + id - 1;
40 }
41 
42 static inline int fs_uart_id_fsid2smc(int id)
43 {
44  return id - fsid_smc1_uart + 1;
45 }
46 
49  /* device specific information */
50  int fs_no; /* controller index */
51  char fs_type[4]; /* controller type */
60 };
61 
62 static inline int fs_uart_get_id(struct fs_uart_platform_info *fpi)
63 {
64  if(strstr(fpi->fs_type, "SMC"))
65  return fs_uart_id_smc2fsid(fpi->fs_no);
66  if(strstr(fpi->fs_type, "SCC"))
67  return fs_uart_id_scc2fsid(fpi->fs_no);
68  return fpi->fs_no;
69 }
70 
71 #endif