On Fri, Mar 14, 2025 at 10:19:29PM +0100, Christian Marangi wrote: > On Fri, Mar 14, 2025 at 09:01:56PM +0000, Russell King (Oracle) wrote: > > I'd prefer we didn't bring that abomination back. The detail about how > > things are stored in regmap should be internal within regmap, and I > > think it would be better to have an API presented that takes sensible > > parameters, rather than something that's been encoded. > > Well problem is that regmap_write and regmap_read will take max 2 value > at the very end (reg and value) so it's really a matter of making the > encoding part internal but encoding it can't be skipped. > > You are suggesting to introduce additional API like > > mdio_regmap_write(regmap, phy, addr, val); > mdio_mmd_regmap_write(regmap, phy, mmd, addr, val); > > And the encoding is done internally? Yes, because littering drivers with the details of the conversion is unreasonable. > My concern is the decoding part from the .write/read_bits regmap OPs. > I guess for that also some helper should be exposed (to keep the > decoding/encoding internal to the driver and not expose the > _abomination_) Sadly, I don't think that's something we can get away from, but we should make it _easy_ for people to get it right.