Dear Greg, On Tue, 11 Feb 2020 05:57:35 +0900, Greg Kroah-Hartman wrote: > > On Thu, Jan 30, 2020 at 01:32:50PM +0100, Geert Uytterhoeven wrote: > > Hi Eugeniu, > > > > On Wed, Jan 29, 2020 at 5:20 PM Eugeniu Rosca <erosca@xxxxxxxxxxxxxx> wrote: > > > From: Torii Kenichi <torii.ken1@xxxxxxxxxxxxxx> > > > > > > This patch is necessary to use BT module and XM module with DENSO TEN > > > development board. > > > > > > This patch supports ASYNC_SPD_CUST flag by ioctl(TIOCSSERIAL), enables > > > custom speed setting with setserial(1). > > > > > > The custom speed is calculated from uartclk and custom_divisor. > > > If custom_divisor is zero, custom speed setting is invalid. > > > > > > Signed-off-by: Torii Kenichi <torii.ken1@xxxxxxxxxxxxxx> > > > [erosca: rebase against v5.5] > > > Signed-off-by: Eugeniu Rosca <erosca@xxxxxxxxxxxxxx> > > > > Thanks for your patch! > > > > While this seems to work fine[*], I have a few comments/questions: > > 1. This feature seems to be deprecated: > > > > sh-sci e6e68000.serial: setserial sets custom speed on > > ttySC1. This is deprecated. > > > > 2. As the wanted speed is specified as a divider, the resulting speed > > may be off, cfr. the example for 57600 below. > > Note that the SCIF device has multiple clock inputs, and can do > > 57600 perfectly if the right crystal has been fitted. > > > > 3. What to do with "[PATCH/RFC] serial: sh-sci: Update uartclk based > > on selected clock" (https://patchwork.kernel.org/patch/11103703/)? > > Combined with this, things become pretty complicated and > > unpredictable, as uartclk now always reflect the frequency of the > > last used base clock, which was the optimal one for the previously > > used speed.... > > > > I think it would be easier if we just had an API to specify a raw speed. > > Perhaps that already exists? > > Yes, see: > http://www.panix.com/~grante/arbitrary-baud.c I saw the code above, I thought I wouldn't write such code normally. >#include <linux/termios.h> > >int ioctl(int d, int request, ...); Do application programmers have to accept this bad code?