Commit | Line | Data |
---|---|---|
74d1d82c LJ |
1 | /* |
2 | * Copyright (C) ST-Ericsson SA 2011 | |
3 | * Author: Lee Jones <lee.jones@linaro.org> for ST-Ericsson. | |
4 | * License terms: GNU General Public License (GPL), version 2 | |
5 | */ | |
6 | #ifndef __SOC_BUS_H | |
7 | #define __SOC_BUS_H | |
8 | ||
9 | #include <linux/device.h> | |
10 | ||
11 | struct soc_device_attribute { | |
12 | const char *machine; | |
13 | const char *family; | |
14 | const char *revision; | |
15 | const char *soc_id; | |
c97db7cc | 16 | const void *data; |
74d1d82c LJ |
17 | }; |
18 | ||
19 | /** | |
20 | * soc_device_register - register SoC as a device | |
21 | * @soc_plat_dev_attr: Attributes passed from platform to be attributed to a SoC | |
22 | */ | |
23 | struct soc_device *soc_device_register( | |
24 | struct soc_device_attribute *soc_plat_dev_attr); | |
25 | ||
26 | /** | |
27 | * soc_device_unregister - unregister SoC device | |
28 | * @dev: SoC device to be unregistered | |
29 | */ | |
30 | void soc_device_unregister(struct soc_device *soc_dev); | |
31 | ||
32 | /** | |
33 | * soc_device_to_device - helper function to fetch struct device | |
34 | * @soc: Previously registered SoC device container | |
35 | */ | |
36 | struct device *soc_device_to_device(struct soc_device *soc); | |
37 | ||
da65a158 | 38 | #ifdef CONFIG_SOC_BUS |
c97db7cc AB |
39 | const struct soc_device_attribute *soc_device_match( |
40 | const struct soc_device_attribute *matches); | |
da65a158 GU |
41 | #else |
42 | static inline const struct soc_device_attribute *soc_device_match( | |
43 | const struct soc_device_attribute *matches) { return NULL; } | |
44 | #endif | |
45 | ||
74d1d82c | 46 | #endif /* __SOC_BUS_H */ |