1. 27 2月, 2010 1 次提交
  2. 02 11月, 2009 1 次提交
    • M
      MIPS: Alchemy: Fix hang with high-frequency edge interrupts · 44f2c586
      Manuel Lauss 提交于
      The handle_edge_irq() flowhandler disables edge int sources which occur
      too fast (i.e. another edge comes in before the irq handler function
      had a chance to finish).  Currently, the mask_ack() callback does not
      ack the edges in hardware, leading to an endless loop in the flowhandler
      where it tries to shut up the irq source.
      
      When I rewrote the alchemy IRQ code  I wrongly assumed the mask_ack()
      callback was only used by the level flowhandler, hence it omitted the
      (at the time pointless) edge acks.  Turned out I was wrong; so here
      is a complete mask_ack implementation for Alchemy IC, which fixes
      the above mentioned problem.
      Signed-off-by: NManuel Lauss <manuel.lauss@gmail.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      44f2c586
  3. 11 1月, 2009 2 次提交
    • M
      MIPS: Alchemy: new userspace suspend interface for development boards. · 61f9c58d
      Manuel Lauss 提交于
      Replace the current sysctl-based suspend interface with a new sysfs-
      based one which also uses the Linux-2.6 suspend model.
      
      To configure wakeup sources, a subtree for the demoboards is created
      under /sys/power/db1x:
      
      sys/
      `-- power
          `-- db1x
              |-- gpio0
              |-- gpio1
              |-- gpio2
              |-- gpio3
              |-- gpio4
              |-- gpio5
              |-- gpio6
              |-- gpio7
              |-- timer
              |-- timer_timeout
              |-- wakemsk
              `-- wakesrc
      
      The nodes 'gpio[0-7]' and 'timer' configure the GPIO0..7 and M2
      bits of the SYS_WAKEMSK (wakeup source enable) register.  Writing '1'
      enables a wakesource, 0 disables it.
      
      The 'timer_timeout' node holds the timeout in seconds after which the
      TOYMATCH2 event should wake the system.
      
      The 'wakesrc' node holds the SYS_WAKESRC register after wakeup (in hex),
      the 'wakemsk' node can be used to get/set the wakeup mask directly.
      
      For example, to have the timer wake the system after 10 seconds of sleep,
      the following must be done in userspace:
      
      echo 10 > /sys/power/db1x/timer_timeout
      echo 1 > /sys/power/db1x/timer
      echo mem > /sys/power/sleep
      
      This patch also removes the homebrew CPU frequency switching code.  I don't
      understand how it could have ever worked reliably; it does not communicate
      the clock changes to peripheral devices other than uarts.
      Signed-off-by: NManuel Lauss <mano@roarinelk.homelinux.net>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      
       create mode 100644 arch/mips/alchemy/devboards/pm.c
      61f9c58d
    • M
      MIPS: Alchemy: update core interrupt code. · 785e3268
      Manuel Lauss 提交于
      This patch attempts to modernize core Alchemy interrupt handling code.
      
      - add irq_chips for irq controllers instead of irq type,
      - add a set_type() hook to change irq trigger type during runtime,
      - add a set_wake() hook to control GPIO0..7 based wakeup,
      - use linux' IRQF_TRIGGER_ constants instead of homebrew ones,
      - enable GENERIC_HARDIRQS_NO__DO_IRQ.
      - simplify plat_irq_dispatch
      - merge au1xxx_irqmap into irq.c file, the only place where its
        contents are referenced.
      - board_init_irq() is now mandatory for every board; use it to register
        the remaining (gpio-based) interrupt sources; update all boards
        accordingly.
      
      Run-tested on Db1200 and other Au1200 based platforms.
      Signed-off-by: NManuel Lauss <mano@roarinelk.homelinux.net>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      
       delete mode 100644 arch/mips/alchemy/common/au1xxx_irqmap.c
      785e3268
  4. 11 10月, 2008 1 次提交
  5. 12 5月, 2008 1 次提交
    • S
      [MIPS] Alchemy common code style cleanup · c1dcb14e
      Sergei Shtylyov 提交于
      Fix many errors and warnings given by checkpatch.pl:
      
      - use of C99 // comments;
      
      - missing space between the type and asterisk in a variable declaration;
      
      - space between the asterisk and function/variable name;
      
      - leading spaces instead of tabs;
      
      - space after opening and before closing parentheses;
      
      - initialization of a 'static' variable to 0;
      
      - missing spaces around assignement/comparison operator;
      
      - brace not on the same line with condition (or 'else') in the 'if'/'switch'
        statement;
      
      - missing space between 'if'/'for'/'while' and opening parenthesis;
      
      - use of assignement in 'if' statement's condition;
      
      - printk() without KERN_* facility level;
      
      - EXPORT_SYMBOL() not following its function immediately;
      
      - unnecessary braces for single-statement block;
      
      - adding new 'typedef' (where including <linux/types.h> will do);
      
      - use of 'extern' in the .c file (where it can be avoided by including header);
      
      - line over 80 characters.
      
      In addition to these changes, also do the following:
      
      - insert missing space after opening brace and/or before closing brace in the
        structure initializers;
      
      - insert spaces between operator and its operands;
      
      - put the function's result type and name/parameters on the same line;
      
      - properly indent multi-line expressions;
      
      - remove commented out code;
      
      - remove useless initializers and code;
      
      - remove needless parentheses;
      
      - fix broken/excess indentation;
      
      - add missing spaces between operator and its operands;
      
      - insert missing and remove excess new lines;
      
      - group 'else' and 'if' together where possible;
      
      - make au1xxx_platform_init() 'static';
      
      - regroup variable declarations in pm_do_freq() for prettier look;
      
      - replace numeric literals with the matching macros;
      
      - fix printk() format specifiers mismatching the argument types;
      
      - make the multi-line comment style consistent with the kernel style elsewhere
        by adding empty first line and/or adding space on their left side;
      
      - make two-line comments that only have one line of text one-line;
      
      - fix typos/errors, capitalize acronyms, etc. in the comments;
      
      - fix/remove obsolete references in the comments;
      
      - reformat some comments;
      
      - add comment about the CPU:counter clock ratio to calc_clock();
      
      - update MontaVista copyright;
      
      - remove Pete Popov's and Steve Longerbeam's old email addresses...
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      c1dcb14e
  6. 29 4月, 2008 2 次提交
  7. 07 12月, 2007 2 次提交
  8. 30 10月, 2007 1 次提交
  9. 18 10月, 2007 1 次提交
  10. 17 10月, 2007 3 次提交
  11. 12 10月, 2007 3 次提交
  12. 07 2月, 2007 1 次提交
  13. 30 11月, 2006 1 次提交
    • A
      [MIPS] IRQ cleanups · 1603b5ac
      Atsushi Nemoto 提交于
      This is a big irq cleanup patch.
      
      * Use set_irq_chip() to register irq_chip.
      * Initialize .mask, .unmask, .mask_ack field.  Functions for these
        method are already exist in most case.
      * Do not initialize .startup, .shutdown, .enable, .disable fields if
        default routines provided by irq_chip_set_defaults() were suitable.
      * Remove redundant irq_desc initializations.
      * Remove unnecessary local_irq_save/local_irq_restore, spin_lock.
      
      With this cleanup, it would be easy to switch to slightly lightwait
      irq flow handlers (handle_level_irq(), etc.) instead of __do_IRQ().
      
      Though whole this patch is quite large, changes in each irq_chip are
      not quite simple.  Please review and test on your platform.  Thanks.
      Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      1603b5ac
  14. 09 10月, 2006 1 次提交
    • D
      IRQ: Use the new typedef for interrupt handler function pointers · 40220c1a
      David Howells 提交于
      Use the new typedef for interrupt handler function pointers rather than
      actually spelling out the full thing each time.  This was scripted with the
      following small shell script:
      
      #!/bin/sh
      egrep -nHrl -e 'irqreturn_t[ 	]*[(][*]' $* |
      while read i
      do
          echo $i
          perl -pi -e 's/irqreturn_t\s*[(]\s*[*]\s*([_a-zA-Z0-9]*)\s*[)]\s*[(]\s*int\s*,\s*void\s*[*]\s*[)]/irq_handler_t \1/g' $i || exit $?
      done
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      40220c1a
  15. 08 10月, 2006 1 次提交
  16. 14 7月, 2006 1 次提交
  17. 03 7月, 2006 1 次提交
  18. 01 7月, 2006 1 次提交
  19. 30 6月, 2006 2 次提交
    • R
      [MIPS] Remove BSD and Sys V compat data types. · fc103349
      Ralf Baechle 提交于
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      fc103349
    • I
      [PATCH] genirq: rename desc->handler to desc->chip · d1bef4ed
      Ingo Molnar 提交于
      This patch-queue improves the generic IRQ layer to be truly generic, by adding
      various abstractions and features to it, without impacting existing
      functionality.
      
      While the queue can be best described as "fix and improve everything in the
      generic IRQ layer that we could think of", and thus it consists of many
      smaller features and lots of cleanups, the one feature that stands out most is
      the new 'irq chip' abstraction.
      
      The irq-chip abstraction is about describing and coding and IRQ controller
      driver by mapping its raw hardware capabilities [and quirks, if needed] in a
      straightforward way, without having to think about "IRQ flow"
      (level/edge/etc.) type of details.
      
      This stands in contrast with the current 'irq-type' model of genirq
      architectures, which 'mixes' raw hardware capabilities with 'flow' details.
      The patchset supports both types of irq controller designs at once, and
      converts i386 and x86_64 to the new irq-chip design.
      
      As a bonus side-effect of the irq-chip approach, chained interrupt controllers
      (master/slave PIC constructs, etc.) are now supported by design as well.
      
      The end result of this patchset intends to be simpler architecture-level code
      and more consolidation between architectures.
      
      We reused many bits of code and many concepts from Russell King's ARM IRQ
      layer, the merging of which was one of the motivations for this patchset.
      
      This patch:
      
      rename desc->handler to desc->chip.
      
      Originally i did not want to do this, because it's a big patch.  But having
      both "desc->handler", "desc->handle_irq" and "action->handler" caused a
      large degree of confusion and made the code appear alot less clean than it
      truly is.
      
      I have also attempted a dual approach as well by introducing a
      desc->chip alias - but that just wasnt robust enough and broke
      frequently.
      
      So lets get over with this quickly.  The conversion was done automatically
      via scripts and converts all the code in the kernel.
      
      This renaming patch is the first one amongst the patches, so that the
      remaining patches can stay flexible and can be merged and split up
      without having some big monolithic patch act as a merge barrier.
      
      [akpm@osdl.org: build fix]
      [akpm@osdl.org: another build fix]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d1bef4ed
  20. 01 6月, 2006 1 次提交
  21. 19 4月, 2006 1 次提交
    • R
      [MIPS] Rewrite all the assembler interrupt handlers to C. · e4ac58af
      Ralf Baechle 提交于
      Saves like 1,600 lines of code, is way easier to debug, compilers
      frequently do a better job than the cut and paste type of handlers many
      boards had.  And finally having all the stuff done in a single place
      also means alot of bug potencial for the MT ASE is gone.
      
      The only surviving handler in assembler is the DECstation one; I hope
      Maciej will rewrite it.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      e4ac58af
  22. 30 10月, 2005 5 次提交
  23. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4