Message ID | 1343741493-17671-3-git-send-email-lee.jones@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Jul 31, 2012 at 02:31:23PM +0100, Lee Jones wrote: > If a list of widgets is provided and one of them fails to be added as > a control, the present semantics fail all subsequent widgets. A better > solution would be to only fail that widget, but pursue in attempting > to add the rest of the list. You're posting this *again* without bothering to respond to my review comments.
On 31/07/12 14:42, Mark Brown wrote: > On Tue, Jul 31, 2012 at 02:31:23PM +0100, Lee Jones wrote: >> If a list of widgets is provided and one of them fails to be added as >> a control, the present semantics fail all subsequent widgets. A better >> solution would be to only fail that widget, but pursue in attempting >> to add the rest of the list. > > You're posting this *again* without bothering to respond to my review > comments. I didn't see any comments on this.
On Tue, Jul 31, 2012 at 03:25:07PM +0100, Lee Jones wrote: > On 31/07/12 14:42, Mark Brown wrote: > >You're posting this *again* without bothering to respond to my review > >comments. > I didn't see any comments on this. Read your email. <20120726115450.GE3099@opensource.wolfsonmicro.com> and <20120729202510.GB4384@opensource.wolfsonmicro.com>, the second one even includes a complaint about you ignoring the first mail.
On 31/07/12 15:28, Mark Brown wrote: > On Tue, Jul 31, 2012 at 03:25:07PM +0100, Lee Jones wrote: >> On 31/07/12 14:42, Mark Brown wrote: > >>> You're posting this *again* without bothering to respond to my review >>> comments. > >> I didn't see any comments on this. > > Read your email. <20120726115450.GE3099@opensource.wolfsonmicro.com> > and <20120729202510.GB4384@opensource.wolfsonmicro.com>, the second one > even includes a complaint about you ignoring the first mail. Neither of those are in my Inbox. Blame Mozilla. :) It's better because the whole audio system doesn't fail in the case of minor failure. It'd be like calling off a football game (or whatever you're into) because one of the substitutes ruptured an eyelash. During start-up the ux500 has a couple of very unimportant widgets fail. It's the wrong behavior to force failure on the everything audio just because of that.
On Tue, Jul 31, 2012 at 03:38:02PM +0100, Lee Jones wrote: > Neither of those are in my Inbox. Blame Mozilla. :) You might want to look at a better mail program. > It's better because the whole audio system doesn't fail in the case > of minor failure. It'd be like calling off a football game (or > whatever you're into) because one of the substitutes ruptured an > eyelash. It shouldn't make any difference to startup - we should still be checking errors and failing the init if we're failing to add links, this isn't something that's likely to randomly break on a particular boot, it's more something that indicates nobody bothered testing. It's certainly totally inappropriate for an "urgent" bugfix. > During start-up the ux500 has a couple of very unimportant widgets > fail. It's the wrong behavior to force failure on the everything > audio just because of that. Fixes for those errors, however...
On 31/07/12 15:54, Mark Brown wrote: > On Tue, Jul 31, 2012 at 03:38:02PM +0100, Lee Jones wrote: > >> Neither of those are in my Inbox. Blame Mozilla. :) > > You might want to look at a better mail program. Willingly. Any good suggestions? >> It's better because the whole audio system doesn't fail in the case >> of minor failure. It'd be like calling off a football game (or >> whatever you're into) because one of the substitutes ruptured an >> eyelash. > > It shouldn't make any difference to startup - we should still be > checking errors and failing the init if we're failing to add links, > this isn't something that's likely to randomly break on a particular > boot, it's more something that indicates nobody bothered testing. > > It's certainly totally inappropriate for an "urgent" bugfix. Well it just means that audio won't work for the ux500 for this kernel release, but as we're waiting on clocks, this isn't a big issue for us. If you do take it (with or without the return code), feel free to add it to for-next instead of the -rc:s >> During start-up the ux500 has a couple of very unimportant widgets >> fail. It's the wrong behavior to force failure on the everything >> audio just because of that. > > Fixes for those errors, however... I'll leave that to the audio expert. I'd like to move to to something else (that you maintain - perhaps I'll go and mess-up regulators next). :)
On Tue, Jul 31, 2012 at 04:15:23PM +0100, Lee Jones wrote: > On 31/07/12 15:54, Mark Brown wrote: > >You might want to look at a better mail program. > Willingly. Any good suggestions? mutt works for me. > >It's certainly totally inappropriate for an "urgent" bugfix. > Well it just means that audio won't work for the ux500 for this > kernel release, but as we're waiting on clocks, this isn't a big > issue for us. If you do take it (with or without the return code), > feel free to add it to for-next instead of the -rc:s I'm not going to apply this patch. This isn't a vendor BSP, we shouldn't be putting random hacks like this in core code.
On 31/07/12 16:18, Mark Brown wrote: >>> It's certainly totally inappropriate for an "urgent" bugfix. > >> Well it just means that audio won't work for the ux500 for this >> kernel release, but as we're waiting on clocks, this isn't a big >> issue for us. If you do take it (with or without the return code), >> feel free to add it to for-next instead of the -rc:s > > I'm not going to apply this patch. This isn't a vendor BSP, we > shouldn't be putting random hacks like this in core code. BSP kernel or otherwise, it still seems wrong to me to fail and entire audio driver just because of a broken link.
On Wed, Aug 01, 2012 at 08:19:28AM +0100, Lee Jones wrote: > On 31/07/12 16:18, Mark Brown wrote: > >I'm not going to apply this patch. This isn't a vendor BSP, we > >shouldn't be putting random hacks like this in core code. > BSP kernel or otherwise, it still seems wrong to me to fail and > entire audio driver just because of a broken link. No, really. Random disconnections in the DAPM graph are just endless pain from a support and debug point of view. This isn't something that randomly breaks on specific hardware where we'd expect random errors at runtime, it's something that will never have worked - it seems clear nobody tested the mainline submission. It's very disappointing to see such an error exist, and even more disappointing that there's no interest in fixing the driver.
On 01/08/12 14:20, Mark Brown wrote: > On Wed, Aug 01, 2012 at 08:19:28AM +0100, Lee Jones wrote: >> On 31/07/12 16:18, Mark Brown wrote: > >>> I'm not going to apply this patch. This isn't a vendor BSP, we >>> shouldn't be putting random hacks like this in core code. > >> BSP kernel or otherwise, it still seems wrong to me to fail and >> entire audio driver just because of a broken link. > > No, really. Random disconnections in the DAPM graph are just endless > pain from a support and debug point of view. This isn't something that > randomly breaks on specific hardware where we'd expect random errors at > runtime, it's something that will never have worked - it seems clear > nobody tested the mainline submission. I am under the impression that it was tested. Perhaps before it was rebased, but tests were completed. Ola was very surprised when I told him there were link failures. The only issue is that I only found out and told him a day before he was due to take his Summer leave. > It's very disappointing to see such an error exist, and even more > disappointing that there's no interest in fixing the driver. This is incorrect. I'm sure the driver will be fixed post-haste when Ola returns back from vacation. If I can find some time I might dabble in the mean-time also.
On Wed, Aug 01, 2012 at 02:50:32PM +0100, Lee Jones wrote: > I am under the impression that it was tested. Perhaps before it was > rebased, but tests were completed. Ola was very surprised when I > told him there were link failures. The only issue is that I only > found out and told him a day before he was due to take his Summer > leave. That's really surprising. What are the actual issues here, you've never shown the actual errors? > >It's very disappointing to see such an error exist, and even more > >disappointing that there's no interest in fixing the driver. > This is incorrect. I'm sure the driver will be fixed post-haste when > Ola returns back from vacation. If I can find some time I might > dabble in the mean-time also. It may not be what you're intending but it's unfortuantely what's I'm seeing.
On Wed, Aug 01, 2012 at 05:08:24PM +0100, Mark Brown wrote: > On Wed, Aug 01, 2012 at 02:50:32PM +0100, Lee Jones wrote: > > >It's very disappointing to see such an error exist, and even more > > >disappointing that there's no interest in fixing the driver. > > This is incorrect. I'm sure the driver will be fixed post-haste when > > Ola returns back from vacation. If I can find some time I might > > dabble in the mean-time also. > It may not be what you're intending but it's unfortuantely what's I'm > seeing. Just to expand on this a bit since I've found myself pushing back in this sort of way far too often with these recent serieses and it's making everyone grumpy: What I'm seeing here is a lot of patches getting sent with problems that I'd really not expect from someone sending such a high volume of patches. Things like the lack of documentation for the DT bindings for example, it's something that's mandatory and which people doing lots of device tree work really ought to be aware of. There's also noticable pushback with fixing some of these issues, and like I say this happens often enough to be really noticeable. This isn't awesome from a review point of view, it's not nice to find issues in things and when it happens a lot for the wrong sort of thing it ends up seeming like the time spent doing the reviews isn't valued.
> -----Original Message----- > From: Mark Brown [mailto:broonie@opensource.wolfsonmicro.com] > Sent: den 1 augusti 2012 15:20 > To: Lee Jones > Cc: linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; > STEricsson_nomadik_linux@list.st.com; linus.walleij@stericsson.com; > arnd@arndb.de; olalilja@yahoo.se; ola.o.lilja@stericsson.com; alsa- > devel@alsa-project.org; lrg@ti.com > Subject: Re: [PATCH 1/6] ASoC: dapm: If one widget fails, do not force > all subsequent widgets to fail too > > On Wed, Aug 01, 2012 at 08:19:28AM +0100, Lee Jones wrote: > > On 31/07/12 16:18, Mark Brown wrote: > > > >I'm not going to apply this patch. This isn't a vendor BSP, we > > >shouldn't be putting random hacks like this in core code. > > > BSP kernel or otherwise, it still seems wrong to me to fail and > entire > > audio driver just because of a broken link. > > No, really. Random disconnections in the DAPM graph are just endless > pain from a support and debug point of view. This isn't something that > randomly breaks on specific hardware where we'd expect random errors at > runtime, it's something that will never have worked - it seems clear > nobody tested the mainline submission. > > It's very disappointing to see such an error exist, and even more > disappointing that there's no interest in fixing the driver. (Yes, I know this mailer isn't configured correctly, but I'm on vacation and have no Linux-computer/community-mailer available. However I find it important to answer this) Mark, you very well know that I have put in a lot of effort in getting our Ux500-driver mainlined. This is something I have driven without really getting sanctioned directly at working, rendering it even harder to find time for it. Accusing me of having "no interest in fixing the driver" is just absurd regarding the time I've spent on this. I'm also still driving for mainlining our upcoming drivers, so there is no lack of interest, nor lack of activity at our side. I really think you could afford a bit more polite attitude when doing reviews. It is not easy to fulfill every single aspect of mainlining directly and there is (most likely) no one that purposely do break any community rules. At least not from my side. Regarding the problem with the failing DAPM-widget I can probably guess What is going wrong when Lee is trying it out. There will be two failing clock-supply widgets due to the fact that on the mainline-code these clocks simply is not there yet. I have, of course, tested this driver before submitting it, and I wouldn't dream on submitting a driver where there were failing widgets/routes. Internally, I have put a patch with our clock-tree for Ux500 on, but this is not mainline-quality code and that is why it is not submitted with the other patches I sent. The clocks are in the moment of writing being worked on by other persons in ST-Ericsson, and I would not have had any time to be doing all this which is not in the scope of my responsibilities (which is the audio-domain). Before you told me to create the clock-supply widget-type, I had only warnings for these failing clocks, as an intermediate solution, before the clock-tree was submitted, but now they are implemented with the clock- supply-type and there will be route-errors instead. Linus W. could probably shed some light of when the missing clocks are to be submitted. Regards, Ola
On Wed, Aug 01, 2012 at 08:41:34PM +0100, Mark Brown wrote: > On Wed, Aug 01, 2012 at 05:08:24PM +0100, Mark Brown wrote: > > On Wed, Aug 01, 2012 at 02:50:32PM +0100, Lee Jones wrote: > > > > >It's very disappointing to see such an error exist, and even more > > > >disappointing that there's no interest in fixing the driver. > > > > This is incorrect. I'm sure the driver will be fixed post-haste when > > > Ola returns back from vacation. If I can find some time I might > > > dabble in the mean-time also. > > > It may not be what you're intending but it's unfortuantely what's I'm > > seeing. > > Just to expand on this a bit since I've found myself pushing back in > this sort of way far too often with these recent serieses and it's > making everyone grumpy: > > What I'm seeing here is a lot of patches getting sent with problems that > I'd really not expect from someone sending such a high volume of > patches. Things like the lack of documentation for the DT bindings for > example, it's something that's mandatory and which people doing lots of > device tree work really ought to be aware of. There's also noticable > pushback with fixing some of these issues, and like I say this happens > often enough to be really noticeable. > > This isn't awesome from a review point of view, it's not nice to find > issues in things and when it happens a lot for the wrong sort of thing > it ends up seeming like the time spent doing the reviews isn't valued. Okay, seeing as we're lying our cards on the table, here's my hand: I'm in a very difficult position here. My initial task was to enable Device Tree on all drivers associated with the Snowball low-cost development board. I was working very closely with Arnd, who was regularly requesting code restructuring, both within the drivers and in platform code. Something I was only too pleased to do. Then some of the original authors noticed the restructuring and I subsequently spent a great deal of time defending my actions. Now we have some systems in place to keep everyone informed and happy. Over time, the requests for Maintainers have Snowballed (pun intended). My task now seems to be enabling drivers for Device Tree _and_ fix all associated driver bugs, including any requested restructuring and API adoption. What you fail to notice is that I am only one person, and hopping all over the code-base trying to do everyone's bidding is no mean feat. In reality I am no more obliged to fix driver bugs than you are. In fact as the Maintainer of some of these subsystems, perhaps you could even help out a bit? With regards to the documentation, I am perfectly aware that any new binding needs to be documented. Leaving it out was intentional until we can agree on the bindings. After you told me you review the documentation rather than the code bindings themselves ( pffft... ;) ) I added the documentation to the patch-set. I always had every intention of writing them! On your last point about feeling undervalued, that's not the case at all. I do respect your opinion and value your reviews. They are always completed quickly and are very thorough. If I had one complaint it's that you are _too_ stringent. Some of this stuff really doesn't matter. We are all trying to do good things here. Please try not to be too over- critical. We all know Mainlining is a good thing. Perhaps less people would be so frightened of it, thus more people would do it if the reviews weren't such a ball-ache ( for want of a better expression :) ).
On Thu, Aug 02, 2012 at 07:58:24AM +0200, Ola Lilja wrote: > Accusing me of having "no interest in fixing the driver" is just absurd > regarding the time I've spent on this. I'm also still driving for Sorry, this is more directed at the current round of fixes that are being sent than the driver itself - the patches to bodge around the issue are being pushed fairly aggressively as an urgent fix without even mentioning what the issue is. I don't have any concerns with the driver, only with the way it's being fixed. > Regarding the problem with the failing DAPM-widget I can probably guess > What is going wrong when Lee is trying it out. There will be two failing > clock-supply widgets due to the fact that on the mainline-code these > clocks simply is not there yet. I have, of course, tested this driver > before submitting it, and I wouldn't dream on submitting a driver where > there were failing widgets/routes. Internally, I have put a patch with our > clock-tree for Ux500 on, but this is not mainline-quality code and that is This sort of reliance on out of tree patches which any real user of the device would be expected to have sounds like exactly the sort of thing I'd expect to have caused an issue like this, and obviously the fix here is to get the clocks in place (even if just as stubs, though I'd expect there to be a major impact on the functionality of the device if it's not clocked...) rather than to just bodge out the error checking. It does also suggest that the DT binding for this device will need to include the setup of these clocks (I believe the clock bindings for DT have just gone into mainline this merge window but I'd need to check).
Patch withdrawn. On Tue, Jul 31, 2012 at 02:31:23PM +0100, Lee Jones wrote: > If a list of widgets is provided and one of them fails to be added as > a control, the present semantics fail all subsequent widgets. A better > solution would be to only fail that widget, but pursue in attempting > to add the rest of the list. > > Signed-off-by: Lee Jones <lee.jones@linaro.org> > --- > sound/soc/soc-dapm.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c > index eded657..7d9c154 100644 > --- a/sound/soc/soc-dapm.c > +++ b/sound/soc/soc-dapm.c > @@ -3095,8 +3095,6 @@ int snd_soc_dapm_new_controls(struct snd_soc_dapm_context *dapm, > dev_err(dapm->dev, > "ASoC: Failed to create DAPM control %s\n", > widget->name); > - ret = -ENOMEM; > - break; > } > widget++; > } > -- > 1.7.9.5 >
On Thu, Aug 02, 2012 at 08:45:18AM +0100, Lee Jones wrote: > Over time, the requests for Maintainers have Snowballed (pun intended). My > task now seems to be enabling drivers for Device Tree _and_ fix all > associated driver bugs, including any requested restructuring and API One thing to bear in mind with device tree is that it's all about defining an ABI - it's supposed to be stable and OS agnostic so it puts a lot of pressure on to really address quality problems that become visible in the bindings. This stuff is much less critical with platform data, it's relatively easy to change. > adoption. What you fail to notice is that I am only one person, and hopping > all over the code-base trying to do everyone's bidding is no mean feat. In It's fairly obvious that it's only you, or at least only you posting stuff (I know sometimes there are bigger teams behind people) - the pressure you're under to get something in is very clear. A big part of what I'm saying here is that it would be really helpful if could you slow down a bit, discuss problems more and avoid cutting corners so much. This is likely to save you time overall, you'll have a much higher success rate and you'll get much better feedback if it's clear what's going on and that there's an interest in understanding the issues. If you need to focus on device tree enablement and there are underlying problems in the subsystems you're looking at perhaps you need to push back on whoever's asking you to do the work and say you need the domain experts to pitch in and help you out. > reality I am no more obliged to fix driver bugs than you are. In fact as > the Maintainer of some of these subsystems, perhaps you could even help out > a bit? You're not telling us about the problems you see so it's very difficult for anyone to help you. For example with this patch the only information you've sent is the patch and the fact that you're seeing the error you're ignoring going off on the system you're working with (which I had to ask to find out about...). You've not shown the error message or provided any other hint which would help anyone understand why the error might be occuring and what a good solution to the problem is. Ola's guess seems very likely but nobody's got enough information to confirm that unless there's been some off-list ST/Linaro communication. Obviously with the stuff that's device specific you also have to contend with the fact that you're working on hardware which just isn't all that widely available and quite possibly has closed datasheets. > We are all trying to do good things here. Please try not to be too over- > critical. We all know Mainlining is a good thing. Perhaps less people > would be so frightened of it, thus more people would do it if the reviews > weren't such a ball-ache ( for want of a better expression :) ). This is a two way thing - one of the tools that maintainers have to try to drive up the quality of the code is to push back on poor quality submissions and devote less bandwith to sources of those submissions. It is true that there's a bunch of people who seem to view review as being just an annoying obstacle to be dealt with with the minimum possible effort but in practice all that does is make things more painful for everyone, they do tend to be more noticable because "applied, thanks" doesn't make for a big thread.
On Thu, Aug 02, 2012 at 06:56:04PM +0100, Mark Brown wrote: > On Thu, Aug 02, 2012 at 08:45:18AM +0100, Lee Jones wrote: > > > Over time, the requests for Maintainers have Snowballed (pun intended). My > > task now seems to be enabling drivers for Device Tree _and_ fix all > > associated driver bugs, including any requested restructuring and API > > One thing to bear in mind with device tree is that it's all about > defining an ABI - it's supposed to be stable and OS agnostic so it puts > a lot of pressure on to really address quality problems that become > visible in the bindings. This stuff is much less critical with platform > data, it's relatively easy to change. > > > adoption. What you fail to notice is that I am only one person, and hopping > > all over the code-base trying to do everyone's bidding is no mean feat. In > > It's fairly obvious that it's only you, or at least only you posting > stuff (I know sometimes there are bigger teams behind people) - the > pressure you're under to get something in is very clear. A big part of > what I'm saying here is that it would be really helpful if could you > slow down a bit, discuss problems more and avoid cutting corners so > much. This is likely to save you time overall, you'll have a much > higher success rate and you'll get much better feedback if it's clear > what's going on and that there's an interest in understanding the > issues. I do agree that it should be correct, but the difference between getting it 90% correct and absolutely perfect increases the effort at least x2. With so much left to do, I think it would be better to get everything in and functioning, then fix the minor issues as we come across them later. This is what I've been doing from the start and it's actually looking pretty good. I also agree that DT should be OS agnostic, but breaking up MFDs into their functions shouldn't be an issue for other OSes. Either they can choose to break them up and use the individual child compatible strings, or only use the parent node. My personal opinion is if we'd sat around discussing how it should look prior to doing any work a) the project probably wouldn't have even got off the ground yet and b) we would have most likely got it all wrong, as most of our learning and knowledge has been done/gained by actually doing the work. Instead I've been using the JFDI (Just Frickin' Do It) philosophy, and we've actually made some amazing headway. Being blocked on minor issues and easy to change, orthogonal issues such as vendor defined properties (i2c) isn't helpful to anyone. > If you need to focus on device tree enablement and there are underlying > problems in the subsystems you're looking at perhaps you need to push > back on whoever's asking you to do the work and say you need the domain > experts to pitch in and help you out. If only it were that easy. We're not bursting at the seems with resources here. I'm working in a very customer focused ecosystem. If they don't request it, or file a bug about it, there's no resource allocation to fix it. However, the future is looking up from that point of view. We've just started a new project, which I'm hoping will attract some new resources. Watch this space. > > reality I am no more obliged to fix driver bugs than you are. In fact as > > the Maintainer of some of these subsystems, perhaps you could even help out > > a bit? > > You're not telling us about the problems you see so it's very difficult > for anyone to help you. > > For example with this patch the only information you've sent is the > patch and the fact that you're seeing the error you're ignoring going > off on the system you're working with (which I had to ask to find out > about...). You've not shown the error message or provided any other > hint which would help anyone understand why the error might be occuring > and what a good solution to the problem is. Ola's guess seems very > likely but nobody's got enough information to confirm that unless > there's been some off-list ST/Linaro communication. I only went off what I knew. Some objects (which wouldn't have prevented playing audio) were failing. It seemed wrong to shut down the entire audio system because for instance, 'headset mute' or the 'vibrator' links were broken. As I said to you before, time is a big factor and I have a massive TODO list. Fixing audio links a) isn't my subject of expertise, so it would take me much longer to fix than someone with a good knowledge of the system and b) isn't really my responsibility. I've tested the DT stuff and it works well. Now I should move onto something else, like providing the PRCMU with a IRQ Domain, which is currently blocking the mainlining of other (i.e. thermal) drivers. > Obviously with the stuff that's device specific you also have to contend > with the fact that you're working on hardware which just isn't all that > widely available and quite possibly has closed datasheets. > > > We are all trying to do good things here. Please try not to be too over- > > critical. We all know Mainlining is a good thing. Perhaps less people > > would be so frightened of it, thus more people would do it if the reviews > > weren't such a ball-ache ( for want of a better expression :) ). > > This is a two way thing - one of the tools that maintainers have to try > to drive up the quality of the code is to push back on poor quality > submissions and devote less bandwith to sources of those submissions. > > It is true that there's a bunch of people who seem to view review as > being just an annoying obstacle to be dealt with with the minimum > possible effort but in practice all that does is make things more > painful for everyone, they do tend to be more noticable because > "applied, thanks" doesn't make for a big thread. Well I know my submissions are not always 100% perfect, but I hope you're not implying that they're poor quality. Writing code and fixing things you view as bugs in code you have no prior knowledge of isn't the easiest task in the world. All I can do is attempt to fix the issues that I see, which get things off the ground or make drivers work again and submit the changes. If they're wrong they're wrong, but I don't think this should be viewed as poor quality code! I didn't say reviews in general. I personally think that reviews are a very handy way of ensuring code is as the correct level for entry into Mainline. It's also vital for the learning process, and is where most of my knowledge has been gained. It's the type of review which defines the experience. Some Maintainers say things like, "That's wrong. This is wrong. Why are you doing this?" etc without explaining what the issues are. That's not a good review, and will put people off trying again. Equally being too overzealous and nit-picky about stuff that a) really doesn't matter or b) can be changed really easily _if_ in the rare case there's an issue. I've also submitted to some Maintainers who are a pleasure to work with. They explain what's wrong and why and encourage resubmission. I know Maintainers aren't school teachers, or life coaches, but they should be encouraging more people to share their good ( after some fixup ;) ) code and not playing the role of an incredibly hard to please boss, or impenetrable brick wall. Let's just drop this now, or we'll be going round and round forever. I need to move on to this PRCMU stuff, as it's blocking driver submission. If you can lend a hand with the audioclk stubs that would be grand. If not, me might just have to wait for Ola to come back from his well earned vacation.
On Fri, Aug 03, 2012 at 09:30:10AM +0100, Lee Jones wrote: > I do agree that it should be correct, but the difference between getting > it 90% correct and absolutely perfect increases the effort at least x2. > With so much left to do, I think it would be better to get everything in > and functioning, then fix the minor issues as we come across them later. If you're going to do this the usual way is to do it by leaving bits out, and see below. > If only it were that easy. We're not bursting at the seems with resources > here. I'm working in a very customer focused ecosystem. If they don't > request it, or file a bug about it, there's no resource allocation to fix Right, I work in the same industry - but this shouldn't be a problem, if it's not urgent for people to help it's probably not urgent to do whatever's blocked by it either. > > You're not telling us about the problems you see so it's very difficult > > for anyone to help you. > > For example with this patch the only information you've sent is the > > patch and the fact that you're seeing the error you're ignoring going > > off on the system you're working with (which I had to ask to find out > I only went off what I knew. Some objects (which wouldn't have > prevented playing audio) were failing. It seemed wrong to shut down the > entire audio system because for instance, 'headset mute' or the 'vibrator' > links were broken. As I said to you before, time is a big factor and I > have a massive TODO list. Fixing audio links a) isn't my subject of This isn't the point, and it's a *very* important point which is the main reason I'm replying here. The immediate point here is that you're not communicating about what you're trying to which is the source of a lot of problems. Things would run a lot more smoothly if when you try to cut corners you were explicit about the corners you cut, and if when you run into problems you report those problems as well as sending whatever code you're using to work around things. Set people's expecations about what they're seeing and provide them with context. Consider the patch that's in the subject line here - it took me a couple of goes before you even said you'd seen an issue on your system which you were working around (I still don't know what the actual errors are). As far as I could tell looking at the patch description it was something done for taste reasons which was being sent as a bug fix. The usual approach for things like this is a changelog or cover mail which says something like "I'm seeing this error, here's the code I'm using to get things working on my system and I think this is a good idea because..." (or "...but that can't be right", or whatever). This works a whole lot better, it makes it clear what the underlying motivation for the change is and understand the submitter's expecation for the quality of the patch. Similarly with the missing device tree binding documentation, had you said something about the patches not being complete and writing the binding documentation later that'd have helped a lot. Having it there is a basic checklist thing for new DT bindings which is easy to spot from a diffstat, it's really not something a reviewer should ever need to ask about especially from someone doing a lot of DT work and it's a big red flag for the quality of the code. Things like this are really important, especially for people doing lots of work, as they have such a big impact on communication and so much of what makes this thing tick is about communication. > expertise, so it would take me much longer to fix than someone with > a good knowledge of the system and b) isn't really my responsibility. That's fine, just tell people about the problem and move on to something else from what's probably a large task list if it's blocking you (and start nagging people if it doesn't get fixed and it seems important). This happens fairly often, it works well most of the time. Sending a fix is of course ideal but it's not essential. > Well I know my submissions are not always 100% perfect, but I hope > you're not implying that they're poor quality. Writing code and fixing > things you view as bugs in code you have no prior knowledge of isn't the This is process stuff more than code stuff, it's all about communication. > easiest task in the world. All I can do is attempt to fix the issues that > I see, which get things off the ground or make drivers work again and > submit the changes. If they're wrong they're wrong, but I don't think this > should be viewed as poor quality code! What you can do here is to commmunicate about what you're doing more. Don't just think about the code, think about the communication surrounding the code - this is the core of the issue. > the experience. Some Maintainers say things like, "That's wrong. This > is wrong. Why are you doing this?" etc without explaining what the > issues are. That's not a good review, and will put people off trying > again. Like I said in my previous mail this is one of the tools people have available to them to drive up quality - if you watch a bit more closely you'll often see that the quality of the review is scaled to factors in the submission (and often the pattern of submissions from a contributor). It's often not something that's done conciously, a lot of this is just people conveying that they're annoyed. > Equally being too overzealous and nit-picky about stuff that a) > really doesn't matter or b) can be changed really easily _if_ in the > rare case there's an issue. I've also submitted to some Maintainers This is a similar thing - it's part of the toolbox. > who are a pleasure to work with. They explain what's wrong and why > and encourage resubmission. I know Maintainers aren't school teachers, > or life coaches, but they should be encouraging more people to share > their good ( after some fixup ;) ) code and not playing the role of > an incredibly hard to please boss, or impenetrable brick wall. Maintainer bandwidth is limited, and people will focus these efforts where they think it'd be useful. What I'm spending time doing here is trying to convey that there's some fairly easily solvable process issues here which are making everyone's life harder here.
(As for the thread, which got flamy, let's put it to rest, and Ola: we are all impressed with your work on the ux500 ALSA SoC driver, no doubt about that, this was all ever about the DT patch set.) On Thu, Aug 2, 2012 at 7:58 AM, Ola Lilja <olalilja@yahoo.se> wrote: > Linus W. could probably shed some light of when the missing clocks are to > be submitted. Ulf Hansson is working on this but he's on vacation FTM. However he has shown good progress and can probably present a prototype clock driver when he arrives back. IIRC there was some clock reparenting business left to sort out. Yours, Linus Walleij
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index eded657..7d9c154 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -3095,8 +3095,6 @@ int snd_soc_dapm_new_controls(struct snd_soc_dapm_context *dapm, dev_err(dapm->dev, "ASoC: Failed to create DAPM control %s\n", widget->name); - ret = -ENOMEM; - break; } widget++; }
If a list of widgets is provided and one of them fails to be added as a control, the present semantics fail all subsequent widgets. A better solution would be to only fail that widget, but pursue in attempting to add the rest of the list. Signed-off-by: Lee Jones <lee.jones@linaro.org> --- sound/soc/soc-dapm.c | 2 -- 1 file changed, 2 deletions(-)