14 Dec, 2009

6 commits

  • # echo 'do_open' > set_graph_function
    # echo 'do_open' >> set_graph_function
    bash: echo: write error: Invalid argument

    Make it valid to write the same value to set_graph_function,
    which is consistent with set_ftrace_filter interface.

    Signed-off-by: Li Zefan
    Acked-by: Steven Rostedt
    LKML-reference:
    Signed-off-by: Frederic Weisbecker

    Li Zefan
     
  • I found a weird behavior:

    # echo 'fuse:*' > set_ftrace_filter
    bash: echo: write error: Invalid argument
    # cat set_ftrace_filter
    fuse_dev_fasync
    fuse_dev_poll
    fuse_copy_do

    We should call trace_parser_clear() no matter ftrace_process_regex()
    returns 0 or -errno, otherwise we will actually take the unaccepted
    records from ftrace_regex_release().

    Signed-off-by: Li Zefan
    Acked-by: Steven Rostedt
    LKML-Reference:
    Signed-off-by: Frederic Weisbecker

    Li Zefan
     
  • Currently it doesn't warn user on invald value:

    # echo nonexist_symbol > set_ftrace_filter
    or:
    # echo 'nonexist_symbol:mod:fuse' > set_ftrace_filter

    Better make it return failure.

    Signed-off-by: Li Zefan
    Acked-by: Steven Rostedt
    LKML-Reference:
    Signed-off-by: Frederic Weisbecker

    Li Zefan
     
  • Move the printk from each ftrace_raw_reg_event_foo() to
    its caller ftrace_event_enable_disable(). This avoids each
    regfunc trace event callbacks to handle a same error report
    that can be carried from the caller.

    See how much space this saves:

    text data bss dec hex filename
    5345151 1961864 7103260 14410275 dbe223 vmlinux.o.old
    5331487 1961864 7103260 14396611 dbacc3 vmlinux.o

    Signed-off-by: Li Zefan
    Acked-by: Steven Rostedt
    Cc: Jason Baron
    LKML-Reference:
    [start cmdline record before calling regfunc to avoid lost
    window of pid to comm resolution]
    Signed-off-by: Frederic Weisbecker

    Li Zefan
     
  • Call trace_define_common_fields() in event_create_dir() only.
    This avoids trace events to handle it from their define_fields
    callbacks and shrinks the kernel code size:

    text data bss dec hex filename
    5346802 1961864 7103260 14411926 dbe896 vmlinux.o.old
    5345151 1961864 7103260 14410275 dbe223 vmlinux.o

    Signed-off-by: Li Zefan
    Acked-by: Steven Rostedt
    Cc: Ingo Molnar
    Cc: Jason Baron
    Cc: Masami Hiramatsu
    LKML-Reference:
    Signed-off-by: Frederic Weisbecker

    Li Zefan
     
  • Use a generic trace_event_raw_init() function for all event's raw_init
    callbacks (but kprobes) instead of defining the same version for each
    of these.
    This shrinks the kernel code:

    text data bss dec hex filename
    5355293 1961928 7103260 14420481 dc0a01 vmlinux.o.old
    5346802 1961864 7103260 14411926 dbe896 vmlinux.o

    raw_init can't be removed, because ftrace events and kprobe events
    use different raw_init callbacks. Though it's possible to totally
    remove raw_init, I choose to leave it as it is for now.

    Signed-off-by: Li Zefan
    Acked-by: Steven Rostedt
    Cc: Jason Baron
    Cc: Ingo Molnar
    LKML-Reference:
    Signed-off-by: Frederic Weisbecker

    Li Zefan
     

13 Dec, 2009

1 commit


11 Dec, 2009

3 commits

  • While using an application that does splice on the ftrace ring
    buffer at start up, I triggered an integrity check failure.

    Looking into this, I discovered that resizing the buffer performs
    an integrity check after the buffer is resized. This check unfortunately
    is preformed after it releases the reader lock. If a reader is
    reading the buffer it may cause the integrity check to trigger a
    false failure.

    This patch simply moves the integrity checker under the protection
    of the ring buffer reader lock.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • There was a comment in the ring buffer code that says the calling
    layers should prevent tracing or reading of the ring buffer while
    resizing. I have discovered that the tracers do not honor this
    arrangement.

    This patch moves the disabling and synchronizing the ring buffer to
    a higher layer during resizing. This guarantees that no writes
    are occurring while the resize takes place.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • strstrip returns a pointer to the first non space character, but the
    code in parse_ksym_trace_str() ignores that.

    strstrip is now must_check and therefor we get the correct warning:
    kernel/trace/trace_ksym.c:294: warning:
    ignoring return value of ‘strstrip’, declared with attribute warn_unused_result

    We are really not interested in leading whitespace here.

    Fix that and cleanup the dozen kfree() exit pathes.

    Signed-off-by: Thomas Gleixner
    Cc: Xiao Guangrong
    Cc: Steven Rostedt

    Thomas Gleixner
     

10 Dec, 2009

6 commits

  • …t/rostedt/linux-2.6-trace into tracing/core

    Ingo Molnar
     
  • Olof Johansson stated the following:

    Comparing a va_list with NULL is bogus. It's supposed to be treated like
    an opaque type and only be manipulated with va_* accessors.

    Olof noticed that this code broke the ARM builds:

    kernel/trace/trace.c: In function 'trace_array_vprintk':
    kernel/trace/trace.c:1364: error: invalid operands to binary == (have 'va_list' and 'void *')
    kernel/trace/trace.c: In function 'tracing_mark_write':
    kernel/trace/trace.c:3349: error: incompatible type for argument 3 of 'trace_vprintk'

    This patch partly reverts c13d2f7c3231e873f30db92b96c8caa48f100f33 and
    re-installs the original mark_printk() mechanism.

    Reported-by: Olof Johansson
    Signed-off-by: Carsten Emde
    LKML-Reference:
    Signed-off-by: Steven Rostedt

    Carsten Emde
     
  • There is a case where the graph tracer might get confused and omits
    displaying of a single record. This applies mostly with the trace_pipe
    since it is unlikely that the trace_seq buffer will overflow with the
    trace file.

    As the function_graph tracer goes through the trace entries keeping a
    pointer to the current record:

    current -> func1 ENTRY
    func2 ENTRY
    func2 RETURN
    func1 RETURN

    When an function ENTRY is encountered, it moves the pointer to the
    next entry to check if the function is a nested or leaf function.

    func1 ENTRY
    current -> func2 ENTRY
    func2 RETURN
    func1 RETURN

    If the rest of the writing of the function fills the trace_seq buffer,
    then the trace_pipe read will ignore this entry. The next read will
    Now start at the current location, but the first entry (func1) will
    be discarded.

    This patch keeps a copy of the current entry in the iterator private
    storage and will keep track of when the trace_seq buffer fills. When
    the trace_seq buffer fills, it will reuse the copy of the entry in the
    next iteration.

    [
    This patch has been largely modified by Steven Rostedt in order to
    clean it up and simplify it. The original idea and concept was from
    Jirka and for that, this patch will go under his name to give him
    the credit he deserves. But because this was modify by Steven Rostedt
    anything wrong with the patch should be blamed on Steven.
    ]

    Signed-off-by: Jiri Olsa
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Steven Rostedt

    Jiri Olsa
     
  • The trace_seq buffer might fill up, and right now one needs to check the
    return value of each printf into the buffer to check for that.

    Instead, have the buffer keep track of whether it is full or not, and
    reject more input if it is full or would have overflowed with an input
    that wasn't added.

    Cc: Lai Jiangshan
    Signed-off-by: Johannes Berg
    Signed-off-by: Steven Rostedt

    Johannes Berg
     
  • If the seq_read fills the buffer it will call s_start again on the next
    itertation with the same position. This causes a problem with the
    function_graph tracer because it consumes the iteration in order to
    determine leaf functions.

    What happens is that the iterator stores the entry, and the function
    graph plugin will look at the next entry. If that next entry is a return
    of the same function and task, then the function is a leaf and the
    function_graph plugin calls ring_buffer_read which moves the ring buffer
    iterator forward (the trace iterator still points to the function start
    entry).

    The copying of the trace_seq to the seq_file buffer will fail if the
    seq_file buffer is full. The seq_read will not show this entry.
    The next read by userspace will cause seq_read to again call s_start
    which will reuse the trace iterator entry (the function start entry).
    But the function return entry was already consumed. The function graph
    plugin will think that this entry is a nested function and not a leaf.

    To solve this, the trace code now checks the return status of the
    seq_printf (trace_print_seq). If the writing to the seq_file buffer
    fails, we set a flag in the iterator (leftover) and we do not reset
    the trace_seq buffer. On the next call to s_start, we check the leftover
    flag, and if it is set, we just reuse the trace_seq buffer and do not
    call into the plugin print functions.

    Before this patch:

    2) | fput() {
    2) | __fput() {
    2) 0.550 us | inotify_inode_queue_event();
    2) | __fsnotify_parent() {
    2) 0.540 us | inotify_dentry_parent_queue_event();

    After the patch:

    2) | fput() {
    2) | __fput() {
    2) 0.550 us | inotify_inode_queue_event();
    2) 0.548 us | __fsnotify_parent();
    2) 0.540 us | inotify_dentry_parent_queue_event();

    [
    Updated the patch to fix a missing return 0 from the trace_print_seq()
    stub when CONFIG_TRACING is disabled.

    Reported-by: Ingo Molnar
    ]

    Reported-by: Jiri Olsa
    Cc: Frederic Weisbecker
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • This fixes a cut and paste error that had pipe_close get called
    if pipe_open was defined (not pipe_close).

    Reported-by: Kosaki Motohiro
    LKML-Reference:
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

09 Dec, 2009

24 commits

  • …el.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'timers-for-linus-ntp' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    ntp: Provide compability defines (You say MOD_NANO, I say ADJ_NANO)

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    genirq: do not execute DEBUG_SHIRQ when irq setup failed

    Linus Torvalds
     
  • …nel/git/tip/linux-2.6-tip

    * 'timers-for-linus-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    hrtimer: Fix /proc/timer_list regression
    itimers: Fix racy writes to cpu_itimer fields
    timekeeping: Fix clock_gettime vsyscall time warp

    Linus Torvalds
     
  • * 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    timers, init: Limit the number of per cpu calibration bootup messages
    posix-cpu-timers: optimize and document timer_create callback
    clockevents: Add missing include to pacify sparse
    x86: vmiclock: Fix printk format
    x86: Fix printk format due to variable type change
    sparc: fix printk for change of variable type
    clocksource/events: Fix fallout of generic code changes
    nohz: Allow 32-bit machines to sleep for more than 2.15 seconds
    nohz: Track last do_timer() cpu
    nohz: Prevent clocksource wrapping during idle
    nohz: Type cast printk argument
    mips: Use generic mult/shift factor calculation for clocks
    clocksource: Provide a generic mult/shift factor calculation
    clockevents: Use u32 for mult and shift factors
    nohz: Introduce arch_needs_cpu
    nohz: Reuse ktime in sub-functions of tick_check_idle.
    time: Remove xtime_cache
    time: Implement logarithmic time accumulation

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'timers-for-linus-hpet' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: hpet: Make WARN_ON understandable
    x86: arch specific support for remapping HPET MSIs
    intr-remap: generic support for remapping HPET MSIs
    x86, hpet: Simplify the HPET code
    x86, hpet: Disable per-cpu hpet timer if ARAT is supported

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    hwrng: core - Prevent too-small buffer sizes
    hwrng: virtio-rng - Convert to new API
    hwrng: core - Replace u32 in driver API with byte array
    crypto: ansi_cprng - Move FIPS functions under CONFIG_CRYPTO_FIPS
    crypto: testmgr - Add ghash algorithm test before provide to users
    crypto: ghash-clmulni-intel - Put proper .data section in place
    crypto: ghash-clmulni-intel - Use gas macro for PCLMULQDQ-NI and PSHUFB
    crypto: aesni-intel - Use gas macro for AES-NI instructions
    x86: Generate .byte code for some new instructions via gas macro
    crypto: ghash-intel - Fix irq_fpu_usable usage
    crypto: ghash-intel - Add PSHUFB macros
    crypto: ghash-intel - Hard-code pshufb
    crypto: ghash-intel - Fix building failure on x86_32
    crypto: testmgr - Fix warning
    crypto: ansi_cprng - Fix test in get_prng_bytes
    crypto: hash - Remove cra_u.{digest,hash}
    crypto: api - Remove digest case from procfs show handler
    crypto: hash - Remove legacy hash/digest code
    crypto: ansi_cprng - Add FIPS wrapper
    crypto: ghash - Add PCLMULQDQ accelerated implementation

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    [WATCHDOG] iTCO_wdt.c - cleanup chipset documentation
    [WATCHDOG] iTCO_wdt: Add support for Intel Ibex Peak
    [WATCHDOG] CPUFREQ: S3C24XX Watchdog frequency scaling support.

    Linus Torvalds
     
  • * 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    cpumask: Use modern cpumask style in Xen

    Linus Torvalds
     
  • * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: UV RTC: Always enable RTC clocksource
    x86: UV RTC: Rename generic_interrupt to x86_platform_ipi
    x86: UV RTC: Clean up error handling
    x86: UV RTC: Add clocksource only boot option
    x86: UV RTC: Fix early expiry handling

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, mce: don't restart timer if disabled
    x86: Use -maccumulate-outgoing-args for sane mcount prologues
    x86: Prevent GCC 4.4.x (pentium-mmx et al) function prologue wreckage
    x86: AMD Northbridge: Verify NB's node is online
    x86 VSDO: Fix Kconfig help
    x86: Fix typo in Intel CPU cache size descriptor
    x86: Add new Intel CPU cache size descriptors

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    vgacon: Add support for setting the default cursor state
    vc: Add support for hiding the cursor when creating VTs
    x86, setup: Store the boot cursor state

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86/reboot: Add pci_dev_put in reboot_fixup_32.c for consistency

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'x86-process-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86-64: merge the standard and compat start_thread() functions
    x86-64: make compat_start_thread() match start_thread()

    Linus Torvalds
     
  • * 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: pat: Remove ioremap_default()
    x86: pat: Clean up req_type special case for reserve_memtype()
    x86: Relegate CONFIG_PAT and CONFIG_MTRR configurability to EMBEDDED

    Linus Torvalds
     
  • * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (36 commits)
    x86, mm: Correct the implementation of is_untracked_pat_range()
    x86/pat: Trivial: don't create debugfs for memtype if pat is disabled
    x86, mtrr: Fix sorting of mtrr after subtracting
    x86: Move find_smp_config() earlier and avoid bootmem usage
    x86, platform: Change is_untracked_pat_range() to bool; cleanup init
    x86: Change is_ISA_range() into an inline function
    x86, mm: is_untracked_pat_range() takes a normal semiclosed range
    x86, mm: Call is_untracked_pat_range() rather than is_ISA_range()
    x86: UV SGI: Don't track GRU space in PAT
    x86: SGI UV: Fix BAU initialization
    x86, numa: Use near(er) online node instead of roundrobin for NUMA
    x86, numa, bootmem: Only free bootmem on NUMA failure path
    x86: Change crash kernel to reserve via reserve_early()
    x86: Eliminate redundant/contradicting cache line size config options
    x86: When cleaning MTRRs, do not fold WP into UC
    x86: remove "extern" from function prototypes in
    x86, mm: Report state of NX protections during boot
    x86, mm: Clean up and simplify NX enablement
    x86, pageattr: Make set_memory_(x|nx) aware of NX support
    x86, sleep: Always save the value of EFER
    ...

    Fix up conflicts (added both iommu_shutdown and is_untracked_pat_range)
    to 'struct x86_platform_ops') in
    arch/x86/include/asm/x86_init.h
    arch/x86/kernel/x86_init.c

    Linus Torvalds
     
  • …nel/git/tip/linux-2.6-tip

    * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: ucode-amd: Move family check to microcde_amd.c's init function
    x86, ucode-amd: Ensure ucode update on suspend/resume after CPU off/online cycle
    x86: ucode-amd: Convert printk(KERN_*...) to pr_*(...)
    x86: ucode-amd: Don't warn when no ucode is available for a CPU revision
    x86: ucode-amd: Load ucode-patches once and not separately of each CPU
    x86, amd-ucode: Remove needless log messages

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-entry-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    core: Clean up user return notifers use of per_cpu

    Linus Torvalds
     
  • Signed-off-by: Uwe Kleine-König
    Acked-by: Randy Dunlap
    Cc: Greg KH
    Cc: Andrew Morton
    Cc: Kay Sievers
    Signed-off-by: Linus Torvalds

    Uwe Kleine-König
     
  • I messed up the merge in d7fc02c7bae7b1cf69269992cf880a43a350cdaa, where
    the conflict in question wasn't just about CTL_UNNUMBERED being removed,
    but the 'strategy' field is too (sysctl handling is now done through the
    /proc interface, with no duplicate protocols for reading the data).

    Reported-by: Larry Finger
    Reported-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block: (113 commits)
    cfq-iosched: Do not access cfqq after freeing it
    block: include linux/err.h to use ERR_PTR
    cfq-iosched: use call_rcu() instead of doing grace period stall on queue exit
    blkio: Allow CFQ group IO scheduling even when CFQ is a module
    blkio: Implement dynamic io controlling policy registration
    blkio: Export some symbols from blkio as its user CFQ can be a module
    block: Fix io_context leak after failure of clone with CLONE_IO
    block: Fix io_context leak after clone with CLONE_IO
    cfq-iosched: make nonrot check logic consistent
    io controller: quick fix for blk-cgroup and modular CFQ
    cfq-iosched: move IO controller declerations to a header file
    cfq-iosched: fix compile problem with !CONFIG_CGROUP
    blkio: Documentation
    blkio: Wait on sync-noidle queue even if rq_noidle = 1
    blkio: Implement group_isolation tunable
    blkio: Determine async workload length based on total number of queues
    blkio: Wait for cfq queue to get backlogged if group is empty
    blkio: Propagate cgroup weight updation to cfq groups
    blkio: Drop the reference to queue once the task changes cgroup
    blkio: Provide some isolation between groups
    ...

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (54 commits)
    Revert "pata_sis: Implement MWDMA for the UDMA 133 capable chips"
    libata: Clarify ata_set_lba_range_entries function
    libata: Report zeroed read after TRIM and max discard size
    pata_hpt3x2n: fix overclocked MWDMA0 timing
    pata_it8213: MWDMA0 is unsupported
    [libata] MWDMA0 is unsupported on PIIX-like PATA controllers
    pata_via: clear UDMA transfer mode bit for PIO and MWDMA
    pata_sis: Power Management fix
    pata_rz1000: Power Management fix
    pata_radisys: fix UDMA handling
    pata_ns87415: Power Management fix
    pata_marvell: fix marvell_pre_reset() documentation
    pata_legacy: add pointers to QDI65x0 documentation
    pata_legacy: fix access to control register for QDI6580
    pata_legacy: fix QDI6580DP support
    pata_it8213: fix it8213_pre_reset() documentation
    pata_it8213: fix wrong MWDMA timings being programmed
    pata_it8213: fix PIO2 underclocking
    pata_it8213: fix wrong PIO timings being programmed
    pata_it8213: fix UDMA handling
    ...

    Linus Torvalds
     
  • * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (149 commits)
    arm: omap: Add omap3_defconfig
    AM35xx: Defconfig for AM3517 EVM board
    AM35xx: Add support for AM3517 EVM board
    omap: 3630sdp: defconfig creation
    omap: 3630sdp: introduce 3630 sdp board support
    omap3: Add defconfig for IGEP v2 board
    omap3: Add minimal IGEP v2 support
    omap3: Add CompuLab CM-T35 defconfig
    omap3: Add CompuLab CM-T35 board support
    omap3: rx51: Add wl1251 wlan driver support
    omap3: rx51: Add SDRAM init
    omap1: Add default kernel configuration for Herald
    omap1: Add board support and LCD for HTC Herald
    omap: zoom2: update defconfig for LL_DEBUG_NONE
    omap: zoom3: defconfig creation
    omap3: zoom: Introduce zoom3 board support
    omap3: zoom: Drop i2c-1 speed to 2400
    omap3: zoom: rename zoom2 name to generic zoom
    omap3: zoom: split board file for software reuse
    omap3evm: MIgrate to smsc911x ethernet driver
    ...

    Fix trivial conflict (two unrelated config options added next to each
    other) in arch/arm/mach-omap2/Makefile

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: parport_mfc3 - Not makes it a bool before the comparison.
    m68k: don't export static inline functions
    fbdev: atafb - add palette register check
    m68k: Remove the BKL from sys_execve
    m68k: Cleanup linker scripts using new linker script macros.
    m68k: Make thread_info.h usable from assembly.
    m68knommu: define arch_has_single_step() and friends
    m68k: ptrace fixes
    m68k: use generic code for ptrace requests
    rtc: Add an RTC driver for the Ricoh RP5C01
    rtc: Add an RTC driver for the Oki MSM6242

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    ieee1394: Use hweight32
    firewire: cdev: reduce stack usage by ioctl_dispatch
    firewire: ohci: 0 may be a valid DMA address
    firewire: core: WARN on wrong usage of core transaction functions
    firewire: core: optimize Topology Map creation
    firewire: core: clarify generate_config_rom usage
    firewire: optimize config ROM creation
    firewire: cdev: normalize variable names
    firewire: normalize style of queue_work wrappers
    firewire: cdev: fix memory leak in an error path

    Linus Torvalds
     
  • * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (272 commits)
    Fix soc_common PCMCIA configuration
    ARM: 5827/1: SA1100: h3100/h3600: emit messages on failed gpio_request
    ARM: 5826/1: SA1100: h3100/h3600: always build htc-egpio driver
    ARM: 5825/1: SA1100: h3600: update defconfig
    ARM: 5824/1: SA1100: reuse h3600 PCMCIA driver on h3100
    ARM: 5823/1: SA1100: h3100/h3600: add support for gpio-keys
    ARM: 5822/1: SA1100: h3100/h3600: clean up #includes
    ARM: 5821/1: SA1100: h3100/h3600: revise copyright boilerplates
    ARM: 5820/1: SA1100: h3100/h3600: split h3600.c
    ARM: 5819/1: SA1100: h3100/h3600: merge h3600.h and h3600_gpio.h into h3xxx.h
    ARM: 5818/1: SA1100: h3100/h3600: drop old GPIO definitions
    ARM: 5817/1: SA1100: h3100/h3600: configure all unused gpios as inputs
    ARM: 5816/1: SA1100: h3600: remove IRQ_GPIO_* definitions
    ARM: 5815/1: SA1100: h3100/h3600: remove now unused assign_h3600_egpio handlers
    ARM: 5814/1: SA1100: h3100/h3600: convert all users of assign_h3600_egpio to gpiolib
    ARM: 5813/1: SA1100: h3100/h3600: add htc-egpio driver
    ARM: 5812/1: SA1100: h3100/h3600: separate machine-specific LCD helpers
    ARM: 5811/2: pcmcia: convert sa1100_h3600 driver to gpiolib
    ARM: 5799/1: SA1100: h3600: stop setting direction for LCD pins
    ARM: 5798/1: SA1100: h3600: remove unused cruft from h3600.h
    ...

    Linus Torvalds