Martin J. Bligh [Sat, 21 Sep 2002 12:39:56 +0000 (05:39 -0700)]
[PATCH] free_area_init_node fix (for non discontigmem direct use)
Some idiot (OK, it was me) broke free_area_init_node for
non discontigmem systems that call it directly (eg sparc64),
during a recent cleanup, thus invoking the wrath of DaveM.
I know Dave sent you a patch yesterday, but I think the BUG
statement in it will break anyone who just uses free_area_init
(eg any PC). So here's a portion of Dave's patch that should
fix things for everyone I think. Unfortunately my non-NUMA
test box is borked right now, but it just removes the BUG
statement from what he tested, and it's so simple that even
I couldn't screw this up (famous last words).
This code really needs some more cleanup work, but this will
fix it for now so everyone can do their work ...
Alexander Viro [Sat, 21 Sep 2002 09:51:16 +0000 (02:51 -0700)]
[PATCH] gendisk for aztcd
aztcd switched to use of gendisk; missing initcall restored (aztcd_init()
and friends used to be called directly from blk_dev_init(); apparently
the first step of bio merge had killed these calls but left module_init() in
these drivers under #ifdef MODULE).
Alexander Viro [Sat, 21 Sep 2002 09:51:01 +0000 (02:51 -0700)]
[PATCH] beginning of probe_disk() and gendisks for floppy
That's a tricky one and large part of that stuff is temporary - it will be
replaced as soon as we have gendisks for all block devices and get sane
refcounting for gendisks.
* we add per-major lists of gendisks; get_gendisk() looks into
appropriate list instead of looking through the list of all gendisks.
* we allow driver to override that search - it can call
blk_set_probe(major, probe) and then gendisk will call probe(minor).
blk_set_probe(major, NULL) restores the default behaviour.
* floppy.c switched to use of gendisks; we have one gendisk per
disk and let floppy_find(minor) return the right one.
Note that final mechanism will involve a similar construction
but floppy.c is actually the least interesting application - places
where it will really play will include stuff like loading the right
high-level driver when we open /dev/hdX, etc. And it won't be major-based...
Alexander Viro [Sat, 21 Sep 2002 09:43:02 +0000 (02:43 -0700)]
[PATCH] switch to add_disk()
Almost all callers of add_gendisk() were immediately followed by
register_disk(disk, mk_kdev(disk->major,disk->first_minor),
1<<disk->minor_shift, disk->fops, something);
The only exception (DAC960.c) massaged to that form.
New helper (add_disk(disk)) introduced and aforementioned sequence
replaced with
set_capacity(disk, something);
add_disk(disk);
David Mosberger [Fri, 20 Sep 2002 18:25:56 +0000 (11:25 -0700)]
ia64: Switch over to using ACPI PCI support routines. This gets rid of much of the
code-duplication that existed between ACPI and the ia64 IOSAPIC code.
To make this work, the Makefiles had to be re-organized to ensure that
the ACPI subsystem is initialized before PCI (even though both are called
via subsys-initcalls).
Jean Tourrilhes [Fri, 20 Sep 2002 16:29:08 +0000 (12:29 -0400)]
update irda nsc-ircc driver:
o [FEATURE] Cleanly change speed back to 9600bps
o [CORRECT] Change speed under spinlock/irq disabled
o [CORRECT] Make sure interrupt handlers don't mess irq mask
o [CORRECT] Don't change speed if we haven't fully finished to Tx
Dave Kleikamp [Fri, 20 Sep 2002 08:39:50 +0000 (03:39 -0500)]
JFS: Put legacy OS/2 extended attributes in "os2." namespace
Existing OS/2 extended attributes are stored without a namespace
prefix. To avoid polluting the linux namespace, prepend "os2." when
listing the EAs but store "os2." EA names without the prefix.
Also disallow setting extended attributes that don't begin with
"user." or "os2."
Fix vm86 system call interface to entry.S. This has been broken
since the thread_info support went in (early July), and can cause
lockups at X startup etc.
Patrick Mochel [Fri, 20 Sep 2002 03:49:33 +0000 (20:49 -0700)]
[PATCH] Adding driver model support in IDE
This adds the basic driver model support for the IDE subsystem.
Basically, it registers the controllers and devices with the driver
model core, which puts them in the device tree and gets them a directory
in driverfs. The driverfs layout looks like this (on my workstation):
Those are symlinks under devices/ (which is why the drive names must be
unique..). When drivers are registered with the IDE core, they should also
be passed through the core, which will give them a directory in the
drivers/ directory just above.
In general, there is a bit of code that can be cleaned up, and some
explicit calls removed, because of the way the driver model core works.
Most of these are pretty simple, and barring any objections, I will
implement and send them to you.
starting from 2.5.35 IDE stopped working on my alphas because of
following problems:
- ide_hwif_configure() ignores BARs for IDE base/control registers
and assumes legacy 0x1f0/0x170 ports, unless controller reports
native PCI mode (ProgIf bits 0 and 2).
This is incorrect, as there are quite a few IDE chips operating
in "semi-legacy" mode, i.e. legacy interrupts, but functional
BAR0-3, like cy82c693 and ali5229. I guess Andre could give a lot
more examples. :-)
This happens to work on i386 simply because BIOS usually assigns
legacy values to BAR0-3, but we can't rely on it.
Just checking respective resource->start for zero should work in
all cases.
- ide_pci_check_iomem(): resource->flags == 0 means "unconfigured" as well.
Thus we avoid false positives.
- Apparently cut'n'paste typo in cy82c693.c - wrong PCI IDs.
the attached patch (against BK-curr) fixes a bug in the new PID allocator,
which bug can cause incorrect hashing of the PID structure which causes
infinite loops in find_pid(). [and potentially other problems.]