Re: syscon-poweroff: add a mask property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux