1. 07 1月, 2006 1 次提交
    • J
      [PATCH] uml: Simplify console opening/closing and irq registration · 165dc591
      Jeff Dike 提交于
      This patch simplifies the opening and closing of host console devices and the
      registration and deregistration of IRQs.  The intent is to make it obvious
      that an IRQ can't exist without an open file descriptor.
      
      chan_enable will now open the channel, and when both opening and IRQ
      registration are desired, this should be used.  Opening only is done for the
      initial console, so that interface still needs to exist.
      
      The free_irqs_later interface is now gone.  It was intended to avoid freeing
      an IRQ while it was being processed.  It did this, but it didn't eliminate the
      possiblity of free_irq being called from an interrupt, which is bad.  In its
      place is a list of irqs to be freed, which is processed by the signal handler
      just before exiting.  close_one_chan now disables irqs.
      
      When a host device disappears, it is just closed, and that disables IRQs.
      
      The device id registered with the IRQ is now the chan structure, not the tty.
      This is because the interrupt arrives on a descriptor associated with the
      channel.  This caused equivalent changes in the arguments to line_timer_cb.
      line_disable is gone since it is not used any more.
      
      The count field in the line structure is gone.  tty->count is used instead.
      
      The complicated logic in sigio_handler with freeing IRQs when necessary and
      making sure its idea of the next irq is correct is now much simpler.  The irq
      list can't be rearranged underneath it, so it is now a simple list walk.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      165dc591
  2. 22 6月, 2005 1 次提交
    • P
      [PATCH] uml: add and use generic hw_controller_type->release · dbce706e
      Paolo 'Blaisorblade' Giarrusso 提交于
      With Chris Wedgwood <cw@f00f.org>
      
      Currently UML must explicitly call the UML-specific
      free_irq_by_irq_and_dev() for each free_irq call it's done.
      
      This is needed because ->shutdown and/or ->disable are only called when the
      last "action" for that irq is removed.
      
      Instead, for UML shared IRQs (UML IRQs are very often, if not always,
      shared), for each dev_id some setup is done, which must be cleared on the
      release of that fd.  For instance, for each open console a new instance
      (i.e.  new dev_id) of the same IRQ is requested().
      
      Exactly, a fd is stored in an array (pollfds), which is after read by a
      host thread and passed to poll().  Each event registered by poll() triggers
      an interrupt.  So, for each free_irq() we must remove the corresponding
      host fd from the table, which we do via this -release() method.
      
      In this patch we add an appropriate hook for this, and remove all uses of
      it by pointing the hook to the said procedure; this is safe to do since the
      said procedure.
      
      Also some cosmetic improvements are included.
      
      This is heavily based on some work by Chris Wedgwood, which however didn't
      get the patch merged for something I'd call a "misunderstanding" (the need
      for this patch wasn't cleanly explained, thus adding the generic hook was
      felt as undesirable).
      Signed-off-by: NPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      CC: Ingo Molnar <mingo@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      dbce706e
  3. 17 5月, 2005 1 次提交
  4. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4