1. 12 Mar, 2004 3 commits
    • Greg Kroah-Hartman's avatar
    • Jonathan Corbet's avatar
      [PATCH] cdev 2/2: hide cdev->kobj · fa31a260
      Jonathan Corbet authored
      The existing cdev interface requires users to deal with the embedded
      kobject in two places:
      
      - The kobject name field must be set before adding the cdev, and
      - Should cdev_add() fail, a call to kobject_put() is required.
      
      IMO, this exposure of the embedded kobject makes the interface more brittle
      and harder to understand.  It's also unnecessary.  With the removal of
      /sys/cdev, a call to cdev_del() will nicely replace kobject_put(), and the
      name setting is easily wrapped.
      
      This is against 2.6.4, but depends on the /sys/cdev removal patch.
      fa31a260
    • Jonathan Corbet's avatar
      [PATCH] cdev 1/2: Eliminate /sys/cdev · e9e883fe
      Jonathan Corbet authored
      This is the first of two patches designed to make life easier for authors
      of device driver books - and, with luck, driver authors too.
      
      /sys/cdev is, according to Al, a mistake which was never really meant to
      exist.  I believe nothing uses it currently - there isn't a whole lot there
      to use.  Its existence takes up system resources, and also requires drivers
      to deal with the cdev's embedded kobject in their failure paths.  The
      following patch (against 2.6.4) makes it all go away.
      
      OK, almost all.  We have to keep (but not register) cdev_subsys because
      it's rwsem is needed to control access to cdev_map.
      e9e883fe
  2. 11 Mar, 2004 4 commits
  3. 10 Mar, 2004 6 commits
    • Leann Ogasawara's avatar
      [PATCH] Add sysfs simple class support for netlink · 4740d085
      Leann Ogasawara authored
      Patch adds sysfs simple class support for netlink character device
      (Major 36).  Feedback appreciated.  Thanks,
      4740d085
    • Chris Wright's avatar
      [PATCH] class_simple cleanup in sg · 20e358f2
      Chris Wright authored
      The only spot that seems to care about class_simple_device_add possibly
      failing, but it gets the wrong error test.
      20e358f2
    • Chris Wright's avatar
      [PATCH] class_simple cleanup in misc · ee328e2c
      Chris Wright authored
      Error path doesn't class_simple_destroy.
      ee328e2c
    • Chris Wright's avatar
      [PATCH] class_simple cleanup in input · 9dc68fe4
      Chris Wright authored
      Doesn't catch error on class_simple_add, and existing error return paths
      forget to class_simple_destroy.
      9dc68fe4
    • Chris Wright's avatar
      [PATCH] class_simple clean up in lp · 717d3071
      Chris Wright authored
      Error condition isn't caught on class_simple_create, and
      parport_register_driver failure doesn't do proper cleanup.
      717d3071
    • Chris Wright's avatar
      [PATCH] Patch to hook up PPP to simple class sysfs support · 21601e2e
      Chris Wright authored
      * Hanna Linder (hannal@us.ibm.com) wrote:
      > +		ppp_class = class_simple_create(THIS_MODULE, "ppp");
      > +		class_simple_device_add(ppp_class, MKDEV(PPP_MAJOR, 0), NULL, "ppp");
      
      What happens if that class_simple_create() fails?  Actually,
      class_simple_device_add could fail too, but doesn't seem anybody is
      checking for that.
      
      >  		err = devfs_mk_cdev(MKDEV(PPP_MAJOR, 0),
      >  				S_IFCHR|S_IRUSR|S_IWUSR, "ppp");
      > -		if (err)
      > +		if (err) {
      >  			unregister_chrdev(PPP_MAJOR, "ppp");
      > +			class_simple_device_remove(MKDEV(PPP_MAJOR,0));
      > +		}
      
      need to destroy the class on error path to avoid leak.
      
      > @@ -2540,6 +2547,7 @@ static void __exit ppp_cleanup(void)
      >  	if (unregister_chrdev(PPP_MAJOR, "ppp") != 0)
      >  		printk(KERN_ERR "PPP: failed to unregister PPP device\n");
      >  	devfs_remove("ppp");
      > +	class_simple_device_remove(MKDEV(PPP_MAJOR, 0));
      
      ditto.  this will leak and would cause oops on reload of module.
      
      something like below.
      21601e2e
  4. 09 Mar, 2004 2 commits
  5. 08 Mar, 2004 25 commits
    • Rusty Russell's avatar
      [PATCH] Clean up hotplug slab some more · c5d9af3e
      Rusty Russell authored
      This is a cleaner fix for the previous bogon fix.
      c5d9af3e
    • Linus Torvalds's avatar
      3d32d5d0
    • Rusty Russell's avatar
      [PATCH] minor slab cleanups for hotplug CPUs · bd7c5d21
      Rusty Russell authored
      - Move free_block prototype, and ac_entry and ac_data functions up in file.
      
      - Use list_for_each_entry in cpuup_callback.
      
      - Remove unneccessary g_cpucache_up in cpuup_callback.
      
      - Make reap_timer_func take CPU number as data, and check if that is
        offline before rescheduing (noop without CONFIG_HOTPLUG_CPU).
      bd7c5d21
    • Rusty Russell's avatar
      [PATCH] remove sparc64's num_possible_cpus() · 9f989ac8
      Rusty Russell authored
      Levent Serinol <levent.serinol@mynet.com> found that the hotplug cpu
      patch broke Sparc64.  I introduced a num_possible_cpus(), which
      Sparc64 already has.  Remove the Sparc64 one.
      
      I also removed Sparc64's cpu_online() macro: it's in linux/cpumask.h
      already.
      9f989ac8
    • Rusty Russell's avatar
      [PATCH] minor cleanups for hotplug CPUs · a59d2e4e
      Rusty Russell authored
      Note that without CONFIG_HOTPLUG_CPU, online cpus == possible cpus, so
      substitutions are a noop.
      
      - Changes show_stat to print out stats for every possible cpu, not
        just online CPUs.
      
      - Allocate mem in stat_open on possible, not online_cpus.
      
      - Add conventient macros to cpu.h: especially cpu_is_offline() for
        testing if a cpu is still online.
      
      - Add a num_possible_cpus() similar to num_online_cpus(), and define
        cpu_possible_mask for UP.
      
      - Allow printk on down cpus once system is running.
      
      - Mask cpumask with possible, not online cpus, for sys_getaffinity().
      a59d2e4e
    • Rusty Russell's avatar
      [PATCH] introduce __drain_pages() to take a CPU number · 33a7ddaa
      Rusty Russell authored
      Extracts core of drain_pages() for hotcpu use.  Trivial.
      
      Hotplug CPU needs to drain pages on a downed CPU (usually it's the
      current cpu).  Introduce "__drain_pages", make the CPU an argument,
      and expose it if CONFIG_HOTPLUG_CPU as well as CONFIG_PM.
      33a7ddaa
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/jgarzik/via-crypto-2.5 · 409f3569
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.5/linux
      409f3569
    • Jeff Garzik's avatar
      Merge redhat.com:/spare/repo/linux-2.5 · 0628cffc
      Jeff Garzik authored
      into redhat.com:/spare/repo/via-crypto-2.5
      0628cffc
    • Linus Torvalds's avatar
      Merge bk://gkernel.bkbits.net/libata-2.5 · 6cc556b6
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.5/linux
      6cc556b6
    • Jeff Garzik's avatar
      [libata sata_promise] provide proper SCSI completion function · 4cb629dd
      Jeff Garzik authored
      Promise driver uses a custom error handling function, so we need
      the fix that was applied to the libata core:  the SCSI error
      handling thread requires that we complete commands using a special
      completion function, since the normal one doesn't work inside
      the error handling thread.
      4cb629dd
    • Jeff Garzik's avatar
    • Jeff Garzik's avatar
      [libata] Include linux/suspend.h · e37388ca
      Jeff Garzik authored
      e37388ca
    • Arjan van de Ven's avatar
      [PATCH] sata vs suspend-to-ram · fde09706
      Arjan van de Ven authored
      The following patch is a very crude one to at least not make sata block
      suspend-to-ram entirely. Probably you want more powermanagement handling as
      well... but it's a start
      fde09706
    • Linus Torvalds's avatar
      Merge bk://gkernel.bkbits.net/net-drivers-2.5 · 0b2bfc7d
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.5/linux
      0b2bfc7d
    • Don Fry's avatar
      [PATCH] pcnet32 transmit hang fix · febd4f29
      Don Fry authored
      The pcnet32 driver will hang after a few frames (<30) with the 79C971
      (and probably the 79C972 though I don't have the hardware to prove it).
      By interrupting slightly more frequently the hang will not occur.
      febd4f29
    • Marc Zyngier's avatar
      [PATCH] Fix hp100 EISA probing · d6258fcd
      Marc Zyngier authored
      >>>>> "Pawel" == Pawel Sokolowski <falcon@muflon.linux.pl> writes:
      
      Pawel> This machine has RAM BIOS booted from floppy. I ran it and EISA
      Pawel> configure utility to check this once more. Card is enabled and not
      Pawel> locked. I added eisa_bus.enable_dev=2 parameter but it didn't help much.
      Pawel> I'm getting:
      
      Pawel> EISA: Probing bus 0 at eisa0
      Pawel> EISA: Mainboard HWPC061 detected.
      Pawel> EISA: slot 2 : HWP1940 detected (forced enabled).
      Pawel> EISA: Detected 1 card.
      
      Pawel> I added this final entry you mailed but nothing changed. Still - module
      Pawel> loads and unloads cleanly and without any warnings on 2.6.4-rc1. But
      Pawel> does nothing - not a single line in logs/dmesg after it's loaded. Card
      Pawel> does not work after modprobe, I can't get interface up.
      
      Ok, found it.
      
      It really looks like the new EISA probing code in hp100 never got
      tested, since a precious offset has disappeared during the rewriting
      process.
      
      Please note that you still need to enable the device by hand, since
      your BIOS (or maybe the EISA CFG file, since I'm seeing the exact same
      problem on a Compaq machine here) doesn't properly enable the card.
      
      Here is what I'm getting on my test system :
      
      EISA: Probing bus 0 at 0000:00:0f.0
      EISA: Mainboard CPQ0541 detected.
      EISA: slot 1 : DEC4250 detected.
      EISA: slot 2 : UNB0048 detected.
      EISA: slot 3 : HWP1940 detected (forced enabled).
      hp100: Using (slow) programmed i/o mode.
      hp100: at 0x3c38, IRQ 3, EISA bus, 128k SRAM (rx/tx 75%).
      hp100: Adapter is attached to 10Mb/s network (10baseT).
      EISA: slot 4 : NVL0701 detected.
      d6258fcd
    • Rusty Russell's avatar
      [PATCH] make module code use stop_machine.c · 1af452e4
      Rusty Russell authored
      Now we've moved the bogolock code out to stop_machine.c and
      generalized it a little, use it in module.c and delete the duplicate
      code there.
      1af452e4
    • Rusty Russell's avatar
      [PATCH] stop_machine_run: Move Bogolock Code Out of module.c · 80037662
      Rusty Russell authored
      The "bogolock" code was introduced in module.c, as a way of freezing
      the machine when we wanted to remove a module.  This patch moves it
      out to stop_machine.c and stop_machine.h.
      
      Since the code changes affinity and proirity, it's impolite to hijack
      the current context, so we use a kthread.  This means we have to pass
      the function rather than implement "stop_machine()" and
      "restart_machine()".
      80037662
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/sparc-2.6 · 23d54a89
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.5/linux
      23d54a89
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/net-2.6 · 5f3ac182
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.5/linux
      5f3ac182
    • David S. Miller's avatar
      Merge davem@nuts.davemloft.net:/disk1/BK/sparc-2.6 · 64994feb
      David S. Miller authored
      into kernel.bkbits.net:/home/davem/sparc-2.6
      64994feb
    • Linus Torvalds's avatar
      Merge http://jfs.bkbits.net/linux-2.5 · 05beebbe
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.5/linux
      05beebbe
    • Dave Kleikamp's avatar
      Merge jfs@jfs.bkbits.net:linux-2.5 · 8d7d9915
      Dave Kleikamp authored
      into austin.ibm.com:/shaggy/bk/jfs-2.5
      8d7d9915
    • Dave Kleikamp's avatar
      JFS: Add lots of missing statics and remove dead code · 16ecfdb9
      Dave Kleikamp authored
      Submitted by Christoph Hellwig
      16ecfdb9
    • Dave Kleikamp's avatar
      JFS: Avoid incrementing i_count on file create · 64194c24
      Dave Kleikamp authored
      Committing a transaction creating a file required insuring that the
      inode stayed in cache until the journal was written to.  i_count was
      being incremented until the transaction was complete.
      
      However, incrementing i_count caused fcntl(S_SETLEASE) to fail.  I
      reworked the transaction code so that the inode does not have to
      stay in-memory while the transaction is being committed.
      
      Thanks to Steve French for figuring out why setlease was failing.
      64194c24