Messages in this thread | | | Date | Thu, 26 Feb 2015 14:56:52 +0000 | From | Srinivas Kandagatla <> | Subject | Re: [RFC PATCH 1/3] eeprom: Add a simple EEPROM framework |
| |
On 26/02/15 13:21, Maxime Ripard wrote: > 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. I was more of thinking parsers/interpreters as a layer on top of this framework. Allowing the simplest users direct access to framework. Also just eeprom_read() apis would not cater for all the parsers and I think it would be very difficult to come up with abstracted consumer apis for all the parsers which could be iterator or link-lists parsers or something very different.
> >> 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. This is an optional property, only purpose of this would be to serve as parser/soc-specific identifier.
> >> 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. thanks --srini > > Maxime >
| |