From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by befuddled.reisers.ca (Postfix, from userid 65534) id 2EADE1EFDA2; Sat, 12 Nov 2016 17:18:48 -0500 (EST) Received: from hera.aquilenet.fr (hera.aquilenet.fr [IPv6:2a01:474::1]) by befuddled.reisers.ca (Postfix) with ESMTP id C117E1EFD44 for ; Sat, 12 Nov 2016 17:18:46 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id D5F2D986C; Sat, 12 Nov 2016 23:18:45 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3SdK0foVsofA; Sat, 12 Nov 2016 23:18:45 +0100 (CET) Received: from var.youpi.perso.aquilenet.fr (unknown [IPv6:2a01:cb19:181:c200:3602:86ff:fe2c:6a19]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 4C7A0722B; Sat, 12 Nov 2016 23:18:45 +0100 (CET) Received: from samy by var.youpi.perso.aquilenet.fr with local (Exim 4.87) (envelope-from ) id 1c5gdI-0001kk-JC; Sat, 12 Nov 2016 23:18:44 +0100 Date: Sat, 12 Nov 2016 23:18:44 +0100 From: Samuel Thibault To: Okash Khawaja Cc: John Covici , David Borowski , "Speakup is a screen review system for Linux." Subject: Re: Status of kernel Message-ID: <20161112221844.GK2417@var.home> References: <20161110161032.GO7521@var.bordeaux.inria.fr> <20161111083447.GE2417@var.home> <20161111162750.GK2417@var.home> <20161111163209.GV2417@var.home> <20161112154759.GP2417@var.home> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30) X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-BeenThere: speakup@linux-speakup.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Speakup is a screen review system for Linux." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Nov 2016 22:18:48 -0000 Okash Khawaja, on Sat 12 Nov 2016 16:13:22 +0000, wrote: > Could you explain your idea a bit more? I have been reading the driver code and > want to contribute to this project. Just copy/pasting some previous thoughts. The idea would be to make speakup a tty line discipline, just like it is for a mouse, ppp, etc. “ land? One of the goals of speakup is to be available before userland works (otherwise we could as well just move the drivers to userland), so we don't have any userland helper to set the line disciline up. And even before setting up the line discipline, how can speakup open the port? We don't have a process context or /dev/, so we can't just use sys_open and alike. What we could use is some function which takes a minor/major pair or a device name, and returns a filp, then we can tty_set_ldisc(N_SPEAKUP) on file_tty(filp), but I don't know if such thing exists? That would probably be building a struct inode (getting inspired from fs/ramfs/), then just open it? Something like: struct inode *inode = new_inode(sb); init_special_inode(inode, S_IFCHR, MKDEV(major, minor)); filp = get_empty_filp(); do_dentry_open(filp, inode, NULL, NULL); struct tty_struct *tty = file_tty(filp); tty_set_ldisc(tty, N_SPEAKUP); ” Samuel