1. 14 12月, 2006 5 次提交
    • R
      [ARM] Merge AT91 and devel branches · e9ccb799
      Russell King 提交于
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      e9ccb799
    • K
      [ARM] 4017/1: [Jornada7xx] - Updating Jornada720.c · 408966b8
      Kristoffer Ericson 提交于
      * HP Jornada 720 uses epson 1356 chip for graphics. This chip is compatible with s1d13xxxfb driver.
      
      * HP Jornada 720 uses a Microprocessor Control Unit to talk to various
      hardware. We add it as a platform device in jornada720_init()
      
      * We provide pm_suspend() to avoid unresolved symbols in apm.o. We are
      unable to truly suspend now, hence the stub.
      
      * Speaker/microphone enabling got removed because it will be placed in the alsa driver.
      
      Signed-off-by: Filip Zyzniewski <(address hidden)>
      Signed-off-by: Kristoffer Ericson <(address hidden)>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      408966b8
    • P
      [ARM] 3992/1: i.MX/MX1 CPU Frequency scaling support · 3c8cd0cc
      Pavel Pisa 提交于
      Support to change MX1 CPU frequency at runtime.
      Tested on PiKRON's PiMX1 board and seems to be fully
      stable up to 200 MHz end even as low as 8 MHz.
      Signed-off-by: NPavel Pisa <pisa@cmp.felk.cvut.cz>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3c8cd0cc
    • R
      [ARM] Provide a method to alter the control register · 47fd7052
      Russell King 提交于
      i.MX needs to tweak the control register to support CPU frequency
      scaling.  Rather than have folk blindly try and change the control
      register by writing to it and then wondering why it doesn't work,
      provide a method (which is safe for UP only, and therefore only
      available for UP) to achieve this.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      47fd7052
    • N
      [ARM] 4016/1: prefetch macro is wrong wrt gcc's "delete-null-pointer-checks" · 02828845
      Nicolas Pitre 提交于
       optimization
      
      The gcc manual says:
      
      |`-fdelete-null-pointer-checks'
      |     Use global dataflow analysis to identify and eliminate useless
      |     checks for null pointers.  The compiler assumes that dereferencing
      |     a null pointer would have halted the program.  If a pointer is
      |     checked after it has already been dereferenced, it cannot be null.
      |     Enabled at levels `-O2', `-O3', `-Os'.
      
      Now the problem can be seen with this test case:
      
      #include <linux/prefetch.h>
      extern void bar(char *x);
      void foo(char *x)
      {
      	prefetch(x);
      	if (x)
      		bar(x);
      }
      
      Because the constraint to the inline asm used in the prefetch() macro is
      a memory operand, gcc assumes that the asm code does dereference the
      pointer and the delete-null-pointer-checks optimization kicks in.
      Inspection of generated assembly for the above example shows that bar()
      is indeed called unconditionally without any test on the value of x.
      
      Of course in the prefetch case there is no real dereference and it
      cannot be assumed that a null pointer would have been caught at that
      point. This causes kernel oopses with constructs like
      hlist_for_each_entry() where the list's 'next' content is prefetched
      before the pointer is tested against NULL, and only when gcc feels like
      applying this optimization which doesn't happen all the time with more
      complex code.
      
      It appears that the way to prevent delete-null-pointer-checks
      optimization to occur in this case is to make prefetch() into a static
      inline function instead of a macro. At least this is what is done on
      x86_64 where a similar inline asm memory operand is used (I presume they
      would have seen the same problem if it didn't work) and resulting code
      for the above example confirms that.
      
      An alternative would consist of replacing the memory operand by a
      register operand containing the pointer, and use the addressing mode
      explicitly in the asm template. But that would be less optimal than an
      offsettable memory reference.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      02828845
  2. 13 12月, 2006 14 次提交
    • R
      [ARM] Remove empty fixup function · 386b0ce2
      Russell King 提交于
      Empty fixup functions are just a waste of code, and are not
      necessary.  Remote them.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      386b0ce2
    • S
      [ARM] 4014/1: include drivers/hid/Kconfig · c2dade51
      Sascha Hauer 提交于
      HID drivers are in their own directory now, so we have to
      include the Kconfig file for arm.
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      c2dade51
    • S
      [ARM] 4013/1: clocksource driver for netx · 1a815aed
      Sascha Hauer 提交于
      Add a clocksource driver for netx systems
      Signed-off-by: NLuotao Fu <lfu@pengutronix.de>
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      1a815aed
    • S
      [ARM] 4012/1: Clocksource for pxa · c80204e5
      Sascha Hauer 提交于
      Add a clocksource driver for pxa2xx systems
      Signed-off-by: NLuotao Fu <lfu@pengutronix.de>
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      c80204e5
    • R
      [ARM] Clean up ioremap code · da2c12a2
      Russell King 提交于
      Since we're keeping the ioremap code, we might as well keep it as
      close to the standard kernel as possible.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      da2c12a2
    • R
      [ARM] Unuse another Linux PTE bit · ad1ae2fe
      Russell King 提交于
      L_PTE_ASID is not really required to be stored in every PTE, since we
      can identify it via the address passed to set_pte_at().  So, create
      set_pte_ext() which takes the address of the PTE to set, the Linux
      PTE value, and the additional CPU PTE bits which aren't encoded in
      the Linux PTE value.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      ad1ae2fe
    • N
      [PATCH] remove config ordering/dependency between ucb1400-ts and sound subsystem · e1036502
      Nicolas Pitre 提交于
      Commit 2d4ba4a3 introduced a dependency
      that was never meant to exist when the ac97_bus.c module was created.
      Move ac97_bus.c up the directory hierarchy to make sure it is built when
      selected even if sound is configured out so things work as originally
      intended.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Acked-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e1036502
    • L
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 · 741441ab
      Linus Torvalds 提交于
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:
        [patch 3/3] OCFS2 Configurable timeouts - Protocol changes
        [patch 2/3] OCFS2 Configurable timeouts
        [patch 1/3] OCFS2 - Expose struct o2nm_cluster
        ocfs2: Synchronize feature incompat flags in ocfs2_fs.h
        ocfs2: update mount option documentation
        ocfs2: local mounts
      741441ab
    • L
      Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 · 659dba34
      Linus Torvalds 提交于
      * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
        i2c: Fix OMAP clock prescaler to match the comment
        i2c: Refactor a kfree in i2c-dev
        i2c: Fix return value check in i2c-dev
        i2c: Enable PEC on more i2c-i801 devices
        i2c: Discard the i2c algo del_bus wrappers
        i2c: New ARM Versatile/Realview bus driver
        i2c: fix broken ds1337 initialization
        i2c: i2c-i801 documentation update
        i2c: Use the __ATTR macro where possible
        i2c: Whitespace cleanups
        i2c: Use put_user instead of copy_to_user where possible
        i2c: New Atmel AT91 bus driver
        i2c: Add support for nested i2c bus locking
        i2c: Cleanups to the i2c-nforce2 bus driver
        i2c: Add request/release_mem_region to i2c-ibm_iic bus driver
        i2c: New Philips PNX bus driver
        i2c: Delete the broken i2c-ite bus driver
        i2c: Update the list of driver IDs
        i2c: Fix documentation typos
      659dba34
    • I
      [PATCH] netpoll: fix netpoll lockup · 3640543d
      Ingo Molnar 提交于
      current -git doesnt boot on my laptop due to netpoll not unlocking the
      tx lock in the else branch.
      
      booted this up on my laptop with lockdep enabled and there are no
      locking complaints and it works fine.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3640543d
    • L
      Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 · d224a93d
      Linus Torvalds 提交于
      * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (29 commits)
        sh: Fixup SH-2 BUG() trap handling.
        sh: Use early_param() for earlyprintk parsing.
        sh: Fix .empty_zero_page alignment for PAGE_SIZE > 4096.
        sh: Fixup .data.page_aligned.
        sh: Hook up SH7722 scif ipr interrupts.
        sh: Fixup sh_bios() trap handling.
        sh: SH-MobileR SH7722 CPU support.
        sh: Fixup dma_cache_sync() callers.
        sh: Convert remaining remap_area_pages() users to ioremap_page_range().
        sh: Fixup kernel_execve() for syscall cleanups.
        sh: Fix get_wchan().
        sh: BUG() handling through trapa vector.
        rtc: rtc-sh: alarm support.
        rtc: rtc-sh: fix rtc for out-by-one for the month.
        sh: Kill off unused SE7619 I/O ops.
        serial: sh-sci: Shut up various sci_rxd_in() gcc4 warnings.
        sh: Split out atomic ops logically.
        sh: Fix Solution Engine 7619 build.
        sh: Trivial build fixes for SH-2 support.
        sh: IPR IRQ updates for SH7619/SH7206.
        ...
      d224a93d
    • I
      [PATCH] net, 8139too.c: fix netpoll deadlock · b57bd066
      Ingo Molnar 提交于
      fix deadlock in the 8139too driver: poll handlers should never forcibly
      enable local interrupts, because they might be used by netpoll/printk
      from IRQ context.
      
        =================================
        [ INFO: inconsistent lock state ]
        2.6.19 #11
        ---------------------------------
        inconsistent {softirq-on-W} -> {in-softirq-W} usage.
        swapper/1 [HC0[0]:SC1[1]:HE1:SE0] takes:
         (&npinfo->poll_lock){-+..}, at: [<c0350a41>] net_rx_action+0x64/0x1de
        {softirq-on-W} state was registered at:
          [<c0134c86>] mark_lock+0x5b/0x39c
          [<c0135012>] mark_held_locks+0x4b/0x68
          [<c01351e9>] trace_hardirqs_on+0x115/0x139
          [<c02879e6>] rtl8139_poll+0x3d7/0x3f4
          [<c035c85d>] netpoll_poll+0x82/0x32f
          [<c035c775>] netpoll_send_skb+0xc9/0x12f
          [<c035cdcc>] netpoll_send_udp+0x253/0x25b
          [<c0288463>] write_msg+0x40/0x65
          [<c011cead>] __call_console_drivers+0x45/0x51
          [<c011cf16>] _call_console_drivers+0x5d/0x61
          [<c011d4fb>] release_console_sem+0x11f/0x1d8
          [<c011d7d7>] register_console+0x1ac/0x1b3
          [<c02883f8>] init_netconsole+0x55/0x67
          [<c010040c>] init+0x9a/0x24e
          [<c01049cf>] kernel_thread_helper+0x7/0x10
          [<ffffffff>] 0xffffffff
        irq event stamp: 819992
        hardirqs last  enabled at (819992): [<c0350a16>] net_rx_action+0x39/0x1de
        hardirqs last disabled at (819991): [<c0350b1e>] net_rx_action+0x141/0x1de
        softirqs last  enabled at (817552): [<c01214e4>] __do_softirq+0xa3/0xa8
        softirqs last disabled at (819987): [<c0106051>] do_softirq+0x5b/0xc9
      
        other info that might help us debug this:
        no locks held by swapper/1.
      
        stack backtrace:
         [<c0104d88>] dump_trace+0x63/0x1e8
         [<c0104f26>] show_trace_log_lvl+0x19/0x2e
         [<c010532d>] show_trace+0x12/0x14
         [<c0105343>] dump_stack+0x14/0x16
         [<c0134980>] print_usage_bug+0x23c/0x246
         [<c0134d33>] mark_lock+0x108/0x39c
         [<c01356a7>] __lock_acquire+0x361/0x9ed
         [<c0136018>] lock_acquire+0x56/0x72
         [<c03aff1f>] _spin_lock+0x35/0x42
         [<c0350a41>] net_rx_action+0x64/0x1de
         [<c0121493>] __do_softirq+0x52/0xa8
         [<c0106051>] do_softirq+0x5b/0xc9
         [<c0121338>] irq_exit+0x3c/0x48
         [<c0106163>] do_IRQ+0xa4/0xbd
         [<c01047c6>] common_interrupt+0x2e/0x34
         [<c011db92>] vprintk+0x2c0/0x309
         [<c011dbf6>] printk+0x1b/0x1d
         [<c01003f2>] init+0x80/0x24e
         [<c01049cf>] kernel_thread_helper+0x7/0x10
         =======================
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NJeff Garzik <jeff@garzik.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b57bd066
    • I
      [PATCH] lockdep: fix seqlock_init() · 99a3eb38
      Ingo Molnar 提交于
      seqlock_init() needs to use spin_lock_init() for dynamic locks, so that
      lockdep is notified about the presence of a new lock.
      
      (this is a fallout of the recent networking merge, which started using
      the so-far unused seqlock_init() API.)
      
      This fix solves the following lockdep-internal warning on current -git:
      
       INFO: trying to register non-static key.
       the code is fine but needs lockdep annotation.
       turning off the locking correctness validator.
           __lock_acquire+0x10c/0x9f9
           lock_acquire+0x56/0x72
           _spin_lock+0x35/0x42
           neigh_destroy+0x9d/0x12e
           neigh_periodic_timer+0x10a/0x15c
           run_timer_softirq+0x126/0x18e
           __do_softirq+0x6b/0xe6
           do_softirq+0x64/0xd2
           ksoftirqd+0x82/0x138
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      99a3eb38
    • L
      Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb · d907dd2e
      Linus Torvalds 提交于
      * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
        V4L/DVB (4954): Fix: On ia64, i2c adap->inb/adap->outb are wrongly evaluated
      d907dd2e
  3. 12 12月, 2006 21 次提交