On Thu, Feb 26, 2015 at 09:16:27AM +0000, Srinivas Kandagatla wrote:
I think we are making simple eeprom framework too smart which will
break in future.
IMHO, Anything on top of eeprom interface that interprets the data should
not go into the eeprom framework itself, it can either live some parsers/SOC
specific drivers/interfaces.
True, but that doesn't mean that this parser support can't be built
within the framework itself.
As Stephen pointed out earlier lets start with something like this, which
would provide a better abstraction to the discussed use cases like
serial-number and packed data in eeprom.
qfprom@1000000 {
reg = <0x1000000 0x1000>;
ranges = <0 0x1000000 0x1000>;
compatible = "qcom,qfprom-msm8960"
pvs-data: pvs-data@40 {
compatible = "qcom,pvs-a";
reg = <0x40 0x20>,
};
tsens-data: tmdata@10 {
reg = <0x10 40>;
};
serial-number: serial@50 {
compatible = "qcom,serial-msm8960";
reg = <0x50 4>, <0x60 4>;
};
};
And I'm sorry, but I still don't get why the compatibles are needed
here.
and then on the consumer side:
device {
eeproms = <&serial-number>;
eeprom-names = "soc-rev-id";
};
driver side:
eeprom_get_cell()
eeprom_read();
Looks good otherwise.
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com