Something went wrong. Try again.
Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859/* SPDX-License-Identifier: GPL-2.0-only *//* * Copyright (C) ST-Ericsson SA 2011 * Author: Lee Jones <lee.jones@linaro.org> for ST-Ericsson. */#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 *serial_number; const char *soc_id; const void *data; const struct attribute_group *custom_attr_group;};
/** * 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);
/** * soc_attr_read_machine - retrieve the machine model and store it in * the soc_device_attribute structure * @soc_dev_attr: SoC attribute structure to store the model in * * Returns: * 0 on success, negative error number on failure. */int soc_attr_read_machine(struct soc_device_attribute *soc_dev_attr);
#ifdef CONFIG_SOC_BUSconst struct soc_device_attribute *soc_device_match( const struct soc_device_attribute *matches);#elsestatic inline const struct soc_device_attribute *soc_device_match( const struct soc_device_attribute *matches) { return NULL; }#endif
#endif /* __SOC_BUS_H */