diff options
Diffstat (limited to 'target/linux/ipq807x/patches-5.15/0055-v6.0-spmi-add-a-helper-to-look-up-an-SPMI-device-from-a-d.patch')
-rw-r--r-- | target/linux/ipq807x/patches-5.15/0055-v6.0-spmi-add-a-helper-to-look-up-an-SPMI-device-from-a-d.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/target/linux/ipq807x/patches-5.15/0055-v6.0-spmi-add-a-helper-to-look-up-an-SPMI-device-from-a-d.patch b/target/linux/ipq807x/patches-5.15/0055-v6.0-spmi-add-a-helper-to-look-up-an-SPMI-device-from-a-d.patch new file mode 100644 index 0000000000..fd1de69663 --- /dev/null +++ b/target/linux/ipq807x/patches-5.15/0055-v6.0-spmi-add-a-helper-to-look-up-an-SPMI-device-from-a-d.patch @@ -0,0 +1,57 @@ +From 0eda4c5c7704363f665f4ccf0327349faad245a4 Mon Sep 17 00:00:00 2001 +From: Caleb Connolly <caleb.connolly@linaro.org> +Date: Fri, 29 Apr 2022 23:08:56 +0100 +Subject: [PATCH] spmi: add a helper to look up an SPMI device from a device + node + +The helper function spmi_device_from_of() takes a device node and +returns the SPMI device associated with it. +This is like of_find_device_by_node but for SPMI devices. + +Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> +Acked-by: Stephen Boyd <sboyd@kernel.org> +Link: https://lore.kernel.org/r/20220429220904.137297-2-caleb.connolly@linaro.org +Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> +--- + drivers/spmi/spmi.c | 17 +++++++++++++++++ + include/linux/spmi.h | 3 +++ + 2 files changed, 20 insertions(+) + +--- a/drivers/spmi/spmi.c ++++ b/drivers/spmi/spmi.c +@@ -387,6 +387,23 @@ static struct bus_type spmi_bus_type = { + }; + + /** ++ * spmi_device_from_of() - get the associated SPMI device from a device node ++ * ++ * @np: device node ++ * ++ * Returns the struct spmi_device associated with a device node or NULL. ++ */ ++struct spmi_device *spmi_device_from_of(struct device_node *np) ++{ ++ struct device *dev = bus_find_device_by_of_node(&spmi_bus_type, np); ++ ++ if (dev) ++ return to_spmi_device(dev); ++ return NULL; ++} ++EXPORT_SYMBOL_GPL(spmi_device_from_of); ++ ++/** + * spmi_controller_alloc() - Allocate a new SPMI device + * @ctrl: associated controller + * +--- a/include/linux/spmi.h ++++ b/include/linux/spmi.h +@@ -164,6 +164,9 @@ static inline void spmi_driver_unregiste + module_driver(__spmi_driver, spmi_driver_register, \ + spmi_driver_unregister) + ++struct device_node; ++ ++struct spmi_device *spmi_device_from_of(struct device_node *np); + int spmi_register_read(struct spmi_device *sdev, u8 addr, u8 *buf); + int spmi_ext_register_read(struct spmi_device *sdev, u8 addr, u8 *buf, + size_t len); |