- 05 Jun, 2002 9 commits
-
-
Kai Germaschewski authored
If an object was changed to not export symbols anymore, the corresponding stale .ver file would have been left lying around and been picked up when generating modversions.h. The obvious solution to remove include/linux/modules/* at the beginning of "make dep" is not really good, since that means that .ver files would be regenerated unconditionally, thus causing a lot of possibly unnecessary rebuilds. So, instead, we build a temporary shadow tree of all export-objs (as empty files) during the recursive "make fastdep" phase, and use that to generate modversions.h. Ensure that we touch include/linux/modversions.h if any of the .ver files changes, that's our marker to rebuild all modversions affected files.
-
Kai Germaschewski authored
If KBUILD_VERBOSE is not set in the environment, have it default to 1 (i.e. on)
-
Kai Germaschewski authored
Rules.make now has three targets: o default (a.k.a first_rule): The actual build. Deciding whether to build built-in or modular or both is decided by $(KBUILD_MODULES) and $(KBUILD_BUILTIN) now, instead of using different targets o fastdep: doesn't actually dependencies anymore, only generates modversions o modules_install: Well, you guess what that does. Cleaned up descending, and no more differentiating between $(subdir-y) and $(subdir-m). That means $(mod-subdirs) can go away now.
-
Kai Germaschewski authored
We used to force the obvious deep structure of all objects which export symbols into a flat list in include/linux/modules. This initially caused the restriction the no two exporting objects could have the same name (Ever wondered why there's ksyms.c and i386_ksyms.c?) With the ALSA merge this restriction was mostly lifted by some hack, but some cases still don't work right (Hi XFS). As it's much cleaner to just use a normal tree under include/linux/modules, reflecting the source tree, we now do just that.
-
Kai Germaschewski authored
Making dependencies once up front is not ideal. For one, you don't need them initially, since when you don't have the .o file, you bet you have to build it no matter what the dependencies say - dependencies are about deciding when to *re*build. There's more reasons, like: o you don't even know which files you'll build, so you have to go over all files (even over drivers/{sbus,s390,...} on i386) o generated files don't exist yet, so you cannot pick up dependencies on them o even if dependencies are right initially, they change when you work on your tree or patch it, and nobody will notice unless you run "make dep" explicitly again Anyway, gcc knows hows to emit a correct dependency list, so we just use that. Well, a little bit of hacking is necessary to remove the dependency on autoconf.h and put in individual CONFIG_WHAT_EVER dependencies instead, since otherwise changing one config option would cause everything to be rebuilt. I should add that I didn't come up with this all by myself, most work is actually done in gcc and there were discussions about using -MD on kbuild-devel way back, so I should mention Keith Owens and Michael Elizabeth Chastain, and probably others that I forgot, so I apologize just in case.
-
Kai Germaschewski authored
We source some scripts, but still pass parameters to them, e.g. . mk_version_h $@ $(KERNELRELEASE) $(VERSION) ... This does not work for all kinds of /bin/sh (it does for bash, that's why I did not notice). The fix is easy: Just mark the scripts executable and call instead of source them. Unfortunately, patch(1) doesn't understand about propagating chmod. bk does, so changing the tree isn't hard, and we introduce an explicit chmod a+x executed during the build for propagating this change into those trees which get "traditionally" patched up.
-
Kai Germaschewski authored
Just use 'make some/dir/foo.lst' to produce mixed source code and assembly for debugging. (If the object gets linked in and you have a System.map, it'll relocate appropriately) Apart from the needed Makefile bits, also clean up the script "makelst".
-
Kai Germaschewski authored
Suppress echoing of commands when using "make -s", so that make -s does indeed have the effect one would expect. Add a quiet mode, which will print not the entire command but only one line per rule. To turn it on, use make KBUILD_VERBOSE=0 vmlinux/whatever or set KBUILD_VERBOSE=0 in your environment. For now, the verbose mode is default, which gives you the old behavior of printing all commands. The output in quiet mode is based on what Keith Owens' kbuild-2.5 does, I like, I did not want to invent yet another output format.
-
Kai Germaschewski authored
The current top-level Makefile has a fundamental problem which makes "make oldconfig vmlinux" impossible: It includes .config, which is changed by "oldconfig". So after "oldconfig" .config has changed and the .config the Makefile had read is obsolete. make provides a mechanism to cope with this, it'll restart automatically if any of the files it included changed, if you let it know that you changed it, just using a normal rule which has .config as its target. However, once you tell make that "make oldconfig" changes .config, you have another problem: oldconfig always uses .config to be remade, there's no mechanism to tell if it's up to date. So makes notices that .config has changed, restarts, makes oldconfig again, notices that .config has changed, restarts, ... you get the picture. The way to solve this is to do a proper two-stage approach: If you just say "make oldconfig", there's no need for the Makefile to even read the .config. If it does not, it won't restart and recurse infintely. So we divide the Makefile into two sections: One for targets which don't need the variables from .config, like *config, clean, mrproper and one section which does the actual build, which needs to know the CONFIG_ options. If one of the "noconfig" targets is given, we handle those, without reading .config. From there, we call make again, filtering out the already handled targets, to do the main work. The fact that this actually works correctly can be seen by trying "make vmlinux oldconfig" which will execute things in the right order - and this is not just nitpicking, it means that "-j" will get this case right, too. The $(CONFIGURATION) hack used to start "make config" automatically can go away now, too. Since we don't know which of make *config the user prefers, we'll just ask him call "make whatever-config" himself, instead of forcing "make config" on him.
-
- 04 Jun, 2002 1 commit
-
-
- 05 Jun, 2002 4 commits
-
-
Nicolas Pitre authored
Same thing as patch #1165/1 but for 2.5.x
-
Russell King authored
The kernel expects these to return values in unsigned long types.
-
Russell King authored
- remove LAST_DESC in favour of passing the array size to iotable_init - replace domain and permission bits/cache attributes with a generic "type", which can be easily converted to the required domain and permission bits/cache attributes at run time. It also removes the possibility for getting such things wrong and (accidentally) allowing all user space to fiddle with devices directly.
-
Russell King authored
-
- 04 Jun, 2002 6 commits
-
-
Robert Love authored
This patch removes fsuser(). Now both suser() and fsuser() are gone and all permission checks use an appropriate capable() call.
-
Robert Love authored
Attached patch replaces the lone remaining suser() call with capable() and then removes suser() itself in a triumphant celebration of the glory of capable(). Or something. ;-) Small cleanup of capable() and some comments, too.
-
Martin Dalecki authored
- Simplify ide_cmd_type_parse by removing the handling of commands which we never use. - Realize that pre_task_out_intr and pre_task_mulout_intr are semanticaly identical. Use only pre_task_out_intr(). This allowed us to eliminate the prehandler altogether. - Updated fix for misconfigured host chips by Vojtech Pavlik. - Be more permissive about ioctl handling to allow device type drivers to do they own checks. - ali14xx cleanups by Andrej Panin. - Unfold usage ide_cmd_type_parser in tcq.c code. This makes this operation local to ide-disk.c. Move it as well as the interrupt handlers used only for the handling of disk requests there too. - Guard against calling handler before the drive is ready for it in ata_taskfile()! Well this bug was there before, but right now we inform about it. - Unfold ide_cmd_type_praser in ide-disk.c. Merge the remaining bits of it with get_command. Well it's no more. - Move recal_intr to ide.c - the only place where it's used. This doesn't change the "mechanics" of the code but it makes it a lot more "obvious" what's going on.
-
Russell King authored
2.5.20 seems to be incapable of executing binaries in a ramdisk-based root filesystem. The ramdisk in question is an ext2fs, with a 1K block size loaded via the compressed ramdisk loader in do_mounts(). It appears that, in the case of a 1K block sized filesystem, we attempt to read two 512-byte sectors into a BIO vector. The first one is copied into the first 512 bytes. The second sector, however, is copied over the first 512 bytes. Obviously not what we really want. Rev. 2, slightly cleaned up:
-
bk://ldm.bkbits.net/linux-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
Noted by Alexey Vyskubov
-
- 03 Jun, 2002 20 commits
-
-
Patrick Mochel authored
- Make sure proper pci id is passed to probe() - make sure pci_dev->driver is set and reset on driver registration/unregistration - call remove_driver to force unload of driver on unregistration
-
Patrick Mochel authored
driver_unbind was called when drv->refcount == 0. It would call driver_for_each_dev to do the unbinding The first thing that would do was get_device, which... BUG()'d if drv->refcount == 0. Duh.
-
Patrick Mochel authored
- make sure drv->devices is initialized on registration (from Peter Osterlund) - add remove_driver for forcing removal of driver There was a potential race with the module unload code. When a pci driver was unloaded, it would call pci_unregister_driver, which would simply call put_driver. If the driver's refcount wasn't 0, it wouldn't unbind it from devices, but the module unload would still continue. If something tried to access the driver later (since everyone thinks its still there), Bad Things would happen. This fixes it until there can be tighter integration between the device model and module unload code.
-
Pavel Machek authored
Here's followup patch that makes it work. Notice freeze_processes() -- if you don't do that you risk data corruption.
-
Pavel Machek authored
This cleans up swsusp in 2.5.20. Killed sysrq-D support (it is too much trouble to support suspending from interrupt), kill unused define, fix compile-time warnings (thanks to Adam).
-
Pavel Machek authored
I created arch/i386/suspend.c not to clash with ACPI people so much in future. (More stuff is going to move into it in the future, to clean up functions that really do not belong to the headers.)
-
Zwane Mwaikambo authored
This patch merges in all the currently outstanding bluesmoke bits from 2.5-dj to 2.5.20, it also has the pleasant side effect of fixing the compilation. Test compiled with and without MCE.
-
Dan Kegel authored
Here's that patch again (MIME this time, so tabs don't get lost by my silly gui mailer); applies cleanly against against 2.4.19-pre8. Nobody commented on it last time I posted it, and it does make compiling gcc easier, so I guess that makes it trivial patch monkey fodder. Or am I making a silly mistake?
-
Randy Hron authored
Most /proc/slabinfo cache_names are in the format: cache_name. There are a couple with spaces in the name, which is inconsistent and requires a special case when scripting. Changes "fasync cache" and "file lock cache" to have the usual underscore.
-
William Lee Irwin III authored
inactive_list and active_list are global, yet they are repeatedly initialized using INIT_LIST_HEAD() in free_area_init_core(). This patch is originally due to Christoph Hellwig, and by some reports has been implementated before in 2.4-based trees by Andrea Arcangeli.
-
William Lee Irwin III authored
The memlist_* macros serve as nothing but an insulation layer from the Linux-native generic list operations. This patch removes them in favor of using generic list operations directly.
-
William Lee Irwin III authored
This comment, describing how to optimize for gcc-2.2.2, is so outdated it should be removed. It's also quite doubtful it should ever have been placed in this file at all (perhaps something under Documentation/ ?). This patch removes it.
-
William Lee Irwin III authored
memclass is too large to be a #define; it overflows 80 columns and does not make use of facilities available only to macros. This patch convert memclass() to be an inline function.
-
William Lee Irwin III authored
I found this one while trying to straighten out bootstrap ordering issues elsewhere. There appears to be a duplicate declaration of rq in sched_init(). This removes the nested declaration and otherwise leaves things alone.
-
William Lee Irwin III authored
The comment describing the usage of zone_table[] assumes the existence of an unsigned char page->zone field from the original implementation of page->zone size reduction. This patch corrects the comment to accurately describe the lookup mechanism used by page_zone() and also to mention explicitly the sole user of the table, page_zone().
-
Rusty Russell authored
Playing with arch stuff does this to you.
-
Rusty Russell authored
Rusty Russell <rusty@rustcorp.com.au>: Oh, I feel so violated...: <sniff>
-
Peter Chubb authored
This patch against 2.5.19 gets rid of some bogus casts in ide-cd.c In my opinion the casts as is are bugs waiting to happen.
-
Kazuto Miyoshi authored
I found that 'max' pointer is not updated in proc_dointvec_minmax() and proc_doulongvec_minmax(), when I write smaller values than min to /proc/sys entry (and val<*min++ check becomes true.) This may lead to min/max checking of values with bogus maximum.
-
Dan Aloni authored
Unrelated to my first dcache patch, this is something more crucial and should be applied first. fs/dcache.c: - handle d_alloc() returning NULL.
-