Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/40325 )
Change subject: Add writeprotect support infrastructure ......................................................................
Patch Set 12:
(1 comment)
Patchset:
PS12:
Did somebody look into Hatim's patches [1]? I didn't but feel like we owe them some attention. They cover more than just write protection. I fear, if we don't look into them now, we never will.
[1] Somewhere amidst https://patchwork.coreboot.org/project/flashrom/list/
I looked into some of them way back when they were first written, but wasn't doing much work with flashrom at the time so I didn't get involved much. IIRC the only issue I had was that some patches were too generalized, i.e. they made assumptions that were true for some chips but not all. Some large Spansion S25FS and FL chips were particularly odd, and there were cases where "don't care" block protect bits could impact generic methods unexpectedly.
Still, he did a lot of good work and it may be useful to revisit those patches to see if we can salvage some of them. And as you mention they cover more than write protection, there might be some OTP-related patches we can use.
After looking at them for a bit I think if we can first work out how to integrate this relatively self-contained support that actually working in the field we can massage forwards into the more generalised version on the list. Otherwise we are forever stuck between a working self-contained abeit not ideal support or a idealised support that isn't completed yet. Since there is a reasonable amount of work to fully get to the end of the road there we need to lay some ground work down.
"Working" is no argument for an upstream open-source project. "Maintainable" would get things going. It's been half a year now and you got 1 odd patch merged. Do you really think this is the faster way? I've been looking ahead and the next patch completely ignores the abstraction added by this one. It's a mess and exactly the kind of patches that slow things down, short, mid and long term. Who is faster on the top of a moun- tain, the one who takes the long winding road or the one who starts climbing straight ahead and keeps falling down?
Please stop this code-porting folly and port the features that chromium flashrom has and upstream lacks instead. If necessary, rewriting those features together with the community. Even after years wasted, I think that's still the faster way.
(And don't forget that much upstream work has stalled during these years waiting for your upstreaming to finish. What you have achieved so far is that this "forever stuck" has extended from chromium to upstream.)