08 Jun, 2011

1 commit


17 Mar, 2011

1 commit

  • The two methods included in tick14.c was nop because
    the static variable linux_lvl14 was always NULL.

    So remove the file and callers.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     

11 Jan, 2011

1 commit

  • * 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6: (29 commits)
    of/flattree: forward declare struct device_node in of_fdt.h
    ipmi: explicitly include of_address.h and of_irq.h
    sparc: explicitly cast negative phandle checks to s32
    powerpc/405: Fix missing #{address,size}-cells in i2c node
    powerpc/5200: dts: refactor dts files
    powerpc/5200: dts: Change combatible strings on localbus
    powerpc/5200: dts: remove unused properties
    powerpc/5200: dts: rename nodes to prepare for refactoring dts files
    of/flattree: Update dtc to current mainline.
    of/device: Don't register disabled devices
    powerpc/dts: fix syntax bugs in bluestone.dts
    of: Fixes for OF probing on little endian systems
    of: make drivers depend on CONFIG_OF instead of CONFIG_PPC_OF
    of/flattree: Add of_flat_dt_match() helper function
    of_serial: explicitly include of_irq.h
    of/flattree: Refactor unflatten_device_tree and add fdt_unflatten_tree
    of/flattree: Reorder unflatten_dt_node
    of/flattree: Refactor unflatten_dt_node
    of/flattree: Add non-boottime device tree functions
    of/flattree: Add Kconfig for EARLY_FLATTREE
    ...

    Fix up trivial conflict in arch/sparc/prom/tree_32.c as per Grant.

    Linus Torvalds
     

04 Jan, 2011

2 commits

  • When we switched sparc from using 'int's to 'phandle's (which is a u32), we
    neglected to do anything with the various checks for -1. For those tests,
    explicitly cast the phandles to s32.

    Signed-off-by: Andres Salomon
    Acked-by: David S. Miller
    Signed-off-by: Grant Likely

    Andres Salomon
     
  • Fix following sparse warnings:
    arch/sparc/prom/bootstr_32.c:32:35: warning: Using plain integer as NULL pointer
    arch/sparc/prom/memory.c:61:13: warning: symbol 'prom_meminit' was not declared. Should it be static?
    arch/sparc/prom/misc_32.c:74:1: error: symbol 'prom_halt' redeclared with different type (originally declared at arch/sparc/include/asm/oplib_32.h:67) - different modifiers
    arch/sparc/prom/ranges.c:16:26: warning: symbol 'promlib_obio_ranges' was not declared. Should it be static?
    arch/sparc/prom/ranges.c:17:5: warning: symbol 'num_obio_ranges' was not declared. Should it be static?
    arch/sparc/prom/ranges.c:39:1: warning: symbol 'prom_adjust_ranges' was not declared. Should it be static?
    arch/sparc/prom/ranges.c:69:13: warning: symbol 'prom_ranges_init' was not declared. Should it be static?
    arch/sparc/prom/tree_32.c:286:22: warning: Using plain integer as NULL pointer
    arch/sparc/prom/tree_32.c:286:38: warning: Using plain integer as NULL pointer

    None of the warnings indicated any serious issues.

    We are now sparse clean for 32 bit build in arch/sparc/prom.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     

03 Jan, 2011

4 commits


13 Dec, 2010

2 commits


01 Dec, 2010

3 commits

  • sparc64 systems have a restriction in that passing in buffer
    addressses above 4GB to prom calls is not reliable.

    We end up violating this when we do prom console writes, because we
    use an on-stack buffer to translate '\n' into '\r\n'.

    So instead, do this translation into an intermediate buffer, which is
    in the kernel image and thus below 4GB, then pass that to the PROM
    console write calls.

    On the 32-bit side we don't have to deal with any of these issues, so
    the new prom_console_write_buf() uses the existing prom_nbputchar()
    implementation. However we can now mark those routines static.

    Since the 64-bit side completely uses new code we can delete the
    putchar bits as they are now completely unused.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Completely unused.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This gets us closer to being able to eliminate the use
    of dynamic and stack based buffers, so that we can adhere
    to the "no buffer addresses above 4GB" rule for PROM calls.

    Signed-off-by: David S. Miller

    David S. Miller
     

18 Nov, 2010

1 commit


17 Nov, 2010

5 commits


25 Oct, 2010

1 commit

  • * 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6:
    mtd/m25p80: add support to parse the partitions by OF node
    of/irq: of_irq.c needs to include linux/irq.h
    of/mips: Cleanup some include directives/files.
    of/mips: Add device tree support to MIPS
    of/flattree: Eliminate need to provide early_init_dt_scan_chosen_arch
    of/device: Rework to use common platform_device_alloc() for allocating devices
    of/xsysace: Fix OF probing on little-endian systems
    of: use __be32 types for big-endian device tree data
    of/irq: remove references to NO_IRQ in drivers/of/platform.c
    of/promtree: add package-to-path support to pdt
    of/promtree: add of_pdt namespace to pdt code
    of/promtree: no longer call prom_ functions directly; use an ops structure
    of/promtree: make drivers/of/pdt.c no longer sparc-only
    sparc: break out some PROM device-tree building code out into drivers/of
    of/sparc: convert various prom_* functions to use phandle
    sparc: stop exporting openprom.h header
    powerpc, of_serial: Endianness issues setting up the serial ports
    of: MTD: Fix OF probing on little-endian systems
    of: GPIO: Fix OF probing on little-endian systems

    Linus Torvalds
     

09 Oct, 2010

1 commit


07 Oct, 2010

1 commit

  • Fix the IRQ flag handling naming. In linux/irqflags.h under one configuration,
    it maps:

    local_irq_enable() -> raw_local_irq_enable()
    local_irq_disable() -> raw_local_irq_disable()
    local_irq_save() -> raw_local_irq_save()
    ...

    and under the other configuration, it maps:

    raw_local_irq_enable() -> local_irq_enable()
    raw_local_irq_disable() -> local_irq_disable()
    raw_local_irq_save() -> local_irq_save()
    ...

    This is quite confusing. There should be one set of names expected of the
    arch, and this should be wrapped to give another set of names that are expected
    by users of this facility.

    Change this to have the arch provide:

    flags = arch_local_save_flags()
    flags = arch_local_irq_save()
    arch_local_irq_restore(flags)
    arch_local_irq_disable()
    arch_local_irq_enable()
    arch_irqs_disabled_flags(flags)
    arch_irqs_disabled()
    arch_safe_halt()

    Then linux/irqflags.h wraps these to provide:

    raw_local_save_flags(flags)
    raw_local_irq_save(flags)
    raw_local_irq_restore(flags)
    raw_local_irq_disable()
    raw_local_irq_enable()
    raw_irqs_disabled_flags(flags)
    raw_irqs_disabled()
    raw_safe_halt()

    with type checking on the flags 'arguments', and then wraps those to provide:

    local_save_flags(flags)
    local_irq_save(flags)
    local_irq_restore(flags)
    local_irq_disable()
    local_irq_enable()
    irqs_disabled_flags(flags)
    irqs_disabled()
    safe_halt()

    with tracing included if enabled.

    The arch functions can now all be inline functions rather than some of them
    having to be macros.

    Signed-off-by: David Howells [X86, FRV, MN10300]
    Signed-off-by: Chris Metcalf [Tile]
    Signed-off-by: Michal Simek [Microblaze]
    Tested-by: Catalin Marinas [ARM]
    Acked-by: Thomas Gleixner
    Acked-by: Haavard Skinnemoen [AVR]
    Acked-by: Tony Luck [IA-64]
    Acked-by: Hirokazu Takata [M32R]
    Acked-by: Greg Ungerer [M68K/M68KNOMMU]
    Acked-by: Ralf Baechle [MIPS]
    Acked-by: Kyle McMartin [PA-RISC]
    Acked-by: Paul Mackerras [PowerPC]
    Acked-by: Martin Schwidefsky [S390]
    Acked-by: Chen Liqin [Score]
    Acked-by: Matt Fleming [SH]
    Acked-by: David S. Miller [Sparc]
    Acked-by: Chris Zankel [Xtensa]
    Reviewed-by: Richard Henderson [Alpha]
    Reviewed-by: Yoshinori Sato [H8300]
    Cc: starvik@axis.com [CRIS]
    Cc: jesper.nilsson@axis.com [CRIS]
    Cc: linux-cris-kernel@axis.com

    David Howells
     

24 Aug, 2010

1 commit

  • This is based upon a report by Meelis Roos showing that it's possible
    that we'll try to fetch a property that is 32K in size with some
    devices. With the current fixed 3K buffer we use for moving data in
    and out of the firmware during PROM calls, that simply won't work.

    In fact, it will scramble random kernel data during bootup.

    The reasoning behind the temporary buffer is entirely historical. It
    used to be the case that we had problems referencing dynamic kernel
    memory (including the stack) early in the boot process before we
    explicitly told the firwmare to switch us over to the kernel trap
    table.

    So what we did was always give the firmware buffers that were locked
    into the main kernel image.

    But we no longer have problems like that, so get rid of all of this
    indirect bounce buffering.

    Besides fixing Meelis's bug, this also makes the kernel data about 3K
    smaller.

    It was also discovered during these conversions that the
    implementation of prom_retain() was completely wrong, so that was
    fixed here as well. Currently that interface is not in use.

    Reported-by: Meelis Roos
    Tested-by: Meelis Roos
    Signed-off-by: David S. Miller

    David S. Miller
     

04 Mar, 2010

1 commit


11 Feb, 2010

1 commit


04 Sep, 2009

1 commit

  • Functions invoked early when booting up a cpu can't use
    tracing because mcount requires a valid 'current_thread_info()'
    and TLB mappings to be setup.

    The code path of sun4v_register_mondo_queues --> register_one_mondo
    is one such case. sun4v_register_mondo_queues already has the
    necessary 'notrace' annotation, but register_one_mondo does not.

    Normally register_one_mondo is inlined so the bug doesn't trigger,
    but with some config/compiler combinations, it won't be so we
    must properly mark it notrace.

    While we're here, add 'notrace' annoations to prom_printf and
    prom_halt so that early error handling won't have the same problem.

    Reported-by: Alexander Beregalov
    Reported-by: Leif Sawyer
    Signed-off-by: David S. Miller

    David S. Miller
     

09 Jan, 2009

4 commits

  • Signed-off-by: Julian Calaby
    Signed-off-by: David S. Miller

    Julian Calaby
     
  • __prom_getchild() and __prom_getsibling() are not used anywhere, so
    don't export them.

    Signed-off-by: Julian Calaby
    Signed-off-by: David S. Miller

    Julian Calaby
     
  • Move all applicable EXPORT_SYMBOL()s to the file where the respective
    symbol is defined.

    Removed all the includes that are no longer needed in sparc_ksyms_64.c

    Comment all remaining EXPORT_SYMBOL()s in sparc_ksyms_64.c

    Signed-off-by: Sam Ravnborg

    Additions by Julian Calaby:
    * Moved EXPORT_SYMBOL()s for prom functions to their rightful places.
    * Made some minor cleanups to the includes and comments of sparc_ksyms_64.c
    * Updated and tidied commit message.
    * Rebased patch over sparc-2.6.git HEAD.
    * Ensured that all modified files have the correct includes.

    Signed-off-by: Julian Calaby
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • Move all applicable EXPORT_SYMBOL()s to the file where the respective
    symbol is defined.

    Removed all the includes that are no longer needed in sparc_ksyms_32.c

    Comment all remaining EXPORT_SYMBOL()s in sparc_ksyms_32.c

    Two symbols are shared with sparc64 thus the exports were removed from
    the sparc_ksyms_64.c too, along with the include their ommission made
    redundant.

    Signed-off-by: Sam Ravnborg

    Additions by Julian Calaby:
    * Moved EXPORT_SYMBOL()s for prom functions to their rightful places.
    * Made some minor cleanups to the includes and comments of sparc_ksyms_32.c
    * Made another subtraction from sparc_ksyms_64.c
    * Updated and tidied commit message.
    * Rebased patch over sparc-2.6.git HEAD.
    * Ensured that all modified files have the correct includes.

    Signed-off-by: Julian Calaby
    Signed-off-by: David S. Miller

    Sam Ravnborg
     

08 Dec, 2008

1 commit


06 Dec, 2008

1 commit


05 Dec, 2008

3 commits

  • It is always equals y so no need to test for it

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • - all files with identical names copied and renamed to *_64.c
    - the remaning files copied as is
    - added sparc64 specific files to sparc/prom/Makefile
    - teach sparc64 Makefile to look into sparc/prom/
    - delete unused Makefile from sparc64/prom/

    linking order was not kept for sparc64 with this change.
    It was not possible to keep linking order for both sparc and sparc64
    and as sparc64 see more testing than sparc it was natural to
    break linking order on sparc64. Should it have any effect it
    would be detected sooner this way.

    printf_32.c and printf_64.c are obvious candidates to be merged
    but they are not 100% equal so that was left for later

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • - rename files where sparc64 uses identical names to *_32.c
    - refactor Makefile (but keep linking order)

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     

01 Sep, 2008

1 commit

  • While doing some easy cleanups on the sparc code I noticed that the
    CONFIG_SUN4 code seems to be worse than the rest - there were some
    "I don't know how it should work, but the current code definitely cannot
    work." places.

    And while I have seen people running Linux on machines like a
    SPARCstation 5 a few years ago I don't recall having seen sun4
    machines, even less ones running Linux.

    Signed-off-by: Adrian Bunk
    Signed-off-by: David S. Miller

    Adrian Bunk
     

29 Aug, 2008

1 commit


20 May, 2008

1 commit


02 May, 2008

1 commit