27 Jul, 2010

1 commit

  • This patch fixes a build failure [1-4] in the atmel_serial code introduced by
    patch the patch ARM: 6092/1: atmel_serial: support for RS485
    communications (e8faff7330a3501eafc9bfe5f4f15af444be29f5)

    The build failure was caused by missing struct field and missing defines
    for the avr32 board - the patch fixes this.

    [1] http://kisskb.ellerman.id.au/kisskb/buildresult/2575242/ - first failure in linux-next, may 11th
    [2] http://kisskb.ellerman.id.au/kisskb/buildresult/2816418/ - still exists as of today
    [3] http://kisskb.ellerman.id.au/kisskb/buildresult/2617511/ - first failure in Linus' tree - May 20th - did really no one notice this?!
    [4] http://kisskb.ellerman.id.au/kisskb/buildresult/2813956/ - still exists in Linus' tree as of today

    Signed-off-by: Peter Huewe
    Signed-off-by: Greg Kroah-Hartman

    Peter Huewe
     

30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

03 Mar, 2010

1 commit

  • Adding vbus_pin_inverted so that the usb detect pin can be active high
    or low depending on HW implementation also replaced the
    gpio_get_value(udc->vbus_pin); with a call to vbus_is_present(udc); This
    allows the driver to be loaded and save about 0,15W on the consumption.

    Signed-off-by: Eirik Aanonsen
    Signed-off-by: Greg Kroah-Hartman

    Eirik Aanonsen
     

28 Dec, 2009

2 commits

  • This patch will check if the kzalloc for the MCI DMA struct actually
    returns a valid address, and also clean up properly if it fails or the
    function fails at a later stage.

    This also silences a compiler warning about using the slave variable
    uninitialized.

    Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • This patch fixes a build failure introduced by the patch
    atmel-mci: change use of dma slave interface by Nicolas Ferre
    by changing mci_dma_slave to the correct name of mci_dma_data

    This should make the avr32 tree build again.

    References:
    http://kisskb.ellerman.id.au/kisskb/buildresult/1893610/
    http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git;a=commitdiff;h=2635d1ba711560d521f6218c585a3e0401f566e1

    Patch against Linus' tree.

    Signed-off-by: Peter Huewe
    Signed-off-by: Haavard Skinnemoen

    Peter Huewe
     

16 Dec, 2009

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
    avr32: update default configurations for ATNGW100, ATSTK1002 and ATSTK1006
    avr32: add default configurations for ATNGW100 mkII and EVKLCD10X
    avr32: add support for ATNGW100 mkII board
    avr32: convert to asm-generic/hardirq.h
    avr32: add two new at91 to cpu.h definition
    avr32: clean up linker script using standard macros.
    avr32: MRMT: correct setup of SPI slaves
    avr32: function for independently setting up SPI slaves
    avr32: re-instate MCI WP/CD pin assignments for ATNGW100

    Linus Torvalds
     
  • Allow the use of another DMA controller driver in atmel-mci sd/mmc driver.
    This adds a generic dma_slave pointer to the mci platform structure where
    we can store DMA controller information. In atmel-mci we use information
    provided by this structure to initialize the driver (with new helper
    functions that are architecture dependant).

    This also adds at32/avr32 chip modifications to cope with this new access
    method.

    Signed-off-by: Nicolas Ferre
    Cc: Haavard Skinnemoen
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre
     

15 Dec, 2009

1 commit


04 Nov, 2009

2 commits

  • cpu_is_xxx() macros are identifying generic at91sam9g45 chip. This patch adds
    the capacity to differentiate Engineering Samples and final lots through the
    inclusion of at91_cpu_fully_identify() and the related chip IDs with chip
    version field preserved.

    Signed-off-by: Nicolas Ferre
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD
    Acked-by: Hans-Christian Egtvedt

    Nicolas Ferre
     
  • Somme common drivers will need those at91 cpu_is_xxx() definitions. As
    at91sam9g10 and at91sam9g45 are on the way to linus' tree, here is the patch
    that adds those chips to cpu.h in AVR32 architecture.

    Signed-off-by: Nicolas Ferre
    Signed-off-by: Haavard Skinnemoen

    Nicolas Ferre
     

07 Oct, 2009

1 commit

  • Somme common drivers will need those at91 cpu_is_xxx() definitions. As
    at91sam9g10 and at91sam9g45 are on the way to linus' tree, here is the patch
    that adds those chips to cpu.h in AVR32 architecture.

    Signed-off-by: Nicolas Ferre
    Signed-off-by: Haavard Skinnemoen

    Nicolas Ferre
     

27 Aug, 2009

1 commit

  • at32ap_spi_setup_slaves() is exposed to allow the addition of SPI slaves
    to a SPI bus that has already been registered. This is especially
    useful for add-on cards, which have their own board setup function.
    at32ap_spi_add_device() has been slightly re-organized, but should be
    transparent to existing users.

    So to add a SPI slave, after a SPI bus has already been registered:

    /* Configure the list of slaves on SPI controller "id" */
    at32_spi_setup_slaves(id,spi_board_info,ARRAY_SIZE(spi_board_info));
    /* Register the list of slaves */
    spi_register_board_info(spi_board_info,ARRAY_SIZE(spi_board_info));

    Signed-off-by: Peter Ma
    [haavard.skinnemoen@atmel.com: trivial whitespace fix]
    Signed-off-by: Haavard Skinnemoen

    Peter Ma
     

03 Jun, 2009

1 commit

  • At the moment ATMEL_USART_{RTS,CTS,CLK} have the values
    1, 2 and 3 respectively. Given these are used in bitmasks,
    trying to turn on the CLK line will in fact turn on the
    RTS and CTS lines as well.

    Change the value of ATMEL_USART_CLK to 4.

    Signed-off-by: Ben Nizette
    Signed-off-by: Haavard Skinnemoen

    Ben Nizette
     

07 Apr, 2009

1 commit


01 Apr, 2009

1 commit


27 Mar, 2009

3 commits


26 Mar, 2009

3 commits


17 Feb, 2009

1 commit


10 Jan, 2009

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (22 commits)
    ioat: fix self test for multi-channel case
    dmaengine: bump initcall level to arch_initcall
    dmaengine: advertise all channels on a device to dma_filter_fn
    dmaengine: use idr for registering dma device numbers
    dmaengine: add a release for dma class devices and dependent infrastructure
    ioat: do not perform removal actions at shutdown
    iop-adma: enable module removal
    iop-adma: kill debug BUG_ON
    iop-adma: let devm do its job, don't duplicate free
    dmaengine: kill enum dma_state_client
    dmaengine: remove 'bigref' infrastructure
    dmaengine: kill struct dma_client and supporting infrastructure
    dmaengine: replace dma_async_client_register with dmaengine_get
    atmel-mci: convert to dma_request_channel and down-level dma_slave
    dmatest: convert to dma_request_channel
    dmaengine: introduce dma_request_channel and private channels
    net_dma: convert to dma_find_channel
    dmaengine: provide a common 'issue_pending_all' implementation
    dmaengine: centralize channel allocation, introduce dma_find_channel
    dmaengine: up-level reference counting to the module level
    ...

    Linus Torvalds
     

07 Jan, 2009

1 commit


05 Jan, 2009

6 commits

  • Haavard Skinnemoen
     
  • Needed to use the atmel-mci driver in an architecture
    independant maner.

    Signed-off-by: Nicolas Ferre
    Signed-off-by: Haavard Skinnemoen

    Nicolas Ferre
     
  • The Hammerhead platform is built around a AVR32 32-bit microcontroller
    from Atmel. It offers versatile peripherals, such as ethernet, usb
    device, usb host etc.

    The board also incooperates a power supply and is a Power over Ethernet
    (PoE) Powered Device (PD).

    Additonally, a Cyclone III FPGA from Altera is integrated on the board.
    The FPGA is mapped into the 32-bit AVR memory bus. The FPGA offers two
    DDR2 SDRAM interfaces, which will cover even the most exceptional need
    of memory bandwidth. Together with the onboard video decoder the board
    is ready for video processing.

    This patch does include the basic support for the fpga device driver,
    but not the device driver itself.

    Signed-off-by: Alex Raimondi
    Signed-off-by: Haavard Skinnemoen

    Alex Raimondi
     
  • Haavard Skinnemoen
     
  • at32_reserve_pin now takes an u32 bitmask rather than a single pin.
    This allows to reserve multiple pins at once.

    Remove (undocumented) SDCS (pin PE26) from reservation in board
    setup code.

    Signed-off-by: Alex Raimondi
    Signed-off-by: Haavard Skinnemoen

    Alex Raimondi
     
  • (I did not compile or test it, please let me know, or help fixing
    it, if something is wrong with the conversion)

    This patch is part of a larger patch series which will remove
    the "char bus_id[20]" name string from struct device. The device
    name is managed in the kobject anyway, and without any size
    limitation, and just needlessly copied into "struct device".

    To set and read the device name dev_name(dev) and dev_set_name(dev)
    must be used. If your code uses static kobjects, which it shouldn't
    do, "const char *init_name" can be used to statically provide the
    name the registered device should have. At registration time, the
    init_name field is cleared, to enforce the use of dev_name(dev) to
    access the device name at a later time.

    We need to get rid of all occurrences of bus_id in the entire tree
    to be able to enable the new interface. Please apply this patch,
    and possibly convert any remaining remaining occurrences of bus_id.

    We want to submit a patch to -next, which will remove bus_id from
    "struct device", to find the remaining pieces to convert, and finally
    switch over to the new api, which will remove the 20 bytes array
    and does no longer have a size limitation.

    Thanks,
    Kay

    From: Kay Sievers
    Subject: avr: struct device - replace bus_id with dev_name(), dev_set_name()

    Cc: Haavard Skinnemoen
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Kay Sievers
    Signed-off-by: Haavard Skinnemoen

    Kay Sievers
     

24 Oct, 2008

1 commit

  • Make USART initialization conform to Section 24.6.1 in the AT32AP7000 manual,
    i.e. "To prevent the TXD line from falling when the USART is disabled, the use
    of an internal pull up is mandatory."

    Signed-off-by: Anders Blomdell
    [haavard.skinnemoen@atmel.com: enable pullup on RX as well]
    Signed-off-by: Haavard Skinnemoen

    Anders Blomdell
     

23 Oct, 2008

4 commits


21 Oct, 2008

1 commit

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

    This merges branches irq/genirq, irq/sparseirq-v4, timers/hpet-percpu
    and x86/uv.

    The sparseirq branch is just preliminary groundwork: no sparse IRQs are
    actually implemented by this tree anymore - just the new APIs are added
    while keeping the old way intact as well (the new APIs map 1:1 to
    irq_desc[]). The 'real' sparse IRQ support will then be a relatively
    small patch ontop of this - with a v2.6.29 merge target.

    * 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (178 commits)
    genirq: improve include files
    intr_remapping: fix typo
    io_apic: make irq_mis_count available on 64-bit too
    genirq: fix name space collisions of nr_irqs in arch/*
    genirq: fix name space collision of nr_irqs in autoprobe.c
    genirq: use iterators for irq_desc loops
    proc: fixup irq iterator
    genirq: add reverse iterator for irq_desc
    x86: move ack_bad_irq() to irq.c
    x86: unify show_interrupts() and proc helpers
    x86: cleanup show_interrupts
    genirq: cleanup the sparseirq modifications
    genirq: remove artifacts from sparseirq removal
    genirq: revert dynarray
    genirq: remove irq_to_desc_alloc
    genirq: remove sparse irq code
    genirq: use inline function for irq_to_desc
    genirq: consolidate nr_irqs and for_each_irq_desc()
    x86: remove sparse irq from Kconfig
    genirq: define nr_irqs for architectures with GENERIC_HARDIRQS=n
    ...

    Linus Torvalds
     

16 Oct, 2008

2 commits


13 Oct, 2008

1 commit

  • The MIMC200 board uses the SPD output pin from the Ethernet MACs for
    other purposes.

    One of these is as a board-reset, so I've had to #define off the SPD
    output pin declaration.

    This is probably not the best way of achieving this, but works in the
    current framework.

    Signed-off-by: Mark Jackson
    Signed-off-by: Haavard Skinnemoen

    Mark Jackson
     

12 Oct, 2008

1 commit