Hi, On Sun, Jan 29, 2017 at 02:04:00PM +0200, Guy Shapiro wrote: > The syscon-poweroff driver powers off the machine by writing a value to > a register. Both the register and the value are configured via the > device tree. > > I encountered a situation where I need to mask the written value - some > values of the register must remain unchanged during the power-down. > (This is required to turn on the i.mx6ul using the RTC. See [1] for more > details.) > > Unfortunately, the property of the register value is currently named > mask, so we can't just add a "mask" property. > > The solutions I could think of: > 1) Add a new mask property and name it "mask_mask" or something like > that. > 2) Create a new "syscon-masked-poweroff" driver that will have value and > mask properties. > > What do you think? I suggest the we add a value property to the binding [0] and use the following logic in the driver to keep compatibility with the old binding: if (!value) { /* support for old binding */ val = mask; mask = 0xFFFFFFFF; } else if (!mask) { /* support for just providing value */ mask = 0xFFFFFFFF; val = value; } regmap_update_bits(map, offset, mask, val); [0] Documentation/devicetree/bindings/power/reset/syscon-poweroff.txt -- Sebastian
Attachment:
signature.asc
Description: PGP signature