22 Jun, 2005

40 commits

  • Fix max channel check in cio_ignore display function.

    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cornelia Huck
     
  • With Al Viro

    To make sure switcheroo() can execute when we remap all the executable
    image, we used a trick to make it use a local copy of errno... this trick
    does not work with NPTL glibc, only with LinuxThreads, so use another
    (simpler) one to make it work anyway.

    Hopefully, a lot improved thanks to merging with the version of Al Viro
    (which had his part of problems, though, i.e. removing a fix to another
    bug and not fixing the problem on i386).

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • With Chris Wedgwood

    As suggested by Chris, we can make the "just added" method ->release
    conditional to UML only (better: to archs requesting it, i.e. only UML
    currently), so that other archs don't get this unneeded crud, and if UML
    won't need it any more we can kill this.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    CC: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • This occurrence of free_irq_by_irq_and_dev() was missed when converting UML
    to the use of hw_controller_type->release.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • With Chris Wedgwood

    Currently UML must explicitly call the UML-specific
    free_irq_by_irq_and_dev() for each free_irq call it's done.

    This is needed because ->shutdown and/or ->disable are only called when the
    last "action" for that irq is removed.

    Instead, for UML shared IRQs (UML IRQs are very often, if not always,
    shared), for each dev_id some setup is done, which must be cleared on the
    release of that fd. For instance, for each open console a new instance
    (i.e. new dev_id) of the same IRQ is requested().

    Exactly, a fd is stored in an array (pollfds), which is after read by a
    host thread and passed to poll(). Each event registered by poll() triggers
    an interrupt. So, for each free_irq() we must remove the corresponding
    host fd from the table, which we do via this -release() method.

    In this patch we add an appropriate hook for this, and remove all uses of
    it by pointing the hook to the said procedure; this is safe to do since the
    said procedure.

    Also some cosmetic improvements are included.

    This is heavily based on some work by Chris Wedgwood, which however didn't
    get the patch merged for something I'd call a "misunderstanding" (the need
    for this patch wasn't cleanly explained, thus adding the generic hook was
    felt as undesirable).

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    CC: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • The current include/asm-m32r/div64.h of 2.6.12-rc5 looks buggy. Here is a
    patch for updating it to use asm-generic/div64.h for m32r like other
    architectures.

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

    Hirokazu Takata
     
  • Signed-off-by: Hirokazu Takata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hirokazu Takata
     
  • This patch removes an obsolete header file include/asm-m32r/m32102peri.h.
    In this header, there are some undesirable single character types, like V.
    And the header is almost no longer used.

    Signed-off-by: Hayato Fujiwara
    Signed-off-by: Hirokazu Takata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hirokazu Takata
     
  • Signed-off-by: Hirokazu Takata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hirokazu Takata
     
  • This patch is for the M32R CF/PCMCIA drivers to support a new platform,
    Mappi-III evaluation board.

    Signed-off-by: Mamoru Sakugawa
    Signed-off-by: Hirokazu Takata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hirokazu Takata
     
  • Change coding styles of hw_interrupt_type struct's initialization portions.

    Signed-off-by: Hirokazu Takata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hirokazu Takata
     
  • This patchset is for supporting a new m32r platform, M3A-2170(Mappi-III)
    evaluation board. An M32R chip multiprocessor is equipped on the board.
    http://http://www.linux-m32r.org/eng/platform/platform.html

    * arch/m32r/Kconfig: Support Mappi-III platform.
    * arch/m32r/kernel/Makefile: ditto.
    * arch/m32r/kernel/io_mappi3.c: ditto.
    * arch/m32r/kernel/setup.c: ditto.
    * arch/m32r/kernel/setup_mappi3.c: ditto.
    * include/asm-m32r/m32102.h: ditto.
    * include/asm-m32r/m32r.h: ditto.
    * include/asm-m32r/mappi3/mappi3_pld.h: ditto.

    * include/asm-m32r/ide.h: CF support for Mappi-III.
    * arch/m32r/kernel/setup_mappi3.c: ditto.

    * arch/m32r/mappi3/defconfig.smp: A default config file for Mappi-III.
    * arch/m32r/mappi3/dot.gdbinit: A default .gdbinit file for Mappi-III.

    * arch/m32r/boot/compressed/m32r_sio.c: Modified for Mappi-III
    - At boot time, m32r-g00ff bootloader makes MMU off for Mappi-III,
    on the contrary it makes MMU on for Mappi-II.

    * arch/m32r/kernel/io_mappi2.c: Update comments.
    * arch/m32r/kernel/setup_mappi2.c: ditto.

    Signed-off-by: Mamoru Sakugawa
    Signed-off-by: Hirokazu Takata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hirokazu Takata
     
  • Several hardware features of SGI's IOC4 I/O controller chip require
    timing-related driver calculations dependent upon the PCI bus speed. This
    patch enables the core IOC4 driver code to detect the actual bus speed and
    store a value that can later be used by the IOC4 subdrivers as needed.

    Signed-off-by: Brent Casavant
    Acked-by: Pat Gefre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Brent Casavant
     
  • The SGI IOC4 I/O controller chip drivers are currently all configured by
    CONFIG_BLK_DEV_SGIIOC4. This is undesirable as not all IOC4 hardware features
    are needed by all systems.

    This patch adds two configuration variables, CONFIG_SGI_IOC4 for core IOC4
    driver support (see patch 1/3 in this series for further explanation) and
    CONFIG_SERIAL_SGI_IOC4 to independently enable serial port support.

    Signed-off-by: Brent Casavant
    Acked-by: Pat Gefre
    Acked-by: Jeremy Higdon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Brent Casavant
     
  • This series of patches reworks the configuration and internal structure
    of the SGI IOC4 I/O controller device drivers.

    These changes are motivated by several factors:

    - The IOC4 chip PCI resources are of mixed use between functions (i.e.
    multiple functions are handled in the same address range, sometimes
    within the same register), muddling resource ownership and initialization
    issues. Centralizing this ownership in a core driver is desirable.

    - The IOC4 chip implements multiple functions (serial, IDE, others not
    yet implemented in the mainline kernel) but is not a multifunction
    PCI device. In order to properly handle device addition and removal
    as well as module insertion and deletion, an intermediary IOC4-specific
    driver layer is needed to handle these operations cleanly.

    - All IOC4 drivers are currently enabled by a single CONFIG value. As
    not all systems need all IOC4 functions, it is desireable to enable
    these drivers independently.

    - The current IOC4 core driver will trigger loading of all function-level
    drivers, as it makes direct calls to them. This situation should be
    reversed (i.e. function-level drivers cause loading of core driver)
    in order to maintain a clear and least-surprise driver loading model.

    - IOC4 hardware design necessitates some driver-level dependency on
    the PCI bus clock speed. Current code assumes a 66MHz bus, but the
    speed should be autodetected and appropriate compensation taken.

    This patch series effects the above changes by a newly and better designed
    IOC4 core driver with which the function-level drivers can register and
    deregister themselves upon module insertion/removal. By tracking these
    modules, device addition/removal is also handled properly. PCI resource
    management and ownership issues are centralized in this core driver, and
    IOC4-wide configuration actions such as bus speed detection are also
    handled in this core driver.

    This patch:

    The SGI IOC4 I/O controller chip implements multiple functions, though it is
    not a multi-function PCI device. Additionally, various PCI resources of the
    IOC4 are shared by multiple hardware functions, and thus resource ownership by
    driver is not clearly delineated. Due to the current driver design, all core
    and subordinate drivers must be loaded, or none, which is undesirable if not
    all IOC4 hardware features are being used.

    This patch reorganizes the IOC4 drivers so that the core driver provides a
    subdriver registration service. Through appropriate callbacks the subdrivers
    can now handle device addition and removal, as well as module insertion and
    deletion (though the IOC4 IDE driver requires further work before module
    deletion will work). The core driver now takes care of allocating PCI
    resources and data which must be shared between subdrivers, to clearly
    delineate module ownership of these items.

    Signed-off-by: Brent Casavant
    Acked-by: Pat Gefre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Brent Casavant
     
  • Add vr41xx gpio support.

    Signed-off-by: Yoichi Yuasa
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoichi Yuasa
     
  • Allow the SMT bit to be set/reset at boot, like the ALTIVEC bit. This
    means we will enable SMT on unknown cpus that support it.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Blanchard
     
  • We dont use the hardware referenced and changed bits and setting them early
    avoids a store to memory. We already do this for userspace hptes but not
    kernel ones. Do it.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Blanchard
     
  • Currently we dynamically allocate the fake parent device for all devices on
    the vio bus. This patch statically allocates it. This also allows us to
    reuse it for the iSeries "generic" vio device (that is used for passing to
    dma routines when communicating with the hypervisor without a device
    involved). Also unexport vio_bus_type as it is never used in modules.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch allows iSeries to build with CONFIG_PCI=n. This is useful for
    partitions that have only virtual I/O.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch just removes some dead code, fixes messages that referred to the
    file this code used to be in and inserts XmPciLpEvent_init into its caller.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch just merges XmPciLpEvent.c into iSeries_irq.c (the only caller of
    its only external function). XmPciLpEvent.c just contained the lowlevel
    iSeries irq code.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch is just simple cleanups to the iSeries irq code.
    - whitespace and comments
    - rearrange some functions to avoid forward declarations
    - remove XmPciLpEvent.h as its functions were declared elsewhere
    - remove decaration of function that no longer exists
    No semantic changes.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • The AgentId, PhbId, FrameId, CardLocation and Location members of
    iSeries_Device_Node are stored early in the boot process just so that a
    message about the device can be printed later in the boot process. Remove
    them and construct the message by doing the VPD parsing at the time the
    message is printed.

    Also remove a few unused defines in iSeries_VpdInfo.c.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • The IoRetry member of iSeries_Devide_Node is really only used locally, so
    remove it and replace it with a local variable.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Remove no longer used things from iSeries_pci.h.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Clean up iSeries_VpdInfo.c:
    - white space and comment fixes
    - make a function static
    - the functions here are only called from iSeries_pci.c, so
    CONFIG_PCI will be set (so remove check)
    - only build when CONFIG_PCI is set
    - remove unneeded includes and cast

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • The iommu_table_cb structure is iSeries specific, so move it to the header
    file that declares the function we pass it to. vio_tce_table and
    iommu_setup_iSeries no longer exist, so remove their declarations.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • The file arch/ppc64/kernel/iSeries_pci_reset contains only one function that
    is not use anywhere (any more). Remove it. This function is the only user of
    the ReturnCode member of iSeries_Device_Node, so remove that as well.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Last of this round of the iSeries header cleanups
    - don't have two defines for the same thing (HvMaxArchitectedLps
    and HvMaxArchitectedVirtualLans)
    - HvCallSc.h only needs linux/types.h
    - remove unused struct definition
    - add "extern" to some more function declarations

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch removes some unused bits from HvCall.h and some unneeded #includes
    from other files. Also includes ItLpQueue.h in paca.h in preference to a stub
    declaration of struct ItLpQueue.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Just white space cleaups and move process_iSeries_events into its only caller.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Now that the only users of things in HvCallCfg.h are in HvLpConfig.h, merge in
    the bit we need and remove HvCallCfg.h.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch removes from the iSeries header files a large number of inline
    functions that are not used. It also changes the only caller of a HvCallCfg
    function that is outside HvLpConfig.h to its equivalent HvLpConfig function
    and no longer includes HvCallCfg.h where it is not needed.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • include/asm-ppc64/iSeries/LparData.h just included a whole lot of other files
    to declare variables that would be better declared in those other files. So,
    remove it. This will reduce that number of things needed to be included in
    most cases to access the relevant variables.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch does some obvious code cleanups in the iSeries headers files.
    - simplifies the bodies of lots of inline functions
    - parenthesises a macros result
    - removes C++ wrapping
    - adds "extern" to some function declarations
    There are no semantic changes.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch just contains white space and comment cleanups in the iSeries
    headers files. There are no semantic changes.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch just contains white space and comment cleanups in the iSeries
    headers files. There are no semantic changes.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • include/asm-ppc64/iSeries/iSeries_proc.h just contains a declaration of a
    function that no longer exists. Remove it.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • The following kind of calls currently fails :

    make ARCH=ppc64 CC="gcc-3.4"

    Since the code for detecting a biarch compiler and adding the needed 64bit
    magic argument fails if the AS/LD/CC commands are overriden in the command
    line.

    The attached patch fixes this by using the make override and += directive,
    but i am not 100% sure this will work without gmake, as i am no Makefile
    expert.

    Cc: Paul Mackerras
    Cc: Anton Blanchard
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sven Luther