On Wed, 06 Sep 2017 12:40:40 +0200, Lee Jones wrote: > > On Wed, 06 Sep 2017, Takashi Iwai wrote: > > > On Wed, 06 Sep 2017 11:05:04 +0200, > > Lee Jones wrote: > > > > > > On Wed, 06 Sep 2017, Takashi Iwai wrote: > > > > > > > On Wed, 06 Sep 2017 09:54:44 +0200, > > > > Lee Jones wrote: > > > > > > > > > > On Tue, 05 Sep 2017, Takashi Iwai wrote: > > > > > > > > > > > On Tue, 05 Sep 2017 10:53:41 +0200, > > > > > > Lee Jones wrote: > > > > > > > > > > > > > > On Tue, 05 Sep 2017, Takashi Iwai wrote: > > > > > > > > > > > > > > > On Tue, 05 Sep 2017 10:10:49 +0200, > > > > > > > > Lee Jones wrote: > > > > > > > > > > > > > > > > > > On Tue, 05 Sep 2017, Takashi Iwai wrote: > > > > > > > > > > > > > > > > > > > On Tue, 05 Sep 2017 09:24:51 +0200, > > > > > > > > > > Lee Jones wrote: > > > > > > > > > > > > > > > > > > > > > > On Mon, 04 Sep 2017, Takashi Iwai wrote: > > > > > > > > > > > > > > > > > > > > > > > This patch adds the MFD driver for Dollar Cove (TI version) PMIC with > > > > > > > > > > > > ACPI INT33F5 that is found on some Intel Cherry Trail devices. > > > > > > > > > > > > The driver is based on the original work by Intel, found at: > > > > > > > > > > > > https://github.com/01org/ProductionKernelQuilts > > > > > > > > > > > > > > > > > > > > > > > > This is a minimal version for adding the basic resources. Currently, > > > > > > > > > > > > only ACPI PMIC opregion and the external power-button are used. > > > > > > > > > > > > > > > > > > > > > > > > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=193891 > > > > > > > > > > > > Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> > > > > > > > > > > > > Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > > > > > > > > > > > > Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> > > > > > > > > > > > > --- > > > > > > > > > > > > v4->v5: > > > > > > > > > > > > * Minor coding-style fixes suggested by Lee > > > > > > > > > > > > * Put GPL text > > > > > > > > > > > > v3->v4: > > > > > > > > > > > > * no change for this patch > > > > > > > > > > > > v2->v3: > > > > > > > > > > > > * Rename dc_ti with chtdc_ti in all places > > > > > > > > > > > > * Driver/kconfig renames accordingly > > > > > > > > > > > > * Added acks by Andy and Mika > > > > > > > > > > > > v1->v2: > > > > > > > > > > > > * Minor cleanups as suggested by Andy > > > > > > > > > > > > > > > > > > > > > > > > drivers/mfd/Kconfig | 13 +++ > > > > > > > > > > > > drivers/mfd/Makefile | 1 + > > > > > > > > > > > > drivers/mfd/intel_soc_pmic_chtdc_ti.c | 184 ++++++++++++++++++++++++++++++++++ > > > > > > > > > > > > 3 files changed, 198 insertions(+) > > > > > > > > > > > > create mode 100644 drivers/mfd/intel_soc_pmic_chtdc_ti.c > > > > > > > > > > > > > > > > > > > > > > For my own reference: > > > > > > > > > > > Acked-for-MFD-by: Lee Jones <lee.jones@xxxxxxxxxx> > > > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > > > > > Now the question is how to deal with these. It's no critical things, > > > > > > > > > > so I'm OK to postpone for 4.15. OTOH, it's really a new > > > > > > > > > > device-specific stuff, thus it can't break anything else, and it'd be > > > > > > > > > > fairly safe to add it for 4.14 although it's at a bit late stage. > > > > > > > > > > > > > > > > > > Yes, you are over 2 weeks late for v4.14. It will have to be v4.15. > > > > > > > > > > > > > > > > OK, I'll ring your bells again once when 4.15 development is opened. > > > > > > > > > > > > > > > > > > > > > > > > > > IMO, it'd be great if you can carry all stuff through MFD tree; or > > > > > > > > > > create an immutable branch (again). But how to handle it, when to do > > > > > > > > > > it, It's all up to you guys. > > > > > > > > > > > > > > > > > > If there aren't any build dependencies between the patches, each of > > > > > > > > > the patches should be applied through their own trees. What are the > > > > > > > > > build-time dependencies? Are there any? > > > > > > > > > > > > > > > > No, there is no strict build-time dependency. It's just that I don't > > > > > > > > see it nice to have a commit for a dead code, partly for testing > > > > > > > > purpose and partly for code consistency. But if this makes > > > > > > > > maintenance easier, I'm happy with that, too, of course. > > > > > > > > > > > > > > There won't be any dead code. All of the subsystem trees are pulled > > > > > > > into -next [0] where the build bots can operate on the patches as a > > > > > > > whole. > > > > > > > > > > > > But the merge order isn't guaranteed, i.e. at the commit of other tree > > > > > > for this new stuff, it's a dead code without merging the MFD stuff > > > > > > beforehand. e.g. Imagine to perform the git bisection. It's not > > > > > > about the whole tree, but about the each commit. > > > > > > > > > > Only *building* is relevant for bisection until the whole feature > > > > > lands. > > > > > > > > Why only building? > > > > > > > > When merging through several tress, commits for the same series are > > > > scattered completely although they are softly tied. This sucks when > > > > you perform git bisection, e.g. if you have an issue in the middle of > > > > the patch series. It still works, but it jumps unnecessarily too far > > > > away and back before reaching to the point, and kconfig appears / > > > > disappears inconsistently (the dependent kconfig gone in the middle). > > > > And, this is about the release kernel (4.15 or whatever). > > > > > > Think about how bisection works. You state a good commit and a bad > > > one. The good commit will be when the feature last worked, which will > > > not be until the feature has fully landed. Bisect will not check any > > > point prior to this date. > > > > > > If there aren't any build deps, each Maintainer will apply patches > > > into their own tree. These will be merged together in -next where > > > they can be tested, both manually and by the 0-days. Once the merge > > > window is opened all patches will be sucked into -rc1. If the feature > > > works here, then it you could use -rc1 as your 'good' commit. If it > > > doesn't, then this could indicate a merge error or a missing piece of > > > the set, either way bisect wouldn't help you. > > > > Not really. > > > > First of all, most of user start testing from the release kernel, so > > you can't trust that RC covered all test cases. (Who can blame users > > who didn't use / test RC?) > > That's fine. We are not talking about spreading the merge of a > patch-set over different releases, or even release candidates. All > non-bugfix patches should be in by -rc1. > > > Second, you ignore the fact that the development continues after > > merging *this* patchset. What if a breakage is introduced after this > > patch? (See below) > > > > They often need a full bisection between the previous release and the > > current release. > > You cannot bisect a specific function back before it was merged. It's > impossible. > > P1 ---> P4 ---> P3 ---> P2 > ^ > Bisect only starts working here. Prior to this point the feature > doesn't build at all. If it builds, but breaks, then that is a build > dependency and is a different use-case to what we are discussing here. OK, let me rephrase. With the scenario above, user *cannot* perform bisect. Meanwhile, with the straight merge, you can bisect a breakage. That's a significant difference. I.e. in the case where both commits A1, B1 and B2 are merged through tree A an B. B2 is the breakage. With separate tree merges, you cannot bisect, while the straight merge allows you to bisect B2. Takashi