14 Jan, 2011

2 commits

  • Drop the old geode_gpio crud, as well as the raw outl() calls; instead,
    use the Linux GPIO API where possible, and the cs5535_gpio API in other
    places.

    Note that we don't actually clean up the driver properly yet (once loaded,
    it always remains loaded). That'll come later..

    This patch is necessary for building the driver.

    Signed-off-by: Andres Salomon
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • This adds (well, re-adds actually) handling for events/IRQs through cs5535
    GPIOs. In the wild and wooly world of CS5535, setup_event() is for
    assigning an IRQ to a GPIO filter/event pair, and set_irq() sets up the
    pair to trigger IRQs.

    These should really only be used in highly platform-specific drivers (such
    as OLPC's DCON driver). Sadly, because set_irq() uses MSRs, this causes
    the driver to become X86-specific.

    Signed-off-by: Andres Salomon
    Signed-off-by: Daniel Drake
    Cc: Grant Likely
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     

16 Dec, 2009

5 commits

  • ..and include them in the lxfb/gxfb drivers rather than asm/geode.h (where
    possible).

    Signed-off-by: Andres Salomon
    Cc: Jordan Crouse
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: john stultz
    Cc: Chris Ball
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • Signed-off-by: Andres Salomon
    Cc: Jordan Crouse
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: john stultz
    Cc: Chris Ball
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • The only thing that uses this is the reboot_fixups code.

    Signed-off-by: Andres Salomon
    Cc: Jordan Crouse
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: john stultz
    Cc: Chris Ball
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • This is based on the old code on arch/x86/kernel/mfgpt_32.c, except it's
    not x86 specific, it's modular, and it makes use of a PCI BAR rather than
    a random MSR. Currently module unloading is not supported; it's uncertain
    whether or not it can be made work with the hardware.

    [akpm@linux-foundation.org: add X86 dependency]
    Signed-off-by: Andres Salomon
    Cc: Jordan Crouse
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: john stultz
    Cc: Chris Ball
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • This creates a CS5535/CS5536 GPIO driver which uses a gpio_chip backend
    (allowing GPIO users to use the generic GPIO API if desired) while also
    allowing architecture-specific users directly (via the cs5535_gpio_*
    functions).

    Tested on an OLPC machine. Some Leemotes also use CS5536 (with a mips
    cpu), which is why this is in drivers/gpio rather than arch/x86.
    Currently, it conflicts with older geode GPIO support; once MFGPT support
    is reworked to also be more generic, the older geode code will be removed.

    Signed-off-by: Andres Salomon
    Cc: Takashi Iwai
    Cc: Jordan Crouse
    Cc: David Brownell
    Reviewed-by: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon