1. 23 4月, 2008 1 次提交
  2. 22 4月, 2008 1 次提交
  3. 20 4月, 2008 1 次提交
  4. 18 4月, 2008 2 次提交
    • J
      kgdb: allow static kgdbts boot configuration · 974460c5
      Jason Wessel 提交于
      This patch adds in the ability to compile the kgdb internal test
      string into the kernel so as to run the tests at boot without changing
      the kernel boot arguments.  This patch also changes all the error
      paths to invoke WARN_ON(1) which will emit the line number of the file
      and dump the kernel stack when an error occurs.
      
      You can disable the tests in a kernel that is built this way
      using "kgdbts="
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      974460c5
    • J
      kgdb: add kgdb internal test suite · e8d31c20
      Jason Wessel 提交于
      This patch adds regression tests for testing the kgdb core and arch
      specific implementation.
      
      The kgdb test suite is designed to be built into the kernel and not as
      a module because it uses a number of low level kernel and kgdb
      primitives which should not be exported externally.
      
      The kgdb test suite is designed as a KGDB I/O module which
      simulates the communications that a debugger would have with kgdb.
      The tests are broken up in to a line by line and referenced here as
      a "get" which is kgdb requesting input and "put" which is kgdb
      sending a response.
      
      The kgdb suite can be invoked from the kernel command line
      arguments system or executed dynamically at run time.  The test
      suite uses the variable "kgdbts" to obtain the information about
      which tests to run and to configure the verbosity level.  The
      following are the various characters you can use with the kgdbts=
      line:
      
      When using the "kgdbts=" you only choose one of the following core
      test types:
      A = Run all the core tests silently
      V1 = Run all the core tests with minimal output
      V2 = Run all the core tests in debug mode
      
      You can also specify optional tests:
      N## = Go to sleep with interrupts of for ## seconds
            to test the HW NMI watchdog
      F## = Break at do_fork for ## iterations
      S## = Break at sys_open for ## iterations
      
      NOTE: that the do_fork and sys_open tests are mutually exclusive.
      
      To invoke the kgdb test suite from boot you use a kernel start
      argument as follows:
      	kgdbts=V1 kgdbwait
      Or if you wanted to perform the NMI test for 6 seconds and do_fork
      test for 100 forks, you could use:
      	kgdbts=V1N6F100 kgdbwait
      
      The test suite can also be invoked at run time with:
      echo kgdbts=V1N6F100 > /sys/module/kgdbts/parameters/kgdbts
      Or as another example:
      echo kgdbts=V2 > /sys/module/kgdbts/parameters/kgdbts
      
      When developing a new kgdb arch specific implementation or
      using these tests for the purpose of regression testing,
      several invocations are required.
      
      1) Boot with the test suite enabled by using the kernel arguments
            "kgdbts=V1F100 kgdbwait"
         ## If kgdb arch specific implementation has NMI use
            "kgdbts=V1N6F100
      
      2) After the system boot run the basic test.
      echo kgdbts=V1 > /sys/module/kgdbts/parameters/kgdbts
      
      3) Run the concurrency tests.  It is best to use n+1
         while loops where n is the number of cpus you have
         in your system.  The example below uses only two
         loops.
      
      ## This tests break points on sys_open
      while [ 1 ] ; do find / > /dev/null 2>&1 ; done &
      while [ 1 ] ; do find / > /dev/null 2>&1 ; done &
      echo kgdbts=V1S10000 > /sys/module/kgdbts/parameters/kgdbts
      fg # and hit control-c
      fg # and hit control-c
      ## This tests break points on do_fork
      while [ 1 ] ; do date > /dev/null ; done &
      while [ 1 ] ; do date > /dev/null ; done &
      echo kgdbts=V1F1000 > /sys/module/kgdbts/parameters/kgdbts
      fg # and hit control-c
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e8d31c20
  5. 16 4月, 2008 1 次提交
  6. 31 3月, 2008 1 次提交
  7. 13 3月, 2008 3 次提交
  8. 12 3月, 2008 2 次提交
  9. 11 3月, 2008 1 次提交
  10. 05 3月, 2008 1 次提交
  11. 04 3月, 2008 2 次提交
    • D
      atmel_tc clocksource/clockevent code · 4d243f92
      David Brownell 提交于
      Clocksource and clockevent device based on the Atmel TC blocks.
      
      The clockevent device handles both periodic and oneshot modes, so this
      enables NO_HZ and high res timers on some platforms that previously
      couldn't use those mechanisms.
      
      This works on both AVR32 and AT91 chips, given relevant patches for
      tclib support (always) and clockevents (or else this will only look
      like a higher precision clocksource).  It's an updated and modularized
      version of an AT91-only patch that has circulated for some time now.
      
      Changes relative to the original patch:
        * Update to use new tclib API
        * Replace open-coded do-while loop using goto with a real do-while loop
        * Minor irq handler optimization: Load register base address from
          dev_id instead of a global variable.
        * Aggressively turn off clocks when the clockevent isn't being used
        * Include the clockevent code on AT91RM9200 as well. The rating is
          lower than the System Timer, so the clock will usually stay off.
        * Don't assume that the number of clocks is always equal to the
          number of irqs.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      4d243f92
    • D
      atmel_tc library · 2a341f5c
      David Brownell 提交于
      Create <linux/atmel_tc.h> based on <asm-arm/arch-at91/at91-tc.h> and the
      at91sam9263 and at32ap7000 datasheets.  Most AT91 and AT32 SOCs have one
      or two of these TC blocks, which include three 16-bit timers that can be
      interconnected in various ways.
      
      These TC blocks can be used for external interfacing (such as PWM and
      measurement), or used as somewhat quirky sixteen-bit timers.
      
      Changes relative to the original version:
        * Drop unneeded inclusion of <linux/mutex.h>
        * Support an arbitrary number of TC blocks
        * Return a struct with information about a TC block from
          atmel_tc_alloc() instead of using a combination of return values
          and "out" parameters.
        * ioremap() the I/O registers on allocation
        * Look up clocks and irqs for all channels
        * Add "name" parameter to atmel_tc_alloc() and use this when
          requesting the iomem resource.
        * Check if the platform provided the necessary resources at probe()
          time instead of when the TCB is allocated.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      2a341f5c
  12. 21 2月, 2008 2 次提交
    • A
      sony-laptop.c: fix off-by-one · d399d130
      Adrian Bunk 提交于
      This patch fixes an off-by-one spotted by the Coverity checker.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Acked-by: NMattia Dongili <malattia@linux.it>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      d399d130
    • S
      acer-wmi: fix section mismatch warnings · 7560e385
      Sam Ravnborg 提交于
      Fix following warnings:
      WARNING: vmlinux.o(.text+0x672615): Section mismatch in reference from the function acer_platform_remove() to the function .exit.text:acer_backlight_exit()
      WARNING: vmlinux.o(.devinit.text+0x1e859): Section mismatch in reference from the function acer_platform_probe() to the function .init.text:acer_led_init()
      WARNING: vmlinux.o(.devinit.text+0x1e878): Section mismatch in reference from the function acer_platform_probe() to the function .init.text:acer_backlight_init()
      
      Remove __exit annotation from acer_backlight_exit(). We cannot reference
      a __exit annotated function from non __exit functions.
      
      acer_led_init() and acer_backlight_init() where both annotated __init but
      used from a __devinit function. This would result in an oops should
      gcc drop their inlining and the module are hot plugged.
      
      Fix by annotating acer_led_init() and acer_backlight_init() __devinit.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Carlos Corbacho <carlos@strangeworlds.co.uk>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      7560e385
  13. 16 2月, 2008 9 次提交
  14. 14 2月, 2008 1 次提交
  15. 10 2月, 2008 1 次提交
  16. 09 2月, 2008 6 次提交
  17. 08 2月, 2008 3 次提交
  18. 07 2月, 2008 2 次提交