From mboxrd@z Thu Jan 1 00:00:00 1970 From: Damien Riegel Subject: [PATCH v2 5/5] Input: pm8xxx-vib: add support for pm8916's vibrator Date: Tue, 4 Apr 2017 11:41:53 -0400 Message-ID: <20170404154153.19901-5-damien.riegel@savoirfairelinux.com> References: <20170404154153.19901-1-damien.riegel@savoirfairelinux.com> Return-path: Received: from mail.savoirfairelinux.com ([208.88.110.44]:55476 "EHLO mail.savoirfairelinux.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753096AbdDDPmw (ORCPT ); Tue, 4 Apr 2017 11:42:52 -0400 In-Reply-To: <20170404154153.19901-1-damien.riegel@savoirfairelinux.com> Sender: linux-input-owner@vger.kernel.org List-Id: linux-input@vger.kernel.org To: linux-input@vger.kernel.org Cc: Dmitry Torokhov , Rob Herring , Mark Rutland , kernel@savoirfairelinux.com, Damien Riegel Add pm8xxx_regs for this PMIC and the device tree match table entry. Signed-off-by: Damien Riegel --- Changes in v2: - Added 0xc000 offset to enable_addr and drv_addr drivers/input/misc/Kconfig | 2 +- drivers/input/misc/pm8xxx-vibrator.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig index 5b6c52210d20..79d0be9885c5 100644 --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig @@ -143,7 +143,7 @@ config INPUT_PM8941_PWRKEY config INPUT_PM8XXX_VIBRATOR tristate "Qualcomm PM8XXX vibrator support" - depends on MFD_PM8XXX + depends on MFD_PM8XXX || MFD_SPMI_PMIC select INPUT_FF_MEMLESS help This option enables device driver support for the vibrator diff --git a/drivers/input/misc/pm8xxx-vibrator.c b/drivers/input/misc/pm8xxx-vibrator.c index 50b874e6f678..33b1fe9154b0 100644 --- a/drivers/input/misc/pm8xxx-vibrator.c +++ b/drivers/input/misc/pm8xxx-vibrator.c @@ -43,6 +43,15 @@ static struct pm8xxx_regs pm8058_regs = { .drv_en_manual_mask = 0xfc, }; +static struct pm8xxx_regs pm8916_regs = { + .enable_addr = 0xc046, + .enable_mask = BIT(7), + .drv_addr = 0xc041, + .drv_mask = 0x1F, + .drv_shift = 0, + .drv_en_manual_mask = 0, +}; + /** * struct pm8xxx_vib - structure to hold vibrator data * @vib_input_dev: input device supporting force feedback @@ -242,6 +251,7 @@ static SIMPLE_DEV_PM_OPS(pm8xxx_vib_pm_ops, pm8xxx_vib_suspend, NULL); static const struct of_device_id pm8xxx_vib_id_table[] = { { .compatible = "qcom,pm8058-vib", .data = &pm8058_regs }, { .compatible = "qcom,pm8921-vib", .data = &pm8058_regs }, + { .compatible = "qcom,pm8916-vib", .data = &pm8916_regs }, { } }; MODULE_DEVICE_TABLE(of, pm8xxx_vib_id_table); -- 2.12.1