| /* | 
 |  * Copyright (C) ST-Ericsson SA 2011 | 
 |  * Author: Lee Jones <lee.jones@linaro.org> for ST-Ericsson. | 
 |  * License terms:  GNU General Public License (GPL), version 2 | 
 |  */ | 
 | #ifndef __SOC_BUS_H | 
 | #define __SOC_BUS_H | 
 |  | 
 | #include <linux/device.h> | 
 |  | 
 | struct soc_device_attribute { | 
 | 	const char *machine; | 
 | 	const char *family; | 
 | 	const char *revision; | 
 | 	const char *soc_id; | 
 | }; | 
 |  | 
 | /** | 
 |  * soc_device_register - register SoC as a device | 
 |  * @soc_plat_dev_attr: Attributes passed from platform to be attributed to a SoC | 
 |  */ | 
 | struct soc_device *soc_device_register( | 
 | 	struct soc_device_attribute *soc_plat_dev_attr); | 
 |  | 
 | /** | 
 |  * soc_device_unregister - unregister SoC device | 
 |  * @dev: SoC device to be unregistered | 
 |  */ | 
 | void soc_device_unregister(struct soc_device *soc_dev); | 
 |  | 
 | /** | 
 |  * soc_device_to_device - helper function to fetch struct device | 
 |  * @soc: Previously registered SoC device container | 
 |  */ | 
 | struct device *soc_device_to_device(struct soc_device *soc); | 
 |  | 
 | #endif /* __SOC_BUS_H */ |