> I had looked a bit in that direction, but I think there's currently > no way for a driver to say "I won't be needing the bus for a while". > Something like that would be critical for such a pm system to work. Yes. I wasn't sure if something already existed. > In any case, it doesn't sound like something I can sell - it's > understandable for my employer that I spent an extra hour or so to > clean up and submit the code to upstream, but this appears to go > into a different class of rework. > > So where do you want to go with this? Should I rework the patch to > make the timeout optional, or should I simply forget about > integrating at all? I understand your constraints, yet from a maintenance perspective I shouldn't have such code in a driver. So, out-of-tree that is for now. > In fact, on the customer's board, the pca mux is powered by a supply > so the whole mux can be powered-down too, for which I also needed to > patch the pca driver to reset its state when the powersupply > reported that it was going down. I think that particular patch isn't > of much use to the community though, or is it? If it uses standard pm callbacks, I'd think this makes sense. > Most hardware can control power and clocks to the I2C controller, > which would indeed account for some power savings. But again, that > would require drivers to provide estimations as to when they will > need the bus. And it would require much more information on the bus > controller too, though I suspect that to be the easier part. There are drivers gating off the clocks simply after every transfer. I don't know your HW details and workloads, but I wondered if you can unconditionally switch off the core, do some pinmuxing... > > Anyway, thanks for letting me know about your requirements (they should > > have been in the original commit message, though ;)) > > I'm new to Linux kernel development, so please forgive me... That was just a pointer, no complaint. You did a fine job in supplying information around your patch, so thanks.
Attachment:
signature.asc
Description: Digital signature