1. 06 Jun, 2002 10 commits
  2. 05 Jun, 2002 30 commits
    • David S. Miller's avatar
      IDE: Print 64-bit types more portably. · a9274e96
      David S. Miller authored
      a9274e96
    • David S. Miller's avatar
      IDE: Add missing printf format specifier when · 29b32023
      David S. Miller authored
      printing Sparc IRQ.
      29b32023
    • David S. Miller's avatar
      IDE: Print I/O ports more portably. · c75b3b48
      David S. Miller authored
      c75b3b48
    • David S. Miller's avatar
    • David S. Miller's avatar
    • David S. Miller's avatar
    • David S. Miller's avatar
    • David S. Miller's avatar
    • David S. Miller's avatar
      aea1cbc1
    • David S. Miller's avatar
      Fix generic device layer init sequence. · fe91ab5e
      David S. Miller authored
      Generic BUS objects have to be registered before
      devices assosciated with them are probed.  Therefore
      subsys_initcall is inappropriate for such setups.
      It does not work to use core_initcall for this because
      the generic device layer bits need to be setup first too.
      So we rename unused_initcall to postcore_initcall and use
      this new initcall level for generic BUS object init.
      This fixes bootup on Alpha, and Sparc64.  X86 was working
      by what looks to be luck in link order.
      fe91ab5e
    • David S. Miller's avatar
      20906bc5
    • David S. Miller's avatar
      asm-generic.h: Add forward siginfo decl for the sake of · 467abbc9
      David S. Miller authored
      HAVE_ARCH_SIGINFO_T platforms.
      467abbc9
    • Rob Radez's avatar
      Sparc32 code cleanups from 2.4.x. · d0ac249b
      Rob Radez authored
      d0ac249b
    • Pavel Machek's avatar
      [PATCH] 2.5.20 swsusp: stop abusing headers with non-inlined functions · 7f9efd7d
      Pavel Machek authored
      swsusp kind-of abused include/asm-i386/suspend.h for stuff that
      belonged to arch/i386/kernel/suspend.c. This moves code where it
      belongs.
      									Pavel
      7f9efd7d
    • Linus Torvalds's avatar
      0db8da19
    • Linus Torvalds's avatar
      Fix x86 CPU merge dangling ends · 195d8228
      Linus Torvalds authored
      195d8228
    • Linus Torvalds's avatar
      658c7479
    • Linus Torvalds's avatar
      Merge bk://linuxusb.bkbits.net/linus-2.5 · 80edade6
      Linus Torvalds authored
      into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
      80edade6
    • Linus Torvalds's avatar
      Merge http://linux-isdn.bkbits.net/linux-2.5.make · 0abd9281
      Linus Torvalds authored
      into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
      0abd9281
    • Kai Germaschewski's avatar
      Merge linux-isdn@linux-isdn.bkbits.net:linux-2.5.make · 4e30f812
      Kai Germaschewski authored
      into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.make
      4e30f812
    • Kai Germaschewski's avatar
      kbuild: Build modules by default · 2cb900d0
      Kai Germaschewski authored
      So here we are: make vmlinux/bzImage/whatever will now also build
      modules as it goes. Other than that, everything works as usual.
      "make modules" builds only the modules (but you shouldn't need
      it anymore). If you don't want the modules built, you can
      do "make KBUILD_MODULES= vmlinux/whatever" to only compile built-in
      objects.
      
      If people want it, I can also allow for "make vmlinux/whatever nomodules"
      to do the same.
      
      Also, add '  ' in Rules.make to properly align output in quiet mode.
      2cb900d0
    • Kai Germaschewski's avatar
      kbuild: modversions improvements · 67b95633
      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.
      67b95633
    • Kai Germaschewski's avatar
      kbuild: Really stick with verbose output by default · 9d0ac54b
      Kai Germaschewski authored
      If KBUILD_VERBOSE is not set in the environment, have it default
      to 1 (i.e. on)
      9d0ac54b
    • Kai Germaschewski's avatar
      kbuild: Clean up descending into subdirs · 78e9d59f
      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.
      78e9d59f
    • Kai Germaschewski's avatar
      kbuild: Use deep directory structure for include/linux/modules · 81e93fe6
      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.
      81e93fe6
    • Kai Germaschewski's avatar
      kbuild: Make dependencies at compile time · 04bd7217
      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.
      04bd7217
    • Kai Germaschewski's avatar
      kbuild: Fix calling of scripts · d02c2b1f
      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.
      d02c2b1f
    • Kai Germaschewski's avatar
      kbuild: Fix 'make some/dir/foo.lst' · 4a2fa6ce
      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".
      4a2fa6ce
    • Kai Germaschewski's avatar
      kbuild: Fix make -s (silent) and add a quiet mode · 00b454db
      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.
      00b454db
    • Kai Germaschewski's avatar
      kbuild: Split Makefile into needs / needs not .config · 77c83c75
      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.
      77c83c75