Re: [PULL] http://linuxtv.org/hg/~mkrufky/sms1xxx-gpio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 11 Mar 2009 03:10:38 -0700 (PDT)
Uri Shkolnik <urishk@xxxxxxxxx> wrote:

> My suggestion is that we’ll “reset” the process. 
> 
> We know for sure (tested and verified) that the final result, after merging all Siano’s patches from the vger is robust driver set (which has also been tested with Mike’s devices). We also know it passes “checkpatch.pl” script (from kernel version 2.6.28) so it’s quite good, maybe some coding style issues still exist, but not too many.
> So, the code itself is in good condition.

CodingStyle is one of the points on submitting a patch upstream, but for sure
it isn't the most important one. There are other much more important rules, like [1]: 
	- not cause regressions;
	- not break bisect;
	- one change per patch;
	- no new userspace API without prior discussions and proper documentation;
	- no hooks for proprietary driver extensions;
	- no usage of deprecated functions;
	- no backports sent upstream;
	...

[1] This is just an incomplete, unstructured set of common practices. You'll
see a more formal set of rules at /README.patches (on v4l-dvb tree) and on Kernel's
Documentation/. The informal rules will be found by reading and following LKML
discussions (and reading some good Kernel development sites, like lwn.net).

The objective of a patch review from the subsystem maintainer, from the driver
maintainers for the affected drivers (or boards) and from the community is to
identify problems and address they in advance, before breaking the drivers or
generating bisect troubles.

> So, my suggestion is as follow –
> Let’s take, one after the other, the patches from the vger server, and “put them on the surgeon’s table”. 
> Per *single* patch, one at a time, we’ll ask for anyone's review.
> If there will be no comment, it will be committed as is. If there will be, I’ll fix it, pass it through the needed QA tests, and than it will be submit for a second review.

I'm trying to understand better you patch series. It seems that the patch
names doesn't mean much (from Patchwork):

  	Siano 10237 __le32 to le32
	Siano 10236 SPI drv minor casting issue
	Siano 10234 big endian support
	Siano 10221 smssdio
	Siano 10231 add submenu to kconfig
	Siano 10230 Core coding style fix
	Siano 10229 Build configuration upgrade
	Siano 10228 Cards upgrade
	Siano 10227 core upgrade
	Siano 10226 Siano sub-system
	Siano 10225 DVBv3
	Siano 10224 USB adapter
	Siano 10223 SPI driver

It is hard to understand what each patch does, by just looking on their names.
The message first line should summarize what's inside each patch.

Also, please don't post patches like "core upgrade" (as described by you) as:
<snip>
This patch provides the following:
A) Support for firmware download for kernel versions < 2.6.10
B) SPI and SDIO interface driver registration
C) DVB-API v5 (S2) and Siano's subsystem registration
D) Indentation
Note: SMS adapter for DVBv5/S2 is experimental (alpha stage).
<snip/>

If the patch does 4 things, it should be sent as 4 different patches (except
for CodingStyle fixes at the functions you're touching that you can eventually
send on the same patch).

Also, in general, big patches have more probability of causing a regression. A
perfect patch is small, well described and touches on just one functionality.

Every time I see a patch called "foo upgrade", I have the sensation that
someone just did a diff between his tree and the kernel one, and don't have a
very clear idea on what's being done (and where this is done) inside the patch.
People should never do a diff from his tree and kernel, when submitting new
stuff upstream. This procedure is known to cause regressions, especially when
some changes were done by kernel janitors, or when some internal kernel API is
being changed.

Also, you shouldn't send a patch for supporting firmware downloading for
versions <2.6.10, since:

1) Mercurial tree doesn't support 2.6.10 kernels, so such patch doesn't belong
to mercurial tree;
2) No backport is allowed when sending patches upstream. So such patch also
doesn't fit upstream.

---

>From my POV, you should first solve the patches that causes breakages with the
currently supported hardware. After having it solved, then you will need to
break your patches into smaller ones and provide better descriptions for they.

If you have patches that don't depend on that gpio changes, nor cause any
regression on the currently supported devices, then you can start sending they
again, with a good description, one change by patch. Patches that affects other
drivers require an explicit ack or sob from the driver author.

Ah, please avoid flooding me with a large amount of patches. The better is to
submit me some patches, wait for my review (and for the community review), and
then send more patches. The more simple is each individual patch, the more
fast I'll analyse and apply, if ok.

Before submitting the patches, I recommend you to read the /README.patches and
the Documentation ones that are mentioned there, for you to be more familiar
with the adopted procedures.

Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux