From: Rob Herring <robh@kernel.org> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Marcel Holtmann <marcel@holtmann.org>, Jiri Slaby <jslaby@suse.com>, Sebastian Reichel <sre@kernel.org>, Arnd Bergmann <arnd@arndb.de>, "Dr . H . Nikolaus Schaller" <hns@goldelico.com>, Alan Cox <gnomes@lxorguk.ukuu.org.uk> Cc: Loic Poulain <loic.poulain@intel.com>, Pavel Machek <pavel@ucw.cz>, Peter Hurley <peter@hurleysoftware.com>, NeilBrown <neil@brown.name>, Linus Walleij <linus.walleij@linaro.org>, linux-bluetooth@vger.kernel.org, linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH 0/6] UART slave devices using serio Date: Wed, 24 Aug 2016 18:24:30 -0500 [thread overview] Message-ID: <20160824232437.9446-1-robh@kernel.org> (raw) This is a new approach to supporting UART slave devices using the existing serio bus. After Arnd's proding, I took another look at serio and decided extending it does make sense. Using serio primarily requires adding DT based device matching and supporting buffer based write and receive. Currently, I'm using the existing serio serport ldisc for testing. This requires using inputattach to open the tty and set the ldisc which in turn registers a serio port with the serio core: inputattach -bare /dev/ttyAMA1 Once a tty_port based serio port driver is in place, this step will not be needed. Supporting cases like a USB UART will also work if the USB UART is described in DT. If not described in DT, I'm not sure if the existing serio manual binding is sufficient (Need to figure out how that works). Slave drivers also need other ways to specify additional data using module params perhaps. Getting DT overlays to work for non-discoverable devices behind discoverable buses (i.e. detached from a base DT) is another option, but that's not yet supported in general. I've done all the serio changes in place, but ultimately I think at least the core of serio should be moved out of drivers/input/. I don't think it belongs under drivers/tty/ or drivers/tty/serial/, so drivers/serio/? BT is working under QEMU to the point a slave driver can bind to a serio port device via DT, register as a BT device, start sending out initial packets and receive data (typed at a terminal). Now I need to find a real device. A git branch is available here[1]. Note it will get rebased. Rob [1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git serial-bus-serio Rob Herring (6): serio: add DT driver binding serio: serport: hacks to get DT probe to work serio: add buffer receive and write functions serio: serport: add support for buffered write and receive serio: add serial configuration functions bluetooth: hack up ldisc to use serio drivers/bluetooth/hci_ldisc.c | 261 +++++++++++++++++------------------------- drivers/bluetooth/hci_uart.h | 3 + drivers/input/serio/serio.c | 34 +++++- drivers/input/serio/serport.c | 49 ++++---- include/linux/serio.h | 59 +++++++++- 5 files changed, 223 insertions(+), 183 deletions(-) -- 2.9.3
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> To: Greg Kroah-Hartman <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>, Marcel Holtmann <marcel-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org>, Jiri Slaby <jslaby-IBi9RG/b67k@public.gmane.org>, Sebastian Reichel <sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>, "Dr . H . Nikolaus Schaller" <hns-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>, Alan Cox <gnomes-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org> Cc: Loic Poulain <loic.poulain-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>, Pavel Machek <pavel-+ZI9xUNit7I@public.gmane.org>, Peter Hurley <peter-WaGBZJeGNqdsbIuE7sb01tBPR1lH4CV8@public.gmane.org>, NeilBrown <neil-+NVA1uvv1dVBDLzU/O5InQ@public.gmane.org>, Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>, linux-bluetooth-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Subject: [RFC PATCH 0/6] UART slave devices using serio Date: Wed, 24 Aug 2016 18:24:30 -0500 [thread overview] Message-ID: <20160824232437.9446-1-robh@kernel.org> (raw) This is a new approach to supporting UART slave devices using the existing serio bus. After Arnd's proding, I took another look at serio and decided extending it does make sense. Using serio primarily requires adding DT based device matching and supporting buffer based write and receive. Currently, I'm using the existing serio serport ldisc for testing. This requires using inputattach to open the tty and set the ldisc which in turn registers a serio port with the serio core: inputattach -bare /dev/ttyAMA1 Once a tty_port based serio port driver is in place, this step will not be needed. Supporting cases like a USB UART will also work if the USB UART is described in DT. If not described in DT, I'm not sure if the existing serio manual binding is sufficient (Need to figure out how that works). Slave drivers also need other ways to specify additional data using module params perhaps. Getting DT overlays to work for non-discoverable devices behind discoverable buses (i.e. detached from a base DT) is another option, but that's not yet supported in general. I've done all the serio changes in place, but ultimately I think at least the core of serio should be moved out of drivers/input/. I don't think it belongs under drivers/tty/ or drivers/tty/serial/, so drivers/serio/? BT is working under QEMU to the point a slave driver can bind to a serio port device via DT, register as a BT device, start sending out initial packets and receive data (typed at a terminal). Now I need to find a real device. A git branch is available here[1]. Note it will get rebased. Rob [1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git serial-bus-serio Rob Herring (6): serio: add DT driver binding serio: serport: hacks to get DT probe to work serio: add buffer receive and write functions serio: serport: add support for buffered write and receive serio: add serial configuration functions bluetooth: hack up ldisc to use serio drivers/bluetooth/hci_ldisc.c | 261 +++++++++++++++++------------------------- drivers/bluetooth/hci_uart.h | 3 + drivers/input/serio/serio.c | 34 +++++- drivers/input/serio/serport.c | 49 ++++---- include/linux/serio.h | 59 +++++++++- 5 files changed, 223 insertions(+), 183 deletions(-) -- 2.9.3
next reply other threads:[~2016-08-24 23:24 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-08-24 23:24 Rob Herring [this message] 2016-08-24 23:24 ` [RFC PATCH 0/6] UART slave devices using serio Rob Herring 2016-08-24 23:24 ` [RFC PATCH 1/6] serio: add DT driver binding Rob Herring 2016-08-29 9:57 ` Pavel Machek 2016-08-24 23:24 ` [RFC PATCH 1/6] serio: add OF " Rob Herring 2016-08-24 23:24 ` [RFC PATCH 2/6] serio: serport: hacks to get DT probe to work Rob Herring 2016-08-24 23:24 ` [RFC PATCH 3/6] serio: add buffer receive and write functions Rob Herring 2016-08-24 23:24 ` [RFC PATCH 4/6] serio: serport: add support for buffered write and receive Rob Herring 2016-08-24 23:24 ` Rob Herring 2016-08-26 20:12 ` Pavel Machek 2016-08-26 20:12 ` Pavel Machek 2016-08-26 21:27 ` Rob Herring 2016-08-26 21:27 ` Rob Herring 2016-08-26 22:24 ` Pavel Machek 2016-08-24 23:24 ` [RFC PATCH 5/6] serio: add serial configuration functions Rob Herring 2016-08-24 23:24 ` [RFC PATCH 6/6] bluetooth: hack up ldisc to use serio Rob Herring 2016-08-24 23:24 ` Rob Herring 2016-08-26 20:05 ` [RFC PATCH 0/6] UART slave devices using serio Pavel Machek 2016-08-26 20:05 ` Pavel Machek 2016-08-26 21:29 ` Rob Herring 2016-10-25 21:55 ` Sebastian Reichel 2016-10-25 22:02 ` Rob Herring 2016-10-25 22:02 ` Rob Herring 2016-10-26 2:51 ` Sebastian Reichel 2016-10-31 20:00 ` Peter Hurley 2016-10-31 20:08 ` Peter Hurley 2016-10-31 20:08 ` Peter Hurley 2016-11-01 3:40 ` Rob Herring 2016-11-01 3:40 ` Rob Herring 2016-11-02 3:49 ` Rob Herring
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20160824232437.9446-1-robh@kernel.org \ --to=robh@kernel.org \ --cc=arnd@arndb.de \ --cc=gnomes@lxorguk.ukuu.org.uk \ --cc=gregkh@linuxfoundation.org \ --cc=hns@goldelico.com \ --cc=jslaby@suse.com \ --cc=linus.walleij@linaro.org \ --cc=linux-bluetooth@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-serial@vger.kernel.org \ --cc=loic.poulain@intel.com \ --cc=marcel@holtmann.org \ --cc=neil@brown.name \ --cc=pavel@ucw.cz \ --cc=peter@hurleysoftware.com \ --cc=sre@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.