Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Relationship with upstream u-boot is not documented #15

Closed
tim-seoss opened this issue Dec 11, 2020 · 6 comments
Closed

Relationship with upstream u-boot is not documented #15

tim-seoss opened this issue Dec 11, 2020 · 6 comments

Comments

@tim-seoss
Copy link

Hello,

I can't see any documentation of the relationship between this u-boot fork, and the mainline u-boot.

I would like to contribute patches to support a sama5d27 product that one of my clients is developing, so I would like to know what Microchip's policy is for u-boot maintenance is, and why this fork exists...

Do you encourage third party at91 board patches to be contributed to this tree, mainline u-boot, or both?

Thanks!

Tim.

@ehristev
Copy link

Hi,

We keep this fork such that we allow our customers to have a working , tested u-boot, that works on all our supported boards at all times, and we try to keep this fork as close as possible to mainline u-boot. As u-boot mainline is out of our control, it can happen that u-boot mainline becomes 'broken' for our boards, which may impact our customers. Because we cannot directly push patches to the u-boot mainline, we cannot guarantee that we can fix any 'broken' issue immediately. We can send a patch, but the u-boot mainline is maintained by open source community. While this rarely happens, it is a distinct possibility, so we do not take the chances, and we keep this fork which is tested and with any patches on top , until they also reach u-boot mainline.
From time to time (usually once per year) , we update this tree by grabbing the mainline u-boot and rebasing any outstanding patches on top of that. And we periodically send patches in the upstream u-boot to have there all the support for our boards.
We encourage you to send patches to u-boot mainline first, as we always have the mainline first policy, and if you send patches there, eventually (sooner rather than later I hope), they will be visible here in our tree as well.
If your patch is refused in u-boot mainline let's say , and it fixes a very important issue, you can come to us and we can add it here, and try to have it until we find a solution for a possible fix in mainline as well. Otherwise, we would rather take patches from mainline, as it benefits from the expertise of many talented people in u-boot open source community, that can review your patch.
Hope this clears things a little bit,
Eugen

@tim-seoss
Copy link
Author

tim-seoss commented Dec 11, 2020

Thanks for the swift response!

I think it would be great if the information in your response above was maintained as patch which prefixes the README at the roof of this repository.

Perhaps it would be useful to add a brief note for developers inexperienced with u-boot integration, to detail reasons for upstreaming their code, e.g. code review, bug fixes, and ongoing maintenance.

BTW, if I find at91-specific bugs with the current mainline u-boot repository (e.g. mainline u-boot master currently fails to boot
sama5d2_xplained because the mmc probe fails), where would you prefer that such bugs are reported?

@ehristev
Copy link

I am maintaining the u-boot at91 , so any way such that the report reaches me.
I know about this mmc probe issue, there is a fix pending for u-boot mainline, will be merged next week.
have a look at the at91 custodian tree at u-boot denx page : https://gitlab.denx.de/u-boot/custodians/u-boot-atmel/

@noglitch
Copy link
Member

Dear @tim-seoss ,
We tried to describe our views on Open Source development and how we envision Mainline and our "vendor tree" in a document on Microchip website. Most of what is described there which is targeted to the Linux kernel also applies to U-Boot (see chapters 3 and 4):
http://ww1.microchip.com/downloads/en/Appnotes/Linux-Basics-and-Solutions-for-Microprocessors-Application-Note-DS00002772A.pdf
I hope that adds nicely to what @ehristev perfectly described above.
Best regards,
Nicolas

@tim-seoss
Copy link
Author

That's great information, thanks. I think that prefixing a brief paragraph or two to the top of this repository's README would be great, including a link to that document (and section).

My reasoning for adding this to the README is that it ensures the developers working on forks of this code (which may include future maintainers, either within the company that develops the code, or external to them) will quite often be given a copy of the forked code (e.g. because of GPL compliance), and it would be difficult for them to trace its provenance.

The README is the first place that I (and most developers I think will look) - indeed it's displayed by GitHub etc. by default.

Also, whilst AN2772 provides all the necessary information, I had got as far as porting the Linux kernel, and also u-boot without seeing it - so any extra links to it would be useful!

I've created a PR for your consideration...

tim-seoss added a commit to south-coast-science/u-boot-at91 that referenced this issue Dec 14, 2020
tim-seoss added a commit to south-coast-science/u-boot-at91 that referenced this issue Dec 15, 2020
@ehristev
Copy link

Applied this patch to the new branch u-boot-2021.01-at91 which is the future branch for this project. Thanks !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

3 participants