mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
spi: export of_find_spi_controller_by_node()
Some devices are primarily described on another bus (e.g. I2C) but also have an additional SPI connection that serves as a transport for firmware loading. Export of_find_spi_controller_by_node() so drivers can obtain the SPI controller referenced by a DT phandle. Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://patch.msgid.link/0e572a00aa305e588357162d400ba9472ce56dd3.1767148150.git.oder_chiou@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
9ace4753a5
commit
ee69f55eb1
|
|
@ -4771,7 +4771,7 @@ static struct spi_device *of_find_spi_device_by_node(struct device_node *node)
|
|||
}
|
||||
|
||||
/* The spi controllers are not using spi_bus, so we find it with another way */
|
||||
static struct spi_controller *of_find_spi_controller_by_node(struct device_node *node)
|
||||
struct spi_controller *of_find_spi_controller_by_node(struct device_node *node)
|
||||
{
|
||||
struct device *dev;
|
||||
|
||||
|
|
@ -4784,6 +4784,7 @@ static struct spi_controller *of_find_spi_controller_by_node(struct device_node
|
|||
/* Reference got in class_find_device */
|
||||
return container_of(dev, struct spi_controller, dev);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_find_spi_controller_by_node);
|
||||
|
||||
static int of_spi_notify(struct notifier_block *nb, unsigned long action,
|
||||
void *arg)
|
||||
|
|
|
|||
|
|
@ -882,6 +882,15 @@ extern int devm_spi_register_controller(struct device *dev,
|
|||
struct spi_controller *ctlr);
|
||||
extern void spi_unregister_controller(struct spi_controller *ctlr);
|
||||
|
||||
#if IS_ENABLED(CONFIG_OF_DYNAMIC)
|
||||
extern struct spi_controller *of_find_spi_controller_by_node(struct device_node *node);
|
||||
#else
|
||||
static inline struct spi_controller *of_find_spi_controller_by_node(struct device_node *node)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if IS_ENABLED(CONFIG_ACPI) && IS_ENABLED(CONFIG_SPI_MASTER)
|
||||
extern struct spi_controller *acpi_spi_find_controller_by_adev(struct acpi_device *adev);
|
||||
extern struct spi_device *acpi_spi_device_alloc(struct spi_controller *ctlr,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user