On Thu, Sep 7, 2017 at 12:21 PM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote: > Hi Fred, > >> Signed-off-by: Frédéric Danis <frederic.danis.oss@xxxxxxxxx> >> --- >> drivers/tty/serdev/core.c | 99 ++++++++++++++++++++++++++++++++++++++++++++--- >> 1 file changed, 94 insertions(+), 5 deletions(-) [...] >> @@ -404,9 +488,14 @@ int serdev_controller_add(struct serdev_controller *ctrl) >> if (ret) >> return ret; >> >> - ret = of_serdev_register_devices(ctrl); >> - if (ret) >> + ret_of = of_serdev_register_devices(ctrl); >> + ret_acpi = acpi_serdev_register_devices(ctrl); >> + if (ret_of && ret_acpi) { >> + dev_dbg(&ctrl->dev, "serdev%d no devices registered: of:%d acpi:%d\n", >> + ctrl->nr, ret_of, ret_acpi); >> + ret = -ENODEV; >> goto out_dev_del; >> + } >> >> dev_dbg(&ctrl->dev, "serdev%d registered: dev:%p\n", >> ctrl->nr, &ctrl->dev); > > Shouldn’t we just consider to always register the controller? Even if there are no devices attached to it. You argued for the opposite at least in regards to a serdev ldisc. :) The problem is we use the success or failure here to decide if we create a tty char dev or not. I guess we could move that decision out of the core and let the tty code check for devices and decide. Rob -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html