01 Aug, 2013

1 commit

  • We can't use dev->mod_index for selecting the interrupt routing entry,
    because it's not an index into interrupt routing table. It will be even
    wrong on a machine with 2 CPUs (4 cores). But all needed information is
    contained in the PAT entries for the serial ports. mod[0] contains the
    iosapic address and mod_info has some indications for the interrupt
    input (at least it looks like it). This patch implements the searching
    for the right iosapic and uses this interrupt input information.

    Signed-off-by: Thomas Bogendoerfer
    Cc: # 3.10
    Signed-off-by: Helge Deller

    Thomas Bogendoerfer
     

27 Jul, 2013

4 commits

  • Platform drivers use "platform:" prefix in module alias.
    Also use DRIVER_NAME in MODULE_ALIAS to make module autoloading work.

    Signed-off-by: Axel Lin
    Acked-by: Vineet Gupta
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Axel Lin
     
  • The function tty_port_tty_hangup() could leak a reference to the tty_struct:

    struct tty_struct *tty = tty_port_tty_get(port);

    if (tty && (!check_clocal || !C_CLOCAL(tty))) {
    tty_hangup(tty);
    tty_kref_put(tty);
    }

    If tty != NULL and the second condition is false we never call tty_kref_put and
    the reference is leaked.

    Fix by always calling tty_kref_put() which accepts a NULL argument.

    The patch fixes a regression introduced by commit aa27a094.

    Acked-by: Gustavo Padovan
    Signed-off-by: Gianluca Anzolin
    Acked-by: Jiri Slaby
    Cc: stable # 3.10
    Signed-off-by: Greg Kroah-Hartman

    Gianluca Anzolin
     
  • Without this patch the driver waits ~1 ms for the UART to become idle. At
    115200n8 this time is (theoretically) enough to transfer 11.5 characters
    (= 115200 bits/s / (10 Bits/char) * 1ms). As the mxs-auart has a fifo size
    of 16 characters the clock is gated too early. The problem is worse for
    lower baud rates.

    This only happens to really shut down the transmitter in the middle of a
    transfer if /dev/ttyAPPx isn't opened in userspace (e.g. by a getty) but
    was at least once (because the bootloader doesn't disable the transmitter).

    So increase the timeout to 20 ms which should be enough for 9600n8, too.
    Moreover skip gating the clock if the timeout is elapsed.

    Cc: stable@vger.kernel.org # v2.6.39+
    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Greg Kroah-Hartman

    Uwe Kleine-König
     
  • The handler needs to ack the pending events before actually handling them.
    Otherwise a new event might come in after it it considered non-pending or
    handled and is acked then without being handled. So this event is only
    noticed when the next interrupt happens.

    Without this patch an i.MX28 based machine running an rt-patched kernel
    regularly hangs during boot.

    Cc: stable@vger.kernel.org # v2.6.39+
    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Greg Kroah-Hartman

    Uwe Kleine-König
     

25 Jul, 2013

3 commits

  • ttyTHS is consistent with the name used in driver.

    Signed-off-by: Richard Zhao
    Acked-by: Stephen Warren
    Signed-off-by: Greg Kroah-Hartman

    Richard Zhao
     
  • The earlier change to use strlcpy uncovered a bug in the options
    argument length calculation causing last character to be truncated.
    This makes the actual console to be configured with incorrect
    baudrate when specifying the console using console=uart,... syntax.

    Bug symptom seen in kernel log output:

    Kernel command line: console=uart,mmio,0x90000000,115200
    Early serial console at MMIO 0x90000000 (options '11520')

    which then results in a invalid baud rate 11520 instead of the
    expected 115200 when the console is switched to ttyS0 later
    in the boot process.

    Signed-off-by: Henrik Nordstrom
    Signed-off-by: Greg Kroah-Hartman

    Henrik Nordström
     
  • This is a static checker fix and I don't have a way to test it. But
    from the context it looks like this is a typo where SCABUFSIZE was
    intended instead of sizeof(SCABUFSIZE). SCABUFSIZE is 1024 and
    sizeof(int) is 4. I would suspect this is a bad bug.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     

14 Jul, 2013

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "MIPS updates:

    - All the things that didn't make 3.10.
    - Removes the Windriver PPMC platform. Nobody will miss it.
    - Remove a workaround from kernel/irq/irqdomain.c which was there
    exclusivly for MIPS. Patch by Grant Likely.
    - More small improvments for the SEAD 3 platform
    - Improvments on the BMIPS / SMP support for the BCM63xx series.
    - Various cleanups of dead leftovers.
    - Platform support for the Cavium Octeon-based EdgeRouter Lite.

    Two large KVM patchsets didn't make it for this pull request because
    their respective authors are vacationing"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (124 commits)
    MIPS: Kconfig: Add missing MODULES dependency to VPE_LOADER
    MIPS: BCM63xx: CLK: Add dummy clk_{set,round}_rate() functions
    MIPS: SEAD3: Disable L2 cache on SEAD-3.
    MIPS: BCM63xx: Enable second core SMP on BCM6328 if available
    MIPS: BCM63xx: Add SMP support to prom.c
    MIPS: define write{b,w,l,q}_relaxed
    MIPS: Expose missing pci_io{map,unmap} declarations
    MIPS: Malta: Update GCMP detection.
    Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET"
    MIPS: APSP: Remove
    SSB: Kconfig: Amend SSB_EMBEDDED dependencies
    MIPS: microMIPS: Fix improper definition of ISA exception bit.
    MIPS: Don't try to decode microMIPS branch instructions where they cannot exist.
    MIPS: Declare emulate_load_store_microMIPS as a static function.
    MIPS: Fix typos and cleanup comment
    MIPS: Cleanup indentation and whitespace
    MIPS: BMIPS: support booting from physical CPU other than 0
    MIPS: Only set cpu_has_mmips if SYS_SUPPORTS_MICROMIPS
    MIPS: GIC: Fix gic_set_affinity infinite loop
    MIPS: Don't save/restore OCTEON wide multiplier state on syscalls.
    ...

    Linus Torvalds
     

05 Jul, 2013

2 commits

  • Pull input updates from Dmitry Torokhov:
    "First round of updates for the input subsystem.

    You will get a new touchsreen driver for Cypress 4th generation
    devices, a driver for a special controller implementing PS/2 protocol
    in OLPC devices, and a driver for power key for SiRFprimaII PWRC.

    HID and bcm5497 now support for the 2013 MacBook Air.

    EVIOCGKEY and the rest of evdev ioctls now flush events of matching
    type from the client's event queue so that clients can be sure any
    events received after issuing EVIOCG* ioctl are new events.

    And a host of cleanups and improvements in other drivers"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (87 commits)
    Input: cyttsp4 - kfree xfer_buf on error path in probe()
    Input: tps6507x-ts - select INPUT_POLLDEV
    Input: bcm5974 - add support for the 2013 MacBook Air
    HID: apple: Add support for the 2013 Macbook Air
    Input: cyttsp4 - leak on error path in probe()
    Input: cyttsp4 - silence NULL dereference warning
    Input: cyttsp4 - silence shift wrap warning
    Input: tps6507x-ts - convert to polled input device infrastructure
    ARM: davinci: da850-evm: remove vref from touchscreen platform data
    Input: cyttsp4 - SPI driver for Cypress TMA4XX touchscreen devices
    Input: cyttsp4 - I2C driver for Cypress TMA4XX touchscreen devices
    Input: cyttsp4 - add core driver for Cypress TMA4XX touchscreen devices
    Input: cyttsp - I2C driver split into two modules
    Input: add OLPC AP-SP driver
    Input: nspire-keypad - remove redundant dev_err call in nspire_keypad_probe()
    Input: tps6507x-ts - remove vref from platform data
    Input: tps6507x-ts - use bool for booleans
    Input: tps6507x-ts - remove bogus unreachable code
    Input: samsung-keypad - let device core setup the default pin configuration
    Input: wacom_i2c - implement hovering capability
    ...

    Linus Torvalds
     
  • Pull trivial tree updates from Jiri Kosina:
    "The usual stuff from trivial tree"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits)
    treewide: relase -> release
    Documentation/cgroups/memory.txt: fix stat file documentation
    sysctl/net.txt: delete reference to obsolete 2.4.x kernel
    spinlock_api_smp.h: fix preprocessor comments
    treewide: Fix typo in printk
    doc: device tree: clarify stuff in usage-model.txt.
    open firmware: "/aliasas" -> "/aliases"
    md: bcache: Fixed a typo with the word 'arithmetic'
    irq/generic-chip: fix a few kernel-doc entries
    frv: Convert use of typedef ctl_table to struct ctl_table
    sgi: xpc: Convert use of typedef ctl_table to struct ctl_table
    doc: clk: Fix incorrect wording
    Documentation/arm/IXP4xx fix a typo
    Documentation/networking/ieee802154 fix a typo
    Documentation/DocBook/media/v4l fix a typo
    Documentation/video4linux/si476x.txt fix a typo
    Documentation/virtual/kvm/api.txt fix a typo
    Documentation/early-userspace/README fix a typo
    Documentation/video4linux/soc-camera.txt fix a typo
    lguest: fix CONFIG_PAE -> CONFIG_x86_PAE in comment
    ...

    Linus Torvalds
     

04 Jul, 2013

3 commits

  • Pull power management and ACPI updates from Rafael Wysocki:
    "This time the total number of ACPI commits is slightly greater than
    the number of cpufreq commits, but Viresh Kumar (who works on cpufreq)
    remains the most active patch submitter.

    To me, the most significant change is the addition of offline/online
    device operations to the driver core (with the Greg's blessing) and
    the related modifications of the ACPI core hotplug code. Next are the
    freezer updates from Colin Cross that should make the freezing of
    tasks a bit less heavy weight.

    We also have a couple of regression fixes, a number of fixes for
    issues that have not been identified as regressions, two new drivers
    and a bunch of cleanups all over.

    Highlights:

    - Hotplug changes to support graceful hot-removal failures.

    It sometimes is necessary to fail device hot-removal operations
    gracefully if they cannot be carried out completely. For example,
    if memory from a memory module being hot-removed has been allocated
    for the kernel's own use and cannot be moved elsewhere, it's
    desirable to fail the hot-removal operation in a graceful way
    rather than to crash the kernel, but currenty a success or a kernel
    crash are the only possible outcomes of an attempted memory
    hot-removal. Needless to say, that is not a very attractive
    alternative and it had to be addressed.

    However, in order to make it work for memory, I first had to make
    it work for CPUs and for this purpose I needed to modify the ACPI
    processor driver. It's been split into two parts, a resident one
    handling the low-level initialization/cleanup and a modular one
    playing the actual driver's role (but it binds to the CPU system
    device objects rather than to the ACPI device objects representing
    processors). That's been sort of like a live brain surgery on a
    patient who's riding a bike.

    So this is a little scary, but since we found and fixed a couple of
    regressions it caused to happen during the early linux-next testing
    (a month ago), nobody has complained.

    As a bonus we remove some duplicated ACPI hotplug code, because the
    ACPI-based CPU hotplug is now going to use the common ACPI hotplug
    code.

    - Lighter weight freezing of tasks.

    These changes from Colin Cross and Mandeep Singh Baines are
    targeted at making the freezing of tasks a bit less heavy weight
    operation. They reduce the number of tasks woken up every time
    during the freezing, by using the observation that the freezer
    simply doesn't need to wake up some of them and wait for them all
    to call refrigerator(). The time needed for the freezer to decide
    to report a failure is reduced too.

    Also reintroduced is the check causing a lockdep warining to
    trigger when try_to_freeze() is called with locks held (which is
    generally unsafe and shouldn't happen).

    - cpufreq updates

    First off, a commit from Srivatsa S Bhat fixes a resume regression
    introduced during the 3.10 cycle causing some cpufreq sysfs
    attributes to return wrong values to user space after resume. The
    fix is kind of fresh, but also it's pretty obvious once Srivatsa
    has identified the root cause.

    Second, we have a new freqdomain_cpus sysfs attribute for the
    acpi-cpufreq driver to provide information previously available via
    related_cpus. From Lan Tianyu.

    Finally, we fix a number of issues, mostly related to the
    CPUFREQ_POSTCHANGE notifier and cpufreq Kconfig options and clean
    up some code. The majority of changes from Viresh Kumar with bits
    from Jacob Shin, Heiko Stübner, Xiaoguang Chen, Ezequiel Garcia,
    Arnd Bergmann, and Tang Yuantian.

    - ACPICA update

    A usual bunch of updates from the ACPICA upstream.

    During the 3.4 cycle we introduced support for ACPI 5 extended
    sleep registers, but they are only supposed to be used if the
    HW-reduced mode bit is set in the FADT flags and the code attempted
    to use them without checking that bit. That caused suspend/resume
    regressions to happen on some systems. Fix from Lv Zheng causes
    those registers to be used only if the HW-reduced mode bit is set.

    Apart from this some other ACPICA bugs are fixed and code cleanups
    are made by Bob Moore, Tomasz Nowicki, Lv Zheng, Chao Guan, and
    Zhang Rui.

    - cpuidle updates

    New driver for Xilinx Zynq processors is added by Michal Simek.

    Multidriver support simplification, addition of some missing
    kerneldoc comments and Kconfig-related fixes come from Daniel
    Lezcano.

    - ACPI power management updates

    Changes to make suspend/resume work correctly in Xen guests from
    Konrad Rzeszutek Wilk, sparse warning fix from Fengguang Wu and
    cleanups and fixes of the ACPI device power state selection
    routine.

    - ACPI documentation updates

    Some previously missing pieces of ACPI documentation are added by
    Lv Zheng and Aaron Lu (hopefully, that will help people to
    uderstand how the ACPI subsystem works) and one outdated doc is
    updated by Hanjun Guo.

    - Assorted ACPI updates

    We finally nailed down the IA-64 issue that was the reason for
    reverting commit 9f29ab11ddbf ("ACPI / scan: do not match drivers
    against objects having scan handlers"), so we can fix it and move
    the ACPI scan handler check added to the ACPI video driver back to
    the core.

    A mechanism for adding CMOS RTC address space handlers is
    introduced by Lan Tianyu to allow some EC-related breakage to be
    fixed on some systems.

    A spec-compliant implementation of acpi_os_get_timer() is added by
    Mika Westerberg.

    The evaluation of _STA is added to do_acpi_find_child() to avoid
    situations in which a pointer to a disabled device object is
    returned instead of an enabled one with the same _ADR value. From
    Jeff Wu.

    Intel BayTrail PCH (Platform Controller Hub) support is added to
    the ACPI driver for Intel Low-Power Subsystems (LPSS) and that
    driver is modified to work around a couple of known BIOS issues.
    Changes from Mika Westerberg and Heikki Krogerus.

    The EC driver is fixed by Vasiliy Kulikov to use get_user() and
    put_user() instead of dereferencing user space pointers blindly.

    Code cleanups are made by Bjorn Helgaas, Nicholas Mazzuca and Toshi
    Kani.

    - Assorted power management updates

    The "runtime idle" helper routine is changed to take the return
    values of the callbacks executed by it into account and to call
    rpm_suspend() if they return 0, which allows us to reduce the
    overall code bloat a bit (by dropping some code that's not
    necessary any more after that modification).

    The runtime PM documentation is updated by Alan Stern (to reflect
    the "runtime idle" behavior change).

    New trace points for PM QoS are added by Sahara
    ().

    PM QoS documentation is updated by Lan Tianyu.

    Code cleanups are made and minor issues are addressed by Bernie
    Thompson, Bjorn Helgaas, Julius Werner, and Shuah Khan.

    - devfreq updates

    New driver for the Exynos5-bus device from Abhilash Kesavan.

    Minor cleanups, fixes and MAINTAINERS update from MyungJoo Ham,
    Abhilash Kesavan, Paul Bolle, Rajagopal Venkat, and Wei Yongjun.

    - OMAP power management updates

    Adaptive Voltage Scaling (AVS) SmartReflex voltage control driver
    updates from Andrii Tseglytskyi and Nishanth Menon."

    * tag 'pm+acpi-3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (162 commits)
    cpufreq: Fix cpufreq regression after suspend/resume
    ACPI / PM: Fix possible NULL pointer deref in acpi_pm_device_sleep_state()
    PM / Sleep: Warn about system time after resume with pm_trace
    cpufreq: don't leave stale policy pointer in cdbs->cur_policy
    acpi-cpufreq: Add new sysfs attribute freqdomain_cpus
    cpufreq: make sure frequency transitions are serialized
    ACPI: implement acpi_os_get_timer() according the spec
    ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan
    ACPI: Add CMOS RTC Operation Region handler support
    ACPI / processor: Drop unused variable from processor_perflib.c
    cpufreq: tegra: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: s3c64xx: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: omap: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: imx6q: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: exynos: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: dbx500: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: davinci: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: arm-big-little: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: powernow-k8: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: pcc: call CPUFREQ_POSTCHANGE notfier in error cases
    ...

    Linus Torvalds
     
  • …/linusw/linux-pinctrl

    Pull pin control changes from Linus Walleij:

    - A large slew of improvements of the Genric pin configuration support,
    and deployment in four different platforms: Rockchip, Super-H PFC,
    ABx500 and TZ1090. Support BIAS_BUS_HOLD, get device tree parsing
    and debugfs support into shape.

    - We also have device tree support with generic naming conventions for
    the generic pin configuration.

    - Delete the unused and confusing direct pinconf API. Now state
    transitions is *the* way to control pins and multiplexing.

    - New drivers for Rockchip, TZ1090, and TZ1090 PDC.

    - Two pin control states related to power management are now handled in
    the device core: "sleep" and "idle", removing a lot of boilerplate
    code in drivers. We do not yet know if this is the final word for
    pin PM, but it already make things a lot easier to handle.

    - Handle sparse GPIO ranges passing a list of disparate pins, and
    utilize these in the new BayTrail (x86 Atom SoC) driver.

    - Make the sunxi (AllWinner) driver handle external interrupts.

    - Make it possible for pinctrl-single to handle the case where several
    pins are managed by a single register, and augment it to handle sleep
    modes.

    - Cleanups and improvements for the abx500 drivers.

    - Move Sirf pin control drivers to their own directory, support
    save/restore of context and add support for the SiRFatlas6 SoC.

    - PMU muxing for the Dove pinctrl driver.

    - Finalization and support for VF610 in the i.MX6 pinctrl driver.

    - Smoothen out various Exynos rough edges.

    - Generic cleanups of various kinds.

    * tag 'pinctrl-for-v3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (82 commits)
    pinctrl: vt8500: wmt: remove redundant dev_err call in wmt_pinctrl_probe()
    pinctrl: remove bindings for pinconf options needing more thought
    pinctrl: remove slew-rate parameter from tz1090
    pinctrl: set unit for debounce time pinconfig to usec
    pinctrl: more clarifications for generic pull configs
    pinctrl: rip out the direct pinconf API
    pinctrl-tz1090-pdc: add TZ1090 PDC pinctrl driver
    pinctrl-tz1090: add TZ1090 pinctrl driver
    pinctrl: samsung: Staticize drvdata_list
    pinctrl: rockchip: Add missing irq_gc_unlock() call before return error
    pinctrl: abx500: rework error path
    pinctrl: abx500: suppress hardcoded value
    pinctrl: abx500: factorize code
    pinctrl: abx500: fix abx500_gpio_get()
    pinctrl: abx500: fix abx500_pin_config_set()
    pinctrl: abx500: Add device tree support
    sh-pfc: Guard DT parsing with #ifdef CONFIG_OF
    pinctrl: add Intel BayTrail GPIO/pinctrl support
    pinctrl: fix pinconf_ops::pin_config_dbg_parse_modify kerneldoc
    pinctrl: Staticize local symbols
    ...

    Conflicts:
    drivers/net/ethernet/ti/davinci_mdio.c
    drivers/pinctrl/Makefile

    Linus Torvalds
     
  • Pull second set of VFS changes from Al Viro:
    "Assorted f_pos race fixes, making do_splice_direct() safe to call with
    i_mutex on parent, O_TMPFILE support, Jeff's locks.c series,
    ->d_hash/->d_compare calling conventions changes from Linus, misc
    stuff all over the place."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
    Document ->tmpfile()
    ext4: ->tmpfile() support
    vfs: export lseek_execute() to modules
    lseek_execute() doesn't need an inode passed to it
    block_dev: switch to fixed_size_llseek()
    cpqphp_sysfs: switch to fixed_size_llseek()
    tile-srom: switch to fixed_size_llseek()
    proc_powerpc: switch to fixed_size_llseek()
    ubi/cdev: switch to fixed_size_llseek()
    pci/proc: switch to fixed_size_llseek()
    isapnp: switch to fixed_size_llseek()
    lpfc: switch to fixed_size_llseek()
    locks: give the blocked_hash its own spinlock
    locks: add a new "lm_owner_key" lock operation
    locks: turn the blocked_list into a hashtable
    locks: convert fl_link to a hlist_node
    locks: avoid taking global lock if possible when waking up blocked waiters
    locks: protect most of the file_lock handling with i_lock
    locks: encapsulate the fl_link list handling
    locks: make "added" in __posix_lock_file a bool
    ...

    Linus Torvalds
     

03 Jul, 2013

3 commits

  • Pull ARM SoC late changes from Arnd Bergmann:
    "These are changes that arrived a little late before the merge window
    or that have multiple dependencies on previous branches so they did
    not fit into one of the earlier ones. There are 10 branches merged
    here, a total of 39 non-merge commits. Contents are a mixed bag for
    the above reasons:

    * Two new SoC platforms: ST microelectronics stixxxx and the TI
    'Nspire' graphing calculator. These should have been in the 'soc'
    branch but were a little late
    * Support for the Exynos 5420 variant in mach-exynos, which is based
    on the other exynos branches to avoid conflicts.
    * Various small changes for sh-mobile, ux500 and davinci
    * Common clk support for MSM"

    * tag 'late-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (39 commits)
    ARM: ux500: bail out on alien cpus
    ARM: davinci: da850: adopt to pinctrl-single change for configuring multiple pins
    serial: sh-sci: Initialise variables before access in sci_set_termios()
    ARM: stih41x: Add B2020 board support
    ARM: stih41x: Add B2000 board support
    ARM: sti: Add DEBUG_LL console support
    ARM: sti: Add STiH416 SOC support
    ARM: sti: Add STiH415 SOC support
    ARM: msm: Migrate to common clock framework
    ARM: msm: Make proc_comm clock control into a platform driver
    ARM: msm: Prepare clk_get() users in mach-msm for clock-pcom driver
    ARM: msm: Remove clock-7x30.h include file
    ARM: msm: Remove custom clk_set_{max,min}_rate() API
    ARM: msm: Remove custom clk_set_flags() API
    msm: iommu: Use clk_set_rate() instead of clk_set_min_rate()
    msm: iommu: Convert to clk_prepare/unprepare
    msm_sdcc: Convert to clk_prepare/unprepare
    usb: otg: msm: Convert to clk_prepare/unprepare
    msm_serial: Use devm_clk_get() and properly return errors
    msm_serial: Convert to clk_prepare/unprepare
    ...

    Linus Torvalds
     
  • Pull ARM SoC specific changes from Arnd Bergmann:
    "These changes are all to SoC-specific code, a total of 33 branches on
    17 platforms were pulled into this. Like last time, Renesas sh-mobile
    is now the platform with the most changes, followed by OMAP and
    EXYNOS.

    Two new platforms, TI Keystone and Rockchips RK3xxx are added in this
    branch, both containing almost no platform specific code at all, since
    they are using generic subsystem interfaces for clocks, pinctrl,
    interrupts etc. The device drivers are getting merged through the
    respective subsystem maintainer trees.

    One more SoC (u300) is now multiplatform capable and several others
    (shmobile, exynos, msm, integrator, kirkwood, clps711x) are moving
    towards that goal with this series but need more work.

    Also noteworthy is the work on PCI here, which is traditionally part
    of the SoC specific code. With the changes done by Thomas Petazzoni,
    we can now more easily have PCI host controller drivers as loadable
    modules and keep them separate from the platform code in
    drivers/pci/host. This has already led to the discovery that three
    platforms (exynos, spear and imx) are actually using an identical PCIe
    host controller and will be able to share a driver once support for
    spear and imx is added."

    * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (480 commits)
    ARM: integrator: let pciv3 use mem/premem from device tree
    ARM: integrator: set local side PCI addresses right
    ARM: dts: Add pcie controller node for exynos5440-ssdk5440
    ARM: dts: Add pcie controller node for Samsung EXYNOS5440 SoC
    ARM: EXYNOS: Enable PCIe support for Exynos5440
    pci: Add PCIe driver for Samsung Exynos
    ARM: OMAP5: voltagedomain data: remove temporary OMAP4 voltage data
    ARM: keystone: Move CPU bringup code to dedicated asm file
    ARM: multiplatform: always pick one CPU type
    ARM: imx: select syscon for IMX6SL
    ARM: keystone: select ARM_ERRATA_798181 only for SMP
    ARM: imx: Synertronixx scb9328 needs to select SOC_IMX1
    ARM: OMAP2+: AM43x: resolve SMP related build error
    dmaengine: edma: enable build for AM33XX
    ARM: edma: Add EDMA crossbar event mux support
    ARM: edma: Add DT and runtime PM support to the private EDMA API
    dmaengine: edma: Add TI EDMA device tree binding
    arm: add basic support for Rockchip RK3066a boards
    arm: add debug uarts for rockchip rk29xx and rk3xxx series
    arm: Add basic clocks for Rockchip rk3066a SoCs
    ...

    Linus Torvalds
     
  • …ernel/git/arm/arm-soc

    Pull ARM SoC non-cricitical bug fixes from Arnd Bergmann:
    "These are various bug fixes that were not considered important enough
    for merging into 3.10.

    The majority of the ARM fixes are for the OMAP and at91 platforms, and
    there is another set of bug fixes for device drivers that resolve
    'randconfig' build errors and that the subsystem maintainers either
    did not pick up or preferred to get merged through the arm-soc tree."

    * tag 'fixes-non-critical-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
    ARM: at91/PMC: use at91_usb_rate() for UTMI PLL
    ARM: at91/PMC: fix at91sam9n12 USB FS init
    ARM: at91/PMC: at91sam9n12 family has a PLLB
    ARM: at91/PMC: sama5d3 family doesn't have a PLLB
    ARM: tegra: fix section mismatch in tegra_pmc_parse_dt
    ARM: mxs: don't select HAVE_PWM
    ARM: mxs: stub out mxs_pm_init for !CONFIG_PM
    cpuidle: calxeda: select ARM_CPU_SUSPEND
    ARM: mvebu: fix length of ethernet registers in mv78260 dtsi
    ARM: at91: cpuidle: Fix target_residency
    ARM: at91: fix at91_extern_irq usage for non-dt boards
    ARM: sirf: use CONFIG_SIRF rather than CONFIG_PRIMA2 where necessary
    clocksource: kona: adapt to CLOCKSOURCE_OF_DECLARE change
    X.509: do not emit any informational output
    mtd: omap2: allow bulding as a module
    [SCSI] nsp32: use mdelay instead of large udelay constants
    hwrng: bcm2835: fix MODULE_LICENSE tag
    ARM: at91: Change the internal SRAM memory type MT_MEMORY_NONCACHED
    ARM: at91: Fix link breakage when !CONFIG_PHYLIB
    MAINTAINERS: Add exynos filename match to ARM/S5P EXYNOS ARM ARCHITECTURES
    ...

    Linus Torvalds
     

01 Jul, 2013

2 commits

  • A few differences needed by OCTEON:

    o These are DWC UARTS, but have USR at a different offset.

    o Internal SoC buses require reading back from registers to maintain
    write ordering.

    o 8250 on OCTEON appears with 64-bit wide registers, so when using
    readb/writeb in big endian mode we have to adjust the membase to hit
    the proper part of the register.

    o No UCV register, so we hard code some properties.

    Because OCTEON doesn't have a UCV register, I change where
    dw8250_setup_port(), which reads the UCV, is called by pushing it in
    to the OF and ACPI probe functions, and move unchanged
    dw8250_setup_port() earlier in the file.

    Signed-off-by: David Daney
    Acked-by: Greg Kroah-Hartman
    Cc: Arnd Bergmann
    Cc: Heikki Krogerus
    Cc: linux-mips@linux-mips.org
    Cc: Jamie Iles
    Cc: Jiri Slaby
    Cc: linux-serial@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/5516/
    Acked-by: Arnd Bergmann
    Reviewed-by: Heikki Krogerus
    Signed-off-by: Ralf Baechle

    David Daney
     
  • …9835 Multi-I/O Controller"

    This reverts commit 8d2f8cd424ca0b99001f3ff4f5db87c4e525f366.

    As reported by Stefan, this device already works with the parport_serial
    driver, so the 8250_pci driver should not also try to grab it as well.

    Reported-by: Stefan Seyfried <stefan.seyfried@googlemail.com>
    Cc: Wang YanQing <udknight@gmail.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    Greg Kroah-Hartman
     

29 Jun, 2013

1 commit


28 Jun, 2013

3 commits

  • * pm-assorted:
    PM / QoS: Add pm_qos and dev_pm_qos to events-power.txt
    PM / QoS: Add dev_pm_qos_request tracepoints
    PM / QoS: Add pm_qos_request tracepoints
    PM / QoS: Add pm_qos_update_target/flags tracepoints
    PM / QoS: Update Documentation/power/pm_qos_interface.txt
    PM / Sleep: Print last wakeup source on failed wakeup_count write
    PM / QoS: correct the valid range of pm_qos_class
    PM / wakeup: Adjust messaging for wake events during suspend
    PM / Runtime: Update .runtime_idle() callback documentation
    PM / Runtime: Rework the "runtime idle" helper routine
    PM / Hibernate: print physical addresses consistently with other parts of kernel

    Rafael J. Wysocki
     
  • Pull in changes from Henrik: "a trivial MT documentation fix".

    Dmitry Torokhov
     
  • …/davidb/linux-msm into next/late

    From David Brown:
    MSM clock updates for 3.11.

    Per Stephen Boyd's coverletter:

    Resending to collect higher level maintainer acks per Olof's request.
    The plan is to push this patchset through MSM to the arm-soc tree.

    This patchset moves the existing MSM clock code and affected drivers
    to the common clock framework. A prerequisite of moving to the common
    clock framework is to use clk_prepare() and clk_enable() so the first
    few patches migrate drivers to that call (clk_prepare() is a no-op on
    MSM right now). It also removes some custom clock APIs that MSM
    provides and finally moves the proc_comm clock code to the common
    struct clk.

    This patch series will be used as the foundation of the MSM 8660/8960
    clock code that I plan to send out after this series.

    * tag 'msm-clock-for-3.11b' of git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm:
    ARM: msm: Migrate to common clock framework
    ARM: msm: Make proc_comm clock control into a platform driver
    ARM: msm: Prepare clk_get() users in mach-msm for clock-pcom driver
    ARM: msm: Remove clock-7x30.h include file
    ARM: msm: Remove custom clk_set_{max,min}_rate() API
    ARM: msm: Remove custom clk_set_flags() API
    msm: iommu: Use clk_set_rate() instead of clk_set_min_rate()
    msm: iommu: Convert to clk_prepare/unprepare
    msm_sdcc: Convert to clk_prepare/unprepare
    usb: otg: msm: Convert to clk_prepare/unprepare
    msm_serial: Use devm_clk_get() and properly return errors
    msm_serial: Convert to clk_prepare/unprepare

    Acked-by: Chris Ball <cjb@laptop.org> # for msm_sdcc.c
    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

27 Jun, 2013

1 commit

  • …l/git/horms/renesas into next/late

    Renesas sh-sci updates for v3.11

    HSCIF support by Ulrich Hecht.

    * tag 'renesas-sh-sci-for-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
    serial: sh-sci: Initialise variables before access in sci_set_termios()
    ARM: shmobile: r8a7790: don't use external clock for SCIFs
    ARM: shmobile: r8a7790: HSCIF support
    serial: sh-sci: HSCIF support

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     

26 Jun, 2013

2 commits

  • This change addresses two warnings that are flagged by gcc relating to
    potential access to the ssr and cks variables while they are uninitialised.

    I have addressed this by initialising the values to
    the defaults present in sci_baud_calc_hscif().

    It is my analysis that cks is always initialised if used
    but that without this change ssr may be accessed while uninitialised.

    The code altered by this patch was introduced by commit
    f303b364b41d3fc5bf879799128958400b7859aa ("serial: sh-sci: HSCIF support").

    Reported-by: Arnd Bergmann
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Simon Horman

    Simon Horman
     
  • Use DMI_BOARD_NAME to determine if we are running on a MinnowBoard and
    set the uart clock to 50MHz if so. This removes the need to pass the
    user_uartclk to the kernel at boot time.

    Signed-off-by: Darren Hart
    Cc: Jiri Slaby
    Cc: "H. Peter Anvin"
    Cc: Peter Waskiewicz
    Cc: Andy Shevchenko
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Darren Hart
     

25 Jun, 2013

4 commits

  • Replace clk_enable/disable with clk_prepare_enable/disable_unprepare to
    avoid common clk framework warnings.

    Signed-off-by: Boris BREZILLON
    Acked-by: Nicolas Ferre
    Signed-off-by: Greg Kroah-Hartman

    Boris BREZILLON
     
  • We want the tty fixes in this branch as well.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Clocks are not clk_put() in this driver's error paths during
    probe. The code that checks for clock errors also fails to
    properly return the error code from the pclk member if it turns
    out to be the failing clock, leading to potentially confusing
    error values if the clk member is not an error pointer. Fix these
    problems with devm_clk_get() and proper error checking.

    Removing the clk_put() in msm_serial_remove() also points out
    that msm_port is unused. Furthermore, msm_port is the wrong type
    and so the clk_put() would be using the wrong pointer. Replace it
    with the proper type and call uart_remove_one_port() to do the
    proper cleanup.

    Cc: Greg Kroah-Hartman
    Signed-off-by: Stephen Boyd
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: David Brown

    Stephen Boyd
     
  • Add calls to clk_prepare and unprepare so that MSM can migrate to
    the common clock framework.

    Cc: Greg Kroah-Hartman
    Signed-off-by: Stephen Boyd
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: David Brown

    Stephen Boyd
     

23 Jun, 2013

1 commit


20 Jun, 2013

1 commit

  • I got a build error today that made me realize that it is not
    possible to build a kernel for a SiRF platform without enabling
    CONFIG_PRIMA2, since a lot of common code depends on CONFIG_PRIMA2.

    This fixes all occurences that appear like common SiRF code.

    Signed-off-by: Arnd Bergmann
    Acked-by: Wolfram Sang
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Barry Song
    Acked-by: Mike Turquette

    Arnd Bergmann
     

19 Jun, 2013

2 commits


18 Jun, 2013

6 commits

  • Commit 19ffd68f816878aed456d5e87697f43bd9e3bd2b
    ('pty: Remove redundant itty reset') introduced a regression
    whereby the other pty's linkage is not cleared on teardown.
    This triggers a false positive diagnostic in testing.

    Properly reset the itty linkage.

    Signed-off-by: Peter Hurley
    Cc: stable # 3.10
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     
  • Although the driver-side input path must update the available
    buffer space, it should not reschedule itself. If space is still
    available and the flip buffers are not empty, flush_to_ldisc()
    will loop again.

    Signed-off-by: Peter Hurley
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     
  • receive_room is used to control the amount of data the flip
    buffer work can push to the read buffer. This update is unsafe:

    CPU 0 | CPU 1
    |
    | n_tty_read()
    | n_tty_set_room()
    | left =
    n_tty_receive_buf() |
    |
    n_tty_set_room() |
    left = |
    tty->receive_room = left |
    | tty->receive_room = left

    receive_room is now updated with a stale calculation of the
    available buffer space, and the subsequent work loop will likely
    overwrite unread data in the input buffer.

    Update receive_room atomically with the calculation of the
    available buffer space.

    Signed-off-by: Peter Hurley
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     
  • Signed-off-by: Peter Hurley
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     
  • minimum_to_wake is unique to N_TTY processing, and belongs in
    per-ldisc data.

    Add the ldisc method, ldisc_ops::fasync(), to notify line disciplines
    when signal-driven I/O is enabled or disabled. When enabled for N_TTY
    (by fcntl(F_SETFL, O_ASYNC)), blocking reader/polls will be woken
    for any readable input. When disabled, blocking reader/polls are not
    woken until the read buffer is full.

    Canonical mode (L_ICANON(tty), n_tty_data::icanon) is not affected by
    the minimum_to_wake setting.

    Signed-off-by: Peter Hurley
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     
  • In the runtime_suspend function pdata is not being used, and
    also blocks the function in device tree based booting. Fix it
    by removing the unused pdata from the runtime_suspend function.

    Further, context loss count is not being passed in pdata, so
    let's just reinitialize the port every time for those case.
    This can be further optimized later on for the device tree
    case by adding detection for the hardware state and possibly
    by adding a driver specific autosuspend timeout.

    And doing this, we can then make the related dev_err into a
    dev_dbg message instead of an error.

    In order for the wake-up events to work, we also need to set
    autosuspend_timeout to -1 if 0, and also device_init_wakeup()
    as that's not being done by the platform init code for the
    device tree case.

    Note that this does not affect legacy booting, and in fact
    might make it work for the cases where the context loss info
    is not being passed in pdata.

    Thanks to Kevin Hilman for debugging
    and suggesting fixes for the autosuspend_timeout and
    device_init_wakeup() related initializiation.

    Reviewed-by: Kevin Hilman
    Tested-by: Kevin Hilman
    Signed-off-by: Tony Lindgren
    Signed-off-by: Greg Kroah-Hartman

    Tony Lindgren