17 Mar, 2015

1 commit

  • This patch introduces the use of function setup_timer.

    This is done using Coccinelle and semantic patch used is
    as follows:

    @@
    expression x,y,z;
    @@

    - init_timer (&x);
    + setup_timer (&x, y, z);
    - x.function = y;
    - x.data = z;

    Signed-off-by: Vaishali Thakkar
    Signed-off-by: Greg Kroah-Hartman

    Vaishali Thakkar
     

06 Dec, 2014

1 commit


29 Mar, 2012

2 commits

  • …m/linux/kernel/git/dhowells/linux-asm_system

    Pull "Disintegrate and delete asm/system.h" from David Howells:
    "Here are a bunch of patches to disintegrate asm/system.h into a set of
    separate bits to relieve the problem of circular inclusion
    dependencies.

    I've built all the working defconfigs from all the arches that I can
    and made sure that they don't break.

    The reason for these patches is that I recently encountered a circular
    dependency problem that came about when I produced some patches to
    optimise get_order() by rewriting it to use ilog2().

    This uses bitops - and on the SH arch asm/bitops.h drags in
    asm-generic/get_order.h by a circuituous route involving asm/system.h.

    The main difficulty seems to be asm/system.h. It holds a number of
    low level bits with no/few dependencies that are commonly used (eg.
    memory barriers) and a number of bits with more dependencies that
    aren't used in many places (eg. switch_to()).

    These patches break asm/system.h up into the following core pieces:

    (1) asm/barrier.h

    Move memory barriers here. This already done for MIPS and Alpha.

    (2) asm/switch_to.h

    Move switch_to() and related stuff here.

    (3) asm/exec.h

    Move arch_align_stack() here. Other process execution related bits
    could perhaps go here from asm/processor.h.

    (4) asm/cmpxchg.h

    Move xchg() and cmpxchg() here as they're full word atomic ops and
    frequently used by atomic_xchg() and atomic_cmpxchg().

    (5) asm/bug.h

    Move die() and related bits.

    (6) asm/auxvec.h

    Move AT_VECTOR_SIZE_ARCH here.

    Other arch headers are created as needed on a per-arch basis."

    Fixed up some conflicts from other header file cleanups and moving code
    around that has happened in the meantime, so David's testing is somewhat
    weakened by that. We'll find out anything that got broken and fix it..

    * tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)
    Delete all instances of asm/system.h
    Remove all #inclusions of asm/system.h
    Add #includes needed to permit the removal of asm/system.h
    Move all declarations of free_initmem() to linux/mm.h
    Disintegrate asm/system.h for OpenRISC
    Split arch_align_stack() out from asm-generic/system.h
    Split the switch_to() wrapper out of asm-generic/system.h
    Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
    Create asm-generic/barrier.h
    Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
    Disintegrate asm/system.h for Xtensa
    Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
    Disintegrate asm/system.h for Tile
    Disintegrate asm/system.h for Sparc
    Disintegrate asm/system.h for SH
    Disintegrate asm/system.h for Score
    Disintegrate asm/system.h for S390
    Disintegrate asm/system.h for PowerPC
    Disintegrate asm/system.h for PA-RISC
    Disintegrate asm/system.h for MN10300
    ...

    Linus Torvalds
     
  • Remove all #inclusions of asm/system.h preparatory to splitting and killing
    it. Performed with the following command:

    perl -p -i -e 's!^#\s*include\s*.*\n!!' `grep -Irl '^#\s*include\s*' *`

    Signed-off-by: David Howells

    David Howells
     

21 Feb, 2012

1 commit


27 Jan, 2012

2 commits


29 Jul, 2011

1 commit


29 Mar, 2011

1 commit


06 Jan, 2011

1 commit


21 Dec, 2010

1 commit


04 Dec, 2010

1 commit

  • This patch fixes a compilation issue when compiling PCMCIA SA1100
    support as a module with PCMCIA_DEBUG enabled. The symbol
    soc_pcmcia_debug was not beeing exported.
    ARM: pcmcia: Fix for building DEBUG with sa11xx_base.c as a module.

    This patch fixes a compilation issue when compiling PCMCIA SA1100
    support as a module with PCMCIA_DEBUG enabled. The symbol
    soc_pcmcia_debug was not beeing exported.

    Cc:
    Signed-off-by: Marcelo Roberto Jimenez
    Signed-off-by: Russell King

    Marcelo Roberto Jimenez
     

10 Nov, 2010

1 commit


16 Oct, 2010

1 commit


09 Nov, 2009

5 commits


21 Oct, 2009

1 commit


09 Mar, 2009

1 commit

  • Move the processor specific initialization (largely resources initialization)
    out of soc_common_drv_pcmcia_probe() into dedicated sa11xx_drv_pcmcia_probe()
    and __pxa2xx_drv_pcmcia_probe().

    By doing this, we are now able to move the PCMCIA related definitions out of
    pxa-regs.h and back into pxa2xx_base.c.

    As a result, remove that reference of _PCMCIA1IO in arch/arm/mach-pxa/viper.c.

    Signed-off-by: Eric Miao

    Eric Miao
     

14 Oct, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (49 commits)
    pcmcia: ioctl-internal definitions
    pcmcia: cistpl header cleanup
    pcmcia: remove unused argument to pcmcia_parse_tuple()
    pcmcia: card services header cleanup
    pcmcia: device_id header cleanup
    pcmcia: encapsulate ioaddr_t
    pcmcia: cleanup device driver header file
    pcmcia: cleanup socket services header file
    pcmcia: merge ds_internal.h into cs_internal.h
    pcmcia: cleanup cs_internal.h
    pcmcia: cs_internal.h is internal
    pcmcia: use dev_printk for cs_error()
    pcmcia: remove CS_ error codes alltogether
    pcmcia: deprecate CS_BAD_TUPLE
    pcmcia: deprecate CS_BAD_ARGS
    pcmcia: deprecate CS_BAD_BASE, CS_BAD_IRQ, CS_BAD_OFFSET and CS_BAD_SIZE
    pcmcia: deprecate CS_BAD_ATTRIBUTE, CS_BAD_TYPE and CS_BAD_PAGE
    pcmcia: deprecate CS_NO_MORE_ITEMS
    pcmcia: deprecate CS_IN_USE
    pcmcia: deprecate CS_CONFIGURATION_LOCKED
    ...

    Fix trivial conflict in drivers/pcmcia/ds.c manually

    Linus Torvalds
     

14 Sep, 2008

1 commit


23 Aug, 2008

1 commit


07 Aug, 2008

2 commits


27 Jul, 2008

1 commit

  • IRQT_* and __IRQT_* were obsoleted long ago by patch [3692/1].
    Remove them completely. Sed script for the reference:

    s/__IRQT_RISEDGE/IRQ_TYPE_EDGE_RISING/g
    s/__IRQT_FALEDGE/IRQ_TYPE_EDGE_FALLING/g
    s/__IRQT_LOWLVL/IRQ_TYPE_LEVEL_LOW/g
    s/__IRQT_HIGHLVL/IRQ_TYPE_LEVEL_HIGH/g
    s/IRQT_RISING/IRQ_TYPE_EDGE_RISING/g
    s/IRQT_FALLING/IRQ_TYPE_EDGE_FALLING/g
    s/IRQT_BOTHEDGE/IRQ_TYPE_EDGE_BOTH/g
    s/IRQT_LOW/IRQ_TYPE_LEVEL_LOW/g
    s/IRQT_HIGH/IRQ_TYPE_LEVEL_HIGH/g
    s/IRQT_PROBE/IRQ_TYPE_PROBE/g
    s/IRQT_NOEDGE/IRQ_TYPE_NONE/g

    Signed-off-by: Dmitry Baryshkov
    Signed-off-by: Russell King

    Dmitry Baryshkov
     

01 May, 2008

2 commits


17 Feb, 2007

1 commit

  • As found on some arm defconfigs.

    I only looked at how original patch changes things and other patches fix
    compilation. ;-)

    Signed-off-by: Alexey Dobriyan
    Cc: Dominik Brodowski
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Alexey Dobriyan
     

08 Feb, 2007

1 commit


26 Oct, 2006

1 commit


05 Oct, 2006

1 commit

  • Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
    of passing regs around manually through all ~1800 interrupt handlers in the
    Linux kernel.

    The regs pointer is used in few places, but it potentially costs both stack
    space and code to pass it around. On the FRV arch, removing the regs parameter
    from all the genirq function results in a 20% speed up of the IRQ exit path
    (ie: from leaving timer_interrupt() to leaving do_IRQ()).

    Where appropriate, an arch may override the generic storage facility and do
    something different with the variable. On FRV, for instance, the address is
    maintained in GR28 at all times inside the kernel as part of general exception
    handling.

    Having looked over the code, it appears that the parameter may be handed down
    through up to twenty or so layers of functions. Consider a USB character
    device attached to a USB hub, attached to a USB controller that posts its
    interrupts through a cascaded auxiliary interrupt controller. A character
    device driver may want to pass regs to the sysrq handler through the input
    layer which adds another few layers of parameter passing.

    I've build this code with allyesconfig for x86_64 and i386. I've runtested the
    main part of the code on FRV and i386, though I can't test most of the drivers.
    I've also done partial conversion for powerpc and MIPS - these at least compile
    with minimal configurations.

    This will affect all archs. Mostly the changes should be relatively easy.
    Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

    struct pt_regs *old_regs = set_irq_regs(regs);

    And put the old one back at the end:

    set_irq_regs(old_regs);

    Don't pass regs through to generic_handle_irq() or __do_IRQ().

    In timer_interrupt(), this sort of change will be necessary:

    - update_process_times(user_mode(regs));
    - profile_tick(CPU_PROFILING, regs);
    + update_process_times(user_mode(get_irq_regs()));
    + profile_tick(CPU_PROFILING);

    I'd like to move update_process_times()'s use of get_irq_regs() into itself,
    except that i386, alone of the archs, uses something other than user_mode().

    Some notes on the interrupt handling in the drivers:

    (*) input_dev() is now gone entirely. The regs pointer is no longer stored in
    the input_dev struct.

    (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
    something different depending on whether it's been supplied with a regs
    pointer or not.

    (*) Various IRQ handler function pointers have been moved to type
    irq_handler_t.

    Signed-Off-By: David Howells
    (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)

    David Howells
     

03 Jul, 2006

2 commits

  • * 'genirq' of master.kernel.org:/home/rmk/linux-2.6-arm: (24 commits)
    [ARM] 3683/2: ARM: Convert at91rm9200 to generic irq handling
    [ARM] 3682/2: ARM: Convert ixp4xx to generic irq handling
    [ARM] 3702/1: ARM: Convert ixp23xx to generic irq handling
    [ARM] 3701/1: ARM: Convert plat-omap to generic irq handling
    [ARM] 3700/1: ARM: Convert lh7a40x to generic irq handling
    [ARM] 3699/1: ARM: Convert s3c2410 to generic irq handling
    [ARM] 3698/1: ARM: Convert sa1100 to generic irq handling
    [ARM] 3697/1: ARM: Convert shark to generic irq handling
    [ARM] 3696/1: ARM: Convert clps711x to generic irq handling
    [ARM] 3694/1: ARM: Convert ecard driver to generic irq handling
    [ARM] 3693/1: ARM: Convert omap1 to generic irq handling
    [ARM] 3691/1: ARM: Convert imx to generic irq handling
    [ARM] 3688/1: ARM: Convert clps7500 to generic irq handling
    [ARM] 3687/1: ARM: Convert integrator to generic irq handling
    [ARM] 3685/1: ARM: Convert pxa to generic irq handling
    [ARM] 3684/1: ARM: Convert l7200 to generic irq handling
    [ARM] 3681/1: ARM: Convert ixp2000 to generic irq handling
    [ARM] 3680/1: ARM: Convert footbridge to generic irq handling
    [ARM] 3695/1: ARM drivers/pcmcia: Fixup includes
    [ARM] 3689/1: ARM drivers/input/touchscreen: Fixup includes
    ...

    Manual conflict resolved in kernel/irq/handle.c (butt-ugly ARM tickless
    code).

    Linus Torvalds
     
  • Signed-off-by: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "David S. Miller"
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     

02 Jul, 2006

1 commit


01 Jul, 2006

1 commit


06 Jan, 2006

2 commits


15 Oct, 2005

1 commit