25 Sep
2015
25 Sep
'15
9:49 p.m.
Rafael wrote:
Actually, what about adding a local u32 variable, say val, here and doing
if (!debugfs_create_x32("gpe", 0444, dev_dir, (u32 *)&first_ec->gpe)) goto error; if (!debugfs_create_bool("use_global_lock", 0444, dev_dir,
(u32 *)&first_ec->global_lock))
&first_ec->global_lock))
if (!debugfs_create_bool("use_global_lock", 0444, dev_dir, &val))
goto error;
first_ec->global_lock = val;
And then you can turn val into bool just fine without changing the structure definition.
Ok, then, but that means Rafael is completely wrong ... debugfs_create_bool() takes a *pointer* and it needs to be long-lived, it can't be on the stack. You also don't get a call when it changes.
If you cannot change the struct definition then you must implement a debugfs file with its own read/write handlers.
johannes