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
     

30 Dec, 2011

5 commits

  • Virtual memory m68k systems build with register a2 dedicated to being the
    current proc pointer (non-MMU don't do this). Add code to the ColdFire
    interrupt and exception processing to set this on entry, and at context
    switch time. We use the same GET_CURRENT() macro that MMU enabled code
    uses - modifying it so that the assembler is ColdFire clean.

    Signed-off-by: Greg Ungerer
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan
    Acked-by: Geert Uytterhoeven

    Greg Ungerer
     
  • Add code to the 54xx ColdFire CPU init to setup memory ready for the m68k
    paged memory start up.

    Some of the RAM variables that were specific to the non-mmu code paths
    now need to be used during this setup, so when CONFIG_MMU is enabled.
    Move these out of page_no.h and into page.h.

    Signed-off-by: Greg Ungerer
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan
    Acked-by: Geert Uytterhoeven

    Greg Ungerer
     
  • The 54xx ColdFire CPU family has an internal MMU. Up to now though we
    have only supported running on them with the MMU disabled.

    Add code to the 54xx ColdFire init sequence to initialize the bootmem
    used by the usual MMU m68k code for paging init.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • Compiling for the m68knommu/68328 Palm/Pilot target you get:

    LD vmlinux
    arch/m68k/platform/68328/head.o: In function `L3':
    (.text+0x170): undefined reference to `rom_length'

    "rom_length" is not used any longer by any of the m68knommu code.
    So remove it from here too.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • Compiling for the m68knommu/68328 Palm/Pilot target you get:

    AS arch/m68k/platform/68328/head-pilot.o
    arch/m68k/platform/68328/head-pilot.S:37:23: fatal error: bootlogo.rh: No such file or directory

    The build for this target used to do a conversion on a C coded boot logo
    and include this in the head assembler code. This got broken by changes to
    the local Makefile.

    Clean all this up by just including the C coded boot logo struct in the
    C code. With the appropriate alignment attribute there is no difference
    to the way it can be used.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     

24 Dec, 2011

4 commits


22 Dec, 2011

1 commit


18 Oct, 2011

3 commits

  • The changes in the mmu version of entry.h (entry_mm.h) and the non-mmu
    version (entry_no.h) are not about the presence or use of an MMU at all.
    The main changes are to support the ColdFire processors. The code for
    trap entry and exit for all types of 68k processor outside coldfire is
    the same.

    So merge the files back to a single entry.h and share the common 68k
    entry/exit code. Some changes are required for the non-mmu entry
    handlers to adopt the differing macros for system call and interrupt
    entry, but this is quite strait forward. The changes for the ColdFire
    remove a couple of instructions for the separate a7 register case, and
    are no worse for the older single a7 register case.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • Most of the build logic is the same for the mmu and non-mmu m68k targets.
    Merge the top level architecture Makefiles back into a single Makefile.

    For the most part this is just adding the non-mmu processor types and
    their specific cflags and other options into the mmu Makefile.

    Note that all the BOARD setting logic that was in the non-mmu Makefile
    is completely removed. It was no longer being used at all.

    This has been build and run tested on ColdFire targets and ARAnyM.
    It has been build tested on all the m68k defconfig targets using a
    gcc-4.5.1 based toolchain.

    Signed-off-by: Greg Ungerer
    Acked-by: Sam Ravnborg

    Greg Ungerer
     
  • The problem has its root in the calculation of the set-port offsets (macro
    MCFGPIO_SETR() in arch/m68k/include/asm/gpio.h), this assumes that all ports
    have the same offset from the base port address (MCFGPIO_SETR) which is
    defined in mcf520xsim.h as an alias of MCFGIO_PSETR_BUSCTL. Because the BUSCTL
    and BE port do not have a set-register (see MCF5208 Reference Manual Page
    13-10, Table 13-3) the offset calculations went wrong.

    Because the BE and BUSCTL port do not seem useful in these parts, as they
    lack a set register, I removed them and adapted the gpio chip bases which
    are also used for the offset-calculations. Now both setting and resetting
    the chip selects works as expected from userland and from the kernelspace.

    Signed-off-by: Peter Turczak
    Signed-off-by: Greg Ungerer

    Peter Turczak
     

25 Jul, 2011

4 commits

  • commit 2502b667ea835ee16685c74b2a0d89ba8afe117a ("Change the m68knommu irq
    handling to use the generic irq framework.") removed the reporting of spurious
    interrupts on nommu (68328 and 68360).

    Bring it back in a generic way, using "atomic_t irq_err_count", as that's what
    most of the other architectures are using.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Greg Ungerer

    Geert Uytterhoeven
     
  • Currently trap_init() is an empty function for m68knommu. Instead
    the vectors are being setup as part of the IRQ initialization.
    This is inconsistent with m68k and other architectures.

    Change the local init_vectors() to be trap_init(), and init the
    vectors at the correct time during startup. This will help merge of
    m68k and m68knommu trap code in the furture.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • The ColdFire 5206 and 5206e CPU families are almost identical, we can
    easily merge the platform support code for them. All the differences
    are dealt with in the current include/asm/5206sim.h.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • The non-MMU m68k targets can use the same asm/system.h as the MMU
    targets. So switch the current system_mm.h to be system.h and remove
    system_no.h.

    The assembly support code for the non-MMU resume functions needs to
    be modified to match the now common switch_to() macro. Specifically
    this means correctly saving and restoring the status flags in the case
    of the ColdFire resume, and some reordering of the code to not use
    registers before they are saved or after they are restored.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     

24 May, 2011

3 commits


31 Mar, 2011

1 commit


29 Mar, 2011

1 commit


25 Mar, 2011

1 commit

  • There is a lot of common code that could be shared between the m68k
    and m68knommu arch branches. It makes sense to merge the two branches
    into a single directory structure so that we can more easily share
    that common code.

    This is a brute force merge, based on a script from Stephen King
    , which was originally written by Arnd Bergmann
    .

    > The script was inspired by the script Sam Ravnborg used to merge the
    > includes from m68knommu. For those files common to both arches but
    > differing in content, the m68k version of the file is renamed to
    > _mm. and the m68knommu version of the file is moved into the
    > corresponding m68k directory and renamed _no. and a small
    > wrapper file . is used to select between the two version. Files
    > that are common to both but don't differ are removed from the m68knommu
    > tree and files and directories that are unique to the m68knommu tree are
    > moved to the m68k tree. Finally, the arch/m68knommu tree is removed.
    >
    > To select between the the versions of the files, the wrapper uses
    >
    > #ifdef CONFIG_MMU
    > #include _mm.
    > #else
    > #include _no.
    > #endif

    On top of this file merge I have done a simplistic merge of m68k and
    m68knommu Kconfig, which primarily attempts to keep existing options and
    menus in place. Other than a handful of options being moved it produces
    identical .config outputs on m68k and m68knommu targets I tested it on.

    With this in place there is now quite a bit of scope for merge cleanups
    in future patches.

    Signed-off-by: Greg Ungerer

    Greg Ungerer