21 Jan, 2016

2 commits

  • Move the generic implementation to now that all
    architectures support it and remove the HAVE_DMA_ATTR Kconfig symbol now
    that everyone supports them.

    [valentinrothberg@gmail.com: remove leftovers in Kconfig]
    Signed-off-by: Christoph Hellwig
    Cc: "David S. Miller"
    Cc: Aurelien Jacquiot
    Cc: Chris Metcalf
    Cc: David Howells
    Cc: Geert Uytterhoeven
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Helge Deller
    Cc: James Hogan
    Cc: Jesper Nilsson
    Cc: Koichi Yasutake
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Mikael Starvik
    Cc: Steven Miao
    Cc: Vineet Gupta
    Cc: Christian Borntraeger
    Cc: Joerg Roedel
    Cc: Sebastian Ott
    Signed-off-by: Valentin Rothberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Signed-off-by: Christoph Hellwig
    Cc: Steven Miao
    Cc: Christian Borntraeger
    Cc: Joerg Roedel
    Cc: Sebastian Ott
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

19 Jan, 2016

1 commit

  • Pull virtio barrier rework+fixes from Michael Tsirkin:
    "This adds a new kind of barrier, and reworks virtio and xen to use it.

    Plus some fixes here and there"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (44 commits)
    checkpatch: add virt barriers
    checkpatch: check for __smp outside barrier.h
    checkpatch.pl: add missing memory barriers
    virtio: make find_vqs() checkpatch.pl-friendly
    virtio_balloon: fix race between migration and ballooning
    virtio_balloon: fix race by fill and leak
    s390: more efficient smp barriers
    s390: use generic memory barriers
    xen/events: use virt_xxx barriers
    xen/io: use virt_xxx barriers
    xenbus: use virt_xxx barriers
    virtio_ring: use virt_store_mb
    sh: move xchg_cmpxchg to a header by itself
    sh: support 1 and 2 byte xchg
    virtio_ring: update weak barriers to use virt_xxx
    Revert "virtio_ring: Update weak barriers to use dma_wmb/rmb"
    asm-generic: implement virt_xxx memory barriers
    x86: define __smp_xxx
    xtensa: define __smp_xxx
    tile: define __smp_xxx
    ...

    Linus Torvalds
     

14 Jan, 2016

1 commit

  • Pull MTD updates from Brian Norris:
    "Generic MTD:

    - populate the MTD device 'of_node' field (and get a proper 'of_node'
    symlink in sysfs)

    This yielded some new helper functions, and changes across a
    variety of drivers

    - partitioning cleanups, to prepare for better device-tree based
    partitioning in the future

    Eliminate a lot of boilerplate for drivers that want to use
    OF-based partition parsing

    The DT bindings for this didn't settle yet, so most non-cleanup
    portions are deferred for a future release

    NAND:

    - embed a struct mtd_info inside struct nand_chip

    This is really long overdue; too many drivers have to do the same
    silly boilerplate to allocate and link up two "independent"
    structs, when in fact, everyone is assuming there is an exact 1:1
    relationship between a NAND chips struct and its underlying MTD.
    This aids improved helpers and should make certain abstractions
    easier in the future.

    Also causes a lot of churn, helped along by some automated code
    transformations

    - add more core support for detecting (and "correcting") bitflips in
    erased pages; requires opt-in by drivers, but at least we kill a
    few bad implementations and hopefully stave off future ones

    - pxa3xx_nand: cleanups, a few fixes, and PM improvements

    - new JZ4780 NAND driver

    SPI NOR:

    - provide default erase function, for controllers that just want to
    send the SECTOR_ERASE command directly

    - fix some module auto-loading issues with device tree
    ("jedec,spi-nor")

    - error handling fixes

    - new Mediatek QSPI flash driver

    Other:

    - cfi: force valid geometry Kconfig (finally!)

    This one used to trip up randconfigs occasionally, since bots
    aren't deterred by big scary "advanced configuration" menus

    More? Probably. See the commit logs"

    * tag 'for-linus-20160112' of git://git.infradead.org/linux-mtd: (168 commits)
    mtd: jz4780_nand: replace if/else blocks with switch/case
    mtd: nand: jz4780: Update ecc correction error codes
    mtd: nandsim: use nand_get_controller_data()
    mtd: jz4780_nand: remove useless mtd->priv = chip assignment
    staging: mt29f_spinand: make use of nand_set/get_controller_data() helpers
    mtd: nand: make use of nand_set/get_controller_data() helpers
    ARM: make use of nand_set/get_controller_data() helpers
    mtd: nand: add helpers to access ->priv
    mtd: nand: jz4780: driver for NAND devices on JZ4780 SoCs
    mtd: nand: jz4740: remove custom 'erased check' implementation
    mtd: nand: diskonchip: remove custom 'erased check' implementation
    mtd: nand: davinci: remove custom 'erased check' implementation
    mtd: nand: use nand_check_erased_ecc_chunk in default ECC read functions
    mtd: nand: return consistent error codes in ecc.correct() implementations
    doc: dt: mtd: new binding for jz4780-{nand,bch}
    mtd: cfi_cmdset_0001: fixing memory leak and handling failed kmalloc
    mtd: spi-nor: wait until lock/unlock operations are ready
    mtd: tests: consolidate kmalloc/memset 0 call to kzalloc
    jffs2: use to_delayed_work
    mtd: nand: assign reasonable default name for NAND drivers
    ...

    Linus Torvalds
     

13 Jan, 2016

2 commits

  • Pull misc vfs updates from Al Viro:
    "All kinds of stuff. That probably should've been 5 or 6 separate
    branches, but by the time I'd realized how large and mixed that bag
    had become it had been too close to -final to play with rebasing.

    Some fs/namei.c cleanups there, memdup_user_nul() introduction and
    switching open-coded instances, burying long-dead code, whack-a-mole
    of various kinds, several new helpers for ->llseek(), assorted
    cleanups and fixes from various people, etc.

    One piece probably deserves special mention - Neil's
    lookup_one_len_unlocked(). Similar to lookup_one_len(), but gets
    called without ->i_mutex and tries to avoid ever taking it. That, of
    course, means that it's not useful for any directory modifications,
    but things like getting inode attributes in nfds readdirplus are fine
    with that. I really should've asked for moratorium on lookup-related
    changes this cycle, but since I hadn't done that early enough... I
    *am* asking for that for the coming cycle, though - I'm going to try
    and get conversion of i_mutex to rwsem with ->lookup() done under lock
    taken shared.

    There will be a patch closer to the end of the window, along the lines
    of the one Linus had posted last May - mechanical conversion of
    ->i_mutex accesses to inode_lock()/inode_unlock()/inode_trylock()/
    inode_is_locked()/inode_lock_nested(). To quote Linus back then:

    -----
    | This is an automated patch using
    |
    | sed 's/mutex_lock(&\(.*\)->i_mutex)/inode_lock(\1)/'
    | sed 's/mutex_unlock(&\(.*\)->i_mutex)/inode_unlock(\1)/'
    | sed 's/mutex_lock_nested(&\(.*\)->i_mutex,[ ]*I_MUTEX_\([A-Z0-9_]*\))/inode_lock_nested(\1, I_MUTEX_\2)/'
    | sed 's/mutex_is_locked(&\(.*\)->i_mutex)/inode_is_locked(\1)/'
    | sed 's/mutex_trylock(&\(.*\)->i_mutex)/inode_trylock(\1)/'
    |
    | with a very few manual fixups
    -----

    I'm going to send that once the ->i_mutex-affecting stuff in -next
    gets mostly merged (or when Linus says he's about to stop taking
    merges)"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
    nfsd: don't hold i_mutex over userspace upcalls
    fs:affs:Replace time_t with time64_t
    fs/9p: use fscache mutex rather than spinlock
    proc: add a reschedule point in proc_readfd_common()
    logfs: constify logfs_block_ops structures
    fcntl: allow to set O_DIRECT flag on pipe
    fs: __generic_file_splice_read retry lookup on AOP_TRUNCATED_PAGE
    fs: xattr: Use kvfree()
    [s390] page_to_phys() always returns a multiple of PAGE_SIZE
    nbd: use ->compat_ioctl()
    fs: use block_device name vsprintf helper
    lib/vsprintf: add %*pg format specifier
    fs: use gendisk->disk_name where possible
    poll: plug an unused argument to do_poll
    amdkfd: don't open-code memdup_user()
    cdrom: don't open-code memdup_user()
    rsxx: don't open-code memdup_user()
    mtip32xx: don't open-code memdup_user()
    [um] mconsole: don't open-code memdup_user_nul()
    [um] hostaudio: don't open-code memdup_user()
    ...

    Linus Torvalds
     
  • This defines __smp_xxx barriers for blackfin,
    for use by virtualization.

    smp_xxx barriers are removed as they are
    defined correctly by asm-generic/barriers.h

    Signed-off-by: Michael S. Tsirkin
    Acked-by: Arnd Bergmann
    Acked-by: Peter Zijlstra (Intel)

    Michael S. Tsirkin
     

12 Jan, 2016

2 commits

  • Pull media updates from Mauro Carvalho Chehab:
    "The part of patches for Kernel 4.5. There's nothing really big here:

    - driver-specific headers for media devices were moved to separate
    directories, in order to make clear what headers belong to the core
    kABI and require documentation

    - Platform data for media drivers were moved from include/media to
    include/linux/platform_data/media

    - add a driver for cs3308 8-channel volume control, used on some
    high-end capture boards

    - lirc.h kAPI header were added at include/uapi/linux

    - Driver cleanups, new board additions and improvements"

    * tag 'media/v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (204 commits)
    [media] rc: sunxi-cir: Initialize the spinlock properly
    [media] rtl2832: do not filter out slave TS null packets
    [media] rtl2832: print reg number on error case
    [media] rtl28xxu: return demod reg page from driver cache
    [media] coda: enable MPEG-2 ES decoding
    [media] coda: don't start streaming without queued buffers
    [media] coda: hook up vidioc_prepare_buf
    [media] coda: relax coda_jpeg_check_buffer for trailing bytes
    [media] coda: make to_coda_video_device static
    [media] s5p-mfc: remove volatile attribute from MFC register addresses
    [media] s5p-mfc: merge together s5p_mfc_hw_call and s5p_mfc_hw_call_void
    [media] s5p-mfc: use spinlock to protect MFC context
    [media] s5p-mfc: remove unnecessary callbacks
    [media] s5p-mfc: make queue cleanup code common
    [media] s5p-mfc: use one implementation of s5p_mfc_get_new_ctx
    [media] s5p-mfc: constify s5p_mfc_codec_ops structures
    [media] au8522: Avoid memory leak for device config data
    [media] ir-lirc-codec.c: don't leak lirc->drv-rbuf
    [media] uvcvideo: small cleanup in uvc_video_clock_update()
    [media] uvcvideo: Fix reading the current exposure value of UVC
    ...

    Linus Torvalds
     
  • Pull locking updates from Ingo Molnar:
    "So we have a laundry list of locking subsystem changes:

    - continuing barrier API and code improvements

    - futex enhancements

    - atomics API improvements

    - pvqspinlock enhancements: in particular lock stealing and adaptive
    spinning

    - qspinlock micro-enhancements"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op
    futex: Cleanup the goto confusion in requeue_pi()
    futex: Remove pointless put_pi_state calls in requeue()
    futex: Document pi_state refcounting in requeue code
    futex: Rename free_pi_state() to put_pi_state()
    futex: Drop refcount if requeue_pi() acquired the rtmutex
    locking/barriers, arch: Remove ambiguous statement in the smp_store_mb() documentation
    lcoking/barriers, arch: Use smp barriers in smp_store_release()
    locking/cmpxchg, arch: Remove tas() definitions
    locking/pvqspinlock: Queue node adaptive spinning
    locking/pvqspinlock: Allow limited lock stealing
    locking/pvqspinlock: Collect slowpath lock statistics
    sched/core, locking: Document Program-Order guarantees
    locking, sched: Introduce smp_cond_acquire() and use it
    locking/pvqspinlock, x86: Optimize the PV unlock code path
    locking/qspinlock: Avoid redundant read of next pointer
    locking/qspinlock: Prefetch the next node cacheline
    locking/qspinlock: Use _acquire/_release() versions of cmpxchg() & xchg()
    atomics: Add test for atomic operations with _relaxed variants

    Linus Torvalds
     

11 Jan, 2016

1 commit

  • * patchwork: (204 commits)
    [media] rc: sunxi-cir: Initialize the spinlock properly
    [media] rtl2832: do not filter out slave TS null packets
    [media] rtl2832: print reg number on error case
    [media] rtl28xxu: return demod reg page from driver cache
    [media] coda: enable MPEG-2 ES decoding
    [media] coda: don't start streaming without queued buffers
    [media] coda: hook up vidioc_prepare_buf
    [media] coda: relax coda_jpeg_check_buffer for trailing bytes
    [media] coda: make to_coda_video_device static
    [media] s5p-mfc: remove volatile attribute from MFC register addresses
    [media] s5p-mfc: merge together s5p_mfc_hw_call and s5p_mfc_hw_call_void
    [media] s5p-mfc: use spinlock to protect MFC context
    [media] s5p-mfc: remove unnecessary callbacks
    [media] s5p-mfc: make queue cleanup code common
    [media] s5p-mfc: use one implementation of s5p_mfc_get_new_ctx
    [media] s5p-mfc: constify s5p_mfc_codec_ops structures
    [media] au8522: Avoid memory leak for device config data
    [media] ir-lirc-codec.c: don't leak lirc->drv-rbuf
    [media] uvcvideo: small cleanup in uvc_video_clock_update()
    [media] uvcvideo: Fix reading the current exposure value of UVC
    ...

    Mauro Carvalho Chehab
     

04 Jan, 2016

1 commit


09 Dec, 2015

1 commit


04 Dec, 2015

1 commit

  • It seems that commit 5dc12ddee93 ("Remove tas()") missed some files.
    Correct this and fully drop this macro, for which we should be using
    cmpxchg() like calls.

    Signed-off-by: Davidlohr Bueso
    Signed-off-by: Peter Zijlstra (Intel)
    Cc:
    Cc: Andrew Morton
    Cc: Aurelien Jacquiot
    Cc: Chris Metcalf
    Cc: David Howells
    Cc: Linus Torvalds
    Cc: Paul E. McKenney
    Cc: Peter Zijlstra
    Cc: Steven Miao
    Cc: Thomas Gleixner
    Cc: dave@stgolabs.net
    Link: http://lkml.kernel.org/r/1445975631-17047-2-git-send-email-dave@stgolabs.net
    Signed-off-by: Ingo Molnar

    Davidlohr Bueso
     

23 Nov, 2015

1 commit

  • There were still a number of references to my old Red Hat email
    address in the kernel source. Remove these while keeping the
    Red Hat copyright notices intact.

    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Arnaldo Carvalho de Melo
    Cc: Jiri Olsa
    Cc: Linus Torvalds
    Cc: Mike Galbraith
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Cc: Vince Weaver
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

17 Nov, 2015

1 commit

  • Currently, include/media is messy, as it contains both the V4L2 core
    headers and some driver-specific headers on the same place. That makes
    harder to identify what core headers should be documented and what
    headers belong to I2C drivers that are included only by bridge/main
    drivers that would require the functions provided by them.

    Let's move those i2c specific files to its own subdirectory.

    The files to move were produced via the following script:
    mkdir include/media/i2c
    (cd include/media; for i in *.h; do n=`echo $i|sed s/.h$/.c/`; if [ -e ../../drivers/media/i2c/$n ]; then echo $i; git mv $i i2c/; fi; done)
    (cd include/media; for i in *.h; do n=`echo $i|sed s/.h$/.c/`; if [ -e ../../drivers/media/*/i2c/$n ]; then echo $i; git mv $i i2c/; fi; done)
    for i in include/media/*.h; do n=`basename $i`; (for j in $(git grep -l $n); do dirname $j; done)|sort|uniq|grep -ve '^.$' > list; num=$(wc -l list|cut -d' ' -f1); if [ $num == 1 ]; then if [ "`grep i2c list`" != "" ]; then git mv $i include/media/i2c; fi; fi; done

    And the references corrected via this script:
    MAIN_DIR="media/"
    PREV_DIR="media/"
    DIRS="i2c/"

    echo "Checking affected files" >&2
    for i in $DIRS; do
    for j in $(find include/$MAIN_DIR/$i -type f -name '*.h'); do
    n=`basename $j`
    git grep -l $n
    done
    done|sort|uniq >files && (
    echo "Handling files..." >&2;
    echo "for i in \$(cat files|grep -v Documentation); do cat \$i | \\";
    (
    cd include/$MAIN_DIR;
    for j in $DIRS; do
    for i in $(ls $j); do
    echo "perl -ne 's,(include [\\\"\\&2;
    echo "for i in MAINTAINERS \$(cat files); do cat \$i | \\";
    (
    cd include/$MAIN_DIR;
    for j in $DIRS; do
    for i in $(ls $j); do
    echo " perl -ne 's,include/$PREV_DIR($i)\b,include/$MAIN_DIR$j\1,; print \$_' |\\";
    done;
    done;
    echo "cat > a && mv a \$i; done"
    );
    ) >script && . ./script

    Merged Sakari Ailus patch that moves smiapp.h to include/media/i2c.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Arnd Bergmann

    Mauro Carvalho Chehab
     

04 Oct, 2015

1 commit

  • Pull strscpy string copy function implementation from Chris Metcalf.

    Chris sent this during the merge window, but I waffled back and forth on
    the pull request, which is why it's going in only now.

    The new "strscpy()" function is definitely easier to use and more secure
    than either strncpy() or strlcpy(), both of which are horrible nasty
    interfaces that have serious and irredeemable problems.

    strncpy() has a useless return value, and doesn't NUL-terminate an
    overlong result. To make matters worse, it pads a short result with
    zeroes, which is a performance disaster if you have big buffers.

    strlcpy(), by contrast, is a mis-designed "fix" for strlcpy(), lacking
    the insane NUL padding, but having a differently broken return value
    which returns the original length of the source string. Which means
    that it will read characters past the count from the source buffer, and
    you have to trust the source to be properly terminated. It also makes
    error handling fragile, since the test for overflow is unnecessarily
    subtle.

    strscpy() avoids both these problems, guaranteeing the NUL termination
    (but not excessive padding) if the destination size wasn't zero, and
    making the overflow condition very obvious by returning -E2BIG. It also
    doesn't read past the size of the source, and can thus be used for
    untrusted source data too.

    So why did I waffle about this for so long?

    Every time we introduce a new-and-improved interface, people start doing
    these interminable series of trivial conversion patches.

    And every time that happens, somebody does some silly mistake, and the
    conversion patch to the improved interface actually makes things worse.
    Because the patch is mindnumbing and trivial, nobody has the attention
    span to look at it carefully, and it's usually done over large swatches
    of source code which means that not every conversion gets tested.

    So I'm pulling the strscpy() support because it *is* a better interface.
    But I will refuse to pull mindless conversion patches. Use this in
    places where it makes sense, but don't do trivial patches to fix things
    that aren't actually known to be broken.

    * 'strscpy' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    tile: use global strscpy() rather than private copy
    string: provide strscpy()
    Make asm/word-at-a-time.h available on all architectures

    Linus Torvalds
     

16 Sep, 2015

1 commit

  • Most interrupt flow handlers do not use the irq argument. Those few
    which use it can retrieve the irq number from the irq descriptor.

    Remove the argument.

    Search and replace was done with coccinelle and some extra helper
    scripts around it. Thanks to Julia for her help!

    Signed-off-by: Thomas Gleixner
    Cc: Julia Lawall
    Cc: Jiang Liu

    Thomas Gleixner
     

04 Sep, 2015

1 commit

  • Pull locking and atomic updates from Ingo Molnar:
    "Main changes in this cycle are:

    - Extend atomic primitives with coherent logic op primitives
    (atomic_{or,and,xor}()) and deprecate the old partial APIs
    (atomic_{set,clear}_mask())

    The old ops were incoherent with incompatible signatures across
    architectures and with incomplete support. Now every architecture
    supports the primitives consistently (by Peter Zijlstra)

    - Generic support for 'relaxed atomics':

    - _acquire/release/relaxed() flavours of xchg(), cmpxchg() and {add,sub}_return()
    - atomic_read_acquire()
    - atomic_set_release()

    This came out of porting qwrlock code to arm64 (by Will Deacon)

    - Clean up the fragile static_key APIs that were causing repeat bugs,
    by introducing a new one:

    DEFINE_STATIC_KEY_TRUE(name);
    DEFINE_STATIC_KEY_FALSE(name);

    which define a key of different types with an initial true/false
    value.

    Then allow:

    static_branch_likely()
    static_branch_unlikely()

    to take a key of either type and emit the right instruction for the
    case. To be able to know the 'type' of the static key we encode it
    in the jump entry (by Peter Zijlstra)

    - Static key self-tests (by Jason Baron)

    - qrwlock optimizations (by Waiman Long)

    - small futex enhancements (by Davidlohr Bueso)

    - ... and misc other changes"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (63 commits)
    jump_label/x86: Work around asm build bug on older/backported GCCs
    locking, ARM, atomics: Define our SMP atomics in terms of _relaxed() operations
    locking, include/llist: Use linux/atomic.h instead of asm/cmpxchg.h
    locking/qrwlock: Make use of _{acquire|release|relaxed}() atomics
    locking/qrwlock: Implement queue_write_unlock() using smp_store_release()
    locking/lockref: Remove homebrew cmpxchg64_relaxed() macro definition
    locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'
    locking, asm-generic: Rework atomic-long.h to avoid bulk code duplication
    locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations
    locking, compiler.h: Cast away attributes in the WRITE_ONCE() magic
    locking/static_keys: Make verify_keys() static
    jump label, locking/static_keys: Update docs
    locking/static_keys: Provide a selftest
    jump_label: Provide a self-test
    s390/uaccess, locking/static_keys: employ static_branch_likely()
    x86, tsc, locking/static_keys: Employ static_branch_likely()
    locking/static_keys: Add selftest
    locking/static_keys: Add a new static_key interface
    locking/static_keys: Rework update logic
    locking/static_keys: Add static_key_{en,dis}able() helpers
    ...

    Linus Torvalds
     

02 Sep, 2015

1 commit

  • Pull irq updates from Thomas Gleixner:
    "This updated pull request does not contain the last few GIC related
    patches which were reported to cause a regression. There is a fix
    available, but I let it breed for a couple of days first.

    The irq departement provides:

    - new infrastructure to support non PCI based MSI interrupts
    - a couple of new irq chip drivers
    - the usual pile of fixlets and updates to irq chip drivers
    - preparatory changes for removal of the irq argument from interrupt
    flow handlers
    - preparatory changes to remove IRQF_VALID"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (129 commits)
    irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources
    irqchip: Add bcm2836 interrupt controller for Raspberry Pi 2
    irqchip: Add documentation for the bcm2836 interrupt controller
    irqchip/bcm2835: Add support for being used as a second level controller
    irqchip/bcm2835: Refactor handle_IRQ() calls out of MAKE_HWIRQ
    PCI: xilinx: Fix typo in function name
    irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance
    irqchip/gic: Only allow the primary GIC to set the CPU map
    PCI/MSI: pci-xgene-msi: Consolidate chained IRQ handler install/remove
    unicore32/irq: Prepare puv3_gpio_handler for irq argument removal
    tile/pci_gx: Prepare trio_handle_level_irq for irq argument removal
    m68k/irq: Prepare irq handlers for irq argument removal
    C6X/megamode-pic: Prepare megamod_irq_cascade for irq argument removal
    blackfin: Prepare irq handlers for irq argument removal
    arc/irq: Prepare idu_cascade_isr for irq argument removal
    sparc/irq: Use access helper irq_data_get_affinity_mask()
    sparc/irq: Use helper irq_data_get_irq_handler_data()
    parisc/irq: Use access helper irq_data_get_affinity_mask()
    mn10300/irq: Use access helper irq_data_get_affinity_mask()
    irqchip/i8259: Prepare i8259_irq_dispatch for irq argument removal
    ...

    Linus Torvalds
     

10 Aug, 2015

1 commit

  • Migrate blackfin driver to the new 'set-state' interface provided by
    clockevents core, the earlier 'set-mode' interface is marked obsolete
    now.

    This also enables us to implement callbacks for new states of clockevent
    devices, for example: ONESHOT_STOPPED.

    We weren't doing anything in ->set_mode(RESUME) and so tick_resume()
    isn't implemented.

    Cc: Steven Miao
    Cc: adi-buildroot-devel@lists.sourceforge.net
    Signed-off-by: Viresh Kumar
    Signed-off-by: Daniel Lezcano

    Viresh Kumar
     

01 Aug, 2015

1 commit

  • The irq argument of most interrupt flow handlers is unused or merily
    used instead of a local variable. The handlers which need the irq
    argument can retrieve the irq number from the irq descriptor.

    Search and update was done with coccinelle and the invaluable help of
    Julia Lawall.

    Signed-off-by: Thomas Gleixner
    Cc: Julia Lawall
    Cc: Steven Miao
    Cc: adi-buildroot-devel@lists.sourceforge.net

    Thomas Gleixner
     

30 Jul, 2015

1 commit


27 Jul, 2015

6 commits


18 Jul, 2015

1 commit

  • Commit 2ae416b142b6 ("mm: new mm hook framework") introduced an empty
    header file (mm-arch-hooks.h) for every architecture, even those which
    doesn't need to define mm hooks.

    As suggested by Geert Uytterhoeven, this could be cleaned through the use
    of a generic header file included via each per architecture
    asm/include/Kbuild file.

    The PowerPC architecture is not impacted here since this architecture has
    to defined the arch_remap MM hook.

    Signed-off-by: Laurent Dufour
    Suggested-by: Geert Uytterhoeven
    Acked-by: Geert Uytterhoeven
    Acked-by: Vineet Gupta
    Cc: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Laurent Dufour
     

09 Jul, 2015

1 commit

  • Added the x86 implementation of word-at-a-time to the
    generic version, which previously only supported big-endian.

    Omitted the x86-specific load_unaligned_zeropad(), which in
    any case is also not present for the existing BE-only
    implementation of a word-at-a-time, and is only used under
    CONFIG_DCACHE_WORD_ACCESS.

    Added as a "generic-y" to the Kbuilds of all architectures
    that didn't previously have it.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     

05 Jul, 2015

1 commit

  • Pull more vfs updates from Al Viro:
    "Assorted VFS fixes and related cleanups (IMO the most interesting in
    that part are f_path-related things and Eric's descriptor-related
    stuff). UFS regression fixes (it got broken last cycle). 9P fixes.
    fs-cache series, DAX patches, Jan's file_remove_suid() work"

    [ I'd say this is much more than "fixes and related cleanups". The
    file_table locking rule change by Eric Dumazet is a rather big and
    fundamental update even if the patch isn't huge. - Linus ]

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (49 commits)
    9p: cope with bogus responses from server in p9_client_{read,write}
    p9_client_write(): avoid double p9_free_req()
    9p: forgetting to cancel request on interrupted zero-copy RPC
    dax: bdev_direct_access() may sleep
    block: Add support for DAX reads/writes to block devices
    dax: Use copy_from_iter_nocache
    dax: Add block size note to documentation
    fs/file.c: __fget() and dup2() atomicity rules
    fs/file.c: don't acquire files->file_lock in fd_install()
    fs:super:get_anon_bdev: fix race condition could cause dev exceed its upper limitation
    vfs: avoid creation of inode number 0 in get_next_ino
    namei: make set_root_rcu() return void
    make simple_positive() public
    ufs: use dir_pages instead of ufs_dir_pages()
    pagemap.h: move dir_pages() over there
    remove the pointless include of lglock.h
    fs: cleanup slight list_entry abuse
    xfs: Correctly lock inode when removing suid and file capabilities
    fs: Call security_ops->inode_killpriv on truncate
    fs: Provide function telling whether file_remove_privs() will do anything
    ...

    Linus Torvalds
     

27 Jun, 2015

1 commit

  • Pull tty/serial driver updates from Greg KH:
    "Here's the tty and serial driver patches for 4.2-rc1.

    A number of individual driver updates, some code cleanups, and other
    minor things, full details in the shortlog.

    All have been in linux-next for a while with no reported issues"

    * tag 'tty-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (152 commits)
    Doc: serial-rs485.txt: update RS485 driver interface
    Doc: tty.txt: remove mention of the BKL
    MAINTAINERS: tty: add serial docs directory
    serial: sprd: check for NULL after calling devm_clk_get
    serial: 8250_pci: Correct uartclk for xr17v35x expansion chips
    serial: 8250_pci: Add support for 12 port Exar boards
    serial: 8250_uniphier: add bindings document for UniPhier UART
    serial: core: cleanup in uart_get_baud_rate()
    serial: stm32-usart: Add STM32 USART Driver
    tty/serial: kill off set_irq_flags usage
    tty: move linux/gsmmux.h to uapi
    doc: dt: add documentation for nxp,lpc1850-uart
    serial: 8250: add LPC18xx/43xx UART driver
    serial: 8250_uniphier: add UniPhier serial driver
    serial: 8250_dw: support ACPI platforms with integrated DMA engine
    serial: of_serial: check the return value of clk_prepare_enable()
    serial: of_serial: use devm_clk_get() instead of clk_get()
    serial: earlycon: Add support for big-endian MMIO accesses
    serial: sirf: use hrtimer for data rx
    serial: sirf: correct the fifo empty_bit
    ...

    Linus Torvalds
     

26 Jun, 2015

1 commit


25 Jun, 2015

1 commit

  • CRIU is recreating the process memory layout by remapping the checkpointee
    memory area on top of the current process (criu). This includes remapping
    the vDSO to the place it has at checkpoint time.

    However some architectures like powerpc are keeping a reference to the
    vDSO base address to build the signal return stack frame by calling the
    vDSO sigreturn service. So once the vDSO has been moved, this reference
    is no more valid and the signal frame built later are not usable.

    This patch serie is introducing a new mm hook framework, and a new
    arch_remap hook which is called when mremap is done and the mm lock still
    hold. The next patch is adding the vDSO remap and unmap tracking to the
    powerpc architecture.

    This patch (of 3):

    This patch introduces a new set of header file to manage mm hooks:
    - per architecture empty header file (arch/x/include/asm/mm-arch-hooks.h)
    - a generic header (include/linux/mm-arch-hooks.h)

    The architecture which need to overwrite a hook as to redefine it in its
    header file, while architecture which doesn't need have nothing to do.

    The default hooks are defined in the generic header and are used in the
    case the architecture is not defining it.

    In a next step, mm hooks defined in include/asm-generic/mm_hooks.h should
    be moved here.

    Signed-off-by: Laurent Dufour
    Suggested-by: Andrew Morton
    Cc: "Kirill A. Shutemov"
    Cc: Hugh Dickins
    Cc: Rik van Riel
    Cc: Mel Gorman
    Cc: Pavel Emelyanov
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Michael Ellerman
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Laurent Dufour
     

24 Jun, 2015

1 commit


11 Jun, 2015

1 commit

  • Fix

    include/asm-generic/io.h: In function 'readb':
    include/asm-generic/io.h:113:2: error:
    implicit declaration of function 'bfin_read8'
    include/asm-generic/io.h: In function 'readw':
    include/asm-generic/io.h:121:2: error:
    implicit declaration of function 'bfin_read16'
    include/asm-generic/io.h: In function 'readl':
    include/asm-generic/io.h:129:2: error:
    implicit declaration of function 'bfin_read32'
    include/asm-generic/io.h: In function 'writeb':
    include/asm-generic/io.h:147:2: error:
    implicit declaration of function 'bfin_write8'
    include/asm-generic/io.h: In function 'writew':
    include/asm-generic/io.h:155:2: error:
    implicit declaration of function 'bfin_write16'
    include/asm-generic/io.h: In function 'writel':
    include/asm-generic/io.h:163:2: error:
    implicit declaration of function 'bfin_write32'

    Reported-by: Geert Uytterhoeven
    Fixes: 1a3372bc522ef ("blackfin: io: define __raw_readx/writex with
    bfin_readx/writex")
    Cc: Steven Miao
    Signed-off-by: Guenter Roeck

    Guenter Roeck
     

19 May, 2015

1 commit


07 May, 2015

1 commit


06 May, 2015

1 commit


24 Apr, 2015

2 commits

  • …realmz6/blackfin-linux

    Pull blackfin updates from Steven Miao.

    * tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux:
    eth: bf609 eth clock: add pclk clock for stmmac driver probe
    blackfin: Wire up missing syscalls
    arch: blackfin: kernel: kgdb: Remove unused function
    dma: fix build error after update to v3.19
    blackfin: io: define __raw_readx/writex with bfin_readx/writex
    bf609: add resources for lcd nl8048
    pm: sometimes wake up from suspend to RAM would fail
    debug-mmrs: Eliminate all traces of the USB_PHY_TEST MMR
    bf609: remove softswitch i2c configuration from adv7842 and adv7511 platform data
    bf609: add platform data for soft switch devices on the video extenders
    bf609: enable soft switch gpio driver by default
    bf609: add gpio soft switch platform data for mcp23017 i2c devices
    bf609: use new SND_BF6XX_PCM to choose audio pcm driver
    bug[220] kgdb: change the smp cross core function entry
    arch: blackfin: kernel: setup.c: Cleaning up missing null-terminate in conjunction with strncpy
    blackfin: defconfigs: cleanup unused CONFIG_MTD_CHAR, add MTD_SPI_NOR for BF537-STAMP

    Linus Torvalds
     
  • Signed-off-by: Steven Miao

    Steven Miao