07 Feb, 2008

40 commits

  • Provide support to add an optional user defined callback to be run at
    function entry of a kretprobe'd function. Also modify the kprobe smoke
    tests to include an entry-handler during the kretprobe sanity test.

    Signed-off-by: Abhishek Sagar
    Cc: Prasanna S Panchamukhi
    Cc: Ananth N Mavinakayanahalli
    Cc: Anil S Keshavamurthy
    Acked-by: Jim Keniston
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Abhishek Sagar
     
  • Remove some more references to dev->power.power_state. That field is overdue
    for removal, but we can't do that while it's still referenced in the kernel.
    The only reason to update it was to make the /sys/devices/.../power/state
    files (now removed) work better.

    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • Use simpler comment headers, and strip out information that is maintained in
    GIT history

    Signed-off-by: Mike Frysinger
    Signed-off-by: Bryan Wu
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • SPI writes should also not return until the last bit is sent.

    Signed-off-by: Sonic Zhang
    Signed-off-by: Bryan Wu
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sonic Zhang
     
  • Full duplex SPI operation should not read a dummy byte at the first transfer.
    Bug and fix by Jean-Christian de Rivaz :

    http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3678

    Signed-off-by: Jean-Christian de Rivaz
    Signed-off-by: Bryan Wu
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bryan Wu
     
  • PBX 2 SPI devices need the nonstandard "cs change per word" mechanism.

    This patch is one of three updating this driver to make the last data bits get
    sent before advancing the transfer ... in this case, before the chipselect
    gets deactivated.

    Signed-off-by: Bryan Wu
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bryan Wu
     
  • Use the SPI driver's name when requesting gpio lines. When there are gpio
    conflicts, this helps to narrow down the problems; "bfin-spi" is not
    informative.

    Signed-off-by: Bryan Wu
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bryan Wu
     
  • Remove useless return status check in restore_state function. Issue was
    pointed out by Michael.

    Cc: Michael Hennerich
    Signed-off-by: Bryan Wu
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bryan Wu
     
  • This adds driver OMAP SPI specific changes to support OMAP 3430

    Signed-off-by: Girish S G
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Girish
     
  • Add support for SPI over SCI pins. SCI is a very simple serial controller
    block that can be found on older SuperH processors. In theory it is
    possible to use the SCI hardware block in syncronous mode, but this version
    of the driver simply hooks up the bit banging code on the SCI pins.

    Signed-off-by: Magnus Damm
    Signed-off-by: David Brownell
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Magnus Damm
     
  • The two S3C SPI master drivers got merged without much review, so I just
    noticed that they're doing something that the SPI core code is responsible
    for, rather than any adapter driver: they try to register SPI devices.

    This removes that support from those drivers so they act normally.
    Interestingly, none of the current boards are affected. So it's a net code
    shrink with no loss of functionality.

    Signed-off-by: David Brownell
    Cc: Ben Dooks
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • In atmel_spi_next_xfer, xfer can be NULL because the next transfer may
    already have been submitted to the PDC (using DMA chaining). This can
    cause an oops, since the debug message assumed it was never null. The
    fix changes how those debug messages are issued, ensuring that one is
    issued each time a transfer is started instead of once per call.

    Also, properly indent the "can this transfer be chained" test so it's
    not hidden as if it were non-conditional code.

    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • Add support for chained transfers in the atmel_spi driver, letting the DMA
    controller switch to the next buffer pair without CPU intervention. This
    reduced I/O latencies by about 2% in one bulk I/O test. It should also help
    work around several interrelated errata affecting chipselect 0 on at91rm9200
    chips.

    Almost all of the changes are in the reworked atmel_spi_next_xfer() function.
    That's now called with the driver in one of three states:

    1. It isn't transferring anything (in which case the first transfer
    of the current message is going to be sent)
    2. It has finished transfering a non-chainable transfer (in which
    case it will go to the next transfer in the message)
    3. It has finished transfering a chained transfer (in which case the
    next transfer is already queued)

    After that it will queue the next transfer if it can be chained.

    Signed-off-by: Szilveszter Ordog
    Acked-by: Haavard Skinnemoen
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Silvester Erdeg
     
  • Don't insert (undesirable) delays between consecutive words (DLYBCT) or when
    activating chipselects (DLYBS).

    Removing the between-word delays improves the performance of bulk transfers
    (such as mtd_dataflash, m25p80, mmc_spi) significantly. In one test, the
    improvement was a factor of more than eight!

    (The large DLYBCT value came from the legacy at91 SPI driver, and it's not
    clear why it used such a huge value.)

    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • Don't update dev->power.power_state any more in the SPI core. The only
    reason to update this scheduled-to-be-removed field was to make the
    already-removed /sys/devices/.../power/state files work better.

    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • Commit edfaa7c36574f1bf09c65ad602412db9da5f96bf

    Driver core: convert block from raw kobjects to core devices

    This moves the block devices to /sys/class/block. It will create a
    flat list of all block devices, with the disks and partitions in one
    directory. For compatibility /sys/block is created and contains symlinks
    to the disks.

    introduced a global disk_type variable in , causing the
    following compile error on Atari:

    drivers/block/ataflop.c:93: error: conflicting types for 'disk_type'
    include/linux/genhd.h:21: error: previous declaration of 'disk_type' was here

    Rename the local disk_type variable in drivers/block/ataflop.c to
    atari_disk_type, to avoid the conflict.

    Signed-off-by: Geert Uytterhoeven
    Cc: Kay Sievers
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Standardize the temperature units to millidegrees C for the two sensor
    conversion routines. Previously the routines were,

    w1_DS18B20_convert_temp degrees C
    w1_DS18S20_convert_temp millidegrees C

    Unfortunately this will break any program using the ds18b20 value as it
    will now be 1000 times bigger. Fortunately there can't be that many users
    out there, or some of these bugs will have been fixed by now, such as the
    negative C error (see previous patch) that makes me think the ds18b20 is
    the better choice to change because of the current bugs.

    Signed-off-by: David Fries
    Cc: Evgeniy Polyakov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Fries
     
  • Simplify logic in cdrom_release() without semantic change.

    Signed-off-by: Borislav Petkov
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Borislav Petkov
     
  • Remvoe variable which actually is not used (except assigning it a value)
    and confusing break out of the family checking loop. Found by Harry Mason.

    Signed-off-by: Evgeniy Polyakov
    Cc: Harry J Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Evgeniy Polyakov
     
  • Fix section mismatch by making the driver template variable name
    match one of the whitelisted variable names in modpost.

    WARNING: vmlinux.o(.data+0x7a9e8): Section mismatch: reference to .init.text:tpm_inf_pnp_probe (between 'tpm_inf_pnp' and 'cn_idx')

    Signed-off-by: Randy Dunlap
    Cc: Marcel Selhorst
    Acked-by: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Avoid calling do_div(x, 1) in this case.

    Cc: David Fries
    Cc: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • The kernel has a divide by zero crash when trying to run the system timer
    less than 100Hz. The problem is x/(HZ/USER_HZ) and related. Now
    x*(USER_HZ/HZ) will be used if HZ
    Cc: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Fries
     
  • Specify also sub pci ids to not grab devices with properly set sub ids.
    This devices has these set (unset) to the same as (plx 9050) ids.

    Signed-off-by: Jiri Slaby
    Cc: Andreas Block
    Cc: Oliver Thimm
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • I have been prime author and maintainer of block2mtd from day one, but
    neither MAINTAINERS nor the module source makes this fact clear. And while
    I'm at it, update my email addresses tree-wide, as the old address
    currently bounces and change my name to "joern" as unicode will likely
    continue to cause trouble until the end of this century.

    Signed-off-by: Joern Engel
    Cc: David Woodhouse
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joern Engel
     
  • Here's a couple of small additions to BUG-HUNTING.

    1. point out that you can list code in gdb with only one command
    (gdb) l *( + offset)

    2. give a very brief hint how to decode module symbols in call traces

    Signed-off-by: Richard Kennedy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Kennedy
     
  • schedule_timeout(jiffies) waits for at least jiffies - 1. Add 1 jiffie to
    the timeout_jiffies calculated in sys_poll() to wait at least
    timeout_msecs, like poll() manpage says.

    Signed-off-by: Karsten Wiese
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Karsten Wiese
     
  • Fix two N_TTY line discipline issues related to resuming a stopped TTY
    (typically done with ctrl-S):

    1) Fix handling of character that resumes a stopped TTY (with IXANY)

    With "stty ixany", the TTY line discipline would lose the first character
    after the stop, so typing, for example, "hi^Sthere" resulted in "hihere"
    (the 't' would cause the resume after ^S, but it would then be thrown away
    rather than processed as an input character). This was inconsistent with
    the behavior of other Unix systems.

    2) Fix interrupt signal (e.g. ctrl-C) behavior in stopped TTYs

    With "stty -ixany" (often the default), interrupt signals were ignored
    in a stopped TTY until the TTY was resumed with the start char (typically
    ctrl-Q), which was inconsistent with the behavior of other Unix systems.

    Signed-off-by: Joe Peterson
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Peterson
     
  • Just converting this documentation semaphore reference, since we don't
    want to promote semaphore usage.

    Signed-off-by: Daniel Walker
    Acked-by: Corey Minyard
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Walker
     
  • We can use ilog2() in fs/namespace.c to compute hash_bits and hash_mask at
    compile time, not runtime.

    [akpm@linux-foundation.org: clean it all up]
    Signed-off-by: Eric Dumazet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Dumazet
     
  • - Account for debug_smp_processor_id()'s own preempt_disable() when
    displaying the preempt_count().

    - 80 cols, not 800.

    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • groups_sort() can be quite long if user loads a large gid table.

    This is because GROUP_AT(group_info, some_integer) uses an integer divide.
    So having to do XXX thousand divides during one syscall can lead to very
    high latencies. (NGROUPS_MAX=65536)

    In the past (25 Mar 2006), an analog problem was found in groups_search()
    (commit d74beb9f33a5f16d2965f11b275e401f225c949d ) and at that time I
    changed some variables to unsigned int.

    I believe that a more generic fix is to make sure NGROUPS_PER_BLOCK is
    unsigned.

    Signed-off-by: Eric Dumazet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Dumazet
     
  • Fix the following section mismatch with CONFIG_HOTPLUG=n,
    CONFIG_HOTPLUG_CPU=y:

    WARNING: vmlinux.o(.text+0x399a6): Section mismatch: reference to .init.text.5:idle_regs (between 'fork_idle' and 'get_task_mm')

    Signed-off-by: Adrian Bunk
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • calibrate_delay() must be __cpuinit, not __{dev,}init.

    I've verified that this is correct for all users.

    While doing the latter, I also did the following cleanups:
    - remove pointless additional prototypes in C files
    - ensure all users #include

    This fixes the following section mismatches with CONFIG_HOTPLUG=n,
    CONFIG_HOTPLUG_CPU=y:

    WARNING: vmlinux.o(.text+0x1128d): Section mismatch: reference to .init.text.1:calibrate_delay (between 'check_cx686_slop' and 'set_cx86_reorder')
    WARNING: vmlinux.o(.text+0x25102): Section mismatch: reference to .init.text.1:calibrate_delay (between 'smp_callin' and 'cpu_coregroup_map')

    Signed-off-by: Adrian Bunk
    Cc: Ivan Kokshaysky
    Cc: Richard Henderson
    Cc: "Luck, Tony"
    Cc: Ralf Baechle
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: "David S. Miller"
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Christian Zankel
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Fixing:
    CHECK kernel/params.c
    kernel/params.c:329:41: warning: incorrect type in argument 8 (different signedness)
    kernel/params.c:329:41: expected int *num
    kernel/params.c:329:41: got unsigned int *

    Signed-off-by: Richard Knutsson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Knutsson
     
  • Actual code let compiler generates idiv instruction on x86.

    Using a right shift is OK here and readable as well.

    Before patch
    10: 57 push %edi
    11: 56 push %esi
    12: 89 d6 mov %edx,%esi
    14: 53 push %ebx
    15: 89 c3 mov %eax,%ebx
    17: eb 22 jmp 3b
    19: 89 f0 mov %esi,%eax
    1b: ba 02 00 00 00 mov $0x2,%edx
    20: 29 d8 sub %ebx,%eax
    22: 89 d7 mov %edx,%edi
    24: c1 f8 03 sar $0x3,%eax
    27: 99 cltd
    28: f7 ff idiv %edi
    2a: 8d 04 c3 lea (%ebx,%eax,8),%eax
    2d: 39 08 cmp %ecx,(%eax)
    ...

    After patch

    00000010 :
    10: 53 push %ebx
    11: 89 c3 mov %eax,%ebx
    13: eb 18 jmp 2d
    15: 89 d0 mov %edx,%eax
    17: 29 d8 sub %ebx,%eax
    19: c1 f8 04 sar $0x4,%eax
    1c: 8d 04 c3 lea (%ebx,%eax,8),%eax
    1f: 39 08 cmp %ecx,(%eax)
    ...

    Signed-off-by: Eric Dumazet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Dumazet
     
  • Add detection for IT87XX SuperIO chip and disabling its POST feature, which
    made noise on parallel port's pins.

    Signed-off-by: Petr Cvek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Petr Cvek
     
  • Add the Dell UK 6400 Inspiron model (MM061) to allow the i8k module to load
    correctly without using 'force=1'

    Signed-off-by: "Nick Warne"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Warne
     
  • Use DEFAULT_SGI_PARTITION for SGI_PARTION default

    Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Bogendoerfer
     
  • Fix wrong netmos 9855 serial port configuration.

    On loading only one serial port was present and it wasn't working. After
    looking in the data sheet I realized that the base address was wrong. For
    further reference here is lspci and relevant dmesg output:

    02:00.0 Communication controller: NetMos Technology PCI 9855 Multi-I/O
    Controller (rev 01) (prog-if 02)
    Subsystem: LSI Logic / Symbios Logic Unknown device 0022
    Flags: medium devsel, IRQ 19
    I/O ports at df00 [size=8]
    I/O ports at de00 [size=8]
    I/O ports at dd00 [size=8]
    I/O ports at dc00 [size=8]
    I/O ports at db00 [size=8]
    I/O ports at da00 [size=16]

    parport1: PC-style at 0xdd00 [PCSPP,TRISTATE]
    parport2: PC-style at 0xdf00 [PCSPP,TRISTATE,EPP]
    0000:02:00.0: ttyS0 at I/O 0xdb00 (irq = 19) is a 16550A
    0000:02:00.0: ttyS1 at I/O 0xda00 (irq = 19) is a 16550A

    Signed-off-by: Christian Pellegrin
    Cc: Thomas Richter
    Cc: Bjorn Helgaas
    Cc: Martin Schitter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Pellegrin
     
  • Added pci device id for the Quatech SPPXP-100 ExpressCard - 0x278 - to
    include/linux/pci_id.h

    Modified drivers/parport/parport_pc.c to support the Quatech SPPXP-100 Parallel port PCI ExpressCard

    [akpm@linux-foundation.org: build fix]
    Signed-off-by: Luís P Mendes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Luís P Mendes