Message ID | 20120724081732.GR18778@lunn.ch |
---|---|
State | New |
Headers | show |
On Tuesday 24 July 2012, Andrew Lunn wrote: > I know this is very late, the main pull request direction Linus has > been made, etc. Its been an interesting learning experience for me, > jumping in to take over from Jason. > > Please note, there are a few patches between the v3.5-rc7 and the > first patch to be pulled. These patches have been accepted by the I2C > maintainer & SPI maintainer, so should not be pulled. > > I also have no pgp keys in place, so there is no signed tag. I will > remedy this for next time. > > If you can pull this great. Otherwise, it can wait for 3.7. > Hi Andrew, I'm looking at the series now, I was making sure to get other stuff out of the way first for the patches that are now upstream. I would like to pull at least some of the patches, but I think you are missing some background on the process actually works. Most importantly, you should not submit identical patches with different commit IDs to different maintainers. As you explain, your branch contains SPI and I2c patches that were applied to other trees already and that are now upstream. If I pull your branch, we will end up with a git history that has the same change twice, which is confusing and causes troubles for bisection and for dependency tracking. I'm not sure if the fact that they have been applied to the other branches now means that something is broken (that should never happen either), but if that is the case, I will definitely apply the bug fixes that are needed to repair the situation. Another important point is that we use "topic branches" in the arm-soc tree, so you should try to separate bug fixes, cleanups, DT conversions, new DT files, etc all into their own branch. The "ARM: Kirkwood: Ensure runit clock always ticks", "mach-dove: Fixup ge00 initialisation" "ARM: Orion: fix driver probe error handling with respect to clk" and "ARM: Kirkwood: Replace mrvl with marvell" patches definitely fall into the "bugfix" category here, so I definitely want them. You can send me bug fixes at any time and they will get submitted into the latest development branch, during and after the merge window. If a bug fix is also relevant for older kernels, please add the line "Cc: stable@vger.kernel.org", which triggers the process of getting the patch included into the stable kernel releases (v3.0.x, v3.4.x, v3.5.x at this time). Please split the other patches into branches according to what they do, and make sure that each branch is based on an -rc release rather than a random point in the git history or patches that are not upstream. We can then decide which ones to still send for v3.6 and which branches to delay for v3.7. As a minor comment, your one-line change descriptions are not all formatted the same way, you use "ARM: kirkwood", "mach-kirkwood:" and "kirkwood:" intermixed. Please use just the first one. If you have more questions, feel free to also contact us on IRC (on #armlinux in irc.freenode.net). Arnd
> Please split the other patches into branches according to what > they do, and make sure that each branch is based on an -rc release > rather than a random point in the git history or patches that > are not upstream. We can then decide which ones to still send > for v3.6 and which branches to delay for v3.7. Hi Arnd If i make the branches based on the -rc7 release, how do i test them? The patches have dependencies on the I2C patch now accepted by the I2C maintainer and the SPI patches accepted by the SPI maintainer. These patches implement the DT support in the drivers. Without those patches, all i2c devices are missing, and worst still, the root FS is missing on my Kirkwood QNAP device i test with. Note there is no compile time dependencies, just run time. So i could initially build a patchset with those driver patches included, test the combination works, rebase to discard the driver patches, and then send a pull-request? Or is there a better way to handle this? I'm also not sure what topic branches would be appropriate. All that is left is DT. One branch could be driver changes and the other actually using the driver from DT. But there is a clear dependency between the two. I cannot split the three new boards support via DT into three topic branches because they cause merge conflicts when you try to bring them together. What would you suggest? Thanks Andrew
On Wednesday 25 July 2012, Andrew Lunn wrote: > > Please split the other patches into branches according to what > > they do, and make sure that each branch is based on an -rc release > > rather than a random point in the git history or patches that > > are not upstream. We can then decide which ones to still send > > for v3.6 and which branches to delay for v3.7. > > Hi Arnd > > If i make the branches based on the -rc7 release, how do i test them? > The patches have dependencies on the I2C patch now accepted by the I2C > maintainer and the SPI patches accepted by the SPI maintainer. These > patches implement the DT support in the drivers. Without those > patches, all i2c devices are missing, and worst still, the root FS is > missing on my Kirkwood QNAP device i test with. You can merge the i2c and spi branches that went upstream into your own branch before applying your own patches. This way, they become "dependencies" and should get merged before yours are sent (in this case they already are) > Note there is no compile time dependencies, just run time. So i could > initially build a patchset with those driver patches included, test > the combination works, rebase to discard the driver patches, and then > send a pull-request? > > Or is there a better way to handle this? Yes, don't rebase the stuff after testing. We want the patches that go upstream to be the exact version you have tested. > I'm also not sure what topic branches would be appropriate. All that > is left is DT. One branch could be driver changes and the other > actually using the driver from DT. But there is a clear dependency > between the two. I cannot split the three new boards support via DT > into three topic branches because they cause merge conflicts when you > try to bring them together. What would you suggest? If there are just conflicts between merging the branches (two patches touching the same code lines), the best way to deal with it is to let us handle the merge. We're quite experienced with this by now. If you have an actual dependency (branch B builds fine without branch A, but the result doesn't work), then the branches need to be serialized: You provide one standalone branch that has the more basic changes (cleanups, dt conversion, ...) and then you have another branch that starts from the top commit of the first one and has the more advanced changes. If you have two branches that both need a few patches but then go on in different directions, that's also fine: just apply the common patches first, then make two branches starting with that common changeset and apply the other patches separately. Arnd
On Thu, Jul 26, 2012 at 07:07:44AM +0000, Arnd Bergmann wrote: > On Wednesday 25 July 2012, Andrew Lunn wrote: > > If i make the branches based on the -rc7 release, how do i test them? > > The patches have dependencies on the I2C patch now accepted by the I2C > > maintainer and the SPI patches accepted by the SPI maintainer. These > > patches implement the DT support in the drivers. Without those > > patches, all i2c devices are missing, and worst still, the root FS is > > missing on my Kirkwood QNAP device i test with. > You can merge the i2c and spi branches that went upstream into your > own branch before applying your own patches. This way, they become > "dependencies" and should get merged before yours are sent (in this > case they already are) But only if they're stable branches that won't get rebased - always check with the subsystem maintainers about this.
On Thu, Jul 26, 2012 at 07:07:44AM +0000, Arnd Bergmann wrote: > On Wednesday 25 July 2012, Andrew Lunn wrote: > > > Please split the other patches into branches according to what > > > they do, and make sure that each branch is based on an -rc release > > > rather than a random point in the git history or patches that > > > are not upstream. We can then decide which ones to still send > > > for v3.6 and which branches to delay for v3.7. > > > > Hi Arnd > > > > If i make the branches based on the -rc7 release, how do i test them? > > The patches have dependencies on the I2C patch now accepted by the I2C > > maintainer and the SPI patches accepted by the SPI maintainer. These > > patches implement the DT support in the drivers. Without those > > patches, all i2c devices are missing, and worst still, the root FS is > > missing on my Kirkwood QNAP device i test with. > > You can merge the i2c and spi branches that went upstream into your > own branch before applying your own patches. This way, they become > "dependencies" and should get merged before yours are sent (in this > case they already are) So, here is what i think you mean.... The SPI pull request is here: https://lkml.org/lkml/2012/7/25/204 and says git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc.git tags/spi-3.6 I cannot find a pull request for i2c-embedded for 3.6. For 3.5 it was: git://git.pengutronix.de/git/wsa/linux.git i2c-embedded/for-next I've no idea if this is stable or not. I need to ask Wolfram. So :~/B3/QNAP/linux$ git checkout v3.5-rc7 :~/B3/QNAP/linux$ git checkout -b v3.5-rc7-dt :~/B3/QNAP/linux$ git remote add spi git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc.git :~/B3/QNAP/linux$ git fetch spi :~/B3/QNAP/linux$ git merge spi-3.6 :~/B3/QNAP/linux$ git remote add i2c-embedded git://git.pengutronix.de/git/wsa/linux.git :~/B3/QNAP/linux$ git fetch i2c-embedded :~/B3/QNAP/linux$ git merge i2c-embedded/i2c-embedded/for-next and then i have ~/B3/QNAP/linux$ git log --oneline afddda0 Merge remote-tracking branch 'i2c-embedded/i2c-embedded/for-next' into v 0a6f855 Merge tag 'spi-3.6' into v3.5-rc7-dt 5db20c4 Revert "i2c: tegra: convert normal suspend/resume to *_noirq" b61d157 I2C: MV64XYZ: Add Device Tree support 8ceffa7 spi/orion: remove uneeded spi_info d76ea24 spi/bcm63xx: fix clock configuration selection f814f9a spi/orion: add device tree binding 24ab3275 spi/omap2: mark omap2_mcspi_master_setup as __devinit a3ce9a8 spi: omap2-mcspi: Fix the below warning b316590 spi: Add AD-FMCOMMS1-EBZ I2C-SPI bridge driver 6f535b9 i2c: stu300: use devm managed resources 84a1caf Linux 3.5-rc7 ... So if i understand you right, i can now cherry-pick my patches into this branch, test them and send you a pull request? Thanks Andrew
On Thursday 26 July 2012, Andrew Lunn wrote: > So, here is what i think you mean.... > > The SPI pull request is here: > > https://lkml.org/lkml/2012/7/25/204 > > and says > > git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc.git tags/spi-3.6 > > I cannot find a pull request for i2c-embedded for 3.6. For 3.5 it was: > > git://git.pengutronix.de/git/wsa/linux.git i2c-embedded/for-next > > I've no idea if this is stable or not. I need to ask Wolfram. Right. > :~/B3/QNAP/linux$ git checkout v3.5-rc7 > :~/B3/QNAP/linux$ git checkout -b v3.5-rc7-dt > :~/B3/QNAP/linux$ git remote add spi git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc.git > :~/B3/QNAP/linux$ git fetch spi > :~/B3/QNAP/linux$ git merge spi-3.6 > :~/B3/QNAP/linux$ git remote add i2c-embedded git://git.pengutronix.de/git/wsa/linux.git > :~/B3/QNAP/linux$ git fetch i2c-embedded > :~/B3/QNAP/linux$ git merge i2c-embedded/i2c-embedded/for-next Note that it's also reasonable to base this on v3.5 rather than v3.5-rc7. The important part is to use a tag from Linus as the base. A shortcut for the 'remote add', 'fetch', 'merge' is to use 'git pull git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc.git tags/spi-3.6'. > and then i have > > ~/B3/QNAP/linux$ git log --oneline > afddda0 Merge remote-tracking branch 'i2c-embedded/i2c-embedded/for-next' into v > 0a6f855 Merge tag 'spi-3.6' into v3.5-rc7-dt > 5db20c4 Revert "i2c: tegra: convert normal suspend/resume to *_noirq" > b61d157 I2C: MV64XYZ: Add Device Tree support > 8ceffa7 spi/orion: remove uneeded spi_info > d76ea24 spi/bcm63xx: fix clock configuration selection > f814f9a spi/orion: add device tree binding > 24ab3275 spi/omap2: mark omap2_mcspi_master_setup as __devinit > a3ce9a8 spi: omap2-mcspi: Fix the below warning > b316590 spi: Add AD-FMCOMMS1-EBZ I2C-SPI bridge driver > 6f535b9 i2c: stu300: use devm managed resources > 84a1caf Linux 3.5-rc7 > ... > > So if i understand you right, i can now cherry-pick my patches into > this branch, test them and send you a pull request? Yes. Arnd