Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
C
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566/* 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 * * Returns: * - %NULL if the SoC bus is not yet registered; * - on success, the newly allocated &struct soc_device pointer; * - on failure, a negative error code as an ERR_PTR(). */struct soc_device *soc_device_register( struct soc_device_attribute *soc_plat_dev_attr);
/** * soc_device_unregister - unregister SoC device * @soc_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 * * Returns: &struct device pointer for this @soc */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 */