Reach out "dirty" state value

Sascha Hauer s.hauer at pengutronix.de
Mon Apr 24 23:42:25 PDT 2017


On Tue, Apr 25, 2017 at 09:08:25AM +0300, Çağlar Kilimci wrote:
> Hi Sascha,
> 
> 2017-04-25 8:51 GMT+03:00 Sascha Hauer <s.hauer at pengutronix.de>:
> > Hi Çağlar,
> >
> > On Mon, Apr 24, 2017 at 11:20:47AM +0300, Çağlar Kilimci wrote:
> >> Hi all,
> >>
> >> I would like to use state framework and now I can read variables from
> >> both barebox and regular kernel space. In addition, if I can change
> >> from barebox, I can successfully read the changes from kernel space
> >> but if I change from kernel space, I could not reach out the new value
> >> from barebox. The dirty variable is set and I can see the new value
> >> from eeprom (where I store the values) but I guess there would be
> >> better way to reach out the "dirty" values. So, how can I read last
> >> value for that state variable?
> >
> > If you get outdated variables in barebox that's a bug. You are on latest
> > master, right? Do you have stridesize specified in the devicetree?
> 
> Yes, I am on the latest master. And yes, I have specified stridsize.
> Here is my of_dump of my state device:
> 
> barebox at Phytec phyCORE AM335x:/ of_dump /state
> state {
>         magic = <0x4aaef393>;
>         compatible = "barebox,state";
>         backend-type = "raw";
>         backend = <0x3f>;
>         backend-storage-type = "direct";
>         backend-stridesize = <0x10>;

The stridesize is too small. It must be at least the size of one state
instance storage space which is the size of your data (0x20) and the
size of the header (0xc), so total 0x2c. However, I recommend a bigger
value, maybe 0x40 or 0x80.
There should be an error message when the stridesize is too small.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list