07 May, 2011

4 commits

  • Signed-off-by: Pavankumar Kondeti
    Signed-off-by: Greg Kroah-Hartman

    Pavankumar Kondeti
     
  • Implement good battery algorithm defined in the battery charging V1.2 spec
    for detecting different charging ports. USB hardware is put into low power
    mode when connected to a dedicated charging port. vbus_draw and set_power
    methods are implemented for determining the allowed current from Host in
    different states (un-configured/suspend/configured).

    The charger block is implemented using vendor specific registers and the
    PHY used in MSM8960(28nm PHY) different from older targets like MSM8x60
    and MSM7x30(45nm PHY). The PHY vendor and product id registers are not
    implemented in the above chipsets. Hence PHY type is passed via platform
    data.

    Signed-off-by: Pavankumar Kondeti
    Signed-off-by: Greg Kroah-Hartman

    Pavankumar Kondeti
     
  • HSUSB core clock is derived from daytona fabric clock and for
    HSUSB operational require minimum core clock at 55MHz. Since, HSUSB
    cannot tolerate daytona fabric clock change in the middle of HSUSB
    operational, vote for maximum Daytona fabric clock
    while usb is operational

    Signed-off-by: Anji jonnala
    Signed-off-by: Pavankumar Kondeti
    Signed-off-by: Greg Kroah-Hartman

    Anji jonnala
     
  • Commit 3dacdf11 "usb: factor out state_string() on otg drivers"
    broke building musb drivers since there is already another
    otg_state_string() function in musb drivers, but with different
    prototype. Fix musb drivers to use common otg_state_string(), too.

    Also provide a nop for otg_state_string() if CONFIG_USB_OTG_UTILS
    is not defined.

    Signed-off-by: Anatolij Gustschin
    Signed-off-by: Greg Kroah-Hartman

    Anatolij Gustschin
     

04 May, 2011

2 commits

  • The two first HC capability registers (CAPLENGTH and HCIVERSION)
    are defined as one 8-bit and one 16-bit register. Most HC
    implementations have selected to treat these registers as part
    of a 32-bit register, giving the same layout for both big and
    small endian systems.

    This patch adds a new quirk, big_endian_capbase, to support
    controllers with big endian register interfaces that treat
    HCIVERSION and CAPLENGTH as individual registers.

    Signed-off-by: Jan Andersson
    Acked-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Jan Andersson
     
  • As pointed out by Arnd Bergmann, in include/linux/usb/ehci_def.h, struct
    ehci_caps is defined with __attribute__((packed)) for no good reason,
    and this triggers undefined behaviour when using ARM's readl() on
    pointers to elements of this structure:

    http://lkml.kernel.org/r/201102021700.20683.arnd@arndb.de

    The same problem exists with the other two structures in ehci_def.h too,
    so remove the __attribute__((packed)) from all of them.

    Cc: Arnd Bergmann
    Signed-off-by: Rabin Vincent
    Signed-off-by: Greg Kroah-Hartman

    Rabin Vincent
     

03 May, 2011

5 commits


30 Apr, 2011

3 commits


19 Apr, 2011

5 commits

  • This is needed to help resolve some xhci issues and other minor
    differences.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: xen-kbdfront - fix mouse getting stuck after save/restore
    Input: estimate number of events per packet
    Input: evdev - indicate buffer overrun with SYN_DROPPED
    Input: document event types and codes and their intended use
    Input: add KEY_IMAGES specifically for AL Image Browser
    Input: twl4030_keypad - fix potential NULL dereference in twl4030_kp_probe()
    Input: h3600_ts - fix error handling at connect
    Input: twl4030_keypad - avoid potential NULL-pointer dereference

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    block: add blk_run_queue_async
    block: blk_delay_queue() should use kblockd workqueue
    md: fix up raid1/raid10 unplugging.
    md: incorporate new plugging into raid5.
    md: provide generic support for handling unplug callbacks.
    md - remove old plugging code.
    md/dm - remove remains of plug_fn callback.
    md: use new plugging interface for RAID IO.
    block: drop queue lock before calling __blk_run_queue() for kblockd punt
    Revert "block: add callback function for unplug notification"
    block: Enhance new plugging support to support general callbacks

    Linus Torvalds
     
  • next_pidmap() just quietly accepted whatever 'last' pid that was passed
    in, which is not all that safe when one of the users is /proc.

    Admittedly the proc code should do some sanity checking on the range
    (and that will be the next commit), but that doesn't mean that the
    helper functions should just do that pidmap pointer arithmetic without
    checking the range of its arguments.

    So clamp 'last' to PID_MAX_LIMIT. The fact that we then do "last+1"
    doesn't really matter, the for-loop does check against the end of the
    pidmap array properly (it's only the actual pointer arithmetic overflow
    case we need to worry about, and going one bit beyond isn't going to
    overflow).

    [ Use PID_MAX_LIMIT rather than pid_max as per Eric Biederman ]

    Reported-by: Tavis Ormandy
    Analyzed-by: Robert Święcki
    Cc: Eric W. Biederman
    Cc: Pavel Emelyanov
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Calculate a default based on the number of ABS axes, REL axes,
    and MT slots for the device during input device registration.

    Signed-off-by: Jeff Brown
    Reviewed-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Jeff Brown
     

18 Apr, 2011

4 commits


17 Apr, 2011

2 commits

  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    block: make unplug timer trace event correspond to the schedule() unplug
    block: let io_schedule() flush the plug inline

    Linus Torvalds
     
  • …linus', 'timer-fixes-for-linus' and 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    futex: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf_event: Fix cgrp event scheduling bug in perf_enable_on_exec()
    perf: Fix a build error with some GCC versions

    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Fix erroneous all_pinned logic
    sched: Fix sched-domain avg_load calculation

    * 'timer-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    RTC: rtc-mrst: follow on to the change of rtc_device_register()
    RTC: add missing "return 0" in new alarm func for rtc-bfin.c
    RTC: Fix s3c compile error due to missing s3c_rtc_setpie
    RTC: Fix early irqs caused by calling rtc_set_alarm too early

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, amd: Disable GartTlbWlkErr when BIOS forgets it
    x86, NUMA: Fix fakenuma boot failure
    x86/mrst: Fix boot crash caused by incorrect pin to irq mapping
    x86/ce4100: Add reg property to bridges

    Linus Torvalds
     

16 Apr, 2011

4 commits

  • It's a pretty close match to what we had before - the timer triggering
    would mean that nobody unplugged the plug in due time, in the new
    scheme this matches very closely what the schedule() unplug now is.
    It's essentially the difference between an explicit unplug (IO unplug)
    or an implicit unplug (timer unplug, we scheduled with pending IO
    queued).

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Linus correctly observes that the most important dispatch cases
    are now done from kblockd, this isn't ideal for latency reasons.
    The original reason for switching dispatches out-of-line was to
    avoid too deep a stack, so by _only_ letting the "accidental"
    flush directly in schedule() be guarded by offload to kblockd,
    we should be able to get the best of both worlds.

    So add a blk_schedule_flush_plug() that offloads to kblockd,
    and only use that from the schedule() path.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Signed-off-by: Harsh Prateek Bora
    Signed-off-by: Venkateswararao Jujjuri
    Signed-off-by: Eric VAn Hensbergen

    Harsh Prateek Bora
     
  • Now that we use write_inode to flush server
    cache related to fid, we don't need tsyncfs either fort dotl or dotu
    protocols. For dotu this helps to do a more efficient server flush.

    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Venkateswararao Jujjuri
    Signed-off-by: Eric Van Hensbergen

    Aneesh Kumar K.V
     

15 Apr, 2011

8 commits

  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    block: only force kblockd unplugging from the schedule() path
    block: cleanup the block plug helper functions
    block, blk-sysfs: Use the variable directly instead of a function call
    block: move queue run on unplug to kblockd
    block: kill queue_sync_plugs()
    block: readd plug trace event
    block: add callback function for unplug notification
    block: add comment on why we save and disable interrupts in flush_plug_list()
    block: fixup block IO unplug trace call
    block: remove block_unplug_timer() trace point
    block: splice plug list to local context

    Linus Torvalds
     
  • For the explicit unplugging, we'd prefer to kick things off
    immediately and not pay the penalty of the latency to switch
    to kblockd. So let blk_finish_plug() do the run inline, while
    the implicit-on-schedule-out unplug will punt to kblockd.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • It's a bit of a mess currently. task->plug is being cleared
    and reset in __blk_finish_plug(), and blk_finish_plug() is
    testing for a NULL plug which cannot happen even from schedule()
    anymore since it uses blk_needs_flush_plug() to determine
    whether to call into this function at all.

    So get rid of some of the cruft.

    Signed-off-by: Jens Axboe

    Christoph Hellwig
     
  • Fix a possible problem with mport registration left non-cleared after
    fsl_rio_setup() exits on link error. Abort mport initialization if
    registration failed.

    This patch is applicable to 2.6.39-rc1 only. The problem does not exist
    for earlier versions.

    Signed-off-by: Alexandre Bounine
    Cc: Kumar Gala
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Thomas Moll
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • 5520e89 ("brk: fix min_brk lower bound computation for COMPAT_BRK")
    tried to get the whole logic of brk randomization for legacy
    (libc5-based) applications finally right.

    It turns out that the way to detect whether brk has actually been
    randomized in the end or not introduced by that patch still doesn't work
    for those binaries, as reported by Geert:

    : /sbin/init from my old m68k ramdisk exists prematurely.
    :
    : Before the patch:
    :
    : | brk(0x80005c8e) = 0x80006000
    :
    : After the patch:
    :
    : | brk(0x80005c8e) = 0x80005c8e
    :
    : Old libc5 considers brk() to have failed if the return value is not
    : identical to the requested value.

    I don't like it, but currently see no better option than a bit flag in
    task_struct to catch the CONFIG_COMPAT_BRK && randomize_va_space == 2
    case.

    Signed-off-by: Jiri Kosina
    Tested-by: Geert Uytterhoeven
    Reported-by: Geert Uytterhoeven
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Kosina
     
  • I found it difficult to make sense of transparent huge pages without
    having any counters for its actions. Add some counters to vmstat for
    allocation of transparent hugepages and fallback to smaller pages.

    Optional patch, but useful for development and understanding the system.

    Contains improvements from Andrea Arcangeli and Johannes Weiner

    [akpm@linux-foundation.org: coding-style fixes]
    [hannes@cmpxchg.org: fix vmstat_text[] entries]
    Signed-off-by: Andi Kleen
    Acked-by: Andrea Arcangeli
    Reviewed-by: KAMEZAWA Hiroyuki
    Signed-off-by: Johannes Weiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • commit 3f58a8294333 ("move memcg reclaimable page into tail of inactive
    list") added inline keyword twice in its prototype.

    CC arch/x86/kernel/asm-offsets.s
    In file included from include/linux/swap.h:8,
    from include/linux/suspend.h:4,
    from arch/x86/kernel/asm-offsets.c:12:
    include/linux/memcontrol.h:220: error: duplicate `inline'

    Signed-off-by: Eric Dumazet
    Reviewed-by: Minchan Kim
    Cc: Balbir Singh
    Cc: KAMEZAWA Hiroyuki
    Cc: KOSAKI Motohiro
    Cc: Johannes Weiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Dumazet
     

14 Apr, 2011

2 commits

  • Fix 41 occurrences of this type of Section mismatch warning
    in g_mass_storage, g_serial, g_cdc, g_multi, g_nokia, g_ether, g_ffs:
    (the 75 number reported earlier contained some duplicates.)

    WARNING: drivers/usb/gadget/g_mass_storage.o(.text+0x687a): Section mismatch in reference from the function fsg_bind() to the function .devinit.text:usb_ep_autoconfig()
    The function fsg_bind() references
    the function __devinit usb_ep_autoconfig().
    This is often because fsg_bind lacks a __devinit
    annotation or the annotation of usb_ep_autoconfig is wrong.

    Also remove __devinit from usb_ep_autoconfig_reset() to prevent
    possible section mismatch problems with it.

    Signed-off-by: Randy Dunlap
    Cc: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • Renesas SuperH has USBHS IP which can switch Host / Function.
    This driver is designed so that Host / Function may dynamically change.
    This patch add usb/renesas_usbhs and common code for SuperH USBHS.

    Signed-off-by: Kuninori Morimoto
    Signed-off-by: Greg Kroah-Hartman

    Kuninori Morimoto
     

13 Apr, 2011

1 commit

  • Add a new EV_SYN code, SYN_DROPPED, to inform the client when input
    events have been dropped from the evdev input buffer due to a
    buffer overrun. The client should use this event as a hint to
    reset its state or ignore all following events until the next
    packet begins.

    Signed-off-by: Jeff Brown
    [dtor@mail.ru: Implement Henrik's suggestion and drop old events in
    case of overflow.]
    Signed-off-by: Dmitry Torokhov

    Jeff Brown