1. 09 Mar, 2003 5 commits
    • Russell King's avatar
      [SERIAL] Prevent multiple calls to tty_{un,}register_device() · 56713565
      Russell King authored
      There were a couple of cases where we call tty_register_device()
      multiple times for the same port, notibly when ports are discovered
      via 8250_pci, 8250_pnp or 8250_cs modules.  With devfs configured,
      this causes a warning.  Don't call tty_register_device() multiple
      times.
      56713565
    • Russell King's avatar
      [SERIAL] Four bug fixes · 5a0455c4
      Russell King authored
      - Preserve per-port flags which are not modifyable from user space.
      - Only allow DTR, RTS, OUT1 and OUT2 to be controlled from user space.
      - Don't put the console port into sleep mode when closing a port.
      - Ensure that we wake up people waiting on modem status changes when
        we receive a hangup.
      5a0455c4
    • Russell King's avatar
      b831d0fc
    • Russell King's avatar
      [SERIAL] Add per-port semaphore. · d9a6bc6e
      Russell King authored
      Add a per-port semaphore to protect against simultaneous opens,
      closes, hangups, and the like.  This removes the need for the
      UIF_CLOSING flag, as well as the extra tests and wait queues.
      
      Disable the old PM code for now - it is incompatible with the
      per-port semaphore.
      d9a6bc6e
    • Russell King's avatar
      [SERIAL] Eliminate some more passing of struct uart_info. · 1208e2cb
      Russell King authored
      Replace uart_info argument for uart_change_speed, uart_startup,
      uart_shutdown and uart_update_termios with a uart_state structure.
      We no longer pass struct uart_info around to other functions.
      1208e2cb
  2. 08 Mar, 2003 5 commits
    • Russell King's avatar
      4c34d07e
    • Russell King's avatar
      [SERIAL] Make tty->driver_data point at the uart_state structure. · 2641cc66
      Russell King authored
      Since the uart_state structure is less volatile than uart_info, we
      can safely place some semaphores in uart_state.
      2641cc66
    • Russell King's avatar
      28f23c1a
    • Russell King's avatar
      [SERIAL] Update 8250_acorn.c · 842cd3cb
      Russell King authored
      Add resource-based addressing and ioremap support.  Ask the 8250
      layer to handle the resources, and share IRQs.
      842cd3cb
    • Russell King's avatar
      [SERIAL] Overhaul 8250_pci.c · cff179f1
      Russell King authored
      - Add local copy of flags for describing port characteristics.
      - Add "quirk" handling to sort out board-specific initialisation,
        per-port setup, and finalisation.
      - Remove quirk information from struct pci_board array, thereby
        making entries more generic.
      - Initialise struct pci_board array using explicit indicies -
        adding to the readability, and making sure that the right entries
        are in the correct location in the table.
      - Ensure we tell the serial layer to claim resources, and share
        interrupts.  PCI interrupts are sharable, and need to be so that
        multi-function cardbus cards will work.
      - Only remap each PCI memory BAR once.
      - Add pci serial driver to the tty devclass (this requires the patch
        to make tty_io.c register the tty devclass early.)
      
      Tested by CaT and myself.
      cff179f1
  3. 06 Mar, 2003 30 commits
    • Linus Torvalds's avatar
      Fix a very theoretical race between the new RCU lookup and · fd7eaee2
      Linus Torvalds authored
      concurrent renames in another directory.
      
      I doubt this can be triggered in practice, and the fix is
      a bit heavy-handed, but let's see if numbers can show that
      the simple fix doesn't show any real lock contention.
      fd7eaee2
    • Linus Torvalds's avatar
    • Anton Blanchard's avatar
      [PATCH] missing include · 717da745
      Anton Blanchard authored
      list.h must now include stddef since it uses NULL.
      717da745
    • H. Peter Anvin's avatar
      [PATCH] bootsect removal · 72574bb3
      H. Peter Anvin authored
      This is the "boot sector removal" patch for i386 updated for Linux
      2.5.63-bk7.  The only change against the 2.5.59 version is that the
      FDOPTS Makefile variable, which lets one create a floppy image with
      arbitrary kernel options, has been merged from the x86-64 version, and
      the comments have been updated.
      
      The patch removes the in-kernel boot sector, which these days rarely
      work correctly (it only supports up to 1 MB kernels, and only work on
      legacy floppies -- not on IDE or USB devices, nor on any kind of
      emulated devices like El Torito), replaces it with a placeholder stub,
      and sets up the Makefile targets to create floppies or floppy images
      using SYSLINUX.  The FDOPTS Makefile variable can be used to set
      kernel command line options (thanks to a suggestion by Andi Kleen.)
      
      Note that the same change has already been applied to the x86-64
      architecture.  The last hunk of the patch corrects a comment in that
      architecture.
      72574bb3
    • Russell King's avatar
      [PATCH] Fix up pci_scan_bridge and friends · 7deaf3b8
      Russell King authored
        Now we tackle pci_add_new_bus and pci_scan_bridge.  The hotplug code
        currently uses this, but I'd like it to die off; pci_scan_bridge()
        should be used to scan behind bridges.  This may mean hotplug needs
        some changes to pci_scan_bridge - if so, we need to find out what
        changes are required and fix it.
      
        pci_alloc_child_bus() does what pci_add_new_bus() did, except it
        doesn't attach the new bus to the parents list of child buses.  The
        only way this bus can be reached from the parent bus is by scanning
        the parents devices list, and locating a device with a non-NULL
        subordinate bus.  The only code which should be doing this is the
        PCI code.
      
        Since the new bus will have an empty list head for bus->node, we can
        detect unattached buses prety easily.  (see pci-3.diff.)
      
        pci_scan_bridge() changes slightly - we use our new pci_scan_child_bus()
        function from pci-3.diff, which doesn't attach devices to the global
        tree.  This means callers of pci_scan_child_bus() and pci_scan_bridge()
        (ie, hotplug) will need to call pci_bus_add_devices().
      7deaf3b8
    • Russell King's avatar
      [PATCH] Convert setup-bus resource allocation to use bus->devices · 5819c31c
      Russell King authored
      - Convert setup-bus.c resource allocation to scan bus->devices rather
        than bus->children.  As noted previously, newly discovered child
        buses will not be on the parents list of children buses, so when
        we're trying to assign resources, we need to scan the bus for
        devices with subordinate buses rather than using the list of children
        buses.
      5819c31c
    • Russell King's avatar
      [PATCH] Only add devices to bus->devices while scanning... · 64964f5b
      Russell King authored
        The pci_find* functions search using the following lists:
              bus->children   (for subordinate buses)
              pci_root_buses  (for all root buses)
              pci_devices     (for devices)
      
        This leaves one list which we can add devices to without any drivers
        finding the new devices before we've finished with them.
      
      - initialise bus->node list head.
      
      - pci_scan_slot will scan the specified slot, and add the discovered
        devices to the bus->devices list only.  These devices will not
        appear on the global device list, and do not show in sysfs, procfs.
        pci_scan_slot returns the number of functions found.  If you want
        to find the devices, you have to scan bus->devices and look for
        devices where list_empty(&dev->global_list) is true.
      
      - new function "pci_bus_add_devices" adds newly discovered devices
        to the global device lists, and handles the sysfs and procfs
        stuff, making the devices available to drivers.  All our buses
        which have an empty list head are treated as "new" (since they
        are not attached to the parent buses list of children) and are
        also added.  Currently, no buses will be in this state when this
        function is called.
      
      - new function "pci_scan_child_bus" scans a complete bus, building
        a list of devices on bus->devices only, performing bus fixups
        via pcibios_fixup_bus() and scanning behind bridges.  It does
        make devices externally visible.
      
      - pci_do_scan_bus retains its original behaviour - ie, it scans
        and makes devices available immediately.
      64964f5b
    • Russell King's avatar
      [PATCH] Eliminate stack allocation of struct pci_dev... · 7c3db3a8
      Russell King authored
      - Eliminate the stack allocation of a struct pci_dev, and make
        pci_scan_slot() take a bus and a devfn argument.
      - Add "dev->multifunction" to indicate whether this is a multifunction
        device.
      - Run header fixups before inserting the new pci device into any
        device lists or announcing it to the drivers.
      - Convert some more stuff to use the list_for_each* macro(s).
      7c3db3a8
    • Russell King's avatar
      [PATCH] Separate out pci bus resource allocator · f2820e1d
      Russell King authored
      - Separate out bus resource allocator (pci_bus_alloc_resource)
      - Provide pci_enable_bridges to setup command register for all
        pci bridges.
      f2820e1d
    • Linus Torvalds's avatar
      Merge home.transmeta.com:/home/torvalds/v2.5/alan · aadabe8b
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      aadabe8b
    • Alan Cox's avatar
      [PATCH] update via driver from 3.35-ac to 3.36 · b3117107
      Alan Cox authored
      b3117107
    • Alan Cox's avatar
      [PATCH] fix wrong type and statics in amd ide · 4de19940
      Alan Cox authored
      4de19940
    • Alan Cox's avatar
      451181f1
    • Alan Cox's avatar
      [PATCH] remove spare cast · 1b0f4ce6
      Alan Cox authored
      1b0f4ce6
    • Alan Cox's avatar
      [PATCH] add sensible names to the ide iops · efe021c4
      Alan Cox authored
      The outbsync one has further changes to come in the next batch to sort
      out some platforms like PPC
      efe021c4
    • Alan Cox's avatar
      [PATCH] switch ide-io (core ioctls etc) to ide_execute_command · 22add2b2
      Alan Cox authored
      Also fix the irq masking bug
      22add2b2
    • Alan Cox's avatar
      1b34a8bb
    • Alan Cox's avatar
      [PATCH] ide-dma · 10404b97
      Alan Cox authored
      This switches ide-dma to ide_execute_command and makes IDE DMA also happy
      when running shared IRQ
      10404b97
    • Alan Cox's avatar
      [PATCH] bring ide-disk driver into line with 2.4.21pre · aadf20dc
      Alan Cox authored
      This doesn't have the new -ac testing stuff from 2.4.21pre5-ac but it
      has the stuff I now trust in it. This fixes the cache flush stuff and
      also means ide-disk now should be safe shared IRQ
      aadf20dc
    • Alan Cox's avatar
      [PATCH] clean up all the console inits using an initcall variant · b6fed5fc
      Alan Cox authored
      Dave Woodhouse did this a while ago and its been kicking around in my
      tree just fine. This gets rid of a lot of the init lists of functions
      still left in the kernel by having an __init type array built up for the
      consoles as well
      b6fed5fc
    • Alan Cox's avatar
      69550c78
    • Alan Cox's avatar
      [PATCH] correct irq logic for x86 · 13381016
      Alan Cox authored
      We must not look for a PCI IRQ for a non native mode IDE device
      We must write PCI_INTERRUPT_LINE for VIA
      13381016
    • Alan Cox's avatar
      [PATCH] update PCI quirks · 7ee60db1
      Alan Cox authored
      ALi Magik requires workarounds for TV chips
      IDE controllers require proper handling in legacy mode
      PXB must be disabled on C0 450NX or the IDE will corrupt memory
      VIA northbridge devices require the interrupt line is written
      NEC_CBUS_2/3 require ISA DMA workarounds
      7ee60db1
    • Alan Cox's avatar
      d0de2326
    • Alan Cox's avatar
      [PATCH] clean up 2.2 stuff in wanrouter code · 205de206
      Alan Cox authored
      205de206
    • Alan Cox's avatar
      [PATCH] correct file names in comments in mm · ff2be88d
      Alan Cox authored
      ff2be88d
    • Alan Cox's avatar
      [PATCH] correct emu10k url · bed80749
      Alan Cox authored
      bed80749
    • Alan Cox's avatar
      [PATCH] remove 2.0/2.2 stuff from wanrouter · 68300d2b
      Alan Cox authored
      68300d2b
    • Alan Cox's avatar
      [PATCH] remove 2.0/2.2 stuff · 3a6167a6
      Alan Cox authored
      3a6167a6
    • Alan Cox's avatar
      [PATCH] add a new PCI quirk type for the ALi Magik series · c100aed2
      Alan Cox authored
      This chip needs latency and other setups to avoid a PCI/AGP deadlock
      with tv cards
      c100aed2