Hi Thorsten,
On Fri, May 20, 2022 at 6:12 AM Thorsten Leemhuis regressions@leemhuis.info wrote:
On 16.02.22 15:40, Bartosz Golaszewski wrote:
On Tue, Feb 15, 2022 at 10:56 PM Linus Walleij linus.walleij@linaro.org wrote:
On Mon, Feb 14, 2022 at 12:24 AM Marcelo Roberto Jimenez marcelo.jimenez@gmail.com wrote:
On Sat, Feb 12, 2022 at 1:55 PM Linus Walleij linus.walleij@linaro.org wrote:
I am curious about the usecases and how deeply you have built yourselves into this.
I don't know if I understand what you mean, sorry.
Why does the user need the sysfs ABI? What is it used for?
I.e what is the actual use case?
In any case, the upstream file should be enough to test the issue reported here.
The thing is that upstream isn't super happy that you have been making yourselves dependent on features that we are actively discouraging and then demanding that we support these features.
Hum, demanding seems to be a strong word for what I am doing here.
Deprecated should not mean broken. My point is: the API seems to be currently broken. User space apps got broken, that's a fact. I even took the time to bisect the kernel and show you which commit broke it. So, no, I am not demanding. More like reporting and providing a temporary solution to those with a similar problem.
Maybe it is time to remove the API, but this is up to "upstream". Leaving the API broken seems pointless and unproductive.
Sorry for the "not super happiness of upstream", but maybe upstream got me wrong.
We are not "making ourselves dependent on features ...". The API was there. We used it. Now it is deprecated, ok, we should move on. I got the message.
Ouch I deserved some slamming for this.
I'm sorry if I came across as harsh :(
I just don't know how to properly push for this.
I have even pushed the option of the deprecated sysfs ABI behind the CONFIG_EXPERT option, which should mean that the kernel config has been made by someone who has checked the option "yes I am an expert I know what I am doing" yet failed to observe that this ABI is obsoleted since 5 years and hence failed to be an expert.
Of course the ABI (not API really) needs to be fixed if we can find the problem. It's frustrating that fixing it seems to fix broken other features which are not deprecated, hence the annoyance on my part.
I'm afraid we'll earn ourselves a good old LinusRant if we keep pushing the character device as a solution to the problem here. Marcelo is right after all: he used an existing user interface, the interface broke, it must be fixed.
I would prefer to find a solution that fixes Marcelo's issue while keeping the offending patches in tree but it seems like the issue is more complicated and will require some rework of the sysfs interface.
In which case unless there are objections I lean towards reverting the relevant commits.
Reviving and old thread, hence a quick reminder: The patch at the start of this thread was applied and then reverted in 56e337f2cf13 with this text:
This commit - while attempting to fix a regression - has caused a number of other problems. As the fallout from it is more significant than the initial problem itself, revert it for now before we find a correct solution.
I still have this on my list of open regressions and that made me wonder: is anyone working on a "correct solution" (or was one even applied and I missed it)? Or is the situation so tricky that we better leave everything as it is? Marcelo, do you still care?
The purpose of my patch was to revert the patch that was causing the hardware I work with to fail. But reverting that patch had bad consequences in other hardware, so I really do not think that my patch should go in.
Following Linus Walleij's advice, we are stopping using sysfs for gpio, so in the near future that patch will be irrelevant for me. On the other hand, a few people using recent kernels have tried my patch successfully, so it can be used as a temporary transition hack.
Also, the patch exposes a serious problem with the sysfs gpio, which is currently broken. Maybe we should consider removing the interface in a near future release, as it has been advocated several times before, since it has long been deprecated, has a much better substitute API and, the worse part, it is broken and no one seems to have a high priority in fixing it.
IIRC, the last time I read, the kernel documentation said that the API would be removed in 2020, so we are a bit late :). I know that removing an API has lots of implications, so the consequences must be carefully balanced.
Ciao, Thorsten
Best regards, Marcelo.