13 Jan, 2012

1 commit

  • module_param(bool) used to counter-intuitively take an int. In
    fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy
    trick.

    It's time to remove the int/unsigned int option. For this version
    it'll simply give a warning, but it'll break next kernel version.

    Signed-off-by: Rusty Russell

    Rusty Russell
     

12 Jan, 2012

1 commit

  • * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/intel config: Fix the APB_TIMER selection
    x86/mrst: Add additional debug prints for pb_keys
    x86/intel config: Revamp configuration to allow for Moorestown and Medfield
    x86/intel/scu/ipc: Match the changes in the x86 configuration
    x86/apb: Fix configuration constraints
    x86: Fix INTEL_MID silly
    x86/Kconfig: Cyclone-timer depends on x86-summit
    x86: Reduce clock calibration time during slave cpu startup
    x86/config: Revamp configuration for MID devices
    x86/sfi: Kill the IRQ as id hack

    Linus Torvalds
     

10 Jan, 2012

1 commit

  • * 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (65 commits)
    tty: serial: imx: move del_timer_sync() to avoid potential deadlock
    imx: add polled io uart methods
    imx: Add save/restore functions for UART control regs
    serial/imx: let probing fail for the dt case without a valid alias
    serial/imx: propagate error from of_alias_get_id instead of using -ENODEV
    tty: serial: imx: Allow UART to be a source for wakeup
    serial: driver for m32 arch should not have DEC alpha errata
    serial/documentation: fix documented name of DCD cpp symbol
    atmel_serial: fix spinlock lockup in RS485 code
    tty: Fix memory leak in virtual console when enable unicode translation
    serial: use DIV_ROUND_CLOSEST instead of open coding it
    serial: add support for 400 and 800 v3 series Titan cards
    serial: bfin-uart: Remove ASYNC_CTS_FLOW flag for hardware automatic CTS.
    serial: bfin-uart: Enable hardware automatic CTS only when CTS pin is available.
    serial: make FSL errata depend on 8250_CONSOLE, not just 8250
    serial: add irq handler for Freescale 16550 errata.
    serial: manually inline serial8250_handle_port
    serial: make 8250 timeout use the specified IRQ handler
    serial: export the key functions for an 8250 IRQ handler
    serial: clean up parameter passing for 8250 Rx IRQ handling
    ...

    Linus Torvalds
     

08 Jan, 2012

1 commit

  • * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits)
    arm: fix up some samsung merge sysdev conversion problems
    firmware: Fix an oops on reading fw_priv->fw in sysfs loading file
    Drivers:hv: Fix a bug in vmbus_driver_unregister()
    driver core: remove __must_check from device_create_file
    debugfs: add missing #ifdef HAS_IOMEM
    arm: time.h: remove device.h #include
    driver-core: remove sysdev.h usage.
    clockevents: remove sysdev.h
    arm: convert sysdev_class to a regular subsystem
    arm: leds: convert sysdev_class to a regular subsystem
    kobject: remove kset_find_obj_hinted()
    m86k: gpio - convert sysdev_class to a regular subsystem
    mips: txx9_sram - convert sysdev_class to a regular subsystem
    mips: 7segled - convert sysdev_class to a regular subsystem
    sh: dma - convert sysdev_class to a regular subsystem
    sh: intc - convert sysdev_class to a regular subsystem
    power: suspend - convert sysdev_class to a regular subsystem
    power: qe_ic - convert sysdev_class to a regular subsystem
    power: cmm - convert sysdev_class to a regular subsystem
    s390: time - convert sysdev_class to a regular subsystem
    ...

    Fix up conflicts with 'struct sysdev' removal from various platform
    drivers that got changed:
    - arch/arm/mach-exynos/cpu.c
    - arch/arm/mach-exynos/irq-eint.c
    - arch/arm/mach-s3c64xx/common.c
    - arch/arm/mach-s3c64xx/cpu.c
    - arch/arm/mach-s5p64x0/cpu.c
    - arch/arm/mach-s5pv210/common.c
    - arch/arm/plat-samsung/include/plat/cpu.h
    - arch/powerpc/kernel/sysfs.c
    and fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h

    Linus Torvalds
     

07 Jan, 2012

2 commits

  • * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
    x86: Fix atomic64_xxx_cx8() functions
    x86: Fix and improve cmpxchg_double{,_local}()
    x86_64, asm: Optimise fls(), ffs() and fls64()
    x86, bitops: Move fls64.h inside __KERNEL__
    x86: Fix and improve percpu_cmpxchg{8,16}b_double()
    x86: Report cpb and eff_freq_ro flags correctly
    x86/i386: Use less assembly in strlen(), speed things up a bit
    x86: Use the same node_distance for 32 and 64-bit
    x86: Fix rflags in FAKE_STACK_FRAME
    x86: Clean up and extend do_int3()
    x86: Call do_notify_resume() with interrupts enabled
    x86/div64: Add a micro-optimization shortcut if base is power of two
    x86-64: Cleanup some assembly entry points
    x86-64: Slightly shorten line system call entry and exit paths
    x86-64: Reduce amount of redundant code generated for invalidate_interruptNN
    x86-64: Slightly shorten int_ret_from_sys_call
    x86, efi: Convert efi_phys_get_time() args to physical addresses
    x86: Default to vsyscall=emulate
    x86-64: Set siginfo and context on vsyscall emulation faults
    x86: consolidate xchg and xadd macros
    ...

    Linus Torvalds
     
  • This resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file,
    and it fixes the build error in the arch/x86/kernel/microcode_core.c
    file, that the merge did not catch.

    The microcode_core.c patch was provided by Stephen Rothwell
    who was invaluable in the merge issues involved
    with the large sysdev removal process in the driver-core tree.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

04 Jan, 2012

1 commit


22 Dec, 2011

1 commit

  • The sysdev.h file should not be needed by any in-kernel code, so remove
    the .h file from these random files that seem to still want to include
    it.

    The sysdev code will be going away soon, so this include needs to be
    removed no matter what.

    Cc: Jiandong Zheng
    Cc: Scott Branden
    Cc: Russell King
    Cc: Kukjin Kim
    Cc: David Brown
    Cc: Daniel Walker
    Cc: Bryan Huntsman
    Cc: Ben Dooks
    Cc: Wan ZongShun
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Guan Xuetao
    Cc: "Venkatesh Pallipadi
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Grant Likely
    Cc: Richard Purdie
    Cc: Matthew Garrett
    Signed-off-by: Kay Sievers

    Kay Sievers
     

20 Dec, 2011

1 commit


18 Dec, 2011

3 commits


13 Dec, 2011

1 commit

  • This hangs my MacBook Air at boot time; I get no console
    messages at all. I reverted this on top of -rc5 and my machine
    boots again.

    This reverts commit e8c7106280a305e1ff2a3a8a4dfce141469fb039.

    Signed-off-by: Matt Fleming
    Signed-off-by: Keith Packard
    Acked-by: H. Peter Anvin
    Cc: Matthew Garrett
    Cc: Zhang Rui
    Cc: Huang Ying
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/1321621751-3650-1-git-send-email-matt@console
    Signed-off-by: Ingo Molnar

    Keith Packard
     

10 Dec, 2011

1 commit

  • efi_call_phys_prelog() sets up a 1:1 mapping of the physical address
    range in swapper_pg_dir. Instead of replacing then restoring entries
    in swapper_pg_dir we should be using initial_page_table which already
    contains the 1:1 mapping.

    It's safe to blindly switch back to swapper_pg_dir in the epilog
    because the physical EFI routines are only called before
    efi_enter_virtual_mode(), e.g. before any user processes have been
    forked. Therefore, we don't need to track which pgd was in %cr3 when
    we entered the prelog.

    The previous code actually contained a bug because it assumed that the
    kernel was loaded at a physical address within the first 8MB of ram,
    usually at 0x100000. However, this isn't the case with a
    CONFIG_RELOCATABLE=y kernel which could have been loaded anywhere in
    the physical address space.

    Also delete the ancient (and bogus) comments about the page table
    being restored after the lock is released. There is no locking.

    Cc: Matthew Garrett
    Cc: Darrent Hart
    Signed-off-by: Matt Fleming
    Link: http://lkml.kernel.org/r/1323346250.3894.74.camel@mfleming-mobl1.ger.corp.intel.com
    Signed-off-by: H. Peter Anvin

    Matt Fleming
     

09 Dec, 2011

1 commit

  • If we encounter an efi_memory_desc_t without EFI_MEMORY_WB set
    in ->attribute we currently call set_memory_uc(), which in turn
    calls __pa() on a potentially ioremap'd address.

    On CONFIG_X86_32 this is invalid, resulting in the following
    oops on some machines:

    BUG: unable to handle kernel paging request at f7f22280
    IP: [] reserve_ram_pages_type+0x89/0x210
    [...]

    Call Trace:
    [] ? page_is_ram+0x1a/0x40
    [] reserve_memtype+0xdf/0x2f0
    [] set_memory_uc+0x49/0xa0
    [] efi_enter_virtual_mode+0x1c2/0x3aa
    [] start_kernel+0x291/0x2f2
    [] ? loglevel+0x1b/0x1b
    [] i386_start_kernel+0xbf/0xc8

    A better approach to this problem is to map the memory region
    with the correct attributes from the start, instead of modifying
    it after the fact. The uncached case can be handled by
    ioremap_nocache() and the cached by ioremap_cache().

    Despite first impressions, it's not possible to use
    ioremap_cache() to map all cached memory regions on
    CONFIG_X86_64 because EFI_RUNTIME_SERVICES_DATA regions really
    don't like being mapped into the vmalloc space, as detailed in
    the following bug report,

    https://bugzilla.redhat.com/show_bug.cgi?id=748516

    Therefore, we need to ensure that any EFI_RUNTIME_SERVICES_DATA
    regions are covered by the direct kernel mapping table on
    CONFIG_X86_64. To accomplish this we now map E820_RESERVED_EFI
    regions via the direct kernel mapping with the initial call to
    init_memory_mapping() in setup_arch(), whereas previously these
    regions wouldn't be mapped if they were after the last E820_RAM
    region until efi_ioremap() was called. Doing it this way allows
    us to delete efi_ioremap() completely.

    Signed-off-by: Matt Fleming
    Cc: H. Peter Anvin
    Cc: Matthew Garrett
    Cc: Zhang Rui
    Cc: Huang Ying
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/1321621751-3650-1-git-send-email-matt@console-pimps.org
    Signed-off-by: Ingo Molnar

    Matt Fleming
     

05 Dec, 2011

6 commits


29 Nov, 2011

1 commit

  • Conflicts & resolutions:

    * arch/x86/xen/setup.c

    dc91c728fd "xen: allow extra memory to be in multiple regions"
    24aa07882b "memblock, x86: Replace memblock_x86_reserve/free..."

    conflicted on xen_add_extra_mem() updates. The resolution is
    trivial as the latter just want to replace
    memblock_x86_reserve_range() with memblock_reserve().

    * drivers/pci/intel-iommu.c

    166e9278a3f "x86/ia64: intel-iommu: move to drivers/iommu/"
    5dfe8660a3d "bootmem: Replace work_with_active_regions() with..."

    conflicted as the former moved the file under drivers/iommu/.
    Resolved by applying the chnages from the latter on the moved
    file.

    * mm/Kconfig

    6661672053a "memblock: add NO_BOOTMEM config symbol"
    c378ddd53f9 "memblock, x86: Make ARCH_DISCARD_MEMBLOCK a config option"

    conflicted trivially. Both added config options. Just
    letting both add their own options resolves the conflict.

    * mm/memblock.c

    d1f0ece6cdc "mm/memblock.c: small function definition fixes"
    ed7b56a799c "memblock: Remove memblock_memory_can_coalesce()"

    confliected. The former updates function removed by the
    latter. Resolution is trivial.

    Signed-off-by: Tejun Heo

    Tejun Heo
     

27 Nov, 2011

1 commit


19 Nov, 2011

1 commit

  • * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    random: Fix handing of arch_get_random_long in get_random_bytes()
    x86: Call stop_machine_text_poke() on all CPUs
    x86, ioapic: Only print ioapic debug information for IRQs belonging to an ioapic chip
    x86/mrst: Avoid reporting wrong nmi status
    x86/mrst: Add support for Penwell clock calibration
    x86/apic: Allow use of lapic timer early calibration result
    x86/apic: Do not clear nr_irqs_gsi if no legacy irqs
    x86/platform: Add a wallclock_init func to x86_platforms ops
    x86/mce: Make mce_chrdev_ops 'static const'

    Linus Torvalds
     

16 Nov, 2011

1 commit

  • Add support to specify which HSU port to use as an early console. This can
    be selected by passing "earlyprintk=hsu" on the kernel command line. By
    default port 0 is still used.

    Signed-off-by: Mika Westerberg
    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Mika Westerberg
     

12 Nov, 2011

3 commits

  • This needed the sfi IRQ 0xFF fix to go in first. It simply plumbs in the
    bma023 driver with the firmware naming of it.

    Signed-off-by: William Douglas
    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    William Douglas
     
  • Real world year equals the value in vrtc YEAR register plus an offset.
    We used 1960 as the offset to make leap year consistent, but for a
    device's first use, its YEAR register is 0 and the system year will
    be parsed as 1960 which is not a valid UNIX time and will cause many
    applications to fail mysteriously. So we use 1972 instead to fix this
    issue.

    Updated patch which adds a sanity check suggested by Mathias

    This isn't a change in behaviour for systems, because 1972 is the one we
    actually use. It's the old version in upstream which is out of sync with
    all devices.

    Signed-off-by: Feng Tang
    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Feng Tang
     
  • Fix a build error. CE4100 with no serial errors because the alternate
    function is only a prototype not a null function as intended.

    Signed-off-by: Zhang Rui
    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Zhang Rui
     

10 Nov, 2011

2 commits

  • Moorestown/Medfield platform does not have port 0x61 to report
    NMI status, nor does it have external NMI sources. The only NMI
    sources are from lapic, as results of perf counter overflow or
    IPI, e.g. NMI watchdog or spin lock debug.

    Reading port 0x61 on Moorestown will return 0xff which misled
    NMI handlers to false critical errors such memory parity error.
    The subsequent ioport access for NMI handling can also cause
    undefined behavior on Moorestown.

    This patch allows kernel process NMI due to watchdog or backrace
    dump without unnecessary hangs.

    Signed-off-by: Jacob Pan
    Signed-off-by: Ingo Molnar
    [hand applied]
    Signed-off-by: Alan Cox

    Jacob Pan
     
  • Signed-off-by: Dirk Brandewie
    Signed-off-by: Alan Cox
    Signed-off-by: Ingo Molnar

    Dirk Brandewie
     

08 Nov, 2011

1 commit

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
    cpuidle: Single/Global registration of idle states
    cpuidle: Split cpuidle_state structure and move per-cpu statistics fields
    cpuidle: Remove CPUIDLE_FLAG_IGNORE and dev->prepare()
    cpuidle: Move dev->last_residency update to driver enter routine; remove dev->last_state
    ACPI: Fix CONFIG_ACPI_DOCK=n compiler warning
    ACPI: Export FADT pm_profile integer value to userspace
    thermal: Prevent polling from happening during system suspend
    ACPI: Drop ACPI_NO_HARDWARE_INIT
    ACPI atomicio: Convert width in bits to bytes in __acpi_ioremap_fast()
    PNPACPI: Simplify disabled resource registration
    ACPI: Fix possible recursive locking in hwregs.c
    ACPI: use kstrdup()
    mrst pmu: update comment
    tools/power turbostat: less verbose debugging

    Linus Torvalds
     

07 Nov, 2011

2 commits

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     
  • referenced MeeGo, in particular, but really means Linux, in general.

    Signed-off-by: Len Brown

    Len Brown
     

04 Nov, 2011

1 commit

  • * 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6: (80 commits)
    mfd: Fix missing abx500 header file updates
    mfd: Add missing include to intel_msic
    x86, mrst: add platform support for MSIC MFD driver
    mfd: Expose TurnOnStatus in ab8500 sysfs
    mfd: Remove support for early drop ab8500 chip
    mfd: Add support for ab8500 v3.3
    mfd: Add ab8500 interrupt disable hook
    mfd: Convert db8500-prcmu panic() into pr_crit()
    mfd: Refactor db8500-prcmu request_clock() function
    mfd: Rename db8500-prcmu init function
    mfd: Fix db5500-prcmu defines
    mfd: db8500-prcmu voltage domain consumers additions
    mfd: db8500-prcmu reset code retrieval
    mfd: db8500-prcmu tweak for modem wakeup
    mfd: Add db8500-pcmu watchdog accessor functions for watchdog
    mfd: hwacc power state db8500-prcmu accessor
    mfd: Add db8500-prcmu accessors for PLL and SGA clock
    mfd: Move to the new db500 PRCMU API
    mfd: Create a common interface for dbx500 PRCMU drivers
    mfd: Initialize DB8500 PRCMU regs
    ...

    Fix up trivial conflicts in
    arch/arm/mach-imx/mach-mx31moboard.c
    arch/arm/mach-omap2/board-omap3beagle.c
    arch/arm/mach-u300/include/mach/irqs.h
    drivers/mfd/wm831x-spi.c

    Linus Torvalds
     

01 Nov, 2011

2 commits

  • We want to clean up the chain of includes stumbling through
    module.h, and when we do that, we'll see:

    CC arch/x86/platform/efi/efi_32.o
    efi/efi_32.c: In function ‘efi_call_phys_prelog’:
    efi/efi_32.c:80: error: implicit declaration of function ‘get_cpu_gdt_table’
    efi/efi_32.c:82: error: implicit declaration of function ‘load_gdt’
    make[4]: *** [arch/x86/platform/efi/efi_32.o] Error 1

    Include asm/desc.h so that there are no implicit include assumptions.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • These files were implicitly getting EXPORT_SYMBOL via device.h
    which was including module.h, but that will be fixed up shortly.

    By fixing these now, we can avoid seeing things like:

    arch/x86/kernel/rtc.c:29: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL’
    arch/x86/kernel/pci-dma.c:20: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL’
    arch/x86/kernel/e820.c:69: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_GPL’

    [ with input from Randy Dunlap and also
    from Stephen Rothwell ]

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

28 Oct, 2011

2 commits


26 Oct, 2011

1 commit

  • * 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (79 commits)
    TTY: serial_core: Fix crash if DCD drop during suspend
    tty/serial: atmel_serial: bootconsole removed from auto-enumerates
    Revert "TTY: call tty_driver_lookup_tty unconditionally"
    tty/serial: atmel_serial: add device tree support
    tty/serial: atmel_serial: auto-enumerate ports
    tty/serial: atmel_serial: whitespace and braces modifications
    tty/serial: atmel_serial: change platform_data variable name
    tty/serial: RS485 bindings for device tree
    TTY: call tty_driver_lookup_tty unconditionally
    TTY: pty, release tty in all ptmx_open fail paths
    TTY: make tty_add_file non-failing
    TTY: drop driver reference in tty_open fail path
    8250_pci: Fix kernel panic when pch_uart is disabled
    h8300: drivers/serial/Kconfig was moved
    parport_pc: release IO region properly if unsupported ITE887x card is found
    tty: Support compat_ioctl get/set termios_locked
    hvc_console: display printk messages on console.
    TTY: snyclinkmp: forever loop in tx_load_dma_buffer()
    tty/n_gsm: avoid fifo overflow in gsm_dlci_data_output
    tty/n_gsm: fix a bug in gsm_dlci_data_output (adaption = 2 case)
    ...

    Fix up Conflicts in:
    - drivers/tty/serial/8250_pci.c
    Trivial conflict with removed duplicate device ID
    - drivers/tty/serial/atmel_serial.c
    Annoying silly conflict between "specify the port num via
    platform_data" and other changes to atmel_console_init

    Linus Torvalds
     

24 Oct, 2011

1 commit

  • The MSIC MFD driver creates platform devices for MSIC device drivers so we
    don't need to create them in platform code anymore.

    This patch adds a new runtime check which determines whether we are running
    on a Medfield platform and enables the MSIC MFD driver accordingly.

    Signed-off-by: Mika Westerberg
    Signed-off-by: Samuel Ortiz

    Mika Westerberg