1. 19 Jan, 2004 24 commits
    • Andrew Morton's avatar
      [PATCH] input: atkbd option parsing · 9b7bd673
      Andrew Morton authored
      From: Dmitry Torokhov <dtor_core@ameritech.net>
      
      Convert atkbd to the new style of option parsing.
      
      If compiled as a module new option names are: set, softrepeat, reset.
      
      If built into the kernel options must be prepended with "atkbd." prefix,
      like "atkbd.softrepeat"
      9b7bd673
    • Andrew Morton's avatar
      [PATCH] input: psmouse option parsing · a03c40a3
      Andrew Morton authored
      From: Dmitry Torokhov <dtor_core@ameritech.net>
      
      With Vojtech's approval adjusted psmouse option names by dropping psmouse_
      prefix.
      
      If psmouse is compiled as a module new option names are: proto, rate,
      resetafter, resolution, smartscroll
      
      If psmouse is built in the kernel the prefix "psmouse." is required in
      front of an option, like "psmouse.proto"
      
      Also, since we are changing all names, killed psmouse_noext completely
      a03c40a3
    • Andrew Morton's avatar
      [PATCH] input: i8042 option parsing · 687e435a
      Andrew Morton authored
      From: Dmitry Torokhov <dtor_core@ameritech.net>
      
      With Vojtech's approval adjusted i8042 option names by dropping i8042_
      prefix.
      
      If i8042 is compiled as a module new option names are: direct, dumbkbd,
      noaux, nomux, reset, unlock.
      
      If i8042 is build in the kernel the prefix "i8042." is required in front of
      an option, like "i8042.reset"
      687e435a
    • Andrew Morton's avatar
      [PATCH] input: i8042 suspend · b54d1725
      Andrew Morton authored
      From: Dmitry Torokhov <dtor_core@ameritech.net>
      
      Add suspend methods to restore original controller state on suspend as some
      BIOS don't like the state we leave it in.  Also synchroniously delete the
      polling timer on module exit.
      b54d1725
    • Andrew Morton's avatar
      [PATCH] mousedev PS/@ emulation fix · 4ef3ed62
      Andrew Morton authored
      From: Dmitry Torokhov <dtor_core@ameritech.net>
      
      correctly perform PS/2 (mousedev) emulation for touchpads generating
      absolute events (do not stop with the first client)
      4ef3ed62
    • Andrew Morton's avatar
      [PATCH] Input: smooth out mouse jitter · c5b7a7d2
      Andrew Morton authored
      From: Dmitry Torokhov <dtor_core@ameritech.net>
      
      When calculating deltas for touchpads that generate absolute events use
      average over the last 3 packets to remove jitter
      c5b7a7d2
    • Andrew Morton's avatar
      [PATCH] raw.c refcounting fix · a15092bd
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk
      
      raw.c has a refcounting bug (patch attached).
      
      As for the theory...  If you have a pathname - use filp_open() or
      open_bdev_excl() and be done with that.  bdget() et.al.  are OK only if you
      really have nothing better than device number and that's a situation that
      should be avoided unless you really have no choice.
      
      Said that, we have the following primitives:
      
      * lookup_bdev(): takes a pathname, returns a reference to block_device.
      
      * bdget(): takes a number, returns a reference to block_device.
      
      * blkdev_get(): takes a reference to block_device and opens it.  If open
        fails - drops the reference to block_device passed to it.
      
      * blkdev_put(): takes a reference to block_device and closes it.  The
        reference is dropped.
      
      * bdput(): drops a reference to block_device.
      
      Note that behaviour of blkdev_get() and blkdev_put() is such that it makes
      for minimal cleanup code.
      
      bd_claim()/bd_release() is the exclusion mechanism - that's what mount,
      swapon, open with O_EXCL, etc.  are using to avoid stepping on each others
      toes.  bd_claim() claims bdev for given owner; if it's already owned and
      not by the same owner you'll get -EBUSY.  bd_release() reverts the effect
      of bd_claim().  Note that if you claim the thing N times (with the same
      owner, obviously), you'll need N bd_release() before it stops being owned.
      
      raw.c grabbed a reference to bdev only after blkdev_get().  If blkdev_get()
      failed (e.g.  media being absent), you've got an unbalanced bdput().
      a15092bd
    • Andrew Morton's avatar
      [PATCH] cramfs: use pagecache better · 5524f26f
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk
      
      	Patch switches cramfs_read() to direct use of pagecache and
      eliminates all messing with buffer_heads.  Fixes the interaction with
      ramdisk (there set_blocksize() simply killed the ramdisk contents) and
      gets code less brittle overall.
      5524f26f
    • Andrew Morton's avatar
      [PATCH] bdev: add I_BDEV() · 8fbd544c
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      For bdevfs inodes (ones created along with struct block_device by
      fs/block_dev.c) we have inode->i_bdev equal to &BDEV_I(inode)->bdev (i.e.
      it's at the constant offset from inode).  New helper added for such inodes
      (I_BDEV(inode)).  A bunch of places (mostly in block_dev.c) switched to use
      of that helper.  A bunch of places that used
      
      	file->f_dentry->d_inode->i_bdev->bd_inode
      
      switched to
      
      	file->f_mapping->host
      
      - those expressions are equal whenever the former is valid.
      8fbd544c
    • Andrew Morton's avatar
      [PATCH] bdev: generic_write_checks() cleanup · 980f7186
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      generic_write_checks() had lost the first argument (inode) - it can be
      calculated from the second one (file).
      980f7186
    • Andrew Morton's avatar
      [PATCH] bdev: bd_acquire() cleanup · 893544c4
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      bd_acquire() made static, switched to returning the block_device it had
      found.  Callers updated.
      893544c4
    • Andrew Morton's avatar
      [PATCH] bdev: generic_osync_inode() conversion · 7ca0643e
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      generic_osync_inode() got an extra argument - mapping and doesn't calculate
      inode->i_mapping anymore.  Callers updated and switched to use of
      ->f_mapping.
      7ca0643e
    • Andrew Morton's avatar
      [PATCH] bdev: move i_mapping -> f_mapping conversions · df6a148f
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      More uses of ->i_mapping switched to uses of ->f_mapping - stuff that was not
      caught by the earlier f_mapping conversion.
      df6a148f
    • Andrew Morton's avatar
      [PATCH] bdev: use correct mapping's i_sem · 54df7662
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      In a bunch of places we used file->f_dentry->d_inode->i_sem to protect
      fdatasync et.al.  Replaced with corrent file->f_mapping->host->i_sem - the
      object we are protecting is address_space, so we want an exclusion that would
      work for redirected ->i_mapping.  For normal files (not coda, not bdev) it's
      all the same, of course - there we have
      
       	file->f_mapping->host == file->f_dentry->d_inode
      
      and change above is an equivalent transfromation.
      54df7662
    • Andrew Morton's avatar
      [PATCH] bdev: switch to f_mapping · 32d66678
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      A lot of places used to use ->f_dentry->d_inode->i_mapping all over the
      place.  Replaced with use of ->f_mapping.  For now - just the places where we
      literally could do search-and-replace.
      32d66678
    • Andrew Morton's avatar
      [PATCH] bdev: add file.f_mapping · dd503c67
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      New field of struct file - ->f_mapping.  We maintain the following:
      file->f_dentry->d_inode->i_mapping == file->f_mapping for all opened files.
      dd503c67
    • Andrew Morton's avatar
      [PATCH] bdev: presto conversion · 2b11e518
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      presto_journal_close() switched to passing struct presto_file_data * instead
      of bogus struct file *.  The only field of struct file we used to look at was
      file->private_data and most of the callers allocated on-stack struct file,
      assigned file.private_data and passed the sucker to presto_journal_close().
      Idiocy removed.
      
      Looks like they started with case where the data they wanted all along was,
      indeed, in ->private_data of already available struct file, so they just
      passed pointer to struct file.  And when they found that they need to call it
      in other places where there was no such struct file, they'd done it the dumb
      way instead of fixing the prototype...
      2b11e518
    • Andrew Morton's avatar
      [PATCH] bdev: blkdev_put() cleanup · 621d5c9e
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      Trivial cleanup in blkdev_put() - replace bdev->bd_inode->i_bdev with bdev.
      621d5c9e
    • Andrew Morton's avatar
      [PATCH] bdev: open() changes · a1864a75
      Andrew Morton authored
      The first of a series which move us toward blockdev hotplug support.  After
      these we have achieved the following:
      
      a) For "normal" (not bdevfs) inodes of block devices we never look at
         ->i_mapping.
      
      b) For the same inodes we only look at ->i_bdev in bd_acquire() where it's
         used only as "here's what we'd found the last time" sort of cached value.
         If it's NULL, we just recalculate it.
      
      c) Lots of messy expressions had been trimmed down, while we are at it.
      
      (a) and (b) allow us to start doing proper block hotplug - we can destroy the
      association between inode and bdev at any time, unhash bdev in question and
      have new open() do everything from scratch, without waiting for old opened
      files to close.  The goal is to be able to say "revoke everything over that
      gendisk"/"revoke that partition" and have it do the right thing.
      
      
      This patch:
      
      Where the old code called (block device) ->open(inode, file), use
      ->open(inode->i_bdev->bd_inode, file).  Changes in drivers:
      
      * none to those that only used inode->i_bdev and inode->i_rdev in their
        ->open() (bdev->bd_inode->i_bdev == bdev, so we are OK)
      
      * floppy.c and floppy98.c used to call permission(inode, ...) in
        floppy_open().  Switched to permission(file->f_dentry->d_inode, ...)
      a1864a75
    • Andrew Morton's avatar
      [PATCH] loop: fix file refcount leak · 26dd5cfe
      Andrew Morton authored
      - Fix an error-path file refcount leak
      
      - Remove unnecessary get_file()/fput() pair.
      
      - Clean up error handling a little
      26dd5cfe
    • Andrew Morton's avatar
      [PATCH] loop: fix hard sector size · 9644d0d9
      Andrew Morton authored
      From: Ben Slusky <sluskyb@paranoiacs.org>
      
      We need to set the hardsect_size of the loop device to that of the real
      device.
      
      The loop device advertises a block size of 1024 even when configured over a
      cdrom.
      
      When burning a ext2 on a cd, and mounting it directly, I get:
      
      	blocksize=2048;
      
      when I losetup /dev/loop0 /dev/cdrom, and then try to mount, I get:
      
      blocksize=1024; and then misaligned transfer; this results in not being able
      to read the superblock.
      
      The loop device should be changed to export the same blocksize of the
      underlying device
      9644d0d9
    • Andrew Morton's avatar
      [PATCH] radeonfb line length fix · 59d997a5
      Andrew Morton authored
      From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      
      Fix the calculation of screenpitch and line lengths.
      59d997a5
    • Andrew Morton's avatar
      [PATCH] kyrofb support · d2d4d371
      Andrew Morton authored
      From: Paul Mundt <lethal@linux-sh.org>
      
      This patch adds support for the Kyro graphics boards (STG4000/PowerVR
      3/etc= .) to 2.6.  This is a direct port and substantial cleanup / rewrite
      of the 2.4 driver that's available in the sh64 tree at linux-sh.bkbits.net.
      
      Some of the overlay code and the STG4000 bits are still a bit ugly, so be
      forewarned.
      d2d4d371
    • Andrew Morton's avatar
      [PATCH] SH Merge · 43450275
      Andrew Morton authored
      From: Paul Mundt <lethal@linux-sh.org>
      
      Here's a rather large update for SH (this is a bit large mainly since a
      number of things have piled up, and Linus didn't want any of this during
      feature freeze time). All of these changes are specific to the SH platform,
      and as such, shouldn't effect any other platforms.
      43450275
  2. 18 Jan, 2004 5 commits
  3. 16 Jan, 2004 2 commits
    • Bjorn Helgaas's avatar
      [SERIAL] make ACPI serial module unload work · aa66974b
      Bjorn Helgaas authored
      Patch from Bjorn Helgaas
      
      This patch makes ACPI serial ports work right when the serial driver
      is built as a module.  Previously, loading worked fine, but we
      didn't clean up on module removal.
      aa66974b
    • Bjorn Helgaas's avatar
      [SERIAL] make HCDP dependent on serial console · b6bb73e1
      Bjorn Helgaas authored
      Patch from Bjorn Helgaas
      
      I propose the following HCDP Kconfig patch.  It makes HCDP
      selectable only when serial console has been selected.  One
      desirable side effect is that both are then available only
      when statically compiled in (i.e., not built as a module).
      
      The HCDP support doesn't actually depend on IA64, but I left
      that in for now because nobody else implements support for it
      and I don't want people confused by a selectable option that
      doesn't do anything.  Maybe a "depends on EFI" or something
      will be useful eventually.
      b6bb73e1
  4. 15 Jan, 2004 9 commits