Return-Path: MIME-Version: 1.0 In-Reply-To: <9316EE4A-6FDF-4024-9709-E44824D26B4C@holtmann.org> References: <1504786214-1866-1-git-send-email-frederic.danis.oss@gmail.com> <1504786214-1866-2-git-send-email-frederic.danis.oss@gmail.com> <1BC8D5B0-EC18-4F20-9CBC-D73CB1765683@holtmann.org> <9316EE4A-6FDF-4024-9709-E44824D26B4C@holtmann.org> From: Rob Herring Date: Thu, 7 Sep 2017 13:51:14 -0500 Message-ID: Subject: Re: [RFC 1/3] serdev: Add ACPI support To: Marcel Holtmann Cc: =?UTF-8?B?RnLDqWTDqXJpYyBEYW5pcw==?= , Sebastian Reichel , Loic Poulain , "open list:BLUETOOTH DRIVERS" , "linux-serial@vger.kernel.org" , "linux-acpi@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" List-ID: On Thu, Sep 7, 2017 at 12:57 PM, Marcel Holtmann wrot= e: > Hi Rob, > >>>> Signed-off-by: Fr=C3=A9d=C3=A9ric Danis >>>> --- >>>> drivers/tty/serdev/core.c | 99 +++++++++++++++++++++++++++++++++++++++= +++++--- >>>> 1 file changed, 94 insertions(+), 5 deletions(-) >> >> [...] >> >>>> @@ -404,9 +488,14 @@ int serdev_controller_add(struct serdev_controlle= r *ctrl) >>>> if (ret) >>>> return ret; >>>> >>>> - ret =3D of_serdev_register_devices(ctrl); >>>> - if (ret) >>>> + ret_of =3D of_serdev_register_devices(ctrl); >>>> + ret_acpi =3D 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 =3D -ENODEV; >>>> goto out_dev_del; >>>> + } >>>> >>>> dev_dbg(&ctrl->dev, "serdev%d registered: dev:%p\n", >>>> ctrl->nr, &ctrl->dev); >>> >>> Shouldn=E2=80=99t we just consider to always register the controller? E= ven 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. > > we never got the serdev ldisc working. Is there still an attempt to get t= his working. I frankly don=E2=80=99t know what is best here. I did get it somewhat working, but haven't been working on it more. Here's what I said in my last mail to you: > Okay, I've got this kind of working. I can run "ldattach HCI > /dev/ttyblah" to start the LL driver (nothing attached, just tries > firmware loading), then kill ldattach and remove the serdev device. > And it actually works a 2nd time. I've updated my serdev-ldisc branch > with the fixes. The real question is what have I broken in the tty > device. At least "echo rob > /dev/ttyS1" still works (in qemu) after > attaching and de-attaching. I pushed out my work to serdev-ldisc-v2 branch on my k.org tree. Rob