mbox

[PULL] i.MX

Message ID 20111004092015.GM31404@pengutronix.de
State New
Headers show

Pull-request

git://git.pengutronix.de/git/imx/linux-2.6.git for-arnd

Message

Sascha Hauer Oct. 4, 2011, 9:20 a.m. UTC
Hi Arnd,

Please pull the following for next. There are merge conflicts between
the cleanup and the features branch, so I decided to merge them together
so you don't have to handle the conflicts yourself. Please let me know
if this is ok for you or if we have to find another solution.

Sascha


The following changes since commit dfa690cd787c72468f8d633c0be81330e4466c08:

  Merge branch 'next/dmtimer' into for-next (2011-10-01 18:51:54 +0200)

are available in the git repository at:

  git://git.pengutronix.de/git/imx/linux-2.6.git for-arnd

Arnaud Patard (2):
      Fix pata imx resource
      efika: Configure esdhc cd/wp on efika mx/sb

Fabio Estevam (3):
      ARM: mach-qong: Add watchdog support
      ARM: mach-mxs/mx28evk: Only register devices if their GPIO requests succeeded
      ARM: mxs: Consolidate mm-mx23.c and mm-mx28.c into a single file

Hui Wang (1):
      ARM i.MX avic: convert to use generic irq chip

Jason Liu (4):
      ARM: mx5/mm: move i.MX50 mm stuff into mm.c
      ARM: mx5/mm: Remove MX51_DEBUG related mapping
      ARM: mx5/mm: consolidate TZIC map code
      ARM: mx25: Add the missing IIM base definition

Philippe Rétornaz (1):
      mx31moboard: Add poweroff support

Sascha Hauer (8):
      Merge branches 'cleanups/assorted' and 'cleanups/mm-tzic' into imx-cleanup
      ARM i.MX avic: add handle_irq function
      ARM i.MX tzic: add handle_irq function
      ARM i.MX boards: use CONFIG_MULTI_IRQ_HANDLER
      ARM i.MX entry-macro.S: remove now unused code
      Merge branches 'features/assorted', 'features/imx-pata' and 'features/imx-multi-irq-v2' into imx-features
      Merge branches 'cleanups/mx3-mm-v2' and 'cleanups/mxs' into imx-cleanup
      Merge branch 'imx-features' into for-arnd

Shawn Guo (5):
      arm/imx: merge mm-imx35.c into mm-imx31.c
      arm/imx: rename mm-imx31.c to mm-imx3.c
      arm/imx: change mxc_init_l2x0() to an imx31/35 specific call
      arm/imx: remove cpu_is_xxx() from arch_idle()
      arm/imx: remove cpu_is_xxx() check from __imx_ioremap()

 arch/arm/Kconfig                                  |    1 +
 arch/arm/mach-imx/Kconfig                         |    1 +
 arch/arm/mach-imx/Makefile                        |   15 +-
 arch/arm/mach-imx/cache-l2x0.c                    |   56 -
 arch/arm/mach-imx/mach-apf9328.c                  |    1 +
 arch/arm/mach-imx/mach-armadillo5x0.c             |   19 +-
 arch/arm/mach-imx/mach-bug.c                      |    1 +
 arch/arm/mach-imx/mach-cpuimx27.c                 |    1 +
 arch/arm/mach-imx/mach-cpuimx35.c                 |    3 +-
 arch/arm/mach-imx/mach-eukrea_cpuimx25.c          |    1 +
 arch/arm/mach-imx/mach-imx27_visstrim_m10.c       |    1 +
 arch/arm/mach-imx/mach-imx27ipcam.c               |    1 +
 arch/arm/mach-imx/mach-imx27lite.c                |    1 +
 arch/arm/mach-imx/mach-kzm_arm11_01.c             |    1 +
 arch/arm/mach-imx/mach-mx1ads.c                   |   17 +-
 arch/arm/mach-imx/mach-mx21ads.c                  |    1 +
 arch/arm/mach-imx/mach-mx25_3ds.c                 |    1 +
 arch/arm/mach-imx/mach-mx27_3ds.c                 |    3 +-
 arch/arm/mach-imx/mach-mx27ads.c                  |    1 +
 arch/arm/mach-imx/mach-mx31_3ds.c                 |    1 +
 arch/arm/mach-imx/mach-mx31ads.c                  |    1 +
 arch/arm/mach-imx/mach-mx31lilly.c                |    1 +
 arch/arm/mach-imx/mach-mx31lite.c                 |    1 +
 arch/arm/mach-imx/mach-mx31moboard.c              |   18 +
 arch/arm/mach-imx/mach-mx35_3ds.c                 |    1 +
 arch/arm/mach-imx/mach-mxt_td60.c                 |    1 +
 arch/arm/mach-imx/mach-pca100.c                   |    1 +
 arch/arm/mach-imx/mach-pcm037.c                   |    1 +
 arch/arm/mach-imx/mach-pcm038.c                   |    1 +
 arch/arm/mach-imx/mach-pcm043.c                   |    1 +
 arch/arm/mach-imx/mach-qong.c                     |    2 +
 arch/arm/mach-imx/mach-scb9328.c                  |    1 +
 arch/arm/mach-imx/mach-vpr200.c                   |    3 +-
 arch/arm/mach-imx/mm-imx3.c                       |  256 ++
 arch/arm/mach-imx/mm-imx31.c                      |   91 -
 arch/arm/mach-imx/mm-imx35.c                      |  109 -
 arch/arm/mach-imx/pm-imx27.c                      |    2 +-
 arch/arm/mach-mx5/Kconfig                         |   10 +-
 arch/arm/mach-mx5/Makefile                        |    3 +-
 arch/arm/mach-mx5/board-cpuimx51.c                |   28 +-
 arch/arm/mach-mx5/board-cpuimx51sd.c              |   26 +-
 arch/arm/mach-mx5/board-mx50_rdp.c                |    1 +
 arch/arm/mach-mx5/board-mx51_3ds.c                |    2 +-
 arch/arm/mach-mx5/board-mx51_babbage.c            |   27 +-
 arch/arm/mach-mx5/board-mx51_efikamx.c            |   14 +-
 arch/arm/mach-mx5/board-mx51_efikasb.c            |   25 +-
 arch/arm/mach-mx5/board-mx53_ard.c                |    5 +-
 arch/arm/mach-mx5/board-mx53_evk.c                |    1 +
 arch/arm/mach-mx5/board-mx53_loco.c               |    1 +
 arch/arm/mach-mx5/board-mx53_smd.c                |    1 +
 arch/arm/mach-mx5/clock-mx51-mx53.c               |    2 +-
 arch/arm/mach-mx5/devices-imx51.h                 |   13 +
 arch/arm/mach-mx5/devices.c                       |  120 -
 arch/arm/mach-mx5/devices.h                       |    5 -
 arch/arm/mach-mx5/ehci.c                          |    2 +-
 arch/arm/mach-mx5/eukrea_mbimx51-baseboard.c      |    3 +-
 arch/arm/mach-mx5/eukrea_mbimxsd-baseboard.c      |    6 +-
 arch/arm/mach-mx5/mm-mx50.c                       |   72 -
 arch/arm/mach-mx5/mm.c                            |   90 +-
 arch/arm/mach-mx5/mx51_efika.c                    |   18 +-
 arch/arm/mach-mx5/pm-imx5.c                       |    3 +-
 arch/arm/mach-mx5/system.c                        |    1 +
 arch/arm/mach-mxs/Makefile                        |    6 +-
 arch/arm/mach-mxs/include/mach/gpio.h             |    4 -
 arch/arm/mach-mxs/include/mach/mxs.h              |    2 +
 arch/arm/mach-mxs/mach-mx23evk.c                  |    1 -
 arch/arm/mach-mxs/mach-mx28evk.c                  |   24 +-
 arch/arm/mach-mxs/mach-stmp378x_devb.c            |    1 -
 arch/arm/mach-mxs/mm-mx28.c                       |   44 -
 arch/arm/mach-mxs/{mm-mx23.c => mm.c}             |   19 +
 arch/arm/plat-mxc/audmux-v2.c                     |   18 +-
 arch/arm/plat-mxc/avic.c                          |   91 +-
 arch/arm/plat-mxc/devices.c                       |   14 -
 arch/arm/plat-mxc/devices/Kconfig                 |    2 +-
 arch/arm/plat-mxc/devices/platform-fsl-usb2-udc.c |    5 +
 arch/arm/plat-mxc/devices/platform-imx-i2c.c      |    6 +
 arch/arm/plat-mxc/devices/platform-mxc-ehci.c     |    9 +
 arch/arm/plat-mxc/devices/platform-pata_imx.c     |    2 +-
 arch/arm/plat-mxc/include/mach/common.h           |   26 +-
 arch/arm/plat-mxc/include/mach/entry-macro.S      |   58 +-
 arch/arm/plat-mxc/include/mach/gpio.h             |    9 +-
 arch/arm/plat-mxc/include/mach/hardware.h         |   13 +-
 arch/arm/plat-mxc/include/mach/io.h               |   22 +-
 arch/arm/plat-mxc/include/mach/iomux-mx3.h        |    1 +
 arch/arm/plat-mxc/include/mach/iomux-mx51.h       | 2270 +++++---------
 arch/arm/plat-mxc/include/mach/iomux-mx53.h       | 3530 +++++++--------------
 arch/arm/plat-mxc/include/mach/iomux-v3.h         |    1 +
 arch/arm/plat-mxc/include/mach/mx25.h             |    1 +
 arch/arm/plat-mxc/include/mach/mx51.h             |  183 +-
 arch/arm/plat-mxc/include/mach/mx53.h             |    1 +
 arch/arm/plat-mxc/include/mach/mxc.h              |    7 -
 arch/arm/plat-mxc/include/mach/system.h           |   35 +-
 arch/arm/plat-mxc/irq-common.c                    |   21 +-
 arch/arm/plat-mxc/irq-common.h                    |    3 +-
 arch/arm/plat-mxc/system.c                        |    3 +
 arch/arm/plat-mxc/tzic.c                          |   32 +-
 drivers/gpio/gpio-mxc.c                           |   12 +
 drivers/gpio/gpio-mxs.c                           |    2 +
 98 files changed, 2768 insertions(+), 4807 deletions(-)
 delete mode 100644 arch/arm/mach-imx/cache-l2x0.c
 create mode 100644 arch/arm/mach-imx/mm-imx3.c
 delete mode 100644 arch/arm/mach-imx/mm-imx31.c
 delete mode 100644 arch/arm/mach-imx/mm-imx35.c
 delete mode 100644 arch/arm/mach-mx5/devices.c
 delete mode 100644 arch/arm/mach-mx5/devices.h
 delete mode 100644 arch/arm/mach-mx5/mm-mx50.c
 delete mode 100644 arch/arm/mach-mxs/mm-mx28.c
 rename arch/arm/mach-mxs/{mm-mx23.c => mm.c} (75%)

Comments

Arnd Bergmann Oct. 7, 2011, 8:30 p.m. UTC | #1
On Tuesday 04 October 2011, Sascha Hauer wrote:
> Please pull the following for next. There are merge conflicts between
> the cleanup and the features branch, so I decided to merge them together
> so you don't have to handle the conflicts yourself. Please let me know
> if this is ok for you or if we have to find another solution.

Hi Sascha,

it took me a while to figure out what you are doing here, but I think I've
made it in the end. I recreated the imx/cleanup and imx/devel branches
from the commit you sent me and made sure everything was still there, then
did the merge again and took the conflict resolution that you had
provided.

I also recreated the next/devel branch to have a cleaner history with
the same contents after that.

I also took out the ata stuff into a separate branch, and will decide
later if I submit that before the rest or as part of the devel branch.

Please check if the branch contents are ok for you now and if the for-next
branch work for you.

I've been thinking about these dependencies a bit more in general. I
think a good solution is how Tony does it for the omap branches:
There are lots of feature branches and he sends the bigger ones
individually to me instead of one big 'devel' branch, so I can decide
how to group them with other stuff (e.g. your ata changes can go
into a driver branch). Any significant cleanups go *first* in each
branch in order to avoid having to do a merge between feature and
cleanup branches for the conflict resolution. There are (at least)
two ways to get there, I don't mind which one you prefer:

1. Apply all cleanups into one branch, then start each feature branch
from the latest (at that time) version of the cleanup branch.
2. Keep the cleanups local to the feature branches, but have them
first in each branch. Then create the global cleanup branch by
merging the cleanup parts of each branch together.

In the end, the thing I'm interested in is being able to reasonably
argue stuff like:
a) This branch contains only cleanups. The number of lines changed
may be huge, but you can easily tell from each commit that the
code quality is improving throughout the branch.
b) This is a feature branch. We've tried our best to keep each
feature as clean and small as possible and from the commits
it is clear to see why these changes are necessary in order to
make progress.

When you get to a point where you have to do a manual merge between
branches because there was no easier solution, I generally want
to be the person to do the merge. If the merge is nontrivial,
I certainly like to see a branch that contains the resolution
that you ended up with, so I can do the same, but I also want to
understand what you do, and that is easier if I get individual
branches.

I hope that explanation helps.

Thanks,

	Arnd
Sascha Hauer Oct. 8, 2011, 10:13 a.m. UTC | #2
On Fri, Oct 07, 2011 at 10:30:18PM +0200, Arnd Bergmann wrote:
> On Tuesday 04 October 2011, Sascha Hauer wrote:
> > Please pull the following for next. There are merge conflicts between
> > the cleanup and the features branch, so I decided to merge them together
> > so you don't have to handle the conflicts yourself. Please let me know
> > if this is ok for you or if we have to find another solution.
> 
> Hi Sascha,
> 
> it took me a while to figure out what you are doing here, but I think I've
> made it in the end. I recreated the imx/cleanup and imx/devel branches
> from the commit you sent me and made sure everything was still there, then
> did the merge again and took the conflict resolution that you had
> provided.

Well it also took me a while to figure out what I should do ;) The
problem I had started with the second pull request which partly depended
on the first one, so I decided to use the commits of the first pull
request as a base.

> 
> I also recreated the next/devel branch to have a cleaner history with
> the same contents after that.
> 
> I also took out the ata stuff into a separate branch, and will decide
> later if I submit that before the rest or as part of the devel branch.
> 
> Please check if the branch contents are ok for you now and if the for-next
> branch work for you.

Compiles and works smoothly and everything seems to be there. Thanks.

> 
> I've been thinking about these dependencies a bit more in general. I
> think a good solution is how Tony does it for the omap branches:
> There are lots of feature branches and he sends the bigger ones
> individually to me instead of one big 'devel' branch, so I can decide
> how to group them with other stuff (e.g. your ata changes can go
> into a driver branch). Any significant cleanups go *first* in each
> branch in order to avoid having to do a merge between feature and
> cleanup branches for the conflict resolution. There are (at least)
> two ways to get there, I don't mind which one you prefer:
> 
> 1. Apply all cleanups into one branch, then start each feature branch
> from the latest (at that time) version of the cleanup branch.
> 2. Keep the cleanups local to the feature branches, but have them
> first in each branch. Then create the global cleanup branch by
> merging the cleanup parts of each branch together.
> 
> In the end, the thing I'm interested in is being able to reasonably
> argue stuff like:
> a) This branch contains only cleanups. The number of lines changed
> may be huge, but you can easily tell from each commit that the
> code quality is improving throughout the branch.
> b) This is a feature branch. We've tried our best to keep each
> feature as clean and small as possible and from the commits
> it is clear to see why these changes are necessary in order to
> make progress.
> 
> When you get to a point where you have to do a manual merge between
> branches because there was no easier solution, I generally want
> to be the person to do the merge. If the merge is nontrivial,
> I certainly like to see a branch that contains the resolution
> that you ended up with, so I can do the same, but I also want to
> understand what you do, and that is easier if I get individual
> branches.

Ok, the last paragraph explains it for me. As you might have noticed
I keep all branches seperated by topics anyway, so I have no problem
letting you pull what you prefer, only I wanted to resolve the merge
conflicts myself. What I'll do next time is that I leave resolving
conflicts up to you but provide a second branch with all necessary
merges as a hint for you.

I think I still have to learn that merge conflicts are no bad thing at
all.

Sascha
Arnd Bergmann Oct. 8, 2011, 3:14 p.m. UTC | #3
Hi Sascha,

I've found a few new build errors using randconfig after pulling the
i.MX tree, here are the patches I did to resolve them. If you agree
with the patches, just send me an Ack and I'll add them on top.

If you have a better solution for any of them, please send me another
pull request.

	Arnd
Sascha Hauer Oct. 9, 2011, 9:33 a.m. UTC | #4
On Sat, Oct 08, 2011 at 05:14:39PM +0200, Arnd Bergmann wrote:
> Hi Sascha,
> 
> I've found a few new build errors using randconfig after pulling the
> i.MX tree, here are the patches I did to resolve them. If you agree
> with the patches, just send me an Ack and I'll add them on top.

All acked-by: Sascha Hauer <s.hauer@pengutronix.de>

Sascha
Uwe Kleine-König Oct. 10, 2011, 6:36 a.m. UTC | #5
Hi Arnd, Sascha,

On Tue, Oct 04, 2011 at 11:20:15AM +0200, Sascha Hauer wrote:
> Arnaud Patard (2):
>       Fix pata imx resource

when Sascha was on vacation I already let Arnd pull that commit squashed
into the originating commit (Message-ID:
<20110906192229.GK28816@pengutronix.de>). Now he got it back eventually breaking
bisection :-(

>       efika: Configure esdhc cd/wp on efika mx/sb
> 
> Fabio Estevam (3):
>       ARM: mach-qong: Add watchdog support
>       ARM: mach-mxs/mx28evk: Only register devices if their GPIO requests succeeded
>       ARM: mxs: Consolidate mm-mx23.c and mm-mx28.c into a single file
> 
> Hui Wang (1):
>       ARM i.MX avic: convert to use generic irq chip
> 
> Jason Liu (4):
>       ARM: mx5/mm: move i.MX50 mm stuff into mm.c
>       ARM: mx5/mm: Remove MX51_DEBUG related mapping
>       ARM: mx5/mm: consolidate TZIC map code
>       ARM: mx25: Add the missing IIM base definition
Same here, I squashed that commit into

	d27536c (ARM: mx25: Print silicon revision on boot)

If you care I can help you to resolve these issues via irc.

Best regards
Uwe