On Sun, Feb 15, 2026 at 11:54:40PM +0100, Wolfram Sang wrote: > My ultimate goal is to allow hwspinlock provider drivers outside of the > subsystem directory. It turned out that a simple split of the headers > files into a public provider and a public consumer header file is not > enough because core internal structure need to stay hidden. Even more, > their opaqueness could and should even be increased. That would also > allow the core to handle the de-/allocation of the hwspinlock device > itself. > > This series does all that. Patches 1-7 abstract access to internal > structures away using helpers. Patch 8 then move hwspinlock device > handling to the core, simplifying drivers. The remaining patches > refactor the headers until the internal one is gone and the public ones > are divided into provider and consumer parts. More details are given in > the patch descriptions. > > One note about using a callback to initialize hwspinlock priv: I also > experimented with a dedicated 'set_priv' helper function. It felt a bit > clumsy to me. Drivers would need to save the 'bank' pointer again and > iterate over it. Because most drivers will only have a simple callback > anyhow, it looked leaner to me. > > This series is based on the cleanup series "hwspinlock: remove > platform_data from subsystem" and has been tested on a Renesas > SparrowHawk board (R-Car V4H) with a yet-to-be-upstreamed hwspinlock > driver for the MFIS IP core. A branch can be found here (the MFIS driver > is still WIP): > > git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git > renesas/hwspinlock/refactor-alloc-buildtest > > Buildbots seem to be happy, too. > > Looking forward to comments. I especially wonder if the last patch > should stay as-is or if it should be broken out, so individual > subsystems can pick up their part (with a fallback in place, of course, > until the last user is converted).
Coincidentally I have briefly reviewed it in the Git tree before you have sent this to ML. I like the whole series, but what I have missed is the explanation of the removal of Contact: comment in some of the files. -- With Best Regards, Andy Shevchenko
