Subject: Re: linux-next: manual merge of the tty tree with the input tree

From: Josh Triplett <[email-masked]>
Date: Tue, 29 Jan 2013 10:59:17 +1100

On Mon, Jan 28, 2013 at 02:44:43PM -0800, Dmitry Torokhov wrote:
> On Mon, Jan 28, 2013 at 02:09:31PM -0800, Joe Millenbach wrote:
> > On Mon, Jan 28, 2013 at 9:33 AM, Dmitry Torokhov
> > <[email-masked]> wrote:
> > > On Mon, Jan 28, 2013 at 06:46:15AM -0800, Greg KH wrote:
> > >> On Mon, Jan 28, 2013 at 08:44:24PM +1100, Stephen Rothwell wrote:
> > >> > Hi Greg,
> > >> >
> > >> > Today's linux-next merge of the tty tree got a conflict in
> > >> > drivers/input/keyboard/Kconfig between commit 6f2ac009f29b ("Input:
> > >> > goldfish - virtual input event driver") from the input tree and commit
> > >> > 4f73bc4dd3e8 ("tty: Added a CONFIG_TTY option to allow removal of TTY")
> > >> > from the tty tree.
> > >> >
> > >> > I fixed it up (see below - I am not sure if GOLDFISH_EVENTS needs TTY or
> > >> > not) and can carry the fix as necessary (no action is required).
> > >> >
> > >> > --
> > >> > Cheers,
> > >> > Stephen Rothwell                    [email-masked]
> > >> >
> > >> > diff --cc drivers/input/keyboard/Kconfig
> > >> > index 078305e,008f96a..0000000
> > >> > --- a/drivers/input/keyboard/Kconfig
> > >> > +++ b/drivers/input/keyboard/Kconfig
> > >> > @@@ -479,16 -482,8 +482,18 @@@ config KEYBOARD_SAMSUN
> > >> >       To compile this driver as a module, choose M here: the
> > >> >       module will be called samsung-keypad.
> > >> >
> > >> > + if TTY
> > >> > +
> > >> >  +config KEYBOARD_GOLDFISH_EVENTS
> > >> >  +  depends on GOLDFISH
> > >> >  +  tristate "Generic Input Event device for Goldfish"
> > >> >  +  help
> > >> >  +    Say Y here to get an input event device for the Goldfish virtual
> > >>
> > >> Looks good, thanks.
> > >
> > > Greg,
> > >
> > > Please drop 4f73bc4dd3e8563ef4109f293a092820dff66d92, at least the parts
> > > related to input. As far as I know nothing except serport driver
> > > depends on tty and we do not need to introduce this kind of
> > > dependencie. Anyone needing slim config can simply try disabling
> > > input (or parts of it) without needing an artificial dependencies.
> > >
> > > Thanks.
> > >
> > > --
> > > Dmitry
> > 
> > Dmitry and Greg,
> > 
> > SERIO needs TTY, 
> 
> No it does not. There is only one (1) serio driver that needs the tty
> layer and that is serport.
> 
> > and the majority of the input changes are adding "depends on TTY" to
> > things that "select SERIO" as they break the dependency chain.  In
> > other words, enabling a component that selects SERIO will turn SERIO
> > on even when SERIO depends on TTY and TTY is disabled.
> 
> Except that it does not. Are you confusing SERIO with SERIAL by any
> chance?

A few serial drivers don't actually need the TTY layer.  However, most
do, including many that don't obviously appear to at first glance.  For
instance, MOUSE_PS2 doesn't *appear* to need TTY, but without the
dependency, having MOUSE_PS2 enabled and TTY disabled produces a kernel
that doesn't build.  (Also keep in mind that many other headers include
<linux/tty.h>.)  Many of the drivers that don't actually need TTY
nonetheless won't typically appear on systems small enough to want to
compile out TTY.

In any case, it seems simple enough to whittle down dependencies on TTY
later on, but for a first pass, the conserative approach seems
preferable.

> In the future it would be nice if you CCed people involved in the
> subsystem you are changing.

Such as the maintainers of the TTY and serial layers?  Alan Cox OKed
this conservative addition of dependencies in the original version of
this change, and Greg had no complaints at the time.

- Josh Triplett