1. 11 May, 2004 1 commit
    • Jean Delvare's avatar
      [PATCH] I2C: kill duplicate includes in i2c bus drivers · 3e712396
      Jean Delvare authored
      Following a suggestion of Arthur Othieno, here is a trivial patch that
      kills duplicate inclusions of config.h in four i2c bus drivers.
      
      At first I was thinking of also removing inclusions of config.h wherever
      it doesn't seem to be necessary but Eugene doesn't seem to think it's a
      good idea. So I may give it a try later (in 2.7), but for now this
      simple patch will be enough.
      3e712396
  2. 05 May, 2004 5 commits
    • Michael Hunold's avatar
      [PATCH] I2C: add .class to i2c drivers · 223f4b75
      Michael Hunold authored
      in the "[RFC|PATCH][2.6] Additional i2c adapter flags for i2c client
      isolation" thread, the i2c people have  agreed that an ".class" field
      should be added to struct i2c_driver.
      
      Currently only drivers do checks for plausibility ("Is this an adapter I
      can attach to?"), but adapters don't have a chance to keep drivers away
      from their bus.
      
      If both drivers and adapters provide a .class entry, the i2c-core can
      easily compare them and let devices only probe on busses where they can
      really exist.
      
      Real world example: DVB i2c adapters cannot ensure that only known DVB
      i2c chipsets probe their busses. Most client drivers probe every bus
      they get their hands on. This will confuse some DVB i2c busses.
      
      With the new I2C_CLASS_ALL flag it will be possible that an adapter can
      request that really all drivers are probed on the adapter. On the other
      hand, drivers can make sure that they get the chance to probe on every
      i2c adapter out there (this is not encouraged, though)
      
      The attached patch does the first step:
      - add .class member to struct i2c_device
      - remove unused .flags member from struct i2c_adapter
      - rename I2C_ADAP_CLASS_xxx to I2C_CLASS_xxx (to be used both for
        drivers and adapters)
      - add new I2C_CLASS_ALL and I2C_CLASS_SOUND classes
      - follow these changes in the existing drivers with copy & paste
      223f4b75
    • Jean Delvare's avatar
      [PATCH] I2C: Fix memory leaks in w83781d and asb100 · abfd324f
      Jean Delvare authored
      Quoting myself
      
      > U-ho. I think I've introduced a memory leak with this patch :(
      >
      > For drivers that handle subclients (asb100 and w83781d on i2c), the
      > sublient memory is never released if I read the code correctly. This
      > is because we now free the private data on unload, assuming that it
      > contains the i2c client data as well. That's true for the main i2c
      > client, but not for the subclients (data == NULL so nothing is freed).
      >
      > Could someone take a look and confirm?
      
      I could test and actually saw memory leaking when cycling the w83781d
      driver at a sustained rate (5/s).
      
      > I can see two different fixes:
      >
      > 1* When freeing the memory, free the data if it's not NULL (main
      > client), else free client (subclients). Cleaner (I suppose?).
      >
      > 2* When creating subclients, do data = &client instead of data = NULL.
      > Then freeing will work. Less code, faster. Are there side effects? (I
      > don't think so)
      >
      > My preference would go to 2*.
      
      I ended up implementing 1*. That's cleaner and there's actually almost
      no extra code.
      
      Mark, can you confirm that I'm doing the correct thing? I'll do
      something similar in our CVS repository (for now, the asb100 and w83781d
      drivers had not their memory allocation scheme reworked there).
      abfd324f
    • Jean Delvare's avatar
      [PATCH] I2C: Rewrite temperature conversions in via686a driver · 06ad1312
      Jean Delvare authored
      The following patch rewrites the temperature conversion macros and
      functions found in the via686a chip driver. Contrary to the voltage
      conversions a few weeks ago, temperature conversions were numerically
      correct, but artificially complex. The new ones are cleaner. It also
      fixes a highly improbable array overflow (would take one of the measured
      temperatures to be over 145 degrees C).
      
      Successfully tested by Mark D. Studebaker and I, and already applied to
      our CVS repository.
      06ad1312
    • Jean Delvare's avatar
      [PATCH] I2C: Invert as99127f beep bits in kernel space · 888c8b6b
      Jean Delvare authored
      The following patch changes the way we invert beep bits for the AS99127F
      sensor chip. This chip behaves differently from the other chips in that
      a disabled bit is 1, not 0. So far we didn't handle that specificity in
      the w83781d driver, so it was left to user-space applications to handle
      it. For the sake of uniformity, it's obviously better if it's done in
      the driver instead (although the meaning of each bit is still
      chip-dependant).
      
      I already did a similar change to the 2.4 driver and the sensors
      program. I don't think that many user-space application will be
      affected, since most of them don't handle the beep mask as far as I can
      tell.
      
      This also close Debian bug #209299:
      http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=209299
      
      Successfully tested on my AS99127F rev.1 chip. Aurelien Jarno also
      checked that there were no regression on non-Asus chips.
      888c8b6b
    • Jean Delvare's avatar
      4ee60a14
  3. 01 May, 2004 6 commits
    • Stefan Eletzhofer's avatar
      [PATCH] I2C: add I2C epson 8564 RTC chip driver · 83cc0fef
      Stefan Eletzhofer authored
      Add support for the Epson 8564 RTC chip.
      83cc0fef
    • Deepak Saxena's avatar
      [PATCH] I2C: Update IXP4xx I2C bus driver · b5b5c64e
      Deepak Saxena authored
      The 2.6 IXP4xx code has been cleaned up to change all references to
      IXP42x/IXP425 with IXP4xx. The following patch updates the I2C bits.
      Before applying, you need to 'bk move i2c-ixp42x.c ixp-4xx.c".
      b5b5c64e
    • Kevin O\'Connor's avatar
      [PATCH] I2C: support I2C_M_NO_RD_ACK in i2c-algo-bit · e0c91a98
      Kevin O\'Connor authored
      I have an I2C device (Samsung ks0127 video grabber) with a peculiar i2c
      implementation.  When reading bytes, it only senses for the stop condition
      in the place where the acknowledge bit should be.  So, to properly support
      this device acks need to be turned off during reads.
      
      There is an I2C_M_NO_RD_ACK bit already defined in i2c.h which appears to
      be what I want.  Unfortunately it doesn't seem to be used anywhere in the
      current tree.  At the end of this message is a patch to teach i2c_algo_bit
      to honor the bit.
      e0c91a98
    • Jean Delvare's avatar
      [PATCH] I2C: Voltage conversions in via686a · 5c2bdb6c
      Jean Delvare authored
      My previous patch was actually not correct, reading from the chip's
      registers was fixed but writing limits to it wasn't. This new version of
      the patch should be better. Sorry for the trouble.
      5c2bdb6c
    • Greg Kroah-Hartman's avatar
      I2C: rename i2c-ip4xx.c driver · 07e9d56e
      Greg Kroah-Hartman authored
      07e9d56e
    • Jean Delvare's avatar
      [PATCH] I2C: Add LM99 support to the lm90 driver · 0774728c
      Jean Delvare authored
      The following patch adds support for the LM99 chip to the lm90 driver,
      on popular request. The nVidia GeForce FX 5900 series cards have such a
      chip on-board for monitoring the GPU temperature.
      
      Relevant pointers:
      http://archives.andrew.net.au/lm-sensors/msg07671.html
      http://secure.netroedge.com/~lm78/readticket.cgi?ticket=1661
      http://secure.netroedge.com/~lm78/readticket.cgi?ticket=1662
      
      Additional effects of the patch:
      
      * Do not consider the lm90 driver experimental anymore. I have had
      enough testers and not a single problem report, the driver is working
      OK.
      
      * Support the LM89. According to the datasheets, it is exactly the same
      chip as the LM99 (to the chip ID). We've never seen this chip in a
      computer so far, but it doesn't cost anything to support it (actually we
      cannot not support it, since we have no way to differenciate with the
      LM99).
      
      * Scan two addresses instead of one. The LM99 and LM89 have a "-1"
      variant using an alternate address.
      
      * Update copyright year.
      
      * Reword the identification code a bit. It is hopefully slightly less
      unreadable.
      
      This patch was successfully tested by Corey Hickey.
      0774728c
  4. 30 Apr, 2004 20 commits
    • Linus Torvalds's avatar
      Fix fixed fadvice length handling · 2fc0873f
      Linus Torvalds authored
       - Correctly handle wraparound on offset+len
       - fix FADV_WILLNEED handling of non-page-aligned (offset+len)
      
      Let's hope we don't need to fix the fixed fix.
      2fc0873f
    • Andrew Morton's avatar
      [PATCH] usb linkage fix · 61a948c4
      Andrew Morton authored
      On sparc64 toolchain:
      
      drivers/built-in.o(.init.text+0xaf8c): In function `usb_init':
      : undefined reference to `usbfs_cleanup'
      
      usb_init() is __init and usbfs_cleanup() is __exit.  No can do.
      61a948c4
    • Linus Torvalds's avatar
      Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk · 5b0e59c8
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      5b0e59c8
    • Nicolas Pitre's avatar
      [ARM PATCH] 1841/1: Lubbock defconfig update · f1d26c92
      Nicolas Pitre authored
      Patch from Nicolas Pitre
      f1d26c92
    • Nicolas Pitre's avatar
      [ARM PATCH] 1840/1: recognize more XScale CPU variants · 268ffa1a
      Nicolas Pitre authored
      Patch from Nicolas Pitre
      
      ... including the new PXA270 aka Bulverde.
      268ffa1a
    • Nicolas Pitre's avatar
      [ARM PATCH] 1839/1: fix lubbock_flash.c which used a bogus reg name · 5cd573bc
      Nicolas Pitre authored
      Patch from Nicolas Pitre
      
      Before previous patch this driver compiled OK but was buggy.
      Now it doesn't compile anymore as the bogus macro has been
      deleted.  Fix that in any case.
      
      The same fix has been committed to the MTD CVS already, but please forward 
      this to Linus otherwise Lubbock won't compile from kernel.org tree anymore
      (waiting for dwmw2 to update this might prove ... hrm ... long) 
      5cd573bc
    • Nicolas Pitre's avatar
      [ARM PATCH] 1838/1: Lubbock leds and macro namespace cleanup · 8a8477d7
      Nicolas Pitre authored
      Patch from Nicolas Pitre
      
      Too many macro with too generic names.  Let's remove unneeded code and
      redundant/unused macros.  This also prevent namespace clash with upcoming 
      patches.
      8a8477d7
    • Nicolas Pitre's avatar
      [ARM PATCH] 1837/1: small Lubbock cleanup · bcbcfdfa
      Nicolas Pitre authored
      Patch from Nicolas Pitre
      
      Minor cleanup of Lubbock specific code, like removal of
      redundant mappings. 
      Also a prerequisite for some upcoming patches.
      bcbcfdfa
    • Nicolas Pitre's avatar
      [ARM PATCH] 1836/1: don't hardcode virtual addresses · 8a68214c
      Nicolas Pitre authored
      Patch from Nicolas Pitre
      
      virtual address mapping can change.
      8a68214c
    • Andrew Morton's avatar
      [PATCH] task_struct alignment fix · 978b7ac2
      Andrew Morton authored
      The recent slab alignment changes broke an unknown number of architectures
      (parisc and x86_64 for sure) by causing task_structs to be insufficiently
      aligned.
      
      We need good alignemnt because architectures do things like dumping FP state
      into the task_struct with instructions which require particular alignment (I
      think).
      
      So change the default alignment to L1_CACHE_BYTES, which is what we used to
      have, via SLAB_HW_CACHE_ALIGN.
      978b7ac2
    • Russell King's avatar
      [PATCH] Update MTD concatenating driver · 5d3c500b
      Russell King authored
      This patch updates the MTD concatenating driver from MTD CVS, which
      fixes issues found with this driver which concatenates multiple MTD
      devices into one MTD device.
      
      From David Woodhouse, through CVS:
      
      	revision 1.8
      	date: 2003/06/30 11:01:26;  author: dwmw2;  state: Exp;  lines: +5 -5
      	I will not commit stuff whilst pissed
      	I will not commit stuff whilst pissed
      
      	revision 1.7
      	date: 2003/06/29 21:26:34;  author: dwmw2;  state: Exp;  lines: +9 -9
      	Fix ecc/oob subdev comparisions
      
      	revision 1.6
      	date: 2003/06/25 12:37:50;  author: dwmw2;  state: Exp;  lines: +14 -6
      	Don't pretend to have {read,write}_{oob,ecc} functions if subdevices don't
      
      	revision 1.5
      	date: 2003/06/25 12:21:16;  author: dwmw2;  state: Exp;  lines: +390 -397
      	coding style cleanup
      5d3c500b
    • Linus Torvalds's avatar
      Merge http://lia64.bkbits.net/to-linus-2.5 · 791c0db5
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      791c0db5
    • David Mosberger's avatar
    • Andrew Morton's avatar
      [PATCH] fadvise length handling fix · 4c04146f
      Andrew Morton authored
      POSIX sez: "If len is zero, all data following offset is specified."
      4c04146f
    • Andrew Morton's avatar
      [PATCH] ppc64: shmget() translation bugfix · e408f065
      Andrew Morton authored
      From: David Gibson <david@gibson.dropbear.id.au>
      
      The 32->64 bit syscall translation layer on ppc64 incorrectly sign-
      extends rather than zero-extending the second parameter to shmget(),
      which should be a size_t.  This means that it is impossible to shmget()
      more 2GB or more from a 32-bit process.
      e408f065
    • Andrew Morton's avatar
      [PATCH] make ikconfig quiet · 7ead32b4
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      
      From: Pavel Machek <pavel@ucw.cz>
      
      Kill uninformative boot-time message.
      7ead32b4
    • Andrew Morton's avatar
      [PATCH] s390: oprofile Kconfig fixes · 978cd874
      Andrew Morton authored
      From: Arnd Bergmann <arnd@arndb.de>
      
      Enable basic profiling code on s390 depending on CONFIG_PROFILING, not
      CONFIG_OPROFILE.
      
      CONFIG_PROFILING should enable the generic profiling code here, even if
      CONFIG_OPROFILE is not set.  Note that the identical code on i386 is always
      compiled in, regardless of CONFIG_PROFILING and CONFIG_OPROFILE.
      978cd874
    • Andrew Morton's avatar
      [PATCH] DVB:Fix adapter module removal bug · 0978a298
      Andrew Morton authored
      From: Michael Hunold <hunold@convergence.de>
      
      unfortunately it's possible to remove a DVB adapter module even if a DVB
      network device has been set up using this adapter.
      
      The attached patch fixes this problem.
      0978a298
    • Andrew Morton's avatar
      [PATCH] efivars sysfs fix · 8be18297
      Andrew Morton authored
      From: Matt Tolentino <metolent@snoqualmie.dp.intel.com>
      
      This trailing space in sysfs contents is not needed.
      8be18297
    • Andrew Morton's avatar
      [PATCH] nfs printk warning fix · bc66945a
      Andrew Morton authored
      From: Trond Myklebust <trond.myklebust@fys.uio.no>
      
      fs/nfs/direct.c: In function `nfs_direct_IO':
      fs/nfs/direct.c:458: warning: int format, different type arg (arg 2)
      bc66945a
  5. 29 Apr, 2004 8 commits
    • Andrew Morton's avatar
      [PATCH] parport pnp detection fix · 96289450
      Andrew Morton authored
      From: Adam Belay <ambx1@neo.rr.com>
      
      Fix http://bugme.osdl.org/show_bug.cgi?id=2540
      
      It prevents PnP detection if devices were already detected by SuperIO.
      96289450
    • Trond Myklebust's avatar
      [PATCH] NFSv3: Fix SETATTR call after O_EXCL create · f155a04d
      Trond Myklebust authored
      Ensure that when we send the SETATTR call after doing an O_EXCL create,
      we always set the atime and ctime fields.
      
      See RFC1813 for details on why the server is allowed to clobber these
      two fields in order to cache a verifier that protects CREATE in case of
      a timeout+resend from the client.
      
      Patch is by Olaf Kirch.
      f155a04d
    • Linus Torvalds's avatar
      Merge http://lia64.bkbits.net/to-linus-2.5 · 1daa1f21
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      1daa1f21
    • Pat Gefre's avatar
      [PATCH] ia64: SN2 fix · 1014e334
      Pat Gefre authored
      Move HW interrupt register init. to the proper place
      and don't force an interrupt if the IRQ is disabled
      or in progress.
      1014e334
    • David Mosberger's avatar
      ia64: Fix Exec-Only stack patch so X can work again. · b4c39b30
      David Mosberger authored
      No pun intended, but X can't work if it can't turn on eXecute-permission
      on the some data pages...
      b4c39b30
    • Hugh Dickins's avatar
      [PATCH] mremap offset type · bbf2b79a
      Hugh Dickins authored
      Just found I never changed type of move_page_tables when I changed it to
      return offset: einormous mremap moves would fail on 64-bit.
      bbf2b79a
    • David Mosberger's avatar
      Merge tiger.hpl.hp.com:/data1/bk/vanilla/linux-2.5 · 1b0b1987
      David Mosberger authored
      into tiger.hpl.hp.com:/data1/bk/lia64/to-linus-2.5
      1b0b1987
    • Andrew Morton's avatar
      [PATCH] writeback livelock fix · 294947ec
      Andrew Morton authored
      To avoid various livelocks, the writeback code parks all the dirty inodes onto
      sb->s_io and then works through that list until it is empty.  This assumes
      that each inode will be moved to some other list as it is processed.
      
      But there's a loophole: if the ->writepages() implementation does nothing at
      all, the inode is not redirtied (which would move it to s_dirty).  This causes
      s_io to not empty and pdflush goes nuts.
      
      So when this happens, move the inode onto s_dirty within
      __sync_single_inode().  Use list_move_tail() to attempt to preserve the
      time-ordering of the s_dirty list.
      294947ec