01 Nov, 2010

1 commit

  • This takes a bit of a sledgehammer to the machvec I/O routines. The
    iomem case requires no special casing and so can just be dropped
    outright. This only leaves the ioport casing for PCI and SuperIO
    mangling. With the SuperIO case going through the standard ioport
    mapping, it's possible to replace everything with generic routines.

    With this done the standard I/O routines are tidied up and NO_IOPORT
    now gets default-enabled for the vast majority of boards.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

02 Jun, 2010

1 commit

  • This extends some of the existing special casing for HAS_IOPORT
    platforms and gets it to the point where platforms can begin to
    conditionally select it.

    The major changes here are that the PIO routines themselves go away
    completely, including all of the machvec port mapping wrappers. With this
    in place it's possible for any non-machvec abusing platform to disable
    PIO completely. At present this is left as an opt-in until the abusers
    are the odd ones out instead of the majority.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

10 May, 2010

1 commit

  • This plugs in a memory init callback in the machvec to permit boards to
    wire up various bits of memory directly in to LMB. A generic machvec
    implementation is provided that simply wraps around the normal
    Kconfig-derived memory start/size.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

12 Nov, 2009

1 commit


28 Sep, 2009

1 commit

  • This bumps up the default I/O base to P2SEG, which allows legacy probing
    to bail out gracefully rather than oopsing. Platforms that have a real
    PIO offset still need to fix this up on their own, although most
    platforms are content with P2SEG already.

    The previous change to teach ioport_map() about >= P1SEG offsets in
    combination with this patch allows both the already remapped and the
    legacy address probing to pass through and succeed.

    Fixes up an oops with i8042 on the sh7785lcr board.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

01 Jun, 2009

1 commit

  • Add mode pin support for the SuperH architecture V2.

    With this patch applied the board code can add their
    own function to export the cpu mode pin configuration.
    In most cases this will be a constant bitmap, but
    boards that allow reading this from a register can
    instead read out the pin state from hardware.

    The code warns if a pin is tested but no board specific
    mode pin function has been provided.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     

04 Oct, 2008

1 commit

  • This tidies up a lot of the PIO/MMIO split. No in-tree platforms were
    making use of the MMIO overloading through the machvec (nor have any of
    them been in some time), so we just kill all of that off. The ISA I/O
    routine wrapping remains unaffected, which remains the only special
    casing outside of the iomap API that boards need to think about.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

08 Sep, 2008

1 commit


07 Aug, 2007

1 commit

  • Now that __initmv references the machvec section unconditionally
    there have been cases where folks have been mistakenly flagging
    non-machvec structures with the machvec section attribute (presumably
    to shut up modpost). This leads to obscure breakage in earlyprintk
    amongst other places and is rather non-obvious.

    Add a simple sanity check to try and catch __initmv misuse and
    panic early.

    Reported-by: Markus Brunner
    Signed-off-by: Paul Mundt

    Paul Mundt
     

08 Jun, 2007

3 commits

  • This kills off the BareCPU board as a "special" machvec, rather,
    we leave this as a default for when no other vector is available,
    or when we want to use it in combination with other vectors for
    testing with generic ops. As sh_mv is copied out anyways (or
    overloaded when an alternate vector is explicitly selected), this
    doesn't consume any additional memory.

    The generic machvec can be forcibly selected with sh_mv=generic,
    or by not having any other boards enabled.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • We now throw all of the machvecs in to .machvec.init and either
    select one on the command line, or copy out the first (and
    usually only) one to sh_mv. The rest are freed as usual.

    This gets rid of all of the silly sh_mv aliasing and makes the
    selection explicit rather than link-order dependent.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • This fixes up much of the machvec handling, allowing for it to be
    overloaded on boot. Making practical use of this still requires
    some Kconfig munging, however.

    Signed-off-by: Paul Mundt

    Paul Mundt