01 Nov, 2011

13 commits


31 Oct, 2011

19 commits

  • The file rcutiny.c does not need moduleparam.h header, as
    there are no modparams in this file.

    However rcutiny_plugin.h does define a module_init() and
    a module_exit() and it uses the various MODULE_ macros, so
    it really does need module.h included.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • Through various other implicit include paths, some files were
    getting the full module.h file, and hence living the illusion
    that they really only needed moduleparam.h -- but the reality
    is that once you remove the module.h presence, these show up:

    kernel/params.c:583: warning: ‘struct module_kobject’ declared inside parameter list

    Such files really require module.h so simply make it so. As the
    file module.h grabs moduleparam.h on the fly, all will be well.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • With the module.h usage cleanup, we'll get this:

    kernel/ksysfs.c:161: error: ‘S_IRUGO’ undeclared here (not in a function)
    make[2]: *** [kernel/ksysfs.o] Error 1

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • Up until now, this file was getting percpu.h because nearly every
    file was implicitly getting module.h (and all its sub-includes).
    But we want to clean that up, so call out percpu.h explicitly.
    Otherwise we'll get things like this on an ARM build:

    kernel/irq_work.c:48: error: expected declaration specifiers or '...' before 'irq_work_list'
    kernel/irq_work.c:48: warning: type defaults to 'int' in declaration of 'DEFINE_PER_CPU'

    The same thing was happening for builds on ARM for asm/processor.h

    kernel/irq_work.c: In function 'irq_work_sync':
    kernel/irq_work.c:166: error: implicit declaration of function 'cpu_relax'

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • These files were implicitly relying on coming in via
    module.h, as without it we get things like:

    kernel/power/suspend.c:100: error: implicit declaration of function ‘usermodehelper_disable’
    kernel/power/suspend.c:109: error: implicit declaration of function ‘usermodehelper_enable’
    kernel/power/user.c:254: error: implicit declaration of function ‘usermodehelper_disable’
    kernel/power/user.c:261: error: implicit declaration of function ‘usermodehelper_enable’

    kernel/sys.c:317: error: implicit declaration of function ‘usermodehelper_disable’
    kernel/sys.c:1816: error: implicit declaration of function ‘call_usermodehelper_setup’
    kernel/sys.c:1822: error: implicit declaration of function ‘call_usermodehelper_setfns’
    kernel/sys.c:1824: error: implicit declaration of function ‘call_usermodehelper_exec’

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • These files are doing things like module_put and try_module_get
    so they need to call out the module.h for explicit inclusion,
    rather than getting it via which we ideally want
    to remove the module.h inclusion from.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • The changed files were only including linux/module.h for the
    EXPORT_SYMBOL infrastructure, and nothing else. Revector them
    onto the isolated export header for faster compile times.

    Nothing to see here but a whole lot of instances of:

    -#include
    +#include

    This commit is only changing the kernel dir; next targets
    will probably be mm, fs, the arch dirs, etc.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • The removal of the implicitly everywhere module.h and its child includes
    will reveal this implicit stat.h usage:

    mm/dmapool.c:108: error: ‘S_IRUGO’ undeclared here (not in a function)

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • The files changed within are only using the EXPORT_SYMBOL
    macro variants. They are not using core modular infrastructure
    and hence don't need module.h but only the export.h header.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • These files were getting via an implicit include
    path, but we want to crush those out of existence since they cost
    time during compiles of processing thousands of lines of headers
    for no reason. Give them the lightweight header that just contains
    the EXPORT_SYMBOL infrastructure.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • There is nothing modular in these files, and no reason to drag
    in all the 357 headers that module.h brings with it, since
    it just slows down compiles.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • This file isn't doing anything with modules and so it should
    not be including just to get basic stuff
    like printk() and min/max. Revector it to .

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • There are files which use module_param and MODULE_PARM_DESC
    back to back. They only include moduleparam.h which makes sense,
    but the implicit presence of module.h everywhere hid the fact
    that MODULE_PARM_DESC wasn't in moduleparam.h at all. Relocate
    the macro to moduleparam.h so that the moduleparam infrastructure
    can be used independently of module.h

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • A lot of files pull in module.h when all they are really
    looking for is the basic EXPORT_SYMBOL functionality. The
    recent data from Ingo[1] shows that this is one of several
    instances that has a significant impact on compile times,
    and it should be targeted for factoring out (as done here).

    Note that several commonly used header files in include/*
    directly include themselves (some 34 of them!)
    The most commonly used ones of these will have to be made
    independent of module.h before the full benefit of this change
    can be realized.

    We also transition THIS_MODULE from module.h to export.h,
    since there are lots of files with subsystem structs that
    in turn will have a struct module *owner and only be doing:

    .owner = THIS_MODULE;

    and absolutely nothing else modular. So, we also want to have
    the THIS_MODULE definition present in the lightweight header.

    [1] https://lkml.org/lkml/2011/5/23/76

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    i2c: Functions for byte-swapped smbus_write/read_word_data
    i2c-algo-pca: Return standard fault codes
    i2c-algo-bit: Return standard fault codes
    i2c-algo-bit: Be verbose on bus testing failure
    i2c-algo-bit: Let user test buses without failing
    i2c/scx200_acb: Fix section mismatch warning in scx200_pci_drv
    i2c: I2C_ELEKTOR should depend on HAS_IOPORT

    Linus Torvalds
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (33 commits)
    iommu/core: Remove global iommu_ops and register_iommu
    iommu/msm: Use bus_set_iommu instead of register_iommu
    iommu/omap: Use bus_set_iommu instead of register_iommu
    iommu/vt-d: Use bus_set_iommu instead of register_iommu
    iommu/amd: Use bus_set_iommu instead of register_iommu
    iommu/core: Use bus->iommu_ops in the iommu-api
    iommu/core: Convert iommu_found to iommu_present
    iommu/core: Add bus_type parameter to iommu_domain_alloc
    Driver core: Add iommu_ops to bus_type
    iommu/core: Define iommu_ops and register_iommu only with CONFIG_IOMMU_API
    iommu/amd: Fix wrong shift direction
    iommu/omap: always provide iommu debug code
    iommu/core: let drivers know if an iommu fault handler isn't installed
    iommu/core: export iommu_set_fault_handler()
    iommu/omap: Fix build error with !IOMMU_SUPPORT
    iommu/omap: Migrate to the generic fault report mechanism
    iommu/core: Add fault reporting mechanism
    iommu/core: Use PAGE_SIZE instead of hard-coded value
    iommu/core: use the existing IS_ALIGNED macro
    iommu/msm: ->unmap() should return order of unmapped page
    ...

    Fixup trivial conflicts in drivers/iommu/Makefile: "move omap iommu to
    dedicated iommu folder" vs "Rename the DMAR and INTR_REMAP config
    options" just happened to touch lines next to each other.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
    amd64_edac: Cleanup return type of amd64_determine_edac_cap()
    amd64_edac: Add a fix for Erratum 505
    EDAC, MCE, AMD: Simplify NB MCE decoder interface
    EDAC, MCE, AMD: Drop local coreid reporting
    EDAC, MCE, AMD: Print valid addr when reporting an error
    EDAC, MCE, AMD: Print CPU number when reporting the error

    Linus Torvalds
     
  • * 'kvm-updates/3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (75 commits)
    KVM: SVM: Keep intercepting task switching with NPT enabled
    KVM: s390: implement sigp external call
    KVM: s390: fix register setting
    KVM: s390: fix return value of kvm_arch_init_vm
    KVM: s390: check cpu_id prior to using it
    KVM: emulate lapic tsc deadline timer for guest
    x86: TSC deadline definitions
    KVM: Fix simultaneous NMIs
    KVM: x86 emulator: convert push %sreg/pop %sreg to direct decode
    KVM: x86 emulator: switch lds/les/lss/lfs/lgs to direct decode
    KVM: x86 emulator: streamline decode of segment registers
    KVM: x86 emulator: simplify OpMem64 decode
    KVM: x86 emulator: switch src decode to decode_operand()
    KVM: x86 emulator: qualify OpReg inhibit_byte_regs hack
    KVM: x86 emulator: switch OpImmUByte decode to decode_imm()
    KVM: x86 emulator: free up some flag bits near src, dst
    KVM: x86 emulator: switch src2 to generic decode_operand()
    KVM: x86 emulator: expand decode flags to 64 bits
    KVM: x86 emulator: split dst decode to a generic decode_operand()
    KVM: x86 emulator: move memop, memopp into emulation context
    ...

    Linus Torvalds
     
  • * 'fbdev-next' of git://github.com/schandinat/linux-2.6: (270 commits)
    video: platinumfb: Add __devexit_p at necessary place
    drivers/video: fsl-diu-fb: merge diu_pool into fsl_diu_data
    drivers/video: fsl-diu-fb: merge diu_hw into fsl_diu_data
    drivers/video: fsl-diu-fb: only DIU modes 0 and 1 are supported
    drivers/video: fsl-diu-fb: remove unused panel operating mode support
    drivers/video: fsl-diu-fb: use an enum for the AOI index
    drivers/video: fsl-diu-fb: add several new video modes
    drivers/video: fsl-diu-fb: remove broken screen blanking support
    drivers/video: fsl-diu-fb: move some definitions out of the header file
    drivers/video: fsl-diu-fb: fix some ioctls
    video: da8xx-fb: Increased resolution configuration of revised LCDC IP
    OMAPDSS: picodlp: add missing #include
    fb: fix au1100fb bitrot.
    mx3fb: fix NULL pointer dereference in screen blanking.
    video: irq: Remove IRQF_DISABLED
    smscufx: change edid data to u8 instead of char
    OMAPDSS: DISPC: zorder support for DSS overlays
    OMAPDSS: DISPC: VIDEO3 pipeline support
    OMAPDSS/OMAP_VOUT: Fix incorrect OMAP3-alpha compatibility setting
    video/omap: fix build dependencies
    ...

    Fix up conflicts in:
    - drivers/staging/xgifb/XGI_main_26.c
    Changes to XGIfb_pan_var()
    - drivers/video/omap/{lcd_apollon.c,lcd_ldp.c,lcd_overo.c}
    Removed (or in the case of apollon.c, merged into the generic
    DSS panel in drivers/video/omap2/displays/panel-generic-dpi.c)

    Linus Torvalds
     

30 Oct, 2011

8 commits

  • Reimplemented at least 17 times discounting error mangling cases
    where it could be used.

    Signed-off-by: Jonathan Cameron
    Signed-off-by: Jean Delvare

    Jonathan Cameron
     
  • Adjust i2c-algo-pca to return fault codes compliant with
    Documentation/i2c/fault-codes, rather than the undocumented and
    vague -EREMOTEIO.

    Signed-off-by: Jean Delvare
    Cc: Wolfram Sang

    Jean Delvare
     
  • Adjust i2c-algo-bit to return fault codes compliant with
    Documentation/i2c/fault-codes, rather than the undocumented and
    vague -EREMOTEIO.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • If bus testing fails due to the bus being seen as busy, it might be
    helpful for developers to know which line is unexpectedly low.

    Signed-off-by: Jean Delvare
    Reviewed-by: Alex Deucher

    Jean Delvare
     
  • Always failing to register I2C buses when the line testing fails is a
    little harsh. While such a failure is definitely a bug in the driver
    that exposes the affected I2C bus, things may still work fine if the
    missing initialization steps are done later, before the I2C bus is
    used. So it seems a better debugging tool to just report the test
    failure by default. I introduce bit_test=2 if anyone really misses the
    original behavior of bit_test=1.

    Signed-off-by: Jean Delvare
    Reviewed-by: Alex Deucher

    Jean Delvare
     
  • WARNING: drivers/i2c/busses/built-in.o(.data+0x47c8): Section mismatch in reference from the variable scx200_pci_drv to the function .devinit.text:scx200_probe()
    The variable scx200_pci_drv references
    the function __devinit scx200_probe()
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

    Signed-off-by: Harvey Yang
    Signed-off-by: Jean Delvare

    Harvey Yang
     
  • On m68k, I get:

    drivers/i2c/busses/i2c-elektor.c: In function ‘pcf_isa_init’:
    drivers/i2c/busses/i2c-elektor.c:153: error: implicit declaration of function ‘ioport_map’
    drivers/i2c/busses/i2c-elektor.c:153: warning: assignment makes pointer from integer without a cast
    drivers/i2c/busses/i2c-elektor.c: In function ‘elektor_probe’:
    drivers/i2c/busses/i2c-elektor.c:287: error: implicit declaration of function ‘ioport_unmap’

    Since commit 82ed223c264def2b15ee4bec2e8c3048092ceb5f ("iomap: make IOPORT/PCI
    mapping functions conditional"), ioport_map() is only available on platforms
    that set HAS_IOPORT.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Jean Delvare

    Geert Uytterhoeven
     
  • AMD processors apparently have a bug in the hardware task switching
    support when NPT is enabled. If the task switch triggers a NPF, we can
    get wrong EXITINTINFO along with that fault. On resume, spurious
    exceptions may then be injected into the guest.

    We were able to reproduce this bug when our guest triggered #SS and the
    handler were supposed to run over a separate task with not yet touched
    stack pages.

    Work around the issue by continuing to emulate task switches even in
    NPT mode.

    Signed-off-by: Jan Kiszka
    Signed-off-by: Marcelo Tosatti

    Jan Kiszka