All of lore.kernel.org
 help / color / mirror / Atom feed
From: ryan@bluewatersys.com (Ryan Mallon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 00/23] Create common framework for AT91 device initialisation
Date: Sat, 30 Apr 2011 08:14:58 +1200	[thread overview]
Message-ID: <4DBB1C42.9020509@bluewatersys.com> (raw)
In-Reply-To: <0D753D10438DA54287A00B027084269764D274304B@AUSP01VMBX24.collaborationhost.net>

On 30/04/11 06:04, H Hartley Sweeten wrote:
> On Thursday, April 28, 2011 7:59 PM, Ryan Mallon wrote:
>>
>> Each AT91 variant (AT91RM9200, AT91SAM9260, etc) currently has its own
>> devices file, which includes the MMIO address, interrupt
>> configuration, GPIO setup, etc for each device. This results in a large
>> amount of duplicated code.
>>
>> This patch set introduces a framework for adding shared devices for the
>> AT91 platform and replaces the multiple device setup implementations for
>> each device with single implementations in the new framework. This has
>> a net reduction of nearly 5000 lines of code.
>>
>> Each of the arch/arm/mach-at91/*_devices.c files becomes a collection of
>> structures (with some initialisation callbacks where necessary) with a
>> table of devices which are present on the particular AT91 variant. All
>> structures/functions are marked as __init/__initdata so there is little
>> additional memory overhead. This also means that the #ifdefs around each
>> device can be removed from the *_devices.c files (but remain in the new
>> common devices.c file) without overhead.
>>
>> This patch series does not introduce any functional changes to how the
>> board files add devices, it only replaces the duplicate device 
>> initialisation code with common versions. The patch series attempts to
>> have minimum change by rewriting as little as possible of the actual
>> device initialisation functions.
>>
>> This is also a step towards allowing more than one AT91 variant to be
>> built into a single kernel by removing duplicate function names across
>> the *_devices.c files.
>>
>> I have build tested the patch series for all of the  AT91 variants 
>> and devices, and have boot tested it on the AT91SAM9G20 (Snapper 9G20
>> board) and tested basic device functionality.
> 
> Ryan,
> 
> This patch series does not apply to linux-next.
> 
> It appears Jean-Christophe PLAGNIOL-VILLARD has recently committed a number
> of patches to that branch.
> 
>     at91: move clock subsystem init to soc generic init
>     at91: move register clocks to soc generic init
>     at91: move st timer to drivers/clocksource
>     at91: move pit timer to drivers/clocksource
>     at91: switch st timer to early platform devices
>     at91: switch pit timer to early platform devices
>     at91: move gpio to drivers/gpio
>     at91: switch gpio to early platfrom device
>     at91: switch to CLKDEV_LOOKUP
>     at91: use structure to store the current soc
>     at91: merge board usb-a9260 and usb-a9263 together
>     at91: factorize at91 interrupts init to soc
>     at91: introduce commom AT91_BASE_SYS
>     at91rm9200: introduce at91rm9200_set_type to specficy cpu package
>     at91: 9260 and 9g20 add support of join SRAM Memory Mapping
>     at91/board-eco920: remove at91_beeper ressource as no driver at91_beeper exist
>     atmel_serial: keep the platform_device unchanged
>     at91: remove MTD_NAND_ATMEL_BUSWIDTH_16 option
>     at91: Add ARCH_ID and basic cpu macros definition for 5series chips family.
> 
> There are also these three ahead of Linus' linux-2.6 tree:
> 
>     arm: at91: fix compiler warning for eb01 board build
>     ARM: at91: AT91CAP9 has a macb device
>     treewide: remove extra semicolons

Ok, I have more changes to make anyway so I will rebase against these
three. I do not want to rebase on top of the Jean-Christophe's patches
because I do not think that they are ready for mainline inclusion. See
the discussion in the other thread.

~Ryan

  reply	other threads:[~2011-04-29 20:14 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-29  2:59 [PATCH v3 00/23] Create common framework for AT91 device initialisation Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 01/23] at91: Add common devices framework Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 02/23] at91: Make Ethernet device common Ryan Mallon
2011-04-29  9:08   ` Russell King - ARM Linux
2011-04-29  9:38     ` Ryan Mallon
2011-04-29  9:54       ` Russell King - ARM Linux
2011-04-29  2:59 ` [PATCH v3 03/23] at91: Make USB OHCI/EHCI devices common Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 04/23] at91: Make UDC device common Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 05/23] at91: Make MMC " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 06/23] at91: Make NAND " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 07/23] at91: Make TWI " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 08/23] at91: Make SPI " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 09/23] at91: Make TCB " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 10/23] at91: Make RTT " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 11/23] at91: Make watchdog " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 12/23] at91: Make UART devices common Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 13/23] at91: Make PWM device common Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 14/23] at91: Make SSC " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 15/23] at91: Make AC97 " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 16/23] at91: Make LCD controller " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 17/23] at91: Make touchscreen " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 18/23] at91: Make HDMAC " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 19/23] at91: Make RTC " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 20/23] at91: Make high speed USB gadget " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 21/23] at91: Make compact flash " Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 22/23] at91: Move at91sam9263 CAN device to common devices Ryan Mallon
2011-04-29  2:59 ` [PATCH v3 23/23] at91: Remove mAgic and ISI device code Ryan Mallon
2011-04-29 18:04 ` [PATCH v3 00/23] Create common framework for AT91 device initialisation H Hartley Sweeten
2011-04-29 20:14   ` Ryan Mallon [this message]
2011-05-02 19:46     ` Jean-Christophe PLAGNIOL-VILLARD

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DBB1C42.9020509@bluewatersys.com \
    --to=ryan@bluewatersys.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.