Re: [PATCH] serial: DCC(JTAG) serial and console emulation support

From: Alan Cox
Date: Thu Oct 07 2010 - 17:13:05 EST


> Your making too many assumptions .. You might be able to modify the
> kernel, and not the userspace. So you couldn't tweak the device
> creation .. It's much easier in the server world ..

Spare me the embedded is different lecture. It's not. In fact it's
usually easier because the environment you are testing is usually
standalone, doesn't cause a million dollar an hour downtime if you get it
wrong and was designed for debug/test so actually has a jtag port.

If you can modify the file system you can make /dev/ttyS0 the major/minor
of the jtag port.

If you can load anything in front of the userspace you can rename the
device/move it

So I find your example case fictional. In fact the only time I can see
you having a box so tightly locked up you can only tweak the kernel is
jailbreaking it, in which case you are such a fringe usage case and
technically competent that you can just do custom patches as you'll be
doing anyway for other bits.

> > We've said no over a period of about ten years to a lot of attempts to
> > just borrow the ttyS0 range. If we'd said yes it would have been a
> > complete mess by now.
> >
> > So the answer is no.
>
> Nothing can be unilateral, there's always room for exceptions. You
> should say something more like "it's possible, but unlikely".

This argument gets regurgitated every so often and nobody has yet
provided a plausable reason to make a nasty mess.

Either way I would suggest the path forward is

- Look at the blackfin jtag using tty_port alone and see if it looks
cleaner
- Fix the bugs noted
- Submit a driver that uses the existing allocated jtag major/minor only

and then have a debate about ttyS0 hackery separately.

Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/