Re: [PATCH v2 2/5] mfd: lochnagar: Add support for the Cirrus Logic Lochnagar
From: Mark Brown <broonie@kernel.org>
Date: 2018-10-25 10:13:00
Also in:
linux-clk, linux-gpio, lkml
On Thu, Oct 25, 2018 at 10:28:16AM +0100, Richard Fitzgerald wrote:
On 25/10/18 09:26, Charles Keepax wrote:quoted
On Thu, Oct 25, 2018 at 08:44:59AM +0100, Lee Jones wrote:
quoted
quoted
I'm really not a fan of these so call 'patches'.
quoted
quoted
Can't you set the registers up proper way?
quoted
I will see if we could move any out of here or define any of the registers but as we have discussed before it is not always possible.
Also patches generally come out of hardware tuning/qualification/tools as this list of address,value. So it's easy for people to dump an update into the driver as a trivial copy-paste but more work if they have to reverse-engineer the patch list from hardware/datasheet into what each line "means" and then find the relevant lines of code to change. It's also much easier to answer the question "Have these hardware patches been applied to the driver?" if we have them in the original documented format. It just makes people's lives more difficult if they have to search around the code to try to find something that looks like the originally specified patch list. We don't use them just as a lazy way to setup some registers.
Further, the main intended use for register patches is for registers that the device manufacturer has no intention of documenting beyond providing a list of register writes to be done on device startup. The common example is test registers with chicken bits that turn out to have been needed, it's not realistic to expect that vendors are going to start documenting their test registers. It's normal to see these applied only on early revisions of parts (eg, rev A needs a patch to adjust things to match rev B which is the mass production version).
quoted
I really feel this isn't the driver you are objecting to as such but the way regmap operates and also we seem to always have the same discussions around regmap every time we push a driver. Is there any way me, you and Mark could hash this out and find out a way to handle regmaps that is acceptable to you? I don't suppose you are in Edinburgh at the moment for ELCE?
I suppose if Mark was willing to promote the regmap drivers to be a top-level subsystem that could contain the regmap definitions of devices then we could dump our regmap definitions in there, where Mark can review it as he's familiar with regmap and the chips and the reasons why things are done the way they are, rather than Lee having to stress about it every time we need to create an MFD device that uses regmap. Though that would make the initialization of an MFD rather awkward with the code required to init the MFD it not actually being in the MFD tree.
I'm not totally against dumping the data tables in some other directory (we could do ../regmap/tables or whatever) but I fear it's going to cause otherwise needless cross tree issues.
Attachments
- signature.asc [application/pgp-signature] 488 bytes