12 Feb, 2014

4 commits

  • On currently supported SoCs, the GPIO block used on Marvell EBU SoCs
    is always connected to the Marvell MPIC. However, we are going to
    introduce the support for newer Marvell EBU SoCs that use the
    Cortex-A9 core, and therefore use the GIC as their main interrupt
    controller, to which the GPIO block controlled by the gpio-mvebu
    driver is connected.

    The GIC interrupt controller driver uses the fasteoi flow handler. In
    order to ensure that the eoi hook of the GIC driver gets called, the
    GPIO driver should call chained_irq_enter() and chained_irq_exit() in
    its handler. Without this, the first GPIO interrupt locks up the
    system because it doesn't get acked at the GIC level.

    This change is similar to for example commit
    0d978eb7349941139241a99acf05de6dd49b78d1 ("gpio: davinci: use
    chained_irq_enter/chained_irq_exit API").

    Signed-off-by: Thomas Petazzoni
    Acked-by: Jason Cooper
    Signed-off-by: Linus Walleij

    Thomas Petazzoni
     
  • This patch allows GPIO driver to cache GPIO_LVL output registers. The aim is to
    support chipsets on which GPIO_LVL value can't be read for output pins.

    Caching output levels implies the first output values reading as 0. The driver
    so can't be aware of set values GPIOs by bootloader or BIOS.

    Signed-off-by: Vincent Donnefort
    Signed-off-by: Linus Walleij

    Vincent Donnefort
     
  • This patch introduces regs and reglen pointers which allow a chipset to have
    register addresses differing from ICH ones.

    Signed-off-by: Vincent Donnefort
    Signed-off-by: Linus Walleij

    Vincent Donnefort
     
  • This patch allows gpio_ich driver to be aware of non blink capable chipsets.

    Signed-off-by: Vincent Donnefort
    Signed-off-by: Linus Walleij

    Vincent Donnefort
     

07 Feb, 2014

1 commit

  • The documentation was not clear about whether
    gpio_direction_output should take a logical value or the physical
    level on the output line, i.e. whether the ACTIVE_LOW status
    would be taken into account.

    This converts gpiod_direction_output to use the logical level
    and adds a new gpiod_direction_output_raw for the raw value.

    Signed-off-by: Philipp Zabel
    Reviewed-by: Alexandre Courbot
    Signed-off-by: Linus Walleij

    Philipp Zabel
     

06 Feb, 2014

8 commits


03 Feb, 2014

22 commits

  • This is a simple cleanup on gpio-intel-mid.c's header comments.

    Signed-off-by: David Cohen
    Signed-off-by: Linus Walleij

    David Cohen
     
  • Drop the " gpio" suffix after the pl061 irq_chip name:
    this is only confusing: an irqchip name should be a single,
    short, simple string that looks nice in /proc/interrupts.

    Drop the nameing of each individual IRQ to "pl061" - I
    think this naming function is for naming the IRQ line,
    not for boilerplating them all with the name of the
    parent controller, which is already known from the
    .name field of the irq_chip.

    Cc: Haojian Zhuang
    Cc: Deepak Sikri
    Acked-by: Baruch Siach
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • Refactor this function so that I can understand it, do one
    big read/modify/write operation and have the bitmask in a
    variable instead of recalculating it every time it's needed.

    Cc: Haojian Zhuang
    Cc: Deepak Sikri
    Acked-by: Baruch Siach
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • This uses the new API for tagging GPIO lines as in use by
    IRQs. This enforces a few semantic checks on how the underlying
    GPIO line is used.

    Cc: Haojian Zhuang
    Cc: Deepak Sikri
    Acked-by: Baruch Siach
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • This makes the PL061 driver print proper error messages
    when probe fails, and also tell us when the chip is finally
    registered.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • Write a few words on how GPIO drivers supplying an irqchip should
    be written.

    Cc: Thomas Gleixner
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • Linus Torvalds
     
  • Pull parisc updates from Helge Deller:
    "The three major changes in this patchset is a implementation for
    flexible userspace memory maps, cache-flushing fixes (again), and a
    long-discussed ABI change to make EWOULDBLOCK the same value as
    EAGAIN.

    parisc has been the only platform where we had EWOULDBLOCK != EAGAIN
    to keep HP-UX compatibility. Since we will probably never implement
    full HP-UX support, we prefer to drop this compatibility to make it
    easier for us with Linux userspace programs which mostly never checked
    for both values. We don't expect major fall-outs because of this
    change, and if we face some, we will simply rebuild the necessary
    applications in the debian archives"

    * 'parisc-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: add flexible mmap memory layout support
    parisc: Make EWOULDBLOCK be equal to EAGAIN on parisc
    parisc: convert uapi/asm/stat.h to use native types only
    parisc: wire up sched_setattr and sched_getattr
    parisc: fix cache-flushing
    parisc/sti_console: prefer Linux fonts over built-in ROM fonts

    Linus Torvalds
     
  • HPFS needs to load 4 consecutive 512-byte sectors when accessing the
    directory nodes or bitmaps. We can't switch to 2048-byte block size
    because files are allocated in the units of 512-byte sectors.

    Previously, the driver would allocate a 2048-byte area using kmalloc,
    copy the data from four buffers to this area and eventually copy them
    back if they were modified.

    In the current implementation of the buffer cache, buffers are allocated
    in the pagecache. That means that 4 consecutive 512-byte buffers are
    stored in consecutive areas in the kernel address space. So, we don't
    need to allocate extra memory and copy the content of the buffers there.

    This patch optimizes the code to avoid copying the buffers. It checks
    if the four buffers are stored in contiguous memory - if they are not,
    it falls back to allocating a 2048-byte area and copying data there.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Linus Torvalds

    Mikulas Patocka
     
  • Previously, hpfs scanned all bitmaps each time the user asked for free
    space using statfs. This patch changes it so that hpfs scans the
    bitmaps only once, remembes the free space and on next invocation of
    statfs it returns the value instantly.

    New versions of wine are hammering on the statfs syscall very heavily,
    making some games unplayable when they're stored on hpfs, with load
    times in minutes.

    This should be backported to the stable kernels because it fixes
    user-visible problem (excessive level load times in wine).

    Signed-off-by: Mikulas Patocka
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Mikulas Patocka
     
  • Add support for the flexible mmap memory layout (as described in
    http://lwn.net/Articles/91829). This is especially very interesting on
    parisc since we currently only support 32bit userspace (even with a
    64bit Linux kernel).

    Signed-off-by: Helge Deller

    Helge Deller
     
  • On Linux, only parisc uses a different value for EWOULDBLOCK which
    causes a lot of troubles for applications not checking for both values.
    Since the hpux compat is long dead, make EWOULDBLOCK behave the same as
    all other architectures.

    Signed-off-by: Guy Martin
    Signed-off-by: Helge Deller

    Guy Martin
     
  • The stat.h header file is exported to userspace. Some userspace
    applications failed to compile due to missing/unknown types, so we
    better convert it to use native types only (like it's done on other
    architectures too).

    Signed-off-by: Helge Deller

    Helge Deller
     
  • Signed-off-by: Helge Deller

    Helge Deller
     
  • This commit:
    f8dae00684d678afa13041ef170cecfd1297ed40: parisc: Ensure full cache coherency for kmap/kunmap
    caused negative caching side-effects, e.g. hanging processes with expect and
    too many inequivalent alias messages from flush_dcache_page() on Debian 5 systems.

    This patch now partly reverts it and has been in production use on our debian buildd
    makeservers since a week without any major problems.

    Signed-off-by: Helge Deller
    Signed-off-by: John David Anglin
    Cc: stable@vger.kernel.org # v3.9+
    Signed-off-by: Helge Deller

    Helge Deller
     
  • The built-in ROM fonts lack many necessary ASCII characters, which is
    why it makes sens to prefer the Linux fonts instead if they are
    available. This makes consoles on STI graphics cards which are not
    supported by the stifb driver (e.g. Visualize FXe) looks much nicer.

    Signed-off-by: Helge Deller
    Cc: stable@vger.kernel.org # v3.13

    Helge Deller
     
  • Pull hwmon kconfig fixes from Jean Delvare.

    * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    hwmon: Fix SENSORS_TMP102 dependencies to eliminate build errors
    hwmon: Fix SENSORS_LM75 dependencies to eliminate build errors

    Linus Torvalds
     
  • Pull SLAB changes from Pekka Enberg:
    "Random bug fixes that have accumulated in my inbox over the past few
    months"

    * 'slab/next' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:
    mm: Fix warning on make htmldocs caused by slab.c
    mm: slub: work around unneeded lockdep warning
    mm: sl[uo]b: fix misleading comments
    slub: Fix possible format string bug.
    slub: use lockdep_assert_held
    slub: Fix calculation of cpu slabs
    slab.h: remove duplicate kmalloc declaration and fix kernel-doc warnings

    Linus Torvalds
     
  • Pull turbostat updates from Len Brown.

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
    tools/power turbostat: introduce -s to dump counters
    tools/power turbostat: remove unused command line option
    turbostat: Add option to report joules consumed per sample
    turbostat: run on HSX
    turbostat: Add a .gitignore to ignore the compiled turbostat binary
    turbostat: Clean up error handling; disambiguate error messages; use err and errx
    turbostat: Factor out common function to open file and exit on failure
    turbostat: Add a helper to parse a single int out of a file
    turbostat: Check return value of fscanf
    turbostat: Use GCC's CPUID functions to support PIC
    turbostat: Don't attempt to printf an off_t with %zx
    turbostat: Don't put unprocessed uapi headers in the include path

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "Here's a set of patches for (hopefully) -rc1. Some of them are fixes,
    but a good number of them also do things such as enable new drivers in
    the defconfigs for platforms that have such devices, increases
    coverage of the multiplatform defconfig and some DTS changes that
    plumbs up some of the devices that now have bindings and driver
    support.

    The commit dates are recent; we've mostly collected these fixes in the
    last few days but I also had to rebuild the branch yesterday to sort
    out some internal conflicts which reset the timestamps. The changes
    should have been tested by each platform maintainer already (and few
    of them have cross-platform impact) so I'm personally not too
    concerned by it at this time"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (23 commits)
    ARM: multi_v7_defconfig: remove redundant entries and re-enable TI_EDMA
    ARM: multi_v7_defconfig: add mvebu drivers
    clocksource: kona: Add basic use of external clock
    drivers: bus: fix CCI driver kcalloc call parameters swap
    ARM: dts: bcm28155-ap: Fix Card Detection GPIO
    ARM: multi_v7_defconfig: Select CONFIG_AT803X_PHY
    ARM: keystone: config: fix build warning when CONFIG_DMADEVICES is not set
    MAINTAINERS: ARM: SiRF: use regex patterns to involve all SiRF drivers
    ARM: dts: zynq: Add SDHCI nodes
    ARM: hisi: don't select SMP
    ARM: tegra: rebuild tegra_defconfig to add DEBUG_FS
    ARM: multi_v7: copy most options from tegra_defconfig
    ARM: iop32x: fix power off handling for the EM7210 board
    ARM: integrator: restore static map on the CP
    ARM: msm_defconfig: Enable MSM clock drivers
    ARM: dts: msm: Add clock controller nodes and hook into uart
    ARM: OMAP4+: move errata initialization to omap4_pm_init_early
    ARM: OMAP4460: cpuidle: Extend PM_OMAP4_ROM_SMP_BOOT_ERRATUM_GICD on cpuidle
    ARM: mvebu: fix compilation warning on Armada 370 (i.e. non-SMP)
    ARM: shmobile: r8a7790.dtsi: ficx i2c[0-3] clock reference
    ...

    Linus Torvalds
     
  • Similar to what was done for the lm75 driver.

    Add depends on THERMAL since that is what provides the
    register/unregister functions above, but only if THERMAL_OF was
    selected as this is an optional feature of the driver.

    Signed-off-by: Jean Delvare
    Cc: Randy Dunlap
    Acked-by: Eduardo Valentin
    Reviewed-by: Guenter Roeck

    Jean Delvare
     
  • Based on an earlier attempt by Randy Dunlap.

    Fix SENSORS_LM75 dependencies to eliminate build errors:

    drivers/built-in.o: In function `lm75_remove':
    lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
    drivers/built-in.o: In function `lm75_probe':
    lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'

    Add depends on THERMAL since that is what provides the
    register/unregister functions above, but only if THERMAL_OF was
    selected as this is an optional feature of the driver.

    Signed-off-by: Jean Delvare
    Cc: Randy Dunlap
    Acked-by: Eduardo Valentin
    Reviewed-by: Guenter Roeck

    Jean Delvare
     

02 Feb, 2014

5 commits

  • The new option allows just run turbostat and get dump of counter values. It's
    useful when we have something more than one program to test.

    Signed-off-by: Andy Shevchenko
    Signed-off-by: Len Brown

    Andy Shevchenko
     
  • The -s is not used, let's remove it, and update quick help accordingly.

    Signed-off-by: Andy Shevchenko
    Signed-off-by: Len Brown

    Andy Shevchenko
     
  • Pull misc kbuild changes from Michal Marek:
    "The non-critical part of kbuild is small this time:
    - Three fixes for make deb-pkg
    - A new coccinelle check

    One of the deb-pkg fixes is a leftover from the last merge window,
    hence the merge commit"

    * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    deb-pkg: Fix building for MIPS big-endian or ARM OABI
    deb-pkg: Fix cross-building linux-headers package
    scripts: Coccinelle script for pm_runtime_* return checks with IS_ERR_VALUE
    deb-pkg: Inhibit initramfs builders if CONFIG_BLK_DEV_INITRD is not set

    Linus Torvalds
     
  • Both proc files are writeable and used for configuring cells. But
    there is missing correct mode flag for writeable files. Without
    this patch both proc files are read only.

    [ It turns out they aren't really read-only, since root can write to
    them even if the write bit isn't set due to CAP_DAC_OVERRIDE ]

    Signed-off-by: Pali Rohár
    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    Pali Rohár
     
  • With commit d8d14bd09cdd ("fs/compat: fix lookup_dcookie() parameter
    handling") I changed the type of the len parameter of the
    lookup_dcookie() syscall.

    However I missed that there was still a stale declaration in
    arch/tile/.. which now causes a compile error on tile:

    In file included from fs/dcookies.c:28:0:
    include/linux/compat.h:425:17: error: conflicting types for 'compat_sys_lookup_dcookie'
    fs/dcookies.c:207:1: error: conflicting types for 'compat_sys_lookup_dcookie'

    Simply remove the declaration in the tile architecture, which is only a
    leftover from before the different compat lookup_dcookie() versions have
    been merged. The correct declaration is now in include/linux/compat.h

    The build error was reported by Fenguang's build bot.

    Signed-off-by: Heiko Carstens
    Acked-by: Chris Metcalf
    Signed-off-by: Linus Torvalds

    Heiko Carstens