Hi, On 4/22/24 3:36 PM, Ilpo Järvinen wrote: > On Mon, 22 Apr 2024, Hans de Goede wrote: > >> Add a new driver for the custom fast charging protocol found on Lenovo Yoga >> Tablet 2 1380F / 1380L models. >> >> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> >> --- >> Changes in v2 (from review by Andy): >> - Add a couple of missing includes >> - Couple of small coding style fixes >> --- >> drivers/platform/x86/Kconfig | 11 + >> drivers/platform/x86/Makefile | 1 + >> .../lenovo-yoga-tab2-pro-1380-fastcharger.c | 337 ++++++++++++++++++ >> 3 files changed, 349 insertions(+) >> create mode 100644 drivers/platform/x86/lenovo-yoga-tab2-pro-1380-fastcharger.c >> >> diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig >> index cd0ec10240b6..318f2f77c97a 100644 >> --- a/drivers/platform/x86/Kconfig >> +++ b/drivers/platform/x86/Kconfig >> @@ -133,6 +133,17 @@ config YOGABOOK >> To compile this driver as a module, choose M here: the module will >> be called lenovo-yogabook. >> >> +config YT2_1380 >> + tristate "Lenovo Yoga Tablet 2 1380 fast charge driver" >> + depends on SERIAL_DEV_BUS >> + depends on ACPI >> + help >> + Say Y here to enable support for the custom fast charging protocol >> + found on the Lenovo Yoga Tablet 2 1380F / 1380L models. >> + >> + To compile this driver as a module, choose M here: the module will >> + be called lenovo-yogabook. >> + >> config ACERHDF >> tristate "Acer Aspire One temperature and fan driver" >> depends on ACPI && THERMAL >> diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile >> index 5521a87f0718..2640475a9f97 100644 >> --- a/drivers/platform/x86/Makefile >> +++ b/drivers/platform/x86/Makefile >> @@ -66,6 +66,7 @@ obj-$(CONFIG_SENSORS_HDAPS) += hdaps.o >> obj-$(CONFIG_THINKPAD_ACPI) += thinkpad_acpi.o >> obj-$(CONFIG_THINKPAD_LMI) += think-lmi.o >> obj-$(CONFIG_YOGABOOK) += lenovo-yogabook.o >> +obj-$(CONFIG_YT2_1380) += lenovo-yoga-tab2-pro-1380-fastcharger.o >> obj-$(CONFIG_LENOVO_WMI_CAMERA) += lenovo-wmi-camera.o >> >> # Intel >> diff --git a/drivers/platform/x86/lenovo-yoga-tab2-pro-1380-fastcharger.c b/drivers/platform/x86/lenovo-yoga-tab2-pro-1380-fastcharger.c >> new file mode 100644 >> index 000000000000..035d8cc86079 >> --- /dev/null >> +++ b/drivers/platform/x86/lenovo-yoga-tab2-pro-1380-fastcharger.c >> @@ -0,0 +1,337 @@ >> +// SPDX-License-Identifier: GPL-2.0-or-later >> +/* >> + * Support for the custom fast charging protocol found on the Lenovo Yoga >> + * Tablet 2 1380F / 1380L models. >> + * >> + * Copyright (C) 2024 Hans de Goede <hansg@xxxxxxxxxx> >> + */ >> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt >> + >> +#include <linux/delay.h> >> +#include <linux/err.h> >> +#include <linux/errno.h> >> +#include <linux/extcon.h> >> +#include <linux/gpio/consumer.h> >> +#include <linux/module.h> >> +#include <linux/notifier.h> >> +#include <linux/pinctrl/consumer.h> >> +#include <linux/pinctrl/machine.h> >> +#include <linux/platform_device.h> >> +#include <linux/serdev.h> >> +#include <linux/types.h> >> +#include <linux/workqueue.h> >> +#include "serdev_helpers.h" >> + >> +#define YT2_1380_FC_PDEV_NAME "lenovo-yoga-tab2-pro-1380-fastcharger" >> +#define YT2_1380_FC_SERDEV_CTRL "serial0" >> +#define YT2_1380_FC_SERDEV_NAME "serial0-0" >> +#define YT2_1380_FC_EXTCON_NAME "i2c-lc824206xa" >> + >> +#define YT2_1380_FC_MAX_TRIES 5 >> +#define YT2_1380_FC_PIN_SW_DELAY_US (10 * USEC_PER_MSEC) >> +#define YT2_1380_FC_UART_DRAIN_DELAY_US (50 * USEC_PER_MSEC) >> +#define YT2_1380_FC_VOLT_SW_DELAY_US (1000 * USEC_PER_MSEC) > > Add include for *SEC_PER_*SEC. > > Once that's taken care of, > > Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> Thank you. I've added the include while added this to my review-hans (soon to be for-next) branch. Regards, Hans