27 Jul, 2007

18 commits

  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (21 commits)
    [POWERPC] spusched: Fix initial timeslice calculation
    [POWERPC] spufs: Fix incorrect initialization of cbe_spu_info.spus
    [POWERPC] Fix Maple platform ISA bus
    [POWERPC] Make pci_iounmap actually unmap things
    [POWERPC] Add function to check if address is an IO port
    [POWERPC] Fix Pegasos keyboard detection
    [POWERPC] iSeries: Fix section mismatch warning in lpevents
    [POWERPC] iSeries: Fix section mismatch warnings
    [POWERPC] iSeries: We need vio_enable_interrupts
    [POWERPC] Fix RTC and device tree on linkstation machines
    [POWERPC] Add of_register_i2c_devices()
    [POWERPC] Fix loop with unsigned long counter variable
    [POWERPC] Fix register labels on show_regs() message for 4xx/Book-E
    [POWERPC] Only allow building of BootX text support on PPC_MULTIPLATFORM
    [POWERPC] Fix the ability to reset on MPC8544 DS and MPC8568 MDS boards
    [POWERPC] Fix mpc7448hpc2 tsi108 device_type bug
    [POWREPC] Fixup a number of modpost warnings on ppc32
    [POWERPC] Fix ethernet PHY support on MPC8544 DS
    [POWERPC] Don't try to allocate resources for a Freescale POWERPC PHB
    Revert "[POWERPC] Don't complain if size-cells == 0 in prom_parse()"
    ...

    Linus Torvalds
     
  • This reverts most of commit 19d36ccdc34f5ed444f8a6af0cbfdb6790eb1177.

    The way to DEBUG_RODATA interactions with KPROBES and CPU hotplug is to
    just not mark the text as being write-protected in the first place.
    Both of those facilities depend on rewriting instructions.

    Having "helpful" debug facilities that just cause more problem is not
    being helpful. It just adds complexity and bugs. Not worth it.

    Reported-by: Rafael J. Wysocki
    Cc: Andi Kleen
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • tsc_unstable is declared twice.

    Signed-off-by: Thomas Gleixner
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • Change INT0 trigger mode from edge-sense mode to level-sense mode,
    in order to fix the following timeout error:
    'NETDEV WATCHDOG: eth0: transmit timed out'.

    This patch is required only for the Mappi platform.

    Signed-off-by: Hirokazu Takata
    Cc: Hitoshi Yamamoto
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hirokazu Takata
     
  • Fix the following two section mismatch warnings:

    WARNING: vmlinux.o(.text+0x1ce84): Section mismatch: reference to .init.text:free_bootmem (between 'free_tce_table' and 'build_tce_table')
    WARNING: vmlinux.o(.text+0x1d04d): Section mismatch: reference to .init.text:__alloc_bootmem_low (between 'alloc_tce_table' and 'kretprobe_trampoline_holder')

    In both cases the functions was used only from __init
    context so mark them __init.

    Signed-off-by: Sam Ravnborg
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sam Ravnborg
     
  • The function arch_vma_name() is declared weak and thus it was
    not noticed that x86_64 had two almost identical implementations.

    It was introduced in syscall32.c by: c633090e3105e779c97d4978e5e3d7d66b291cfb
    It was introduced in mm/init.c by: 2aae950b21e4bc789d1fc6668faf67e8748300b7

    Signed-off-by: Roland McGrath
    Acked-by: Sam Ravnborg
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • This patch fixes the following compile error introduced by
    commit e8666b2718fdb5bf0ea7c3126f7e292bbbf2946b and reported
    by Alexey Dobriyan:

    CC arch/i386/kernel/acpi/cstate.o
    In file included from arch/i386/kernel/acpi/cstate.c:17:
    include/acpi/processor.h:88: error: expected specifier-qualifier-list before 'acpi_integer'

    If you select something you must ensure that the dependencies of what
    you are selecting are fulfilled.

    Signed-off-by: Adrian Bunk
    Cc: Alexey Dobriyan
    Cc: Joshua Hoblitt
    Cc: Dave Jones
    Cc: Michal Piotrowski
    Cc: Len Brown
    Cc: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • u32* volatile cyclone_timer means volatile auto pointer to u32,
    which is clearly not what had been intended (we never even take
    the address of that variable, let alone pass it to something that
    could change it behind our back). u32 volatile * is what the
    authors apparently wanted to say, but in reality we don't need that
    qualifier there at all - it's (properly) only passed to iomem helpers
    which takes care of that stuff just fine.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Use setup_irq() instead of request_irq() to set up system timer
    in 68328 timer code. With the old m68knommu irq code this
    was safe, but it is not now within the generic irq framework.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Use setup_irq() instead of request_irq() to set up system timer
    in ColdFire PIT timer code. With the old m68knommu irq code this
    was safe, but it is not now within the generic irq framework.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Remove the unused mach_trap_init function pointer. All use of it
    removed with change to using generic irq framework.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Use setup_irq() instead of request_irq() to set up system timer
    in ColdFire simple timer code. With the old m68knommu irq code this
    was safe, but it is not now within the generic irq framework.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • The switch to using the generic irq framework removed the
    coldfire_trap_init() code, so remove all references to it.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • Use setup_irq() instead of request_irq() to set up system timer
    in 68360 timer code. With the old m68knommu irq code this
    was safe, but it is not now within the generic irq framework.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     

26 Jul, 2007

22 commits

  • Paul Mackerras
     
  • Currently we calculate the first timeslice for every context
    incorrectly - alloc_spu_context calls spu_set_timeslice before we set
    ctx->prio so we always calculate the longest possible timeslice for the
    lowest possible priority.

    This patch makes sure to update the schedule-related fields before
    calculating the timeslice and also makes sure we update the timeslice for
    a non-running context when entering spu_run so a priority change affects
    the context as soon as possible.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jeremy Kerr
    Signed-off-by: Paul Mackerras

    Christoph Hellwig
     
  • We currently initialize cbe_spu_info[].spus in both init_spu_base and
    spu_sched_init. The initialise in spu_sched_init clears the SPU list,
    so we end up with no physical SPUs. Because of this, the spu_run
    syscall will block forever.

    This change removes the unnecessary initialization in spu_sched_init.

    Signed-off-by: Masato Noguchi
    Signed-off-by: Jeremy Kerr
    Signed-off-by: Paul Mackerras

    Masato Noguchi
     
  • The Maple platform has ISA IOs but didn't call the new functions to
    actually map those, thus crashing when trying to access the nvram.

    This fixes Maple and JS2x using SLOF.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     
  • This patch uses the newly added functions for testing if an address is
    an ISA or PCI IO port to properly unmap things in pci_iounmap that
    aren't such ports. Without that, drivers using the iomap API will never
    actually unmap resources, which on IBM server machines will prevent
    hot-unplug of the corresponding HW adapters.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     
  • This adds a function that tells you if a given kernel virtual address
    is hitting a PCI or ISA IO port permanent mapping or not. This is to
    be used in the next patch to fix iomap APIs to properly unmap things.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     
  • As of 2.6.22 the kernel doesn't recognize the i8042 keyboard/mouse
    controller on the PegasosPPC. This is because of a feature/bug in the
    OF device tree: the "device_type" attribute is an empty string instead
    of "8042" as the kernel expects. This adds a secondary detection
    which looks for a device whose *name* is "8042" if there is no device
    whose *type* is "8042".

    Signed-off-by: Alan Curry
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Alan Curry
     
  • WARNING: vmlinux.o(.text+0x4f568): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.setup_hvlpevent_queue' and '.process_hvlpevents')

    setup_hvlpevent_queue is only called from __init code so make it __init
    as well.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • WARNING: vmlinux.o(.text+0x8124): Section mismatch: reference to .init.text:.iSeries_early_setup (between '.__start_initialization_iSeries' and '.__mmu_off')
    WARNING: vmlinux.o(.text+0x8128): Section mismatch: reference to .init.text:.early_setup (between '.__start_initialization_iSeries' and '.__mmu_off')

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • This fixes the RTC on linkstation ppc machines again, and updates the
    device tree: add rtc nodes on i2c, remove bogus 0-size cache-line
    declarations, rename interrupt-controller nodes, remove erroneous
    interrupt-parent line, accidentally introduced by a recent patch.

    Signed-off-by: G. Liakhovetski
    Signed-off-by: Paul Mackerras

    Guennadi Liakhovetski
     
  • Scan the device tree for i2c devices, check their "compatible" property
    against a hard-coded table, and, if found, register with i2c boardinfo.
    This provides the infrastructure needed to find i2c devices in the
    device tree and register them with the i2c subsystem.

    This and the following commit let the linkstation work with the new i2c
    API and thus fix a regression.

    Signed-off-by: G. Liakhovetski
    Signed-off-by: Paul Mackerras

    Guennadi Liakhovetski
     
  • This fixes a possible infinite loop when the unsigned long counter "i"
    is used in lmb_add_region() in the following for loop:

    for (i = rgn->cnt-1; i >= 0; i--)

    by making the loop counter "i" be signed.

    Signed-off-by: Manish Ahuja
    Signed-off-by: Paul Mackerras

    Manish Ahuja
     
  • In a show_regs() message The DEAR and ESR were reported as
    DAR and DSISR which only exist on classic parts.

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • BootX text code is only supported on systems with real OF at this point
    which is PPC_OF && PPC_MULTIPLATFORM.

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • Add global-utilities node with has-rstcr on MPC8544 DS and MPC8568 MDS
    boards so they are able to reset properly.

    Signed-off-by: Roy Zang
    Signed-off-by: Kumar Gala

    Roy Zang
     
  • Fix mpc7448hpc2 tsi108 device_type bug.
    Wrong device type will break the board startup.

    Signed-off-by: Roy Zang
    Signed-off-by: Kumar Gala

    Roy Zang
     
  • Fixed the following warnings:

    WARNING: vmlinux.o(.text+0x2934): Section mismatch: reference to .init.text:__alloc_bootmem (between 'irq_alloc_host' and 'irq_set_default_host')
    WARNING: vmlinux.o(.text+0xb2aa): Section mismatch: reference to .init.data:boot_command_line (between 'register_early_udbg_console' and 'udbg_printf')
    WARNING: vmlinux.o(.text+0xb2b2): Section mismatch: reference to .init.data:boot_command_line (between 'register_early_udbg_console' and 'udbg_printf')
    WARNING: vmlinux.o(.text+0xe354): Section mismatch: reference to .init.text:__alloc_bootmem (between 'pcibios_alloc_controller' and 'pci_domain_nr')
    WARNING: vmlinux.o(.text+0x12768): Section mismatch: reference to .init.text:update_bridge_resource (between 'quirk_fsl_pcie_transparent' and 'indirect_read_config')
    WARNING: vmlinux.o(.text+0x127a8): Section mismatch: reference to .init.text:update_bridge_resource (between 'quirk_fsl_pcie_transparent' and 'indirect_read_config')
    WARNING: vmlinux.o(.text+0x17566c): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented')

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • The MPC8544 dts needed to set the new phy-connection-type to rgmii-id
    for the Vitesse PHY on the board to work properly.

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • The Freescale PCI PHBs actual report back values in the BAR registers
    this causes issues in that we try to allocate resources for them
    and will get error messages like the following on MPC8544 DS:

    PCI: Failed to allocate mem resource #1:80000000@0 for 0000:00:00.0

    To address this if we are class PCI_CLASS_PROCESSOR_POWERPC, a normal
    header type, and the PHB we clear out all the resources.

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • This reverts commit fd6e9d3945ee122eb513ada8b17296d243c1ce5e.

    Having #size-cells == 0 in a node indicates that things under the
    node aren't directly accessible, and therefore we shouldn't try to
    translate addresses for devices under the node into CPU physical
    addresses.

    Some drivers, such as the nvram driver for powermacs, rely on
    of_address_to_resource failing if they are called for a node
    representing a device whose resources aren't directly accessible
    by the CPU. These drivers were broken by commit fd6e9d39,
    resulting in the "Lombard" powerbook hanging early in the boot
    process.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] Nail two more simple section mismatch errors
    [IA64] fix section mismatch warnings
    [IA64] rename partial_page
    [IA64] Ensure that machvec is set up takes place before serial console
    [IA64] vector-domain - fix vector_table
    [IA64] vector-domain - handle assign_irq_vector(AUTO_ASSIGN)

    Linus Torvalds
     
  • pcibios_setup (between 'pci_setup' and 'quirk_mellanox_tavor')
    setup_profiling_timer (between 'write_profile' and 'delayed_put_task_struct')

    Signed-off-by: Tony Luck

    Tony Luck