Re: [PATCH] driver: char: bfin_crc: CRC hardware accelerator driver for BF60x family processors.
From: Arnd Bergmann
Date: Wed May 16 2012 - 09:40:06 EST
On Wednesday 16 May 2012, Greg Kroah-Hartman wrote:
> On Wed, May 16, 2012 at 04:26:07PM +0800, sonic.zhang@xxxxxxxxxx wrote:
> > From: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
> >
> > The CRC peripheral is a hardware block used to compute the CRC of the block
> > of data. This is based on a CRC32 engine which computes the CRC value of 32b
> > data words presented to it. For data words of < 32b in size, it is the
> > responsibility of the application to pack the data into 32b data units.
> >
> > This driver defines data strcture crc_info and 4 IOCTL interfaces for applciations.
> > 1) CRC Memory Scan
> > 2) CRC Memory Transfer
> > 3) CRC Data Verify
> > 4) CRC Data Fill
> >
> > Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
> > ---
> > drivers/char/Kconfig | 8 +
> > drivers/char/Makefile | 1 +
> > drivers/char/bfin_crc.c | 537 +++++++++++++++++++++++++++++++++++++++++++++++
> > 3 files changed, 546 insertions(+), 0 deletions(-)
> > create mode 100644 drivers/char/bfin_crc.c
>
> Why is this a char driver, and not a crypto driver, using the existing
> crypto userspace api for things like this?
Do we have a userspace crypto API these days? The last I remember every
attempt to add one so far was abandoned before it got merged. There is
drivers/s390/crypto/zcrypt*, which has a nonportable API, and
then there is the in-kernel crypto layer in drivers/crypto that has
no user interface at all.
I agree that having another private driver for bfin_crc is not a good
idea, but I also don't have a better one.
About the driver itself, the submission seems incomplete (missing at
least the bfin_crc.h file) and the driver has a number of shortcomings
that we should discuss in case we decide to merge it.
Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/