mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
serdev: Do not return -ENODEV from of_serdev_register_devices() if external connector is used
If an external connector like M.2 is connected to the serdev controller in DT, then the serdev devices may be created dynamically by the connector driver. So do not return -ENODEV from of_serdev_register_devices() if the static nodes are not found and the graph node is used. Tested-by: Hans de Goede <johannes.goede@oss.qualcomm.com> # ThinkPad T14s gen6 (arm64) Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260326-pci-m2-e-v7-3-43324a7866e6@oss.qualcomm.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
This commit is contained in:
parent
a2b4814190
commit
92fa16ecad
|
|
@ -12,6 +12,7 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_graph.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/pm_domain.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
|
|
@ -561,7 +562,13 @@ static int of_serdev_register_devices(struct serdev_controller *ctrl)
|
|||
} else
|
||||
found = true;
|
||||
}
|
||||
if (!found)
|
||||
|
||||
/*
|
||||
* When the serdev controller is connected to an external connector like
|
||||
* M.2 in DT, then the serdev devices may be created dynamically by the
|
||||
* connector driver.
|
||||
*/
|
||||
if (!found && !of_graph_is_present(dev_of_node(&ctrl->dev)))
|
||||
return -ENODEV;
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user