mbox series

[i2c-next,v1,0/6] i2c: Incremental fixes for Mellanox BlueField I2C

Message ID cover.1603925077.git.kblaiech@nvidia.com
Headers show
Series i2c: Incremental fixes for Mellanox BlueField I2C | expand

Message

Khalil Blaiech Oct. 28, 2020, 10:54 p.m. UTC
This set of fixes tends to complement the upstream effort of the
driver code and aims to address the following issues:
  - Convert the DT file to a YAML schema to be consistent with the
  latest kernel releases.
  - Fix build issues reproted by the kernel test robot.
  - Apply a couple of changes to the driver code to include bug fixes.
  - Keep the MAINTAINER info up-to-date.

Khalil Blaiech (6):
  i2c: mlxbf: Add CONFIG_ACPI to guard ACPI function call
  i2c: mlxbf: Fix resrticted cast warning of sparse
  i2c: mlxbf: Remove unecessary wrapper functions
  i2c: mlxbf: Update reference clock frequency
  i2c: mlxbf: Update author and maintainer email info
  dt-bindings: i2c: Convert DT file to YAML schema

 .../bindings/i2c/mellanox,i2c-mlxbf.txt       |  42 ----
 .../bindings/i2c/mellanox,i2c-mlxbf.yaml      |  78 +++++++
 MAINTAINERS                                   |   3 +-
 drivers/i2c/busses/i2c-mlxbf.c                | 204 ++++++++----------
 4 files changed, 166 insertions(+), 161 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml

Comments

Rob Herring (Arm) Oct. 29, 2020, 3:33 p.m. UTC | #1
On Wed, Oct 28, 2020 at 06:55:54PM -0400, Khalil Blaiech wrote:
> Write the devicetree binding text file in schema file, JSON

> compatible subset of YAML.

> Besides, add an entry within MAINTAINERS file.


The subject should contain something about Mellanox BlueField.
> 

> Fixes: d9becc53b3ade81e ("dt-bindings: i2c: I2C binding for Mellanox BlueField SoC")


Fixes is not appropriate for this.

> Reviewed-by: Leon Romanovsky <leonro@nvidia.com>

> Signed-off-by: Khalil Blaiech <kblaiech@nvidia.com>

> ---

>  .../bindings/i2c/mellanox,i2c-mlxbf.txt       | 42 ----------

>  .../bindings/i2c/mellanox,i2c-mlxbf.yaml      | 78 +++++++++++++++++++

>  MAINTAINERS                                   |  1 +

>  3 files changed, 79 insertions(+), 42 deletions(-)

>  delete mode 100644 Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt

>  create mode 100644 Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml

> 

> diff --git a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt

> deleted file mode 100644

> index 566ea861aa00..000000000000

> --- a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt

> +++ /dev/null

> @@ -1,42 +0,0 @@

> -Device tree configuration for the Mellanox I2C SMBus on BlueField SoCs

> -

> -Required Properties:

> -

> -- compatible : should be "mellanox,i2c-mlxbf1" or "mellanox,i2c-mlxbf2".

> -

> -- reg : address offset and length of the device registers. The

> -	registers consist of the following set of resources:

> -		1) Smbus block registers.

> -		2) Cause master registers.

> -		3) Cause slave registers.

> -		4) Cause coalesce registers (if compatible isn't set

> -		   to "mellanox,i2c-mlxbf1").

> -

> -- interrupts : interrupt number.

> -

> -Optional Properties:

> -

> -- clock-frequency : bus frequency used to configure timing registers;

> -			allowed values are 100000, 400000 and 1000000;

> -			those are expressed in Hz. Default is 100000.

> -

> -Example:

> -

> -i2c@2804000 {

> -	compatible = "mellanox,i2c-mlxbf1";

> -	reg =	<0x02804000 0x800>,

> -		<0x02801200 0x020>,

> -		<0x02801260 0x020>;

> -	interrupts = <57>;

> -	clock-frequency = <100000>;

> -};

> -

> -i2c@2808800 {

> -	compatible = "mellanox,i2c-mlxbf2";

> -	reg =	<0x02808800 0x600>,

> -	        <0x02808e00 0x020>,

> -		<0x02808e20 0x020>,

> -		<0x02808e40 0x010>;

> -	interrupts = <57>;

> -	clock-frequency = <400000>;

> -};

> diff --git a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml

> new file mode 100644

> index 000000000000..b9f6b07c503f

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml

> @@ -0,0 +1,78 @@

> +# SPDX-License-Identifier: GPL-2.0


If you have rights, please dual license adding BSD-2-Clause.

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/i2c/mellanox,i2c-mlxbf.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: Mellanox I2C SMBus on BlueField SoCs

> +

> +maintainers:

> +  - Khalil Blaiech <kblaiech@nvidia.com>


allOf:
  - $ref: i2c-controller.yaml#

> +

> +properties:

> +  compatible:

> +    enum:

> +      - mellanox,i2c-mlxbf1

> +      - mellanox,i2c-mlxbf2

> +

> +  reg:

> +    minItems: 3

> +    maxItems: 4

> +    items:

> +      - description: Smbus block registers

> +      - description: Cause master registers

> +      - description: Cause slave registers

> +      - description: Cause coalesce registers

> +

> +  interrupts:

> +      maxItems: 1

> +

> +  clock-frequency:

> +      enum: [ 100000, 400000, 1000000 ]

> +


Drop the blank line.

> +      description:

> +        bus frequency used to configure timing registers;

> +        The frequency is expressed in Hz. Default is 100000.

> +

> +additionalProperties: false

> +

> +required:

> +  - compatible

> +  - reg

> +  - interrupts

> +

> +unevaluatedProperties: false

> +

> +if:

> +  properties:

> +    compatible:

> +      contains:

> +        enum:

> +          - mellanox,i2c-mlxbf1

> +

> +then:

> +  properties:

> +    reg:

> +      maxItems: 3

> +

> +examples:

> +  - |

> +    i2c@2804000 {

> +        compatible = "mellanox,i2c-mlxbf1";

> +        reg = <0x02804000 0x800>,

> +              <0x02801200 0x020>,

> +              <0x02801260 0x020>;

> +        interrupts = <57>;

> +        clock-frequency = <100000>;

> +    };

> +

> +  - |

> +    i2c@2808800 {

> +        compatible = "mellanox,i2c-mlxbf2";

> +        reg = <0x02808800 0x600>,

> +              <0x02808e00 0x020>,

> +              <0x02808e20 0x020>,

> +              <0x02808e40 0x010>;

> +        interrupts = <57>;

> +        clock-frequency = <400000>;

> +    };

> diff --git a/MAINTAINERS b/MAINTAINERS

> index 9128200af1d0..8dba7ace4a40 100644

> --- a/MAINTAINERS

> +++ b/MAINTAINERS

> @@ -11075,6 +11075,7 @@ MELLANOX BLUEFIELD I2C DRIVER

>  M:	Khalil Blaiech <kblaiech@nvidia.com>

>  L:	linux-i2c@vger.kernel.org

>  S:	Supported

> +F:	Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml

>  F:	drivers/i2c/busses/i2c-mlxbf.c

>  

>  MELLANOX ETHERNET DRIVER (mlx4_en)

> -- 

> 2.24.1

>
Rob Herring (Arm) Oct. 29, 2020, 3:33 p.m. UTC | #2
On Wed, 28 Oct 2020 18:55:54 -0400, Khalil Blaiech wrote:
> Write the devicetree binding text file in schema file, JSON
> compatible subset of YAML.
> Besides, add an entry within MAINTAINERS file.
> 
> Fixes: d9becc53b3ade81e ("dt-bindings: i2c: I2C binding for Mellanox BlueField SoC")
> Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
> Signed-off-by: Khalil Blaiech <kblaiech@nvidia.com>
> ---
>  .../bindings/i2c/mellanox,i2c-mlxbf.txt       | 42 ----------
>  .../bindings/i2c/mellanox,i2c-mlxbf.yaml      | 78 +++++++++++++++++++
>  MAINTAINERS                                   |  1 +
>  3 files changed, 79 insertions(+), 42 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt
>  create mode 100644 Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml
> 


My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml:28:7: [warning] wrong indentation: expected 4 but found 6 (indentation)
./Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml:31:7: [warning] wrong indentation: expected 4 but found 6 (indentation)

dtschema/dtc warnings/errors:


See https://patchwork.ozlabs.org/patch/1389582

The base for the patch is generally the last rc1. Any dependencies
should be noted.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.
Khalil Blaiech Nov. 3, 2020, 2:06 p.m. UTC | #3
> On Wed, 28 Oct 2020 18:55:54 -0400, Khalil Blaiech wrote:
> > Write the devicetree binding text file in schema file, JSON
> > compatible subset of YAML.
> > Besides, add an entry within MAINTAINERS file.
> >
> > Fixes: d9becc53b3ade81e ("dt-bindings: i2c: I2C binding for Mellanox
> BlueField SoC")
> > Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
> > Signed-off-by: Khalil Blaiech <kblaiech@nvidia.com>
> > ---
> >  .../bindings/i2c/mellanox,i2c-mlxbf.txt       | 42 ----------
> >  .../bindings/i2c/mellanox,i2c-mlxbf.yaml      | 78 +++++++++++++++++++
> >  MAINTAINERS                                   |  1 +
> >  3 files changed, 79 insertions(+), 42 deletions(-)
> >  delete mode 100644
> Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt
> >  create mode 100644
> Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml
> >
> 
> 
> My bot found errors running 'make dt_binding_check' on your patch:
> 
> yamllint warnings/errors:
> ./Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml:28:7:
> [warning] wrong indentation: expected 4 but found 6 (indentation)
> ./Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml:31:7:
> [warning] wrong indentation: expected 4 but found 6 (indentation)
> 
> dtschema/dtc warnings/errors:
> 
> 
> See https://patchwork.ozlabs.org/patch/1389582
> 
> The base for the patch is generally the last rc1. Any dependencies
> should be noted.
> 
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
> 
> pip3 install dtschema --upgrade
> 
> Please check and re-submit.

Thank you, Rob. Will do.