11 Aug, 2010

1 commit


10 Aug, 2010

39 commits

  • Greg prefers this to go through the trivial tree.
    http://lkml.org/lkml/2010/6/24/1

    There are about 2500 void functions in drivers/usb
    Only a few used return; at end of function.

    Standardize them a bit.

    Moved a statement down a line in drivers/usb/host/u132-hcd.c

    Signed-off-by: Joe Perches
    Signed-off-by: Jiri Kosina

    Joe Perches
     
  • Legned -> Legend
    mainatined -> maintained

    Legend is now Lenovo, so more fixes (text and url)
    would be possible, too.

    Cc: Jiri Kosina
    Cc: linux-doc@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Stefan Weil
    Signed-off-by: Jiri Kosina

    Stefan Weil
     
  • Conflicts:
    arch/arm/mach-omap1/board-nokia770.c

    Jiri Kosina
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (59 commits)
    igbvf.txt: Add igbvf Documentation
    igb.txt: Add igb documentation
    e100/e1000*/igb*/ixgb*: Add missing read memory barrier
    ixgbe: fix build error with FCOE_CONFIG without DCB_CONFIG
    netxen: protect tx timeout recovery by rtnl lock
    isdn: gigaset: use after free
    isdn: gigaset: add missing unlock
    solos-pci: Fix race condition in tasklet RX handling
    pkt_sched: Fix sch_sfq vs tcf_bind_filter oops
    net: disable preemption before call smp_processor_id()
    tcp: no md5sig option size check bug
    iwlwifi: fix locking assertions
    iwlwifi: fix TX tracer
    isdn: fix information leak
    net: Fix napi_gro_frags vs netpoll path
    usbnet: remove noisy and hardly useful printk
    rtl8180: avoid potential NULL deref in rtl8180_beacon_work
    ath9k: Remove myself from the MAINTAINERS list
    libertas: scan before assocation if no BSSID was given
    libertas: fix association with some APs by using extended rates
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
    tx493xide: use min_t() macro instead of min()
    drivers/ide: Use memdup_user
    via82cxxx: fix typo for VT6415 PCIE PATA IDE Host Controller support.
    ide-cd: Do not access completed requests in the irq handler

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    sparc64: Update defconfig.
    sparc: Kill user copy check code.
    sparc64: Fix perf_arch_get_caller_regs().
    sparc64: Add missing ID to parport probing code.

    Linus Torvalds
     
  • * 'rs485fix' of git://www.jni.nu/cris:
    CRIS: ioctl for getting RS485 information

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc: fix build with make 3.82
    Revert "Input: appletouch - fix integer overflow issue"
    memblock: Fix memblock_is_region_reserved() to return a boolean
    powerpc: Trim defconfigs
    powerpc: fix i8042 module build error
    sound/soc: mpc5200_psc_ac97: Use gpio pins for cold reset
    powerpc/5200: add mpc5200_psc_ac97_gpio_reset

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (32 commits)
    Blackfin: gpio: add a debounce stub
    Blackfin: update defconfigs
    Blackfin: remove CONFIG_MEM_GENERIC_BOARD
    Blackfin: dpmc: punt unnecessary RTC_ISTAT clearing
    Blackfin: unify rotary encoder bitmasks
    Blackfin: unify SDH/RSI bitmasks
    Blackfin: BF54x: tweak DMAC MMR naming to match other ports
    Blackfin: TWI: clean up the MMR names
    Blackfin: add EVT_OVERRIDE/IPRIO core MMR helpers
    Blackfin: add support for dynamic ftrace
    Blackfin: add support for LZO compressed kernels
    Blackfin: portmux: fix peripheral map overflow when requesting pins
    Blackfin: document SPI CS limitations with CPHA=0
    Blackfin: remove useless and outdated documentation
    Blackfin: BF51x/BF52x: support GPIO Hysteresis/Schmitt Trigger options
    Blackfin: gpio/portmux: clean up whitespace corruption
    Blackfin: make sure mmiowb inserts a write barrier with SSYNC
    Blackfin: fix DMA/cache bug when resuming from suspend to RAM
    Blackfin: BF51x: fix handling of PH8 (the "internal" SPI0SEL4 pin)
    Blackfin: add a GPIO_DEFAULT_BOOT_SPI_CS
    ...

    Linus Torvalds
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (30 commits)
    DMAENGINE: at_hdmac: locking fixlet
    DMAENGINE: pch_dma: kill another usage of __raw_{read|write}l
    dma: dmatest: fix potential sign bug
    ioat2: catch and recover from broken vtd configurations v6
    DMAENGINE: add runtime slave control to COH 901 318 v3
    DMAENGINE: add runtime slave config to DMA40 v3
    DMAENGINE: generic slave channel control v3
    dmaengine: Driver for Topcliff PCH DMA controller
    intel_mid: Add Mrst & Mfld DMA Drivers
    drivers/dma: Eliminate a NULL pointer dereference
    dma/timb_dma: compile warning on 32 bit
    DMAENGINE: ste_dma40: support older silicon
    DMAENGINE: ste_dma40: support disabling physical channels
    DMAENGINE: ste_dma40: no disabled phy channels on ux500
    DMAENGINE: ste_dma40: fix suspend bug
    DMAENGINE: ste_dma40: add DB8500 memcpy channels
    DMAENGINE: ste_dma40: no flow control on memcpy
    DMAENGINE: ste_dma40: arch updates for LCLA and LCPA
    DMAENGINE: ste_dma40: allocate LCLA dynamically
    DMAENGINE: ste_dma40: no premature stop
    ...

    Fix up trivial conflicts in arch/arm/mach-ux500/devices-db8500.c

    Linus Torvalds
     
  • According include/linux/console_struct.h,vc_scr_end is unsigned long.

    struct vc_data {
    unsigned short vc_num; /* Console number */
    unsigned int vc_cols; /* [#] Console size */
    unsigned int vc_rows;
    unsigned int vc_size_row; /* Bytes per row */
    unsigned int vc_scan_lines; /* # of scan lines */
    unsigned long vc_origin; /* [!] Start of real screen */
    unsigned long vc_scr_end; /* [!] End of real screen */
    unsigned long vc_visible_origin; /* [!] Top of visible window */
    unsigned int vc_top, vc_bottom; /* Scrolling region */
    const struct consw *vc_sw;
    unsigned short *vc_screenbuf;
    ...
    }

    Signed-off-by: qiaochong
    Cc: Greg KH
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    qiaochong
     
  • kernel will die on some platform when switch from vga mode to framebuffer
    mode. The reason of this bug is that bind_con_driver reset vc->vc_origin
    to (unsigned long)vc->vc_screenbuf.

    On vgacon vc->vc_origin is not releated to vc->vc_screenbuf,if set
    vc->vc_origin to vc->vc_screenbuf,kernel will die on vc_do_resize.

    static int vc_do_resize(struct tty_struct *tty, struct tty_struct *real_tty,
    struct vc_data *vc, unsigned int cols, unsigned int lines)
    {
    unsigned long old_origin, new_origin, new_scr_end, rlth, rrem, err = 0;
    unsigned int old_cols, old_rows, old_row_size, old_screen_size;
    unsigned int new_cols, new_rows, new_row_size, new_screen_size;
    unsigned int end, user;
    ...
    end = (old_rows > new_rows) ? old_origin +
    (old_row_size * new_rows) :
    vc->vc_scr_end;

    ...
    /*
    here for a test from vgacon to framebuffer:
    old_origin=0x810814a0,end=0xb00b8fa0,vc->vc_origin=0x810814a0
    the code bellow will copy memory from 0x810814a0 to 0xb00b8fa0,
    this will cover kernel code,kernel died here.
    */

    while (old_origin < end) {

    scr_memcpyw((unsigned short *) new_origin,
    (unsigned short *) old_origin, rlth);
    if (rrem)
    scr_memsetw((void *)(new_origin + rlth),
    vc->vc_video_erase_char, rrem);
    old_origin += old_row_size;
    new_origin += new_row_size;
    }

    ...
    }

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: qiaochong
    Cc: Greg KH
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    qiaochong
     
  • More code can be pushed from rwsem_down_read_failed and
    rwsem_down_write_failed into rwsem_down_failed_common.

    Following change adding down_read_critical infrastructure support also
    enjoys having flags available in a register rather than having to fish it
    out in the struct rwsem_waiter...

    Signed-off-by: Michel Lespinasse
    Acked-by: David Howells
    Cc: Mike Waychison
    Cc: Suleiman Souhlal
    Cc: Ying Han
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michel Lespinasse
     
  • This change addresses the following situation:

    - Thread A acquires the rwsem for read
    - Thread B tries to acquire the rwsem for write, notices there is already
    an active owner for the rwsem.
    - Thread C tries to acquire the rwsem for read, notices that thread B already
    tried to acquire it.
    - Thread C grabs the spinlock and queues itself on the wait queue.
    - Thread B grabs the spinlock and queues itself behind C. At this point A is
    the only remaining active owner on the rwsem.

    In this situation thread B could notice that it was the last active writer
    on the rwsem, and decide to wake C to let it proceed in parallel with A
    since they both only want the rwsem for read.

    Signed-off-by: Michel Lespinasse
    Acked-by: David Howells
    Cc: Mike Waychison
    Cc: Suleiman Souhlal
    Cc: Ying Han
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michel Lespinasse
     
  • Previously each waiting thread added a bias of RWSEM_WAITING_BIAS. With
    this change, the bias is added only once to indicate that the wait list is
    non-empty.

    This has a few nice properties which will be used in following changes:
    - when the spinlock is held and the waiter list is known to be non-empty,
    count < RWSEM_WAITING_BIAS there is an active writer on that sem
    - count == RWSEM_WAITING_BIAS there are waiting threads and no
    active readers/writers on that sem

    Signed-off-by: Michel Lespinasse
    Acked-by: David Howells
    Cc: Mike Waychison
    Cc: Suleiman Souhlal
    Cc: Ying Han
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michel Lespinasse
     
  • In __rwsem_do_wake(), we can skip the active count check unless we come
    there from up_xxxx(). Also when checking the active count, it is not
    actually necessary to increment it; this allows us to get rid of the read
    side undo code and simplify the calculation of the final rwsem count
    adjustment once we've counted the reader threads to wake.

    The basic observation is the following. When there are waiter threads on
    a rwsem and the spinlock is held, other threads can only increment the
    active count by trying to grab the rwsem in down_xxxx(). However
    down_xxxx() will notice there are waiter threads and take the down_failed
    path, blocking to acquire the spinlock on the way there. Therefore, a
    thread observing an active count of zero with waiters queued and the
    spinlock held, is protected against other threads acquiring the rwsem
    until it wakes the last waiter or releases the spinlock.

    Signed-off-by: Michel Lespinasse
    Acked-by: David Howells
    Cc: Mike Waychison
    Cc: Suleiman Souhlal
    Cc: Ying Han
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michel Lespinasse
     
  • This is in preparation for later changes in the series.

    In __rwsem_do_wake(), the first queued waiter is checked first in order to
    determine whether it's a writer or a reader. The code paths diverge at
    this point. The code that checks and increments the rwsem active count is
    duplicated on both sides - the point is that later changes in the series
    will be able to independently modify both sides.

    Signed-off-by: Michel Lespinasse
    Acked-by: David Howells
    Cc: Mike Waychison
    Cc: Suleiman Souhlal
    Cc: Ying Han
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michel Lespinasse
     
  • Allow device probing to recognise the Fintek F71808E.

    Sysfs interface:
    * Fan/pwm control is the same as for F71889FG
    * Temperature and voltage sensor handling is largely the same as for
    the F71889FG
    - Has one temperature sensor less (doesn't have temp3)
    - Misses one voltage sensor (doesn't have V6, thus in6_input refers to
    what in7_input refers for F71889FG)

    For the purpose of the sysfs interface fxxxx_in_temp_attr[] is split up
    such that it can largely be reused.

    Signed-off-by: Giel van Schijndel
    Cc: Jean Delvare
    Cc: Hans de Goede
    Cc: Jonathan Cameron
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Giel van Schijndel
     
  • register_hotcpu_notifier() is designed to make these ifdefs unnecessary.

    Cc: Chen Gong
    Cc: Rudolf Marek
    Cc: Huaxu Wan
    Cc: Jean Delvare
    Cc: Guenter Roeck
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Update coretemp supported CPU TjMax lists and some cleanup work.

    Signed-off-by: Chen Gong
    Cc: Rudolf Marek
    Cc: Huaxu Wan
    Cc: Jean Delvare
    Cc: Guenter Roeck
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chen Gong
     
  • If one coretemp device can't be added, it should allow subsequent adding
    operation because every new-added device will create a new sysfs group,
    not an additional sensor sys entry.

    Signed-off-by: Chen Gong
    Cc: Rudolf Marek
    Cc: Huaxu Wan
    Cc: Jean Delvare
    Cc: Guenter Roeck
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chen Gong
     
  • Fix two errors in hotplug. One is for hotplug notifier. The other is
    unnecessary driver unregister. Because even none of online cpus supports
    coretemp, we can't assume new onlined cpu doesn't support it either. If
    related driver is unregistered there we have no chance to use coretemp
    from then on.

    Signed-off-by: Chen Gong
    Cc: Rudolf Marek
    Cc: Huaxu Wan
    Cc: Jean Delvare
    Cc: Guenter Roeck
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chen Gong
     
  • [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Guenter Roeck
    Cc: Jean Delvare
    Cc: Randy Dunlap
    Cc: Hans de Goede
    Cc: Mark Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Guenter Roeck
     
  • This driver adds support for the monitoring features of the Summit
    Microelectronics SMM665 Six-Channel Active DC Output Controller/Monitor.

    Signed-off-by: Guenter Roeck
    Acked-by: Jonathan Cameron
    Cc: Jean Delvare
    Cc: Hans de Goede
    Cc: Mark Brown
    Cc: Samuel Ortiz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Guenter Roeck
     
  • This driver will report the heading values in degrees to the sysfs
    interface. The values returned are headings . e.g. 245.6

    Alan: Cleanups requested now all folded in and a sysfs description to keep
    Andrew happy. The sysfs description now resembles hwmon.

    Signed-off-by: Kalhan Trisal
    Reviewed-by: Jean Delvare
    Signed-off-by: Alan Cox
    Cc: Jonathan Cameron
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kalhan Trisal
     
  • Add Lenovo Thinkpad T400. I have done the testing on my laptop. The
    hdaps module detects the device and the hdapsd daemon is able to [un]park
    the disk.

    Signed-off-by: Ritesh Raj Sarraf
    Cc: Frank Seidel
    Cc: Dmitry Torokhov
    Cc: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ritesh Raj Sarraf
     
  • These are caused by checkpatch incorrectly parsing its internal
    representation of a statement block for struct's (or anything else that is
    a statement block encapsulated in {}'s that also ends with a ';'). Fix
    this by properly parsing a statement block.

    An example:

    +struct dummy_type dummy = {
    + .foo = "baz",
    +};
    +EXPORT_SYMBOL_GPL(dummy);
    +
    +static int dummy_func(void)
    +{
    + return -EDUMMYCODE;
    +}
    +EXPORT_SYMBOL_GPL(dummy_func);

    WARNING: EXPORT_SYMBOL(foo); should immediately \
    follow its function/variable
    #19: FILE: dummy.c:4:
    +EXPORT_SYMBOL_GPL(dummy);

    The above warning is issued when it should not be.

    Signed-off-by: Patrick Pannuto
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Patrick Pannuto
     
  • As explained in Documentation/timers/timers-howto.txt, msleep's of < 20ms
    may sleep for as long as 20ms. Caller's of msleep(1) or msleep(2), etc
    are likely not to expect this quirky behavior - warn them.

    Signed-off-by: Patrick Pannuto
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Patrick Pannuto
     
  • When possible, sleeping is (usually) better than delaying; however, don't
    bother callers of udelay < 10us, as those cases are generally not worth
    the switch to usleep

    [akpm@linux-foundation.org: fix mismatched parentheses]
    Signed-off-by: Patrick Pannuto
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Patrick Pannuto
     
  • Add new logging functions netdev_ and netif_.
    Don't complain if the only thing on a line is a quoted string.

    Signed-off-by: Joe Perches
    Cc: Andy Whitcroft
    Cc: Wolfram Sang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Make error message say 'ERROR: do not initialise globals to 0 or NULL'
    rather than 'ERROR: do not initialise externals to 0 or NULL'. Makes more
    sense in the context since there is an extern keyword in C and that is a
    global declaration within the scope of the current file.

    Signed-off-by: Joe Eloff
    Cc: Andy Whitcroft
    Cc: Wolfram Sang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Eloff
     
  • I've got a false positive when spaces are present at the beginning of a
    line.

    So I add this check, obviously excluding to check the lines in the middle of
    comments.

    For instance this code passes the checkpatch test:

    +struct davinci_mcbsp_data {
    + unsigned int fmt;
    + int clk_div;
    +};
    +
    +static struct davinci_mcbsp_data mcbsp_data;

    Where, before the string "int clk_div", I have 4 spaces (\040
    ascii character).

    With v2.6.34 scripts/checkpatch.pl script I get:

    scripts/checkpatch.pl 0001-ASoC-DaVinci-Added-support-for-stereo-I2S.patch
    total: 0 errors, 0 warnings, 201 lines checked
    0001-ASoC-DaVinci-Added-support-for-stereo-I2S.patch has no obvious style
    problems and is ready for submission.

    That is not correct. Instead with the proposed patch I get:

    scripts/checkpatch.pl 0001-ASoC-DaVinci-Added-support-for-stereo-I2S.patch
    WARNING: please, no space for starting a line,
    excluding comments
    #63: FILE: sound/soc/davinci/davinci-i2s.c:165:
    + int clk_div;$

    WARNING: please, no space for starting a line,
    excluding comments
    #95: FILE: sound/soc/davinci/davinci-i2s.c:406:
    + return 0;$

    total: 0 errors, 2 warnings, 201 lines checked

    That is correct.

    Signed-off-by: Raffaele Recalcati
    Cc: Wolfram Sang
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Raffaele Recalcati
     
  • Change the check suggesting replacement of asm-includes with
    linux-includes. Exceptions to this rule are easier to extend now. Add
    memory.h because ARM has a custom one.

    Signed-off-by: Wolfram Sang
    Cc: Russell King
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wolfram Sang
     
  • The error may happen at any iteration of the for loop, this patch properly
    unregisters already registed edd_devices in error path.

    [akpm@linux-foundation.org: remove unneeded NULL test]
    Signed-off-by: Axel Lin
    Cc: Stephen Hemminger
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Axel Lin
     
  • Getting and putting arrays of pointers with flex arrays is a PITA. You
    have to remember to pass &ptr to the _put and you have to do weird and
    wacky casting to get the ptr back from the _get. Add two functions
    flex_array_get_ptr() and flex_array_put_ptr() to handle all of the magic.

    [akpm@linux-foundation.org: simplification suggested by Joe]
    Signed-off-by: Eric Paris
    Cc: David Rientjes
    Cc: Dave Hansen
    Cc: Joe Perches
    Cc: James Morris
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Paris
     
  • The strict_strtoul() and strict_strtoull() functions used strlen() to
    check argument's length in a situation where it wasn't strictly necessary

    Signed-off-by: Michal Nazarewicz
    Cc: "Yi Yang"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Nazarewicz
     
  • Use the magic LIST_POISON* values to detect an incorrect use of list_del
    on a deleted entry. This DEBUG_LIST specific warning is easier to
    understand than the generic Oops message caused by LIST_POISON
    dereference.

    Signed-off-by: Baruch Siach
    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Baruch Siach
     
  • This old address bounces and Sergey doesn't answer at another email
    address.

    Signed-off-by: Joe Perches
    Cc: Sergey Kostyliov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Laurent is sending auto-replies with a new email address, so might as well
    update MAINTAINERS.

    Signed-off-by: Joe Perches
    Acked-by: Laurent Pinchart
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches