Re: [PATCH] i2c: add 'single-master' property to generic bindings

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

 



On Wed, May 27, 2020 at 01:30:39PM +0200, Wolfram Sang wrote:
> It is useful to know if we are the only master on a given bus. Because
> this is a HW description of the bus, add it to the generic bindings.
> 
> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
> Cc: Laine Jaakko EXT <ext-jaakko.laine@xxxxxxxxxxx>
> ---
> 
> We added 'multi-master' back then because most busses are single-master
> and 'multi-master' was the exception. In hindsight, however, this was a
> bad choice because 'multi-master' should be the default, i.e. if you
> know nothing, you should assume there could be another master.
> 
> So, we can't deduce that a missing 'multi-master' property automatically
> means 'single-master'. That's why we need this new property.
> 
> I am a bit tempted to mark 'multi-master' as deprecated because the
> default should be multi-master. However, it might also be a bit more
> descriptive to let "no property" still mean "we don't know". I'd be
> thankful for more opinions here.

Could you just have different timeouts for clearing stalled bus. You 
know quickly if 'single-master' is set, but have to wait longer if not?

Note that we need to add a bunch of these properties to dt-schema 
i2c-controller.yaml. I hadn't done that because I want to dual license 
in the process, but lots of folks have touched i2c.txt IIRC.

Reviewed-by: Rob Herring <robh@xxxxxxxxxx>

> Thanks and happy hacking,
> 
>    Wolfram
> 
>  Documentation/devicetree/bindings/i2c/i2c.txt | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/i2c/i2c.txt b/Documentation/devicetree/bindings/i2c/i2c.txt
> index 819436b48fae..438ae123107e 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c.txt
> +++ b/Documentation/devicetree/bindings/i2c/i2c.txt
> @@ -70,7 +70,12 @@ wants to support one of the below features, it should adapt these bindings.
>  - multi-master
>  	states that there is another master active on this bus. The OS can use
>  	this information to adapt power management to keep the arbitration awake
> -	all the time, for example.
> +	all the time, for example. Can not be combined with 'single-master'.
> +
> +- single-master
> +	states that there is no other master active on this bus. The OS can use
> +	this information to detect a stalled bus more reliably, for example.
> +	Can not be combined with 'multi-master'.
>  
>  Required properties (per child device)
>  --------------------------------------
> -- 
> 2.20.1
> 



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux