30 Apr, 2013

23 commits

  • This patch depends on "genalloc: add devres support, allow to find a
    managed pool by device", which provides the of_get_named_gen_pool and
    dev_get_gen_pool functions.

    Signed-off-by: Philipp Zabel
    Acked-by: Javier Martin
    Acked-by: Grant Likely
    Cc: Michal Simek
    Cc: Dong Aisheng
    Cc: Fabio Estevam
    Cc: Greg Kroah-Hartman
    Cc: Huang Shijie
    Cc: Matt Porter
    Cc: Paul Gortmaker
    Cc: Rob Herring
    Cc: Shawn Guo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Philipp Zabel
     
  • This driver requests and remaps a memory region as configured in the
    device tree. It serves memory from this region via the genalloc API. It
    optionally enables the SRAM clock.

    Other drivers can retrieve the genalloc pool from a phandle pointing to
    this drivers' device node in the device tree.

    The allocation granularity is hard-coded to 32 bytes for now, to make the
    SRAM driver useful for the 6502 remoteproc driver. There is overhead for
    bigger SRAMs, where only a much coarser allocation granularity is needed:
    At 32 bytes minimum allocation size, a 256 KiB SRAM needs a 1 KiB bitmap
    to track allocations.

    [akpm@linux-foundation.org: fix Kconfig text, make sram_init static]
    Signed-off-by: Philipp Zabel
    Reviewed-by: Shawn Guo
    Acked-by: Grant Likely
    Tested-by: Michal Simek
    Cc: Dong Aisheng
    Cc: Fabio Estevam
    Cc: Greg Kroah-Hartman
    Cc: Huang Shijie
    Cc: Javier Martin
    Cc: Matt Porter
    Cc: Michal Simek
    Cc: Paul Gortmaker
    Cc: Rob Herring
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Philipp Zabel
     
  • Return a negative error code from the error handling case instead of 0, as
    returned elsewhere in this function.

    Signed-off-by: Wei Yongjun
    Cc: Ohad Ben-Cohen
    Cc: Tejun Heo
    Cc: Stephen Boyd
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wei Yongjun
     
  • When booting x86 system contains memoryless node, node numbers of CPUs
    on memoryless node were changed to nearest online node number by
    init_cpu_to_node() because the node is not online.

    In my system, node numbers of cpu#30-44 and 75-89 were changed from 2 to
    0 as follows:

    $ numactl --hardware
    available: 2 nodes (0-1)
    node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 30 31 32 33 34 35 36 37 38 39 40
    41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 75 76 77 78 79 80 81 82
    83 84 85 86 87 88 89
    node 0 size: 32394 MB
    node 0 free: 27898 MB
    node 1 cpus: 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 60 61 62 63 64 65 66
    67 68 69 70 71 72 73 74
    node 1 size: 32768 MB
    node 1 free: 30335 MB

    If we hot add memory to memoryless node and offine/online all CPUs on
    the node, node numbers of these CPUs are changed to correct node numbers
    by srat_detect_node() because the node become online.

    In this case, node numbers of cpu#30-44 and 75-89 were changed from 0 to
    2 in my system as follows:

    $ numactl --hardware
    available: 3 nodes (0-2)
    node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 45 46 47 48 49 50 51 52 53 54 55
    56 57 58 59
    node 0 size: 32394 MB
    node 0 free: 27218 MB
    node 1 cpus: 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 60 61 62 63 64 65 66
    67 68 69 70 71 72 73 74
    node 1 size: 32768 MB
    node 1 free: 30014 MB
    node 2 cpus: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 75 76 77 78 79 80 81
    82 83 84 85 86 87 88 89
    node 2 size: 16384 MB
    node 2 free: 16384 MB

    But "cpu to node" and "node to cpu" links were not changed as follows:

    $ ls /sys/devices/system/cpu/cpu30/|grep node
    node0
    $ ls /sys/devices/system/node/node0/|grep cpu30
    cpu30

    "numactl --hardware" shows that cpu30 belongs to node 2. But sysfs
    links does not change.

    This patch changes "cpu to node" and "node to cpu" links when node
    number changed by onlining CPU.

    Signed-off-by: Yasuaki Ishimatsu
    Cc: KOSAKI Motohiro
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: "Srivatsa S. Bhat"
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yasuaki Ishimatsu
     
  • nr_pages is not used in pages_correctly_reserved().
    So remove it.

    Signed-off-by: Tang Chen
    Reviewed-by: Wang Shilong
    Reviewed-by: Wen Congyang
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tang Chen
     
  • When hot removing memory, a firmware_map_entry which has memory range of
    the memory is released by release_firmware_map_entry(). If the entry is
    allocated by bootmem, release_firmware_map_entry() adds the entry to
    map_entires_bootmem list when firmware_map_find_entry() finds the entry
    from map_entries list. But firmware_map_find_entry never find the entry
    sicne map_entires list does not have the entry. So the entry just
    leaks.

    Here are steps of leaking firmware_map_entry:
    firmware_map_remove()
    -> firmware_map_find_entry()
    Find released entry from map_entries list
    -> firmware_map_remove_entry()
    Delete the entry from map_entries list
    -> remove_sysfs_fw_map_entry()
    ...
    -> release_firmware_map_entry()
    -> firmware_map_find_entry()
    Find the entry from map_entries list but the entry has been
    deleted from map_entries list. So the entry is not added
    to map_entries_bootmem. Thus the entry leaks

    release_firmware_map_entry() should not call firmware_map_find_entry()
    since releaed entry has been deleted from map_entries list. So the
    patch delete firmware_map_find_entry() from releae_firmware_map_entry()

    Signed-off-by: Yasuaki Ishimatsu
    Reviewed-by: Wanpeng Li
    Reviewed-by: Tang Chen
    Acked-by: Toshi Kani
    Cc: Wen Congyang
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yasuaki Ishimatsu
     
  • __remove_pages() is only necessary for CONFIG_MEMORY_HOTREMOVE. PowerPC
    pseries will return -EOPNOTSUPP if unsupported.

    Adding an #ifdef causes several other functions it depends on to also
    become unnecessary, which saves in .text when disabled (it's disabled in
    most defconfigs besides powerpc, including x86). remove_memory_block()
    becomes static since it is not referenced outside of
    drivers/base/memory.c.

    Build tested on x86 and powerpc with CONFIG_MEMORY_HOTREMOVE both enabled
    and disabled.

    Signed-off-by: David Rientjes
    Acked-by: Toshi Kani
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Greg Kroah-Hartman
    Cc: Wen Congyang
    Cc: Tang Chen
    Cc: Yasuaki Ishimatsu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • Squishes a warning which my change to hotplug_memory_notifier() added.

    I want to keep that warning, because it is punishment for failnig to check
    the hotplug_memory_notifier() return value.

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

    Andrew Morton
     
  • Removed legacy hw definitions in hw/mmp_ctrl.h. These definitions are
    for earlier soc versions and are not supported in this driver.

    Signed-off-by: Zhou Zhu
    Cc: Paul Bolle
    Cc: Lisa Du
    Cc: Guoqing Li
    Cc: Florian Tobias Schandinat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zhou Zhu
     
  • Remove the __init tags from the ep93xxfb_calc_fbsize() and
    ep93xxfb_alloc_videomem() functions to fix the section mismatch
    warnings.

    Use module_platform_driver() to remove the init/exit boilerplate.

    Signed-off-by: H Hartley Sweeten
    Cc: Ryan Mallon
    Cc: Florian Tobias Schandinat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    H Hartley Sweeten
     
  • Use the newly introduced devm_ioremap_resource() instead of
    devm_request_and_ioremap() which provides more consistent error
    handling.

    devm_ioremap_resource() provides its own error messages; so all explicit
    error messages can be removed from the failure code paths.

    Signed-off-by: Sachin Kamat
    Cc: Donghwa Lee
    Cc: Florian Tobias Schandinat
    Reviewed-by: Thierry Reding
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sachin Kamat
     
  • This is the driver for the Hyper-V Synthetic Video, which supports
    screen resolution up to Full HD 1920x1080 on Windows Server 2012 host,
    and 1600x1200 on Windows Server 2008 R2 or earlier. It also solves the
    double mouse cursor issue of the emulated video mode.

    Signed-off-by: Haiyang Zhang
    Reviewed-by: K. Y. Srinivasan
    Cc: Greg Kroah-Hartman ,
    Cc: Olaf Hering
    Cc: Geert Uytterhoeven
    Cc: Florian Tobias Schandinat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haiyang Zhang
     
  • With make W=1 we get

    drivers/video/console/fbcon_cw.c: In function `cw_update_attr':
    drivers/video/console/fbcon_cw.c:30:8: warning: variable `t' set but not used [-Wunused-but-set-variable]

    fixed by removing as since its used nowhere

    Signed-off-by: Devendra Naga
    Cc: Florian Tobias Schandinat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Devendra Naga
     
  • Convert the struct i2c_msg initialization to C99 format. This makes
    maintaining and editing the code simpler. Also helps once other fields
    like transferred are added in future.

    Thanks to Julia Lawall for automating the conversion.

    Signed-off-by: Shubhrajyoti D
    Signed-off-by: Jean Delvare
    Cc: Julia Lawall
    Cc: Florian Tobias Schandinat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shubhrajyoti Datta
     
  • Pull USB patches from Greg Kroah-Hartman:
    "Here's the big USB pull request for 3.10-rc1.

    Lots of USB patches here, the majority being USB gadget changes and
    USB-serial driver cleanups, the rest being ARM build fixes / cleanups,
    and individual driver updates. We also finally got some chipidea
    fixes, which have been delayed for a number of kernel releases, as the
    maintainer has now reappeared.

    All of these have been in linux-next for a while"

    * tag 'usb-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (568 commits)
    USB: ehci-msm: USB_MSM_OTG needs USB_PHY
    USB: OHCI: avoid conflicting platform drivers
    USB: OMAP: ISP1301 needs USB_PHY
    USB: lpc32xx: ISP1301 needs USB_PHY
    USB: ftdi_sio: enable two UART ports on ST Microconnect Lite
    usb: phy: tegra: don't call into tegra-ehci directly
    usb: phy: phy core cannot yet be a module
    USB: Fix initconst in ehci driver
    usb-storage: CY7C68300A chips do not support Cypress ATACB
    USB: serial: option: Added support Olivetti Olicard 145
    USB: ftdi_sio: correct ST Micro Connect Lite PIDs
    ARM: mxs_defconfig: add CONFIG_USB_PHY
    ARM: imx_v6_v7_defconfig: add CONFIG_USB_PHY
    usb: phy: remove exported function from __init section
    usb: gadget: zero: put function instances on unbind
    usb: gadget: f_sourcesink.c: correct a copy-paste misnomer
    usb: gadget: cdc2: fix error return code in cdc_do_config()
    usb: gadget: multi: fix error return code in rndis_do_config()
    usb: gadget: f_obex: fix error return code in obex_bind()
    USB: storage: convert to use module_usb_driver()
    ...

    Linus Torvalds
     
  • Pull tty/serial driver update from Greg Kroah-Hartman:
    "Here's the big tty/serial driver merge request for 3.10-rc1

    Once again, Jiri has a number of TTY driver fixes and cleanups, and
    Peter Hurley came through with a bunch of ldisc fixes that resolve a
    number of reported issues. There are some other serial driver
    cleanups as well.

    All of these have been in the linux-next tree for a while"

    * tag 'tty-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (117 commits)
    tty/serial/sirf: fix MODULE_DEVICE_TABLE
    serial: mxs: drop superfluous {get|put}_device
    serial: mxs: fix buffer overflow
    ARM: PL011: add support for extended FIFO-size of PL011-r1p5
    serial_core.c: add put_device() after device_find_child()
    tty: Fix unsafe bit ops in tty_throttle_safe/unthrottle_safe
    serial: sccnxp: Replace pdata.init/exit with regulator API
    serial: sccnxp: Do not override device name
    TTY: pty, fix compilation warning
    TTY: rocket, fix compilation warning
    TTY: ircomm: fix DTR being raised on hang up
    TTY: synclinkmp: fix DTR being raised on hang up
    TTY: synclink_gt: fix DTR being raised on hang up
    TTY: synclink: fix DTR being raised on hang up
    serial: 8250_dw: Fix the stub for dw8250_probe_acpi()
    serial: 8250_dw: Convert to devm_ioremap()
    serial: 8250_dw: Set port capabilities based on CPR register
    serial: 8250_dw: Let ACPI code extract the DMA client info
    serial: 8250_dw: Support clk framework also with ACPI
    serial: 8250_dw: Enable runtime PM
    ...

    Linus Torvalds
     
  • Pull staging driver tree update from Greg Kroah-Hartman:
    "Here's the big staging driver tree update for 3.10-rc1

    This update contains loads of comedi driver cleanups and fixes in
    here, iio updates, android driver changes, and other various staging
    driver cleanups.

    Thanks to some drivers being removed, and the comedi driver cleanups,
    we have removed more code than we added:

    627 files changed, 65145 insertions(+), 76321 deletions(-)

    which is always nice to see.

    All of these have been in linux-next for a while."

    * tag 'staging-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (940 commits)
    staging: comedi: ni_labpc: fix legacy driver build
    staging: comedi: das800: cleanup the cio-das802/16 fifo comments
    staging: comedi: das800: rename CamelCase vars in das800_ai_do_cmd()
    staging: comedi: das800: tidy up the private data
    staging: comedi: das800: tidy up das800_interrupt()
    staging: comedi: das800: tidy up das800_ai_insn_read()
    staging: comedi: das800: tidy up das800_di_insn_bits()
    staging: comedi: das800: tidy up das800_do_insn_bits()
    staging: comedi: das800: remove extra divisor calculation call
    staging: comedi: das800: rename {enable,disable}_das800
    staging: comedi: das800: tidy up subdevice init
    staging: comedi: das800: allow attaching without interrupt support
    staging: comedi: das800: interrupts are required for async command support
    staging: comedi: das800: tidy up das800_ai_do_cmdtest()
    staging: comedi: das800: remove 'volatile' on private data variables
    staging: comedi: das800: cleanup the boardinfo
    staging: comedi: das800: cleanup range table declarations
    staging: comedi: das800: introduce das800_ind_{write, read}()
    staging: comedi: das800: remove forward declarations
    staging: comedi: das800: move das800_set_frequency()
    ...

    Linus Torvalds
     
  • Pull driver core update from Greg Kroah-Hartman:
    "Here's the merge request for the driver core tree for 3.10-rc1

    It's pretty small, just a number of driver core and sysfs updates and
    fixes, all of which have been in linux-next for a while now.

    Signed-off-by: Greg Kroah-Hartman "

    Fixed conflict in kernel/rtmutex-tester.c, the locking tree had a better
    fix for the same sysfs file mode problem.

    * tag 'driver-core-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    PM / Runtime: Idle devices asynchronously after probe|release
    driver core: handle user namespaces properly with the uid/gid devtmpfs change
    driver core: devtmpfs: fix compile failure with CONFIG_UIDGID_STRICT_TYPE_CHECKS
    devtmpfs: add base.h include
    driver core: add uid and gid to devtmpfs
    sysfs: check if one entry has been removed before freeing
    sysfs: fix crash_notes_size build warning
    sysfs: fix use after free in case of concurrent read/write and readdir
    rtmutex-tester: fix mode of sysfs files
    Documentation: Add ABI entry for crash_notes and crash_notes_size
    sysfs: Add crash_notes_size to export percpu note size
    driver core: platform_device.h: fix checkpatch errors and warnings
    driver core: platform.c: fix checkpatch errors and warnings
    driver core: warn that platform_driver_probe can not use deferred probing
    sysfs: use atomic_inc_unless_negative in sysfs_get_active
    base: core: WARN() about bogus permissions on device attributes
    device: separate all subsys mutexes

    Linus Torvalds
     
  • Pull char/misc driver update from Greg Kroah-Hartman:
    "Here's the big char / misc driver update for 3.10-rc1

    A number of various driver updates, the majority being new
    functionality in the MEI driver subsystem (it's now a subsystem, it
    started out just a single driver), extcon updates, memory updates,
    hyper-v updates, and a bunch of other small stuff that doesn't fit in
    any other tree.

    All of these have been in linux-next for a while"

    * tag 'char-misc-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (148 commits)
    Tools: hv: Fix a checkpatch warning
    tools: hv: skip iso9660 mounts in hv_vss_daemon
    tools: hv: use FIFREEZE/FITHAW in hv_vss_daemon
    tools: hv: use getmntent in hv_vss_daemon
    Tools: hv: Fix a checkpatch warning
    tools: hv: fix checks for origin of netlink message in hv_vss_daemon
    Tools: hv: fix warnings in hv_vss_daemon
    misc: mark spear13xx-pcie-gadget as broken
    mei: fix krealloc() misuse in in mei_cl_irq_read_msg()
    mei: reduce flow control only for completed messages
    mei: reseting -> resetting
    mei: fix reading large reposnes
    mei: revamp mei_irq_read_client_message function
    mei: revamp mei_amthif_irq_read_message
    mei: revamp hbm state machine
    Revert "drivers/scsi: use module_pcmcia_driver() in pcmcia drivers"
    Revert "scsi: pcmcia: nsp_cs: remove module init/exit function prototypes"
    scsi: pcmcia: nsp_cs: remove module init/exit function prototypes
    mei: wd: fix line over 80 characters
    misc: tsl2550: Use dev_pm_ops
    ...

    Linus Torvalds
     
  • Pull hwmon update from Guenter Roeck:

    - New drivers for NCT6775, NCT6776, NCT6779, and LM95234.

    - Added support for LTC2974, LTC3883, LM25056, TMP431, TMP432, ADT7310,
    and ADT7320 to existing drivers.

    - Various code cleanups and minor improvements.

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (54 commits)
    hwmon: (nct6775) Fix coding style problems
    hwmon: (nct6775) Constify strings
    hwmon: (tmp401) Add support for TMP432
    hwmon: (tmp401) Add support for update_interval attribute
    hwmon: (tmp401) Reset valid flag when resetting temperature history
    hwmon: (tmp401) Simplification and cleanup
    hwmon: (tmp401) Use sysfs_create_group / sysfs_remove_group
    hwmon: (tmp401) Drop unused defines, use BIT for bit masks
    hwmon: (nct6775) Use ARRAY_SIZE for loops where possible
    documentation: hwmon: Fix typo in documentation/hwmon
    hwmon: (nct6775) Enable both AUXTIN and VIN3 on NCT6776
    hwmon: (ad7314) use spi_get_drvdata() and spi_set_drvdata()
    MAINTAINERS: Add myself as maintainer for the NCT6775 driver
    hwmon: (nct6775) Expand scope of supported chips
    hwmon: (gpio-fan) Use is_visible to determine if attributes should be created
    hwmon: (tmp401) Fix device detection for TMP411B and TMP411C
    hwmon: Add driver for LM95234
    hwmon: (tmp401) Add support for TMP431
    hwmon: (pmbus/lm25066) Add support for LM25056
    hwmon: (pmbus/lm25066) Refactor device specific coefficients
    ...

    Linus Torvalds
     
  • Pull pinctrl update from Linus Walleij:
    "These are the pinctrl changes for v3.10:

    - Patrice Chotard contributed a new configuration debugfs interface
    and reintroduced fine-grained locking into the core: instead of
    having a "big pinctrl lock" we have a per-controller lock and
    specialized locks for the global controller and pinctrl handle
    lists.

    - Haoijan Zhuang deleted all the PXA and MMP2 pinctrl drivers and
    replaced them with pinctrl-single (which is also used by other
    SoCs) so we are gaining consolidation. The platform particulars
    now come in through the device tree.

    - Haoijan also added support for generic pin config into the
    pinctrl-single driver which is another big consolidation win.

    - Finally also GPIO ranges are now supported by the pinctrl-single
    driver.

    - Tomasz Figa contributed a new Samsung S3C pinctrl driver, bringing
    more of the older Samsung platforms under the pinctrl umbrella and
    out of arch/arm.

    - Maxime Ripard contributed new Allwinner A10/A13 drivers.

    - Sachin Kamat, Wei Yongjun and Axel Lin did a lot of cleanups."

    * tag 'pinctrl-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (66 commits)
    pinctrl: move subsystem mutex to pinctrl_dev struct
    pinctrl/pinconfig: fix misplaced goto
    pinctrl: s3c64xx: Fix build error caused by undefined chained_irq_enter
    pinctrl/pinconfig: add debug interface
    pinctrl: abx500: fix issue when no pdata
    pinctrl: pinctrl-single: add missing double quote
    pinctrl: sunxi: Rename wemac functions to emac
    pinctrl: exynos5440: add gpio interrupt support
    pinctrl: exynos5440: fix probe failure due to missing pin-list in config nodes
    pinctrl: ab8505: Staticize some symbols
    pinctrl: ab8540: Staticize some symbols
    pinctrl: ab9540: Staticize some symbols
    pinctrl: ab8500: Staticize some symbols
    pinctrl: abx500: Staticize some symbols
    pinctrl: Add pinctrl-s3c64xx driver
    pinctrl: samsung: Handle banks with two configuration registers
    pinctrl: samsung: Remove hardcoded register offsets
    pinctrl: samsung: Split pin bank description into two structures
    pinctrl: samsung: Include pinctrl-exynos driver data conditionally
    pinctrl: samsung: Protect bank registers with a spinlock
    ...

    Linus Torvalds
     
  • Pull fbdev updates from Tomi Valkeinen:

    - use vm_iomap_memory() in various fb drivers to map the fb memory to
    userspace

    - Cleanups for the videomode and display_timing features

    - Updates to vt8500, wm8505 and auo-k190x fb drivers

    * tag 'fbdev-for-3.10' of git://gitorious.org/linux-omap-dss2/linux: (36 commits)
    fbdev: fix check for fb_mmap's mmio availability
    fbdev: improve fb_mmap bounds checks
    fbdev/ps3fb: use vm_iomap_memory()
    fbdev/sgivwfb: use vm_iomap_memory()
    fbdev/vermillion: use vm_iomap_memory()
    fbdev/sa1100fb: use vm_iomap_memory()
    fbdev/fb-puv3: use vm_iomap_memory()
    fbdev/controlfb: use vm_iomap_memory()
    fbdev/omapfb: use vm_iomap_memory()
    video: vt8500: fix Kconfig for videomode
    video/s3c: move platform_data out of arch/arm
    video/exynos: remove unnecessary header inclusions
    drivers/video: fsl-diu-fb: add hardware cursor support
    drivers: video: use module_platform_driver_probe()
    ARM: OMAP: remove "config FB_OMAP_CONSISTENT_DMA_SIZE"
    video: wm8505fb: Convert to devm_ioremap_resource()
    AUO-K190x: Add resolutions for portrait displays
    AUO-K190x: add framebuffer rotation support
    AUO-K190x: add a 16bit truecolor mode
    AUO-K190x: make color handling more flexible
    ...

    Linus Torvalds
     
  • Pull PCI updates from Bjorn Helgaas:
    "PCI changes for the v3.10 merge window:

    PCI device hotplug
    - Remove ACPI PCI subdrivers (Jiang Liu, Myron Stowe)
    - Make acpiphp builtin only, not modular (Jiang Liu)
    - Add acpiphp mutual exclusion (Jiang Liu)

    Power management
    - Skip "PME enabled/disabled" messages when not supported (Rafael
    Wysocki)
    - Fix fallback to PCI_D0 (Rafael Wysocki)

    Miscellaneous
    - Factor quirk_io_region (Yinghai Lu)
    - Cache MSI capability offsets & cleanup (Gavin Shan, Bjorn Helgaas)
    - Clean up EISA resource initialization and logging (Bjorn Helgaas)
    - Fix prototype warnings (Andy Shevchenko, Bjorn Helgaas)
    - MIPS: Initialize of_node before scanning bus (Gabor Juhos)
    - Fix pcibios_get_phb_of_node() declaration "weak" annotation (Gabor
    Juhos)
    - Add MSI INTX_DISABLE quirks for AR8161/AR8162/etc (Xiong Huang)
    - Fix aer_inject return values (Prarit Bhargava)
    - Remove PME/ACPI dependency (Andrew Murray)
    - Use shared PCI_BUS_NUM() and PCI_DEVID() (Shuah Khan)"

    * tag 'pci-v3.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (63 commits)
    vfio-pci: Use cached MSI/MSI-X capabilities
    vfio-pci: Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK
    PCI: Remove "extern" from function declarations
    PCI: Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK
    PCI: Drop msi_mask_reg() and remove drivers/pci/msi.h
    PCI: Use msix_table_size() directly, drop multi_msix_capable()
    PCI: Drop msix_table_offset_reg() and msix_pba_offset_reg() macros
    PCI: Drop is_64bit_address() and is_mask_bit_support() macros
    PCI: Drop msi_data_reg() macro
    PCI: Drop msi_lower_address_reg() and msi_upper_address_reg() macros
    PCI: Drop msi_control_reg() macro and use PCI_MSI_FLAGS directly
    PCI: Use cached MSI/MSI-X offsets from dev, not from msi_desc
    PCI: Clean up MSI/MSI-X capability #defines
    PCI: Use cached MSI-X cap while enabling MSI-X
    PCI: Use cached MSI cap while enabling MSI interrupts
    PCI: Remove MSI/MSI-X cap check in pci_msi_check_device()
    PCI: Cache MSI/MSI-X capability offsets in struct pci_dev
    PCI: Use u8, not int, for PM capability offset
    [SCSI] megaraid_sas: Use correct #define for MSI-X capability
    PCI: Remove "extern" from function declarations
    ...

    Linus Torvalds
     

29 Apr, 2013

2 commits

  • Pull s390 update from Martin Schwidefsky:
    "This is the first batch of s390 patches for the 3.10 merge window.

    Included are some performance enhancements: storage key
    initialization, zero page cache synonyms, system call micro
    optimization and the speedup patches for dasdfmt. Sebastian managed
    to get rid of the special casing for the console device in the cio
    layer. And the usual bunch of bug fixes."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (59 commits)
    s390/pci: use pci_scan_root_bus
    s390/scm_blk: fix memleak in init function
    s390/scm_blk: allow more cluster size values
    s390/cio: fix irq statistics
    s390/memory hotplug: prevent offline of active memory increments
    s390: remove small stack config option
    s390: system call path micro optimization
    s390: lowcore stack pointer offsets
    s390/uapi: change struct statfs[64] member types to unsigned values
    s390/pci: return correct dma address for offset > PAGE_SIZE
    s390/ptrace: remove empty ifdefs
    s390/compat: remove ptrace compat definitions from uapi header file
    s390/compat: fix compile error for !COMPAT
    s390/compat: fix compat_sys_statfs() memory corruption
    s390/zcore: Fix HSA copy length for last block
    s390/mm,gmap: segment mapping race
    s390/mm,gmap: implement gmap_translate()
    s390/pci: remove disable_device implementation
    s390/pci: disable per default
    s390/pci: return error after failed pci ops
    ...

    Linus Torvalds
     
  • …kernel/git/konrad/xen

    Pull Xen updates from Konrad Rzeszutek Wilk:
    "Features:
    - Populate the boot_params with EDD data.
    - Cleanups in the IRQ code.
    Bug-fixes:
    - CPU hotplug offline/online in PVHVM mode.
    - Re-upload processor PM data after ACPI S3 suspend/resume cycle."

    And Konrad gets a gold star for sending the pull request early when he
    thought he'd be away for the first week of the merge window (but because
    of 3.9 dragging out to -rc8 he then re-sent the reminder on the first
    day of the merge window anyway)

    * tag 'stable/for-linus-3.10-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: resolve section mismatch warnings in xen-acpi-processor
    xen: Re-upload processor PM data to hypervisor after S3 resume (v2)
    xen/smp: Unifiy some of the PVs and PVHVM offline CPU path
    xen/smp/pvhvm: Don't initialize IRQ_WORKER as we are using the native one.
    xen/spinlock: Disable IRQ spinlock (PV) allocation on PVHVM
    xen/spinlock: Check against default value of -1 for IRQ line.
    xen/time: Add default value of -1 for IRQ and check for that.
    xen/events: Check that IRQ value passed in is valid.
    xen/time: Fix kasprintf splat when allocating timer%d IRQ line.
    xen/smp/spinlock: Fix leakage of the spinlock interrupt line for every CPU online/offline
    xen/smp: Fix leakage of timer interrupt line for every CPU online/offline.
    xen kconfig: fix select INPUT_XEN_KBDDEV_FRONTEND
    xen: drop tracking of IRQ vector
    x86/xen: populate boot_params with EDD data

    Linus Torvalds
     

26 Apr, 2013

15 commits

  • Pull media fixes from Mauro Carvalho Chehab:
    "Two driver fixes.

    One avoids reading any file at a system with a cx25821 board
    (fortunately, this is not a common device). The other one prevents
    reading after a buffer with ISDB-T devices based on mb86a20s."

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    [media] cx25821: do not expose broken video output streams
    [media] mb86a20s: Fix estimate_rate setting

    Linus Torvalds
     
  • variable_is_present() accesses '__efivars' directly, but when called via
    gsmi_init() Michel reports observing the following crash,

    BUG: unable to handle kernel NULL pointer dereference at (null)
    IP: variable_is_present+0x55/0x170
    Call Trace:
    register_efivars+0x106/0x370
    gsmi_init+0x2ad/0x3da
    do_one_initcall+0x3f/0x170

    The reason for the crash is that '__efivars' hasn't been initialised nor
    has it been registered with register_efivars() by the time the google
    EFI SMI driver runs. The gsmi code uses its own struct efivars, and
    therefore, a different variable list. Fix the above crash by passing
    the registered struct efivars to variable_is_present(), so that we
    traverse the correct list.

    Reported-by: Michel Lespinasse
    Tested-by: Michel Lespinasse
    Cc: Mike Waychison
    Cc: Matthew Garrett
    Cc: Seiji Aguchi
    Signed-off-by: Matt Fleming
    Signed-off-by: Linus Torvalds

    Matt Fleming
     
  • This mutex avoids deadlock in case of use of multiple pin
    controllers. Before this modification, by using a global
    mutex, deadlock appeared when, for example, a call to
    pinctrl_pins_show() locked the pinctrl_mutex, called the
    ops->pin_dbg_show of a particular pin controller. If this
    pin controller needs I2C access to retrieve configuration
    information and I2C driver is using pinctrl to drive its
    pins, a call to pinctrl_select_state() try to lock again
    pinctrl_mutex which leads to a deadlock.

    Notice that the mutex grab from the two direction functions
    was moved into pinctrl_gpio_direction().

    For several cases, we can't replace pinctrl_mutex by
    pctldev->mutex, because at this stage, pctldev is
    not accessible :
    - pinctrl_get()/pinctrl_put()
    - pinctrl_register_maps()

    So add respectively pinctrl_list_mutex and
    pinctrl_maps_mutex in order to protect
    pinctrl_list and pinctrl_maps list instead.

    Reintroduce pinctrldev_list_mutex in
    find_pinctrl_by_of_node(),
    pinctrl_find_and_add_gpio_range()
    pinctrl_request_gpio(), pinctrl_free_gpio(),
    pinctrl_gpio_direction(), pinctrl_devices_show(),
    pinctrl_register() and pinctrl_unregister() to
    protect pinctrldev_list.

    Changes v2->v3:
    - Fix a missing EXPORT_SYMBOL_GPL() for pinctrl_select_state().

    Changes v1->v2:
    - pinctrl_select_state_locked() is removed, all lock mechanism
    is located inside pinctrl_select_state(). When parsing
    the state->setting list, take the per-pin-controller driver
    lock. (Patrice).
    - Introduce pinctrldev_list_mutex to protect pinctrldev_list
    in all functions which parse or modify pictrldev_list.
    (Patrice).
    - move find_pinctrl_by_of_node() from pinctrl/devicetree.c to
    pinctrl/core.c in order to protect pinctrldev_list.
    (Patrice).
    - Sink mutex:es into some functions and remove some _locked
    variants down to where the lists are actually accessed to
    make things simpler. (Linus)
    - Drop *all* mutexes completely from pinctrl_lookup_state()
    and pinctrl_select_state() - no relevant mutex was taken
    and it was unclear what this was protecting against. (Linus)

    Reported by : Seraphin Bonnaffe
    Signed-off-by: Patrice Chotard
    Signed-off-by: Linus Walleij

    Patrice Chotard
     
  • This update contains a basic fix that went unseen through
    test and review.

    Signed-off-by: Laurent Meunier
    Reviewed-by: Patrice Chotard
    Signed-off-by: Linus Walleij

    Laurent Meunier
     
  • In commit b0de59b5733d ("TTY: do not update atime/mtime on read/write")
    we removed timestamps from tty inodes to fix a security issue and waited
    if something breaks. Well, 'w', the utility to find out logged users
    and their inactivity time broke. It shows that users are inactive since
    the time they logged in.

    To revert to the old behaviour while still preventing attackers to
    guess the password length, we update the timestamps in one-minute
    intervals by this patch.

    Signed-off-by: Jiri Slaby
    Cc: Greg Kroah-Hartman
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • If the allocation of a single request fails the already allocated
    requests will not be freed.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Allow 0 and powers of 2 between 2 and 128 for write_cluster_size.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • When we fetch an interrupt on the CCW console using tsch (via
    ccw_device_wait_idle formerly known as wait_cons_dev) we increment
    the irq count for the affected interruption class but it is not
    accounted as an IO interrupt.

    This is broken since commit b603d258a43b4e7339660bdd3b5c25eacd603e54
    "s390: remove superfluous tpi from wait_cons_dev"

    Fix it so that the sum of the individual interrupts per class matches
    the number of IO interrupts again.

    Reported-by: Gerald Schaefer
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • In case a machine supports memory hotplug all active memory increments
    present at IPL time have been initialized with a "usecount" of 1.
    This is wrong if the memory increment size is larger than the memory
    section size of the memory hotplug code. If that is the case the
    usecount must be initialized with the number of memory sections that
    fit into one memory increment.
    Otherwise it is possible to put a memory increment into standby state
    even if there are still active sections.
    Afterwards addressing exceptions might happen which cause the kernel
    to panic.
    However even worse, if a memory increment was put into standby state
    and afterwards into active state again, it's contents would have been
    zeroed, leading to memory corruption.

    This was only an issue for machines that support standby memory and
    have at least 256GB memory.

    This is broken since commit fdb1bb15 "[S390] sclp/memory hotplug: fix
    initial usecount of increments".

    Signed-off-by: Heiko Carstens
    Reviewed-by: Gerald Schaefer
    Cc: stable@vger.kernel.org # 2.6.39+
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Merge topic branch to get vm_iomap_memory into use.

    Conflicts:
    drivers/video/fbmon.c

    Tomi Valkeinen
     
  • Commit fc9bbca8f650e5f738af8806317c0a041a48ae4a (vm: convert fb_mmap to
    vm_iomap_memory() helper) made fbmem.c use vm_iomap_memory, but also
    accidentally removed the check for mmio's availability.

    Add the check back.

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • Improve fb_mmap bounds checks in gbefb, smscufx, udlfb and vfb drivers to
    prevent possible uint overflows.

    Signed-off-by: Tomi Valkeinen
    Cc: Steve Glendinning
    Cc: Bernie Thompson

    Tomi Valkeinen
     
  • Use vm_iomap_memory() instead of [io_]remap_pfn_range().
    vm_iomap_memory() gives us much simpler API to map memory to userspace,
    and reduces possibilities for bugs.

    Signed-off-by: Tomi Valkeinen
    Cc: Geert Uytterhoeven

    Tomi Valkeinen
     
  • The Kconfig entry for USB_EHCI_MSM unconditionally selects USB_MSM_OTG,
    which is now only visible when USB_PHY is also enabled.

    This adds an appropriate dependency and enables USB_PHY in the msm
    defconfig, avoiding the Kbuild warning:

    warning: (USB_EHCI_MSM) selects USB_MSM_OTG which has unmet direct dependencies (USB_SUPPORT && USB_PHY && (USB || USB_GADGET) && ARCH_MSM)

    Signed-off-by: Arnd Bergmann
    Cc: Felipe Balbi
    Cc: Pavankumar Kondeti
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     
  • Like the EHCI driver, OHCI supports a large number of different platform
    glue drivers by directly including them, which causes problems with
    conflicting macro definitions in some cases. As more ARM architecture
    specific back-ends are required to coexist in a single build, we should
    split those out into separate drivers. Unfortunately, the infrastructure
    for that is still under development, so to give us more time, this uses
    a separate *_PLATFORM_DRIVER macro for each ARM specific OHCI backend,
    just like we already do on PowerPC and some of the other ARM platforms.

    In linux-3.10, only the SPEAr and CNS3xxx back-ends would actually conflict
    without this patch, but over time we would get more of them, so this
    is a way to avoid having to patch the driver every time it breaks. We
    should still split out all back-ends into separate loadable modules,
    but that work is only needed to improve code size and cleanliness after
    this patch, not for correctness.

    While we're here, this fixes the incorrectly sorted error path
    for the OMAP1 and OMAP3 backends to ensure we always unregister
    the exact set of drivers that were registered before erroring out.

    Signed-off-by: Arnd Bergmann
    Acked-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann