01 Nov, 2011

1 commit


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

12 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
     
  • Implement sigp external call, which might be required for guests that
    issue an external call instead of an emergency signal for IPI.

    This fixes an issue with "KVM: unknown SIGP: 0x02" when booting
    such an SMP guest.

    Signed-off-by: Christian Ehrhardt
    Signed-off-by: Christian Borntraeger
    Signed-off-by: Marcelo Tosatti

    Christian Ehrhardt
     
  • KVM common code does vcpu_load prior to calling our arch ioctls and
    vcpu_put after we're done here. Via the kvm_arch_vcpu_load/put
    callbacks we do load the fpu and access register state into the
    processor, which saves us moving the state on every SIE exit the
    kernel handles. However this breaks register setting from userspace,
    because of the following sequence:
    1a. vcpu load stores userspace register content
    1b. vcpu load loads guest register content
    2. kvm_arch_vcpu_ioctl_set_fpu/sregs updates saved guest register content
    3a. vcpu put stores the guest registers and overwrites the new content
    3b. vcpu put loads the userspace register set again

    This patch loads the new guest register state into the cpu, so that the correct
    (new) set of guest registers will be stored in step 3a.

    Signed-off-by: Carsten Otte
    Signed-off-by: Christian Borntraeger
    Signed-off-by: Marcelo Tosatti

    Carsten Otte
     
  • This patch fixes the return value of kvm_arch_init_vm in case a memory
    allocation goes wrong.

    Signed-off-by: Carsten Otte
    Signed-off-by: Christian Borntraeger
    Signed-off-by: Marcelo Tosatti

    Carsten Otte
     
  • We use the cpu id provided by userspace as array index here. Thus we
    clearly need to check it first. Ooops.

    CC:
    Signed-off-by: Carsten Otte
    Signed-off-by: Christian Borntraeger
    Signed-off-by: Marcelo Tosatti

    Carsten Otte
     

29 Oct, 2011

8 commits

  • * git://github.com/rustyrussell/linux:
    lguest: move process freezing before pending signals check
    lguest: don't allow KVM-detection cpuid.
    lguest: Allow running under paravirt-enabled KVM.

    Linus Torvalds
     
  • * 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6:
    ARM: mark empty gpio.h files empty
    gpio: Fix ARM versatile-express build failure
    of: include errno.h

    Linus Torvalds
     
  • * 'spi/next' of git://git.secretlab.ca/git/linux-2.6:
    drivercore: Add helper macro for platform_driver boilerplate
    spi: irq: Remove IRQF_DISABLED
    OMAP: SPI: Fix the trying to free nonexistent resource error
    spi/spi-ep93xx: add module.h include
    spi/tegra: fix compilation error in spi-tegra.c
    spi: spi-dw: fix all sparse warnings
    spi/spi-pl022: Call pl022_dma_remove(pl022) only if enable_dma is true
    spi/spi-pl022: calculate_effective_freq() must set rate t allocate more sg than required.
    spi/spi-pl022: Use GFP_ATOMIC for allocation from tasklet
    spi/spi-pl022: Resolve formatting issues

    Linus Torvalds
     
  • * 'gpio/next' of git://git.secretlab.ca/git/linux-2.6:
    h8300: Move gpio.h to gpio-internal.h
    gpio: pl061: add DT binding support
    gpio: fix build error in include/asm-generic/gpio.h
    gpiolib: Ensure struct gpio is always defined
    irq: Add EXPORT_SYMBOL_GPL to function of irq generic-chip
    gpio-ml-ioh: Use NUMA_NO_NODE not GFP_KERNEL
    gpio-pch: Use NUMA_NO_NODE not GFP_KERNEL
    gpio: langwell: ensure alternate function is cleared
    gpio-pch: Support interrupt function
    gpio-pch: Save register value in suspend()
    gpio-pch: modify gpio_nums and mask
    gpio-pch: support ML7223 IOH n-Bus
    gpio-pch: add spinlock in suspend/resume processing
    gpio-pch: Delete invalid "restore" code in suspend()
    gpio-ml-ioh: Fix suspend/resume issue
    gpio-ml-ioh: Support interrupt function
    gpio-ml-ioh: Delete unnecessary code
    gpio/mxc: add chained_irq_enter/exit() to mx3_gpio_irq_handler()
    gpio/nomadik: use genirq core to track enablement
    gpio/nomadik: disable clocks when unused

    Linus Torvalds
     
  • It is generally a better idea to make intentionally empty files
    contain the human-readable /* empty */ comment, also it makes
    the files play nice with "make distclean".

    Reported-by: Jeff Garzik
    Signed-off-by: Linus Walleij
    Acked-by: Jeff Garzik
    Signed-off-by: Grant Likely

    Linus Walleij
     
  • A missing mach/gpio.h prevents building gpiolib on versatile express.

    CC drivers/gpio/gpiolib.o
    In file included from /.../linux/include/linux/gpio.h:18:0,
    from /.../linux/drivers/gpio/gpiolib.c:10:
    /.../linux/arch/arm/include/asm/gpio.h:5:23: fatal error: mach/gpio.h: No such file or directory
    compilation terminated.
    make[3]: *** [drivers/gpio/gpiolib.o] Error 1
    make[2]: *** [drivers/gpio] Error 2
    make[1]: *** [drivers] Error 2
    make: *** [sub-make] Error 2

    Signed-off-by: Grant Likely

    Grant Likely
     
  • When compiling ath6kl for beagleboard (omap2plus_defconfig plus
    CONFIG_ATH6KL, CONFIG_OF disable) with current linux-next compilation
    fails:

    include/linux/of.h:269: error: 'ENOSYS' undeclared (first use in this function)
    include/linux/of.h:276: error: 'ENOSYS' undeclared (first use in this function)
    include/linux/of.h:289: error: 'ENOSYS' undeclared (first use in this function)

    Fix this by including errno.h from of.h.

    Signed-off-by: Kalle Valo
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Grant Likely

    Kalle Valo
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (204 commits)
    [SCSI] qla4xxx: export address/port of connection (fix udev disk names)
    [SCSI] ipr: Fix BUG on adapter dump timeout
    [SCSI] megaraid_sas: Fix instance access in megasas_reset_timer
    [SCSI] hpsa: change confusing message to be more clear
    [SCSI] iscsi class: fix vlan configuration
    [SCSI] qla4xxx: fix data alignment and use nl helpers
    [SCSI] iscsi class: fix link local mispelling
    [SCSI] iscsi class: Replace iscsi_get_next_target_id with IDA
    [SCSI] aacraid: use lower snprintf() limit
    [SCSI] lpfc 8.3.27: Change driver version to 8.3.27
    [SCSI] lpfc 8.3.27: T10 additions for SLI4
    [SCSI] lpfc 8.3.27: Fix queue allocation failure recovery
    [SCSI] lpfc 8.3.27: Change algorithm for getting physical port name
    [SCSI] lpfc 8.3.27: Changed worst case mailbox timeout
    [SCSI] lpfc 8.3.27: Miscellanous logic and interface fixes
    [SCSI] megaraid_sas: Changelog and version update
    [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panic
    [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue support
    [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllers
    [SCSI] megaraid_sas: Clear FUSION_IN_RESET before enabling interrupts
    ...

    Linus Torvalds