From: Lee Jones <lee.jones@linaro.org>
To: Lu Baolu <baolu.lu@linux.intel.com>
Cc: Felipe Balbi <balbi@kernel.org>,
Mathias Nyman <mathias.nyman@intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
MyungJoo Ham <myungjoo.ham@samsung.com>,
Chanwoo Choi <cw00.choi@samsung.com>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
Fengguang Wu <fengguang.wu@intel.com>
Subject: Re: [PATCH v2 7/7] mfd: intel_vuport: Add Intel virtual USB port MFD Driver
Date: Tue, 8 Mar 2016 11:40:27 +0700 [thread overview]
Message-ID: <20160308044027.GI13692@x1> (raw)
In-Reply-To: <1457340783-1522-8-git-send-email-baolu.lu@linux.intel.com>
On Mon, 07 Mar 2016, Lu Baolu wrote:
> Some Intel platforms have an USB port mux controlled by GPIOs.
> There's a single ACPI platform device that provides both USB ID
> extcon device and a USB port mux device. This MFD driver will
> split the 2 devices for their respective drivers.
>
> Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
> Suggested-by: David Cohen <david.a.cohen@linux.intel.com>
> Reviewed-by: Felipe Balbi <balbi@kernel.org>
> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
> ---
> MAINTAINERS | 1 +
> drivers/mfd/Kconfig | 8 +++++
> drivers/mfd/Makefile | 1 +
> drivers/mfd/intel-vuport.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 88 insertions(+)
> create mode 100644 drivers/mfd/intel-vuport.c
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 399cefe..1671a4d 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -11408,6 +11408,7 @@ F: drivers/usb/mux/intel-mux.c
> F: include/linux/usb/intel-mux.h
> F: drivers/usb/mux/intel-mux-gpio.c
> F: drivers/usb/mux/intel-mux-drcfg.c
> +F: drivers/mfd/intel-vuport.c
Separate patch please.
> USB PRINTER DRIVER (usblp)
> M: Pete Zaitcev <zaitcev@redhat.com>
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 9ca66de..8dd1bf3 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -1534,5 +1534,13 @@ config MFD_VEXPRESS_SYSREG
> System Registers are the platform configuration block
> on the ARM Ltd. Versatile Express board.
>
> +config MFD_INTEL_VUPORT
> + tristate "Intel virtual USB port controller"
> + select MFD_CORE
> + depends on X86 && ACPI
> + help
> + Say Y here to enable support for Intel dual role port mux
Either "Intel's" or "the Intel".
> + controlled by 3 GPIOs.
> +
> endmenu
> endif
> diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
> index 0f230a6..0ccd107 100644
> --- a/drivers/mfd/Makefile
> +++ b/drivers/mfd/Makefile
> @@ -198,3 +198,4 @@ intel-soc-pmic-objs := intel_soc_pmic_core.o intel_soc_pmic_crc.o
> intel-soc-pmic-$(CONFIG_INTEL_PMC_IPC) += intel_soc_pmic_bxtwc.o
> obj-$(CONFIG_INTEL_SOC_PMIC) += intel-soc-pmic.o
> obj-$(CONFIG_MFD_MT6397) += mt6397-core.o
> +obj-$(CONFIG_MFD_INTEL_VUPORT) += intel-vuport.o
> diff --git a/drivers/mfd/intel-vuport.c b/drivers/mfd/intel-vuport.c
> new file mode 100644
> index 0000000..1371099
> --- /dev/null
> +++ b/drivers/mfd/intel-vuport.c
> @@ -0,0 +1,78 @@
> +/*
> + * MFD driver for Intel virtual USB port
> + *
> + * Copyright(c) 2016 Intel Corporation.
> + * Author: Lu Baolu <baolu.lu@linux.intel.com>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +
> +#include <linux/acpi.h>
> +#include <linux/gpio.h>
> +#include <linux/mfd/core.h>
> +#include <linux/platform_device.h>
> +
> +/* ACPI GPIO Mappings */
> +static const struct acpi_gpio_params id_gpio = { 0, 0, false };
> +static const struct acpi_gpio_params vbus_gpio = { 1, 0, false };
> +static const struct acpi_gpio_params mux_gpio = { 2, 0, false };
> +static const struct acpi_gpio_mapping acpi_usb_gpios[] = {
> + { "id-gpios", &id_gpio, 1 },
> + { "vbus_en-gpios", &vbus_gpio, 1 },
> + { "usb_mux-gpios", &mux_gpio, 1 },
> + { },
> +};
> +
> +static const struct mfd_cell intel_vuport_mfd_cells[] = {
> + {
> + .name = "extcon-usb-gpio",
> + },
> + {
> + .name = "intel-mux-gpio",
> + },
> +};
Please place single line entries on the same line as the '{' and '}'.
As you have above.
> +static int vuport_probe(struct platform_device *pdev)
> +{
> + struct device *dev = &pdev->dev;
> + int ret;
> +
> + ret = acpi_dev_add_driver_gpios(ACPI_COMPANION(dev), acpi_usb_gpios);
> + if (ret)
> + return ret;
> +
> + return mfd_add_devices(&pdev->dev, 0, intel_vuport_mfd_cells,
> + ARRAY_SIZE(intel_vuport_mfd_cells), NULL, 0,
> + NULL);
> +}
> +
> +static int vuport_remove(struct platform_device *pdev)
> +{
> + mfd_remove_devices(&pdev->dev);
> + acpi_dev_remove_driver_gpios(ACPI_COMPANION(&pdev->dev));
> +
> + return 0;
> +}
> +
> +static struct acpi_device_id vuport_acpi_match[] = {
> + { "INT3496" },
> + { }
> +};
> +MODULE_DEVICE_TABLE(acpi, vuport_acpi_match);
> +
> +static struct platform_driver vuport_driver = {
> + .driver = {
> + .name = "intel-vuport",
> + .acpi_match_table = ACPI_PTR(vuport_acpi_match),
> + },
> + .probe = vuport_probe,
> + .remove = vuport_remove,
> +};
> +
> +module_platform_driver(vuport_driver);
> +
> +MODULE_AUTHOR("Lu Baolu <baolu.lu@linux.intel.com>");
> +MODULE_DESCRIPTION("Intel virtual USB port");
> +MODULE_LICENSE("GPL v2");
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2016-03-08 4:40 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-07 8:52 [PATCH v2 0/7] usb: add support for Intel dual role port mux Lu Baolu
2016-03-07 8:52 ` [PATCH v2 1/7] extcon: usb-gpio: add device binding for platform device Lu Baolu
2016-03-07 8:52 ` [PATCH v2 2/7] extcon: usb-gpio: add support for ACPI gpio interface Lu Baolu
2016-03-07 8:52 ` [PATCH v2 3/7] usb: mux: add common code for Intel dual role port mux Lu Baolu
2016-03-07 8:53 ` [PATCH v2 4/7] usb: mux: add driver for Intel gpio controlled " Lu Baolu
2016-03-07 8:53 ` [PATCH v2 5/7] usb: mux: add driver for Intel drcfg " Lu Baolu
2016-03-07 8:53 ` [PATCH v2 6/7] usb: pci-quirks: add Intel USB drcfg mux device Lu Baolu
2016-03-07 8:53 ` [PATCH v2 7/7] mfd: intel_vuport: Add Intel virtual USB port MFD Driver Lu Baolu
2016-03-08 4:40 ` Lee Jones [this message]
2016-03-08 7:50 ` Lu Baolu
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=20160308044027.GI13692@x1 \
--to=lee.jones@linaro.org \
--cc=balbi@kernel.org \
--cc=baolu.lu@linux.intel.com \
--cc=cw00.choi@samsung.com \
--cc=fengguang.wu@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=myungjoo.ham@samsung.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.