diff mbox

Add possibility to define bits-per-word property.

Message ID 20170216133910.18278-1-adrian.fiergolski@cern.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Adrian Fiergolski Feb. 16, 2017, 1:39 p.m. UTC
Signed-off-by: Adrian Fiergolski <adrian.fiergolski@cern.ch>
---
 drivers/spi/spi.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

--
2.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Miguel Ojeda Feb. 17, 2017, 10:06 a.m. UTC | #1
Hi Adrian,

Please review the style to match the kernel's (and the rest of the
code in the file). See an example below and
https://github.com/torvalds/linux/blob/master/Documentation/process/coding-style.rst

(I have no idea regarding the functional changes on this patch, I just
noticed the email coming from CERN and therefore I replied :-)

Cheers,
Miguel

On Thu, Feb 16, 2017 at 2:39 PM, Adrian Fiergolski
<adrian.fiergolski@cern.ch> wrote:
>
> Signed-off-by: Adrian Fiergolski <adrian.fiergolski@cern.ch>
> ---
>  drivers/spi/spi.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>
> diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
> index 0239b45..d2267e9 100644
> --- a/drivers/spi/spi.c
> +++ b/drivers/spi/spi.c
> @@ -1549,6 +1549,17 @@ of_register_spi_device(struct spi_master *master, struct device_node *nc)
>         }
>         spi->max_speed_hz = value;
>
> +       /* Device bits-per-word */
> +       if( ! of_property_read_u32(nc, "spi-bits-per-word", &value) ){

e.g.

 if (!of_property_read_u32(nc, "spi-bits-per-word", &value)) {

>
> +         if( value > 32 )
> +           dev_warn(&master->dev,
> +                    "bits-per-word %d not supported\n",
> +                    value);
> +         else
> +           spi->bits_per_word = value;
> +       }
> +
> +
>         /* Store a pointer to the node in the device structure */
>         of_node_get(nc);
>         spi->dev.of_node = nc;
> @@ -1626,6 +1637,13 @@ static int acpi_spi_add_resource(struct acpi_resource *ares, void *data)
>
>                         spi->max_speed_hz = sb->connection_speed;
>
> +                       if(sb->data_bit_length > 32)
> +                                   dev_warn(&master->dev,
> +                                            "bits-per-word %d not supported\n",
> +                                            sb->data_bit_length);
> +                       else
> +                         spi->bits_per_word = sb->data_bit_length;
> +
>                         if (sb->clock_phase == ACPI_SPI_SECOND_PHASE)
>                                 spi->mode |= SPI_CPHA;
>                         if (sb->clock_polarity == ACPI_SPI_START_HIGH)
> --
> 2.9.3
>
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mark Brown Feb. 17, 2017, 10:11 a.m. UTC | #2
On Thu, Feb 16, 2017 at 02:39:10PM +0100, Adrian Fiergolski wrote:
> Signed-off-by: Adrian Fiergolski <adrian.fiergolski@cern.ch>
> ---
>  drivers/spi/spi.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)

Why would this property be useful?  You're also adding a new binding
with no binding documentation, binding documentation is mandatory for
all new bindings.

Please submit patches using subject lines reflecting the style for the
subsystem.  This makes it easier for people to identify relevant
patches.  Look at what existing commits in the area you're changing are
doing and make sure your subject lines visually resemble what they're
doing.
diff mbox

Patch

diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 0239b45..d2267e9 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -1549,6 +1549,17 @@  of_register_spi_device(struct spi_master *master, struct device_node *nc)
 	}
 	spi->max_speed_hz = value;
 
+	/* Device bits-per-word */
+	if( ! of_property_read_u32(nc, "spi-bits-per-word", &value) ){
+	  if( value > 32 )
+	    dev_warn(&master->dev,
+		     "bits-per-word %d not supported\n",
+		     value);
+	  else
+	    spi->bits_per_word = value;
+	}
+
+
 	/* Store a pointer to the node in the device structure */
 	of_node_get(nc);
 	spi->dev.of_node = nc;
@@ -1626,6 +1637,13 @@  static int acpi_spi_add_resource(struct acpi_resource *ares, void *data)
 
 			spi->max_speed_hz = sb->connection_speed;
 
+			if(sb->data_bit_length > 32)
+				    dev_warn(&master->dev,
+					     "bits-per-word %d not supported\n",
+					     sb->data_bit_length);
+			else
+			  spi->bits_per_word = sb->data_bit_length;
+
 			if (sb->clock_phase == ACPI_SPI_SECOND_PHASE)
 				spi->mode |= SPI_CPHA;
 			if (sb->clock_polarity == ACPI_SPI_START_HIGH)