21 Jan, 2016

1 commit


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
     

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
     

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
     

27 Jul, 2015

1 commit

  • Implement atomic logic ops -- atomic_{or,xor,and}.

    These will replace the atomic_{set,clear}_mask functions that are
    available on some archs.

    TODO: use inline asm or at least asm macros to collapse the lot.

    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: Thomas Gleixner

    Peter Zijlstra
     

24 Jun, 2015

1 commit


24 Apr, 2015

1 commit

  • …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
     

23 Apr, 2015

4 commits


13 Apr, 2015

3 commits


13 Feb, 2015

1 commit

  • If an attacker can cause a controlled kernel stack overflow, overwriting
    the restart block is a very juicy exploit target. This is because the
    restart_block is held in the same memory allocation as the kernel stack.

    Moving the restart block to struct task_struct prevents this exploit by
    making the restart_block harder to locate.

    Note that there are other fields in thread_info that are also easy
    targets, at least on some architectures.

    It's also a decent simplification, since the restart code is more or less
    identical on all architectures.

    [james.hogan@imgtec.com: metag: align thread_info::supervisor_stack]
    Signed-off-by: Andy Lutomirski
    Cc: Thomas Gleixner
    Cc: Al Viro
    Cc: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Kees Cook
    Cc: David Miller
    Acked-by: Richard Weinberger
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Vineet Gupta
    Cc: Russell King
    Cc: Catalin Marinas
    Cc: Will Deacon
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Steven Miao
    Cc: Mark Salter
    Cc: Aurelien Jacquiot
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Cc: David Howells
    Cc: Richard Kuo
    Cc: "Luck, Tony"
    Cc: Geert Uytterhoeven
    Cc: Michal Simek
    Cc: Ralf Baechle
    Cc: Jonas Bonn
    Cc: "James E.J. Bottomley"
    Cc: Helge Deller
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Acked-by: Michael Ellerman (powerpc)
    Tested-by: Michael Ellerman (powerpc)
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Chen Liqin
    Cc: Lennox Wu
    Cc: Chris Metcalf
    Cc: Guan Xuetao
    Cc: Chris Zankel
    Cc: Max Filippov
    Cc: Oleg Nesterov
    Cc: Guenter Roeck
    Signed-off-by: James Hogan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Lutomirski
     

27 Aug, 2014

1 commit

  • __get_cpu_var() is used for multiple purposes in the kernel source. One of
    them is address calculation via the form &__get_cpu_var(x). This calculates
    the address for the instance of the percpu variable of the current processor
    based on an offset.

    Other use cases are for storing and retrieving data from the current
    processors percpu area. __get_cpu_var() can be used as an lvalue when
    writing data or on the right side of an assignment.

    __get_cpu_var() is defined as :

    #define __get_cpu_var(var) (*this_cpu_ptr(&(var)))

    __get_cpu_var() always only does an address determination. However, store
    and retrieve operations could use a segment prefix (or global register on
    other platforms) to avoid the address calculation.

    this_cpu_write() and this_cpu_read() can directly take an offset into a
    percpu area and use optimized assembly code to read and write per cpu
    variables.

    This patch converts __get_cpu_var into either an explicit address
    calculation using this_cpu_ptr() or into a use of this_cpu operations that
    use the offset. Thereby address calculations are avoided and less registers
    are used when code is generated.

    At the end of the patch set all uses of __get_cpu_var have been removed so
    the macro is removed too.

    The patch set includes passes over all arches as well. Once these operations
    are used throughout then specialized macros can be defined in non -x86
    arches as well in order to optimize per cpu access by f.e. using a global
    register that may be set to the per cpu base.

    Transformations done to __get_cpu_var()

    1. Determine the address of the percpu instance of the current processor.

    DEFINE_PER_CPU(int, y);
    int *x = &__get_cpu_var(y);

    Converts to

    int *x = this_cpu_ptr(&y);

    2. Same as #1 but this time an array structure is involved.

    DEFINE_PER_CPU(int, y[20]);
    int *x = __get_cpu_var(y);

    Converts to

    int *x = this_cpu_ptr(y);

    3. Retrieve the content of the current processors instance of a per cpu
    variable.

    DEFINE_PER_CPU(int, y);
    int x = __get_cpu_var(y)

    Converts to

    int x = __this_cpu_read(y);

    4. Retrieve the content of a percpu struct

    DEFINE_PER_CPU(struct mystruct, y);
    struct mystruct x = __get_cpu_var(y);

    Converts to

    memcpy(&x, this_cpu_ptr(&y), sizeof(x));

    5. Assignment to a per cpu variable

    DEFINE_PER_CPU(int, y)
    __get_cpu_var(y) = x;

    Converts to

    __this_cpu_write(y, x);

    6. Increment/Decrement etc of a per cpu variable

    DEFINE_PER_CPU(int, y);
    __get_cpu_var(y)++

    Converts to

    __this_cpu_inc(y)

    CC: Mike Frysinger
    Signed-off-by: Christoph Lameter
    Signed-off-by: Tejun Heo

    Christoph Lameter
     

10 Aug, 2014

1 commit

  • Pull arch signal handling cleanup from Richard Weinberger:
    "This patch series moves all remaining archs to the get_signal(),
    signal_setup_done() and sigsp() functions.

    Currently these archs use open coded variants of the said functions.
    Further, unused parameters get removed from get_signal_to_deliver(),
    tracehook_signal_handler() and signal_delivered().

    At the end of the day we save around 500 lines of code."

    * 'signal-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc: (43 commits)
    powerpc: Use sigsp()
    openrisc: Use sigsp()
    mn10300: Use sigsp()
    mips: Use sigsp()
    microblaze: Use sigsp()
    metag: Use sigsp()
    m68k: Use sigsp()
    m32r: Use sigsp()
    hexagon: Use sigsp()
    frv: Use sigsp()
    cris: Use sigsp()
    c6x: Use sigsp()
    blackfin: Use sigsp()
    avr32: Use sigsp()
    arm64: Use sigsp()
    arc: Use sigsp()
    sas_ss_flags: Remove nested ternary if
    Rip out get_signal_to_deliver()
    Clean up signal_delivered()
    tracehook_signal_handler: Remove sig, info, ka and regs
    ...

    Linus Torvalds
     

06 Aug, 2014

2 commits


05 Aug, 2014

2 commits

  • Pull perf changes from Ingo Molnar:
    "Kernel side changes:

    - Consolidate the PMU interrupt-disabled code amongst architectures
    (Vince Weaver)

    - misc fixes

    Tooling changes (new features, user visible changes):

    - Add support for pagefault tracing in 'trace', please see multiple
    examples in the changeset messages (Stanislav Fomichev).

    - Add pagefault statistics in 'trace' (Stanislav Fomichev)

    - Add header for columns in 'top' and 'report' TUI browsers (Jiri
    Olsa)

    - Add pagefault statistics in 'trace' (Stanislav Fomichev)

    - Add IO mode into timechart command (Stanislav Fomichev)

    - Fallback to syscalls:* when raw_syscalls:* is not available in the
    perl and python perf scripts. (Daniel Bristot de Oliveira)

    - Add --repeat global option to 'perf bench' to be used in benchmarks
    such as the existing 'futex' one, that was modified to use it
    instead of a local option. (Davidlohr Bueso)

    - Fix fd -> pathname resolution in 'trace', be it using /proc or a
    vfs_getname probe point. (Arnaldo Carvalho de Melo)

    - Add suggestion of how to set perf_event_paranoid sysctl, to help
    non-root users trying tools like 'trace' to get a working
    environment. (Arnaldo Carvalho de Melo)

    - Updates from trace-cmd for traceevent plugin_kvm plus args cleanup
    (Steven Rostedt, Jan Kiszka)

    - Support S/390 in 'perf kvm stat' (Alexander Yarygin)

    Tooling infrastructure changes:

    - Allow reserving a row for header purposes in the hists browser
    (Arnaldo Carvalho de Melo)

    - Various fixes and prep work related to supporting Intel PT (Adrian
    Hunter)

    - Introduce multiple debug variables control (Jiri Olsa)

    - Add callchain and additional sample information for python scripts
    (Joseph Schuchart)

    - More prep work to support Intel PT: (Adrian Hunter)
    - Polishing 'script' BTS output
    - 'inject' can specify --kallsym
    - VDSO is per machine, not a global var
    - Expose data addr lookup functions previously private to 'script'
    - Large mmap fixes in events processing

    - Include standard stringify macros in power pc code (Sukadev
    Bhattiprolu)

    Tooling cleanups:

    - Convert open coded equivalents to asprintf() (Andy Shevchenko)

    - Remove needless reassignments in 'trace' (Arnaldo Carvalho de Melo)

    - Cache the is_exit syscall test in 'trace) (Arnaldo Carvalho de
    Melo)

    - No need to reimplement err() in 'perf bench sched-messaging', drop
    barf(). (Davidlohr Bueso).

    - Remove ev_name argument from perf_evsel__hists_browse, can be
    obtained from the other parameters. (Jiri Olsa)

    Tooling fixes:

    - Fix memory leak in the 'sched-messaging' perf bench test.
    (Davidlohr Bueso)

    - The -o and -n 'perf bench mem' options are mutually exclusive, emit
    error when both are specified. (Davidlohr Bueso)

    - Fix scrollbar refresh row index in the ui browser, problem exposed
    now that headers will be added and will be allowed to be switched
    on/off. (Jiri Olsa)

    - Handle the num array type in python properly (Sebastian Andrzej
    Siewior)

    - Fix wrong condition for allocation failure (Jiri Olsa)

    - Adjust callchain based on DWARF debug info on powerpc (Sukadev
    Bhattiprolu)

    - Fix a risk for doing free on uninitialized pointer in traceevent
    lib (Rickard Strandqvist)

    - Update attr test with PERF_FLAG_FD_CLOEXEC flag (Jiri Olsa)

    - Enable close-on-exec flag on perf file descriptor (Yann Droneaud)

    - Fix build on gcc 4.4.7 (Arnaldo Carvalho de Melo)

    - Event ordering fixes (Jiri Olsa)"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (123 commits)
    Revert "perf tools: Fix jump label always changing during tracing"
    perf tools: Fix perf usage string leftover
    perf: Check permission only for parent tracepoint event
    perf record: Store PERF_RECORD_FINISHED_ROUND only for nonempty rounds
    perf record: Always force PERF_RECORD_FINISHED_ROUND event
    perf inject: Add --kallsyms parameter
    perf tools: Expose 'addr' functions so they can be reused
    perf session: Fix accounting of ordered samples queue
    perf powerpc: Include util/util.h and remove stringify macros
    perf tools: Fix build on gcc 4.4.7
    perf tools: Add thread parameter to vdso__dso_findnew()
    perf tools: Add dso__type()
    perf tools: Separate the VDSO map name from the VDSO dso name
    perf tools: Add vdso__new()
    perf machine: Fix the lifetime of the VDSO temporary file
    perf tools: Group VDSO global variables into a structure
    perf session: Add ability to skip 4GiB or more
    perf session: Add ability to 'skip' a non-piped event stream
    perf tools: Pass machine to vdso__dso_findnew()
    perf tools: Add dso__data_size()
    ...

    Linus Torvalds
     
  • Pull tracing updates from Steven Rostedt:
    "This pull request has a lot of work done. The main thing is the
    changes to the ftrace function callback infrastructure. It's
    introducing a way to allow different functions to call directly
    different trampolines instead of all calling the same "mcount" one.

    The only user of this for now is the function graph tracer, which
    always had a different trampoline, but the function tracer trampoline
    was called and did basically nothing, and then the function graph
    tracer trampoline was called. The difference now, is that the
    function graph tracer trampoline can be called directly if a function
    is only being traced by the function graph trampoline. If function
    tracing is also happening on the same function, the old way is still
    done.

    The accounting for this takes up more memory when function graph
    tracing is activated, as it needs to keep track of which functions it
    uses. I have a new way that wont take as much memory, but it's not
    ready yet for this merge window, and will have to wait for the next
    one.

    Another big change was the removal of the ftrace_start/stop() calls
    that were used by the suspend/resume code that stopped function
    tracing when entering into suspend and resume paths. The stop of
    ftrace was done because there was some function that would crash the
    system if one called smp_processor_id()! The stop/start was a big
    hammer to solve the issue at the time, which was when ftrace was first
    introduced into Linux. Now ftrace has better infrastructure to debug
    such issues, and I found the problem function and labeled it with
    "notrace" and function tracing can now safely be activated all the way
    down into the guts of suspend and resume

    Other changes include clean ups of uprobe code, clean up of the
    trace_seq() code, and other various small fixes and clean ups to
    ftrace and tracing"

    * tag 'trace-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (57 commits)
    ftrace: Add warning if tramp hash does not match nr_trampolines
    ftrace: Fix trampoline hash update check on rec->flags
    ring-buffer: Use rb_page_size() instead of open coded head_page size
    ftrace: Rename ftrace_ops field from trampolines to nr_trampolines
    tracing: Convert local function_graph functions to static
    ftrace: Do not copy old hash when resetting
    tracing: let user specify tracing_thresh after selecting function_graph
    ring-buffer: Always run per-cpu ring buffer resize with schedule_work_on()
    tracing: Remove function_trace_stop and HAVE_FUNCTION_TRACE_MCOUNT_TEST
    s390/ftrace: remove check of obsolete variable function_trace_stop
    arm64, ftrace: Remove check of obsolete variable function_trace_stop
    Blackfin: ftrace: Remove check of obsolete variable function_trace_stop
    metag: ftrace: Remove check of obsolete variable function_trace_stop
    microblaze: ftrace: Remove check of obsolete variable function_trace_stop
    MIPS: ftrace: Remove check of obsolete variable function_trace_stop
    parisc: ftrace: Remove check of obsolete variable function_trace_stop
    sh: ftrace: Remove check of obsolete variable function_trace_stop
    sparc64,ftrace: Remove check of obsolete variable function_trace_stop
    tile: ftrace: Remove check of obsolete variable function_trace_stop
    ftrace: x86: Remove check of obsolete variable function_trace_stop
    ...

    Linus Torvalds
     

28 Jul, 2014

1 commit


26 Jul, 2014

1 commit


19 Jul, 2014

1 commit


19 Jun, 2014

1 commit

  • Transition to using the new generic PERF_PMU_CAP_NO_INTERRUPT method for
    failing a sampling event when no PMU interrupt is available.

    Signed-off-by: Vince Weaver
    Signed-off-by: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Steven Miao
    Cc: adi-buildroot-devel@lists.sourceforge.net
    Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1406150200360.16738@vincent-weaver-1.umelst.maine.edu
    Signed-off-by: Ingo Molnar

    Vince Weaver
     

07 Jun, 2014

1 commit

  • Performing vma lookups without taking the mm->mmap_sem is asking for
    trouble. While doing the search, the vma in question can be modified or
    even removed before returning to the caller. Take the lock (shared) in
    order to avoid races while iterating through the vmacache and/or rbtree.

    Signed-off-by: Davidlohr Bueso
    Cc: Steven Miao
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davidlohr Bueso
     

13 Apr, 2014

1 commit

  • …realmz6/blackfin-linux

    Pull blackfin updates from Steven Miao:
    "Code cleanup, some previously ignored patches, and bug fixes"

    * tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux:
    blackfin: cleanup board files
    bf609: clock: drop unused clock bit set/clear functions
    Blackfin: bf537: rename "CONFIG_ADT75"
    Blackfin: bf537: rename "CONFIG_AD7314"
    Blackfin: bf537: rename ad2s120x ->ad2s1200
    blackfin: bf537: fix typo "CONFIG_SND_SOC_ADV80X_MODULE"
    blackfin: dma: current count mmr is read only
    bfin_crc: Move architecture independant crc header file out of the blackfin folder.
    bf54x: drop unuesd HOST status,control,timeout registers bit define macros
    blackfin: portmux: cleanup head file
    Blackfin: remove "config IP_CHECKSUM_L1"
    blackfin: Remove GENERIC_GPIO config option again
    blackfin:Use generic /proc/interrupts implementation
    blackfin: bf60x: fix typo "CONFIG_PM_BFIN_WAKE_PA15_POL"

    Linus Torvalds
     

11 Apr, 2014

1 commit


09 Apr, 2014

1 commit

  • Pull i2c updates from Wolfram Sang:
    "Here is the pull request from the i2c subsystem. It got a little
    delayed because I needed to wait for a dependency to be included
    (commit b424080a9e08: "reset: Add optional resets and stubs"). Plus,
    I had some email problems. All done now, the highlights are:

    - drivers can now deprecate their use of i2c classes. That shouldn't
    be used on embedded platforms anyhow and was often blindly
    copy&pasted. This mechanism gives users time to switch away and
    ultimately boot faster once the use of classes for those drivers is
    gone for good.

    - new drivers for QUP, Cadence, efm32

    - tracepoint support for I2C and SMBus

    - bigger cleanups for the mv64xxx, nomadik, and designware drivers

    And the usual bugfixes, cleanups, feature additions. Most stuff has
    been in linux-next for a while. Just some hot fixes and new drivers
    were added a bit more recently."

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (63 commits)
    i2c: cadence: fix Kconfig dependency
    i2c: Add driver for Cadence I2C controller
    i2c: cadence: Document device tree bindings
    Documentation: i2c: improve section about flags mangling the protocol
    i2c: qup: use proper type fro clk_freq
    i2c: qup: off by ones in qup_i2c_probe()
    i2c: efm32: fix binding doc
    MAINTAINERS: update I2C web resources
    i2c: qup: New bus driver for the Qualcomm QUP I2C controller
    i2c: qup: Add device tree bindings information
    i2c: i2c-xiic: deprecate class based instantiation
    i2c: i2c-sirf: deprecate class based instantiation
    i2c: i2c-mv64xxx: deprecate class based instantiation
    i2c: i2c-designware-platdrv: deprecate class based instantiation
    i2c: i2c-davinci: deprecate class based instantiation
    i2c: i2c-bcm2835: deprecate class based instantiation
    i2c: mv64xxx: Fix reset controller handling
    i2c: omap: fix usage of IS_ERR_VALUE with pm_runtime_get_sync
    i2c: efm32: new bus driver
    i2c: exynos5: remove unnecessary cast of void pointer
    ...

    Linus Torvalds
     

09 Mar, 2014

1 commit


07 Mar, 2014

2 commits

  • As the data parameter is not really used by any ftrace_dyn_arch_init,
    remove that from ftrace_dyn_arch_init. This also removes the addr
    local variable from ftrace_init which is now unused.

    Note the documentation was imprecise as it did not suggest to set
    (*data) to 0.

    Link: http://lkml.kernel.org/r/1393268401-24379-4-git-send-email-jslaby@suse.cz

    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: linux-arch@vger.kernel.org
    Signed-off-by: Jiri Slaby
    Signed-off-by: Steven Rostedt

    Jiri Slaby
     
  • No architecture uses the "data" parameter in ftrace_dyn_arch_init() in any
    way, it just sets the value to 0. And this is used as a return value
    in the caller -- ftrace_init, which just checks the retval against
    zero.

    Note there is also "return 0" in every ftrace_dyn_arch_init. So it is
    enough to check the retval and remove all the indirect sets of data on
    all archs.

    Link: http://lkml.kernel.org/r/1393268401-24379-3-git-send-email-jslaby@suse.cz

    Cc: linux-arch@vger.kernel.org
    Signed-off-by: Jiri Slaby
    Signed-off-by: Steven Rostedt

    Jiri Slaby
     

25 Jan, 2014

1 commit


15 Nov, 2013

2 commits

  • Remove gpio driver for new gpio controller on BF54x and BF60x.
    Build the bfin_gpio driver only when other BF5xx processors are selected.
    Replace the prefix of some gpio and peripheral functions with adi.
    add portmux platform data in machine portmux.h

    Signed-off-by: Sonic Zhang
    Signed-off-by: Steven Miao

    Sonic Zhang
     
  • For BF537_FAMILY, when offset != 1, the mask is 1.
    Thus add proper mask for comparing pfunc with function.

    Also has small refactor for better readability.
    In portmux_setup(), it looks odd having "pmux &= ~(3 << 1);"
    while in current code we do pmux |= (function << offset);.

    Signed-off-by: Axel Lin
    Signed-off-by: Sonic Zhang

    Sonic Zhang
     

13 Sep, 2013

1 commit


15 Jul, 2013

1 commit

  • The __cpuinit type of throwaway sections might have made sense
    some time ago when RAM was more constrained, but now the savings
    do not offset the cost and complications. For example, the fix in
    commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
    is a good example of the nasty type of bugs that can be created
    with improper use of the various __init prefixes.

    After a discussion on LKML[1] it was decided that cpuinit should go
    the way of devinit and be phased out. Once all the users are gone,
    we can then finally remove the macros themselves from linux/init.h.

    Note that some harmless section mismatch warnings may result, since
    notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
    are flagged as __cpuinit -- so if we remove the __cpuinit from
    arch specific callers, we will also get section mismatch warnings.
    As an intermediate step, we intend to turn the linux/init.h cpuinit
    content into no-ops as early as possible, since that will get rid
    of these warnings. In any case, they are temporary and harmless.

    This removes all the arch/blackfin uses of the __cpuinit macros from
    all C files. Currently blackfin does not have any __CPUINIT used in
    assembly files.

    [1] https://lkml.org/lkml/2013/5/20/589

    Cc: Mike Frysinger
    Cc: Bob Liu
    Cc: Sonic Zhang
    Cc: uclinux-dist-devel@blackfin.uclinux.org
    Acked-by: Mike Frysinger
    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

09 Jul, 2013

1 commit


10 May, 2013

1 commit

  • Pull blackfin updates from Steven Miao.

    * tag 'for-linus' of git://github.com/realmz/blackfin-linux:
    bfin cache: dcplb map: add 16M dcplb map for BF60x
    blackfin: smp: fix smp build after drop asm/system.h
    blackfin: fix bootup core clock and system clock display
    Platform Nand: Set the GPIO for NAND read as input
    blackfin: rename vmImage to uImage after we move to buildroot
    blackfin: twi: Remove bogus #endif
    bf609: rsi: Add bf609 rsi MMR macro and board platform data.
    blackfin: dmc: Improve DDR2 write through in DMC effict controller.

    Linus Torvalds