From: Lee Jones <lee@kernel.org>
To: Ye Xiang <xiang.ye@intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Arnd Bergmann <arnd@arndb.de>,
Matthias Kaehlcke <mka@chromium.org>,
Wolfram Sang <wsa@kernel.org>, Tyrone Ting <kfting@nuvoton.com>,
Mark Brown <broonie@kernel.org>,
Linus Walleij <linus.walleij@linaro.org>,
Bartosz Golaszewski <brgl@bgdev.pl>,
linux-usb@vger.kernel.org, linux-i2c@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org,
linux-gpio@vger.kernel.org, srinivas.pandruvada@intel.com,
heikki.krogerus@linux.intel.com,
andriy.shevchenko@linux.intel.com, sakari.ailus@linux.intel.com,
zhifeng.wang@intel.com, wentong.wu@intel.com,
lixu.zhang@intel.com
Subject: Re: [PATCH v5 1/5] usb: Add support for Intel LJCA device
Date: Mon, 13 Mar 2023 17:03:41 +0000 [thread overview]
Message-ID: <20230313170341.GV9667@google.com> (raw)
In-Reply-To: <20230312190435.3568212-2-xiang.ye@intel.com>
On Mon, 13 Mar 2023, Ye Xiang wrote:
> This patch implements the USB part of Intel USB-I2C/GPIO/SPI adapter
> device named "La Jolla Cove Adapter" (LJCA).
>
> The communication between the various LJCA module drivers and the
> hardware will be muxed/demuxed by this driver. The sub-module of
> LJCA can use ljca_transfer() to issue a transfer between host
> and hardware.
>
> Each sub-module of LJCA device is identified by type field within
> the LJCA message header.
>
> The minimum code in ASL that covers this board is
> Scope (\_SB.PCI0.DWC3.RHUB.HS01)
> {
> Device (GPIO)
> {
> Name (_ADR, Zero)
> Name (_STA, 0x0F)
> }
>
> Device (I2C)
> {
> Name (_ADR, One)
> Name (_STA, 0x0F)
> }
>
> Device (SPI)
> {
> Name (_ADR, 0x02)
> Name (_STA, 0x0F)
> }
> }
>
> Signed-off-by: Ye Xiang <xiang.ye@intel.com>
> Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
> drivers/usb/misc/Kconfig | 13 +
> drivers/usb/misc/Makefile | 1 +
> drivers/usb/misc/ljca.c | 998 ++++++++++++++++++++++++++++++++++++++
> include/linux/usb/ljca.h | 95 ++++
> 4 files changed, 1107 insertions(+)
> create mode 100644 drivers/usb/misc/ljca.c
> create mode 100644 include/linux/usb/ljca.h
>
> diff --git a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig
> index a5f7652db7da..59ec120c26d4 100644
> --- a/drivers/usb/misc/Kconfig
> +++ b/drivers/usb/misc/Kconfig
> @@ -273,6 +273,19 @@ config USB_LINK_LAYER_TEST
> Layer Test Device. Say Y only when you want to conduct USB Super Speed
> Link Layer Test for host controllers.
>
> +config USB_LJCA
> + tristate "Intel La Jolla Cove Adapter support"
> + select MFD_CORE
> + depends on USB
> + help
> + This adds support for Intel La Jolla Cove USB-I2C/SPI/GPIO
> + Master Adapter (LJCA). Additional drivers such as I2C_LJCA,
> + GPIO_LJCA and SPI_LJCA must be enabled in order to use the
> + functionality of the device.
> +
> + This driver can also be built as a module. If so, the module
> + will be called ljca.
> +
> config USB_CHAOSKEY
> tristate "ChaosKey random number generator driver support"
> depends on HW_RANDOM
> diff --git a/drivers/usb/misc/Makefile b/drivers/usb/misc/Makefile
> index 93581baec3a8..6f6adfbe17e0 100644
> --- a/drivers/usb/misc/Makefile
> +++ b/drivers/usb/misc/Makefile
> @@ -29,6 +29,7 @@ obj-$(CONFIG_USB_HUB_USB251XB) += usb251xb.o
> obj-$(CONFIG_USB_HSIC_USB3503) += usb3503.o
> obj-$(CONFIG_USB_HSIC_USB4604) += usb4604.o
> obj-$(CONFIG_USB_CHAOSKEY) += chaoskey.o
> +obj-$(CONFIG_USB_LJCA) += ljca.o
>
> obj-$(CONFIG_USB_SISUSBVGA) += sisusbvga/
> obj-$(CONFIG_USB_LINK_LAYER_TEST) += lvstest.o
> diff --git a/drivers/usb/misc/ljca.c b/drivers/usb/misc/ljca.c
> new file mode 100644
> index 000000000000..ab98deaf0074
> --- /dev/null
> +++ b/drivers/usb/misc/ljca.c
> @@ -0,0 +1,998 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Intel La Jolla Cove Adapter USB driver
> + *
> + * Copyright (c) 2023, Intel Corporation.
> + */
> +
> +#include <linux/dev_printk.h>
> +#include <linux/kernel.h>
> +#include <linux/mfd/core.h>
Please don't use the MFD API outside of drivers/mfd.
If you wish to use the API, please do.
Strip out (only) the MFD parts and move them into drivers/mfd.
> +#include <linux/module.h>
> +#include <linux/mod_devicetable.h>
> +#include <linux/mutex.h>
> +#include <linux/platform_device.h>
> +#include <linux/slab.h>
> +#include <linux/types.h>
> +#include <linux/usb.h>
> +#include <linux/usb/ljca.h>
--
Lee Jones [李琼斯]
next prev parent reply other threads:[~2023-03-13 17:05 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-12 19:04 [PATCH v5 0/5] Add Intel LJCA device driver Ye Xiang
2023-03-12 19:04 ` [PATCH v5 1/5] usb: Add support for Intel LJCA device Ye Xiang
2023-03-13 6:56 ` Greg Kroah-Hartman
2023-03-14 6:54 ` Ye, Xiang
2023-03-13 16:21 ` Andi Shyti
2023-03-14 7:33 ` Ye, Xiang
2023-03-13 17:03 ` Lee Jones [this message]
2023-03-14 8:03 ` Ye, Xiang
2023-03-14 8:36 ` Heikki Krogerus
2023-03-14 15:38 ` Ye, Xiang
2023-03-14 15:52 ` Andy Shevchenko
2023-03-15 9:09 ` Heikki Krogerus
2023-06-30 7:40 ` Wu, Wentong
2023-06-30 17:37 ` Andy Shevchenko
2023-03-12 19:04 ` [PATCH v5 2/5] gpio: Add support for Intel LJCA USB GPIO driver Ye Xiang
2023-03-15 12:20 ` Bartosz Golaszewski
2023-03-12 19:04 ` [PATCH v5 3/5] i2c: Add support for Intel LJCA USB I2C driver Ye Xiang
2023-03-12 19:04 ` [PATCH v5 4/5] spi: Add support for Intel LJCA USB SPI driver Ye Xiang
2023-03-12 19:04 ` [PATCH v5 5/5] Documentation: Add ABI doc for attributes of LJCA device Ye Xiang
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=20230313170341.GV9667@google.com \
--to=lee@kernel.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=arnd@arndb.de \
--cc=brgl@bgdev.pl \
--cc=broonie@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=kfting@nuvoton.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=lixu.zhang@intel.com \
--cc=mka@chromium.org \
--cc=sakari.ailus@linux.intel.com \
--cc=srinivas.pandruvada@intel.com \
--cc=wentong.wu@intel.com \
--cc=wsa@kernel.org \
--cc=xiang.ye@intel.com \
--cc=zhifeng.wang@intel.com \
/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.