Support adding probed devices by "platform" drivers. Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Johan Hovold <johan@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> --- drivers/tty/serdev/core.c | 10 +++++----- include/linux/serdev.h | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c index 06310110104a..e56a955d4ea9 100644 --- a/drivers/tty/serdev/core.c +++ b/drivers/tty/serdev/core.c @@ -630,8 +630,8 @@ static inline int acpi_serdev_register_devices(struct serdev_controller *ctrl) } #endif /* CONFIG_ACPI */ -#if IS_ENABLED(CONFIG_SERIAL_DEV_CTRL_TTYDEV) -static int serdev_controller_add_ttydev(struct serdev_controller *ctrl) +int serdev_controller_add_probed_device(struct serdev_controller *ctrl, + const char *name) { struct serdev_device *serdev; int err; @@ -640,7 +640,7 @@ static int serdev_controller_add_ttydev(struct serdev_controller *ctrl) if (!serdev) return -ENOMEM; - strcpy(serdev->modalias, "ttydev"); + strcpy(serdev->modalias, name); err = serdev_device_add(serdev); if (err) @@ -648,7 +648,7 @@ static int serdev_controller_add_ttydev(struct serdev_controller *ctrl) return err; } -#endif +EXPORT_SYMBOL_GPL(serdev_controller_add_probed_device); /** * serdev_controller_add() - Add an serdev controller @@ -678,7 +678,7 @@ int serdev_controller_add(struct serdev_controller *ctrl) goto out_dev_ok; #if IS_ENABLED(CONFIG_SERIAL_DEV_CTRL_TTYDEV) - ret_tty = serdev_controller_add_ttydev(ctrl); + ret_tty = serdev_controller_add_probed_device(ctrl, "ttydev"); if (!ret_tty) goto out_dev_ok; #endif diff --git a/include/linux/serdev.h b/include/linux/serdev.h index 1ef6e6503650..93f534a21ca9 100644 --- a/include/linux/serdev.h +++ b/include/linux/serdev.h @@ -184,6 +184,8 @@ int serdev_controller_add(struct serdev_controller *); void serdev_controller_remove(struct serdev_controller *); void serdev_put_controller(struct serdev_controller *ctrl); struct serdev_controller *serdev_get_controller(int nr); +int serdev_controller_add_probed_device(struct serdev_controller *ctrl, + const char *name); static inline void serdev_controller_write_wakeup(struct serdev_controller *ctrl) { -- 2.17.1 -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html