1. 04 Aug, 2016 2 commits
    • Paul Gortmaker's avatar
      extable.h: add stddef.h so "NULL" definition is not implicit · 49aadcf1
      Paul Gortmaker authored
      While not an issue now, eventually we will have independent users of
      the extable.h file and we will stop sourcing it via module.h header.
      In testing that pending work, with very sparse builds, characteristic
      of an "allnoconfig" on various architectures, we can sometimes hit an
      instance where the very basic standard definitions aren't present,
      resulting in:
       include/linux/extable.h:26:9: error: 'NULL' undeclared (first use in this function)
      To be clear, this isn't a regression, since currently extable.h is
      only used by module.h -- however, we will need this addition present
      before we start migrating exception table users off module.h and onto
      extable.h during the next release cycle.
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    • Paul Gortmaker's avatar
      exceptions: fork exception table content from module.h into extable.h · 0ef76537
      Paul Gortmaker authored
      For historical reasons (i.e. pre-git) the exception table stuff was
      buried in the middle of the module.h file.  I noticed this while
      doing an audit for needless includes of module.h and found core
      kernel files (both arch specific and arch independent) were just
      including module.h for this.
      The converse is also true, in that conventional drivers, be they
      for filesystems or actual hardware peripherals or similar, do not
      normally care about the exception tables.
      Here we fork the exception table content out of module.h into a
      new file called extable.h -- and temporarily include it into the
      module.h itself.
      Then we will work our way across the arch independent and arch
      specific files needing just exception table content, and move
      them off module.h and onto extable.h
      Once that is done, we can remove the extable.h from module.h
      and in doing it like this, we avoid introducing build failures
      into the git history.
      The gain here is that module.h gets a bit smaller, across all
      modular drivers that we build for allmodconfig.  Also the core
      files that only need exception table stuff don't have an include
      of module.h that brings in lots of extra stuff and just looks
      generally out of place.
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>