All of lore.kernel.org
 help / color / mirror / Atom feed
From: <Ajay.Kathat@microchip.com>
To: <gregkh@linuxfoundation.org>
Cc: <lkml@SDF.ORG>, <Adham.Abozaeid@microchip.com>,
	<linux-wireless@vger.kernel.org>
Subject: Re: [PATCH v2] wilc1000: Use crc7 in lib/ rather than a private copy
Date: Thu, 26 Mar 2020 14:54:41 +0000	[thread overview]
Message-ID: <c084bee0-9b3a-631d-5e68-b38775531bac@microchip.com> (raw)
In-Reply-To: <20200323141422.GA3769@SDF.ORG>

Hi Greg,

I just noticed this patch is not applied to staging. I suspect, its not
picked because not sent to devel@driverdev.osuosl.org and 'staging' is
missing from subject.
Please confirm if new version for patch should be submitted to apply in
staging.

Regards,
Ajay

On 23/03/20 7:44 pm, George Spelvin wrote:
> 
> The code in lib/ is the desired polynomial, and even includes
> the 1-bit left shift in the table rather than needing to code
> it explicitly.
> 
> While I'm in Kconfig, add a description of what a WILC1000 is.
> Kconfig questions that require me to look up a data sheet to
> find out that I probably don't have one are a pet peeve.
> 
> Signed-off-by: George Spelvin <lkml@sdf.org>
> Cc: Ajay Singh <ajay.kathat@microchip.com>
> Cc: Adham Abozaeid <adham.abozaeid@microchip.com>
> Cc: linux-wireless@vger.kernel.org
> ---
> v2: Rebase on staging-next tree
> 
>  drivers/staging/wilc1000/Kconfig |  5 +++
>  drivers/staging/wilc1000/spi.c   | 64 +++-----------------------------
>  2 files changed, 11 insertions(+), 58 deletions(-)
> 
> diff --git a/drivers/staging/wilc1000/Kconfig b/drivers/staging/wilc1000/Kconfig
> index 59e58550d1397..80c92e8bf8a59 100644
> --- a/drivers/staging/wilc1000/Kconfig
> +++ b/drivers/staging/wilc1000/Kconfig
> @@ -2,6 +2,10 @@
>  config WILC1000
>         tristate
>         help
> +         Add support for the Atmel WILC1000 802.11 b/g/n SoC.
> +         This provides Wi-FI over an SDIO or SPI interface, and
> +         is usually found in IoT devices.
> +
>           This module only support IEEE 802.11n WiFi.
> 
>  config WILC1000_SDIO
> @@ -22,6 +26,7 @@ config WILC1000_SPI
>         tristate "Atmel WILC1000 SPI (WiFi only)"
>         depends on CFG80211 && INET && SPI
>         select WILC1000
> +       select CRC7
>         help
>           This module adds support for the SPI interface of adapters using
>           WILC1000 chipset. The Atmel WILC1000 has a Serial Peripheral
> diff --git a/drivers/staging/wilc1000/spi.c b/drivers/staging/wilc1000/spi.c
> index 8d4b8c219c2fc..3f19e3f38a397 100644
> --- a/drivers/staging/wilc1000/spi.c
> +++ b/drivers/staging/wilc1000/spi.c
> @@ -6,6 +6,7 @@
> 
>  #include <linux/clk.h>
>  #include <linux/spi/spi.h>
> +#include <linux/crc7.h>
> 
>  #include "netdev.h"
>  #include "cfg80211.h"
> @@ -16,64 +17,6 @@ struct wilc_spi {
> 
>  static const struct wilc_hif_func wilc_hif_spi;
> 
> -/********************************************
> - *
> - *      Crc7
> - *
> - ********************************************/
> -
> -static const u8 crc7_syndrome_table[256] = {
> -       0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x3f,
> -       0x48, 0x41, 0x5a, 0x53, 0x6c, 0x65, 0x7e, 0x77,
> -       0x19, 0x10, 0x0b, 0x02, 0x3d, 0x34, 0x2f, 0x26,
> -       0x51, 0x58, 0x43, 0x4a, 0x75, 0x7c, 0x67, 0x6e,
> -       0x32, 0x3b, 0x20, 0x29, 0x16, 0x1f, 0x04, 0x0d,
> -       0x7a, 0x73, 0x68, 0x61, 0x5e, 0x57, 0x4c, 0x45,
> -       0x2b, 0x22, 0x39, 0x30, 0x0f, 0x06, 0x1d, 0x14,
> -       0x63, 0x6a, 0x71, 0x78, 0x47, 0x4e, 0x55, 0x5c,
> -       0x64, 0x6d, 0x76, 0x7f, 0x40, 0x49, 0x52, 0x5b,
> -       0x2c, 0x25, 0x3e, 0x37, 0x08, 0x01, 0x1a, 0x13,
> -       0x7d, 0x74, 0x6f, 0x66, 0x59, 0x50, 0x4b, 0x42,
> -       0x35, 0x3c, 0x27, 0x2e, 0x11, 0x18, 0x03, 0x0a,
> -       0x56, 0x5f, 0x44, 0x4d, 0x72, 0x7b, 0x60, 0x69,
> -       0x1e, 0x17, 0x0c, 0x05, 0x3a, 0x33, 0x28, 0x21,
> -       0x4f, 0x46, 0x5d, 0x54, 0x6b, 0x62, 0x79, 0x70,
> -       0x07, 0x0e, 0x15, 0x1c, 0x23, 0x2a, 0x31, 0x38,
> -       0x41, 0x48, 0x53, 0x5a, 0x65, 0x6c, 0x77, 0x7e,
> -       0x09, 0x00, 0x1b, 0x12, 0x2d, 0x24, 0x3f, 0x36,
> -       0x58, 0x51, 0x4a, 0x43, 0x7c, 0x75, 0x6e, 0x67,
> -       0x10, 0x19, 0x02, 0x0b, 0x34, 0x3d, 0x26, 0x2f,
> -       0x73, 0x7a, 0x61, 0x68, 0x57, 0x5e, 0x45, 0x4c,
> -       0x3b, 0x32, 0x29, 0x20, 0x1f, 0x16, 0x0d, 0x04,
> -       0x6a, 0x63, 0x78, 0x71, 0x4e, 0x47, 0x5c, 0x55,
> -       0x22, 0x2b, 0x30, 0x39, 0x06, 0x0f, 0x14, 0x1d,
> -       0x25, 0x2c, 0x37, 0x3e, 0x01, 0x08, 0x13, 0x1a,
> -       0x6d, 0x64, 0x7f, 0x76, 0x49, 0x40, 0x5b, 0x52,
> -       0x3c, 0x35, 0x2e, 0x27, 0x18, 0x11, 0x0a, 0x03,
> -       0x74, 0x7d, 0x66, 0x6f, 0x50, 0x59, 0x42, 0x4b,
> -       0x17, 0x1e, 0x05, 0x0c, 0x33, 0x3a, 0x21, 0x28,
> -       0x5f, 0x56, 0x4d, 0x44, 0x7b, 0x72, 0x69, 0x60,
> -       0x0e, 0x07, 0x1c, 0x15, 0x2a, 0x23, 0x38, 0x31,
> -       0x46, 0x4f, 0x54, 0x5d, 0x62, 0x6b, 0x70, 0x79
> -};
> -
> -static u8 crc7_byte(u8 crc, u8 data)
> -{
> -       return crc7_syndrome_table[(crc << 1) ^ data];
> -}
> -
> -static u8 crc7(u8 crc, const u8 *buffer, u32 len)
> -{
> -       while (len--)
> -               crc = crc7_byte(crc, *buffer++);
> -       return crc;
> -}
> -
> -static u8 wilc_get_crc7(u8 *buffer, u32 len)
> -{
> -       return crc7(0x7f, (const u8 *)buffer, len) << 1;
> -}
> -
>  /********************************************
>   *
>   *      Spi protocol Function
> @@ -403,6 +346,11 @@ static int spi_data_write(struct wilc *wilc, u8 *b, u32 sz)
>   *      Spi Internal Read/Write Function
>   *
>   ********************************************/
> +static u8 wilc_get_crc7(u8 *buffer, u32 len)
> +{
> +       return crc7_be(0xfe, buffer, len);
> +}
> +
>  static int wilc_spi_single_read(struct wilc *wilc, u8 cmd, u32 adr, void *b,
>                                 u8 clockless)
>  {
> 
> base-commit: 3017e587e36819f87e53d3c8751afdf987c1f542
> --
> 2.26.0.rc2
> 

  parent reply	other threads:[~2020-03-26 14:54 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-22 12:04 [PATCH] wilc1000: Use crc7 in lib/ rather than a private copy George Spelvin
2020-03-23  5:03 ` Ajay.Kathat
2020-03-23  6:45   ` George Spelvin
2020-03-23  8:22     ` Ajay.Kathat
2020-03-23 14:14       ` [PATCH v2] " George Spelvin
2020-03-23 16:29         ` Ajay.Kathat
2020-03-26 14:54         ` Ajay.Kathat [this message]
2020-03-26 14:57           ` Greg KH
2020-03-23 17:05       ` George Spelvin
2020-03-24  7:19         ` Ajay.Kathat
2020-03-26 19:28 George Spelvin
2020-03-27  7:03 ` Ajay.Kathat
2020-03-27 15:32   ` George Spelvin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c084bee0-9b3a-631d-5e68-b38775531bac@microchip.com \
    --to=ajay.kathat@microchip.com \
    --cc=Adham.Abozaeid@microchip.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=lkml@SDF.ORG \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.