From patchwork Mon Apr 23 21:38:04 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Arteaga X-Patchwork-Id: 10358171 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id AA97260209 for ; Mon, 23 Apr 2018 21:41:16 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9B5DF28C61 for ; Mon, 23 Apr 2018 21:41:16 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9047628C71; Mon, 23 Apr 2018 21:41:16 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1CF7228C61 for ; Mon, 23 Apr 2018 21:41:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932419AbeDWVlB (ORCPT ); Mon, 23 Apr 2018 17:41:01 -0400 Received: from bert.emutex.com ([91.103.1.109]:54295 "EHLO bert.emutex.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932461AbeDWVie (ORCPT ); Mon, 23 Apr 2018 17:38:34 -0400 Received: from [92.51.199.138] (helo=statler.emutex.com) by bert.emutex.com with esmtp (Exim 4.84) (envelope-from ) id 1fAjB0-0007oV-Qd; Mon, 23 Apr 2018 22:39:10 +0100 Received: from 182.red-79-157-43.dynamicip.rima-tde.net ([79.157.43.182] helo=localhost) by statler.emutex.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84) (envelope-from ) id 1fAjAM-0003fw-Gr; Mon, 23 Apr 2018 22:38:30 +0100 From: Javier Arteaga To: Jonathan Cameron Cc: Javier Arteaga , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , Dan O'Donovan , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Nicola Lunghi Subject: [PATCH v2 2/3] iio: adc128s052: add ACPI _HID AANT1280 Date: Mon, 23 Apr 2018 22:38:04 +0100 Message-Id: <20180423213805.12591-3-javier@emutex.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180423213805.12591-1-javier@emutex.com> References: <20180423213805.12591-1-javier@emutex.com> Sender: linux-iio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Nicola Lunghi ACPI _HID AANT1280 matches an ADC124S101 present on E3940 SKUs of the UP Squared board. Add it to the driver. Signed-off-by: Nicola Lunghi [javier@emutex.com: fix up commit message and one checkpatch warning] Signed-off-by: Javier Arteaga --- drivers/iio/adc/ti-adc128s052.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/drivers/iio/adc/ti-adc128s052.c b/drivers/iio/adc/ti-adc128s052.c index e6716c326c5e..bc5096e98900 100644 --- a/drivers/iio/adc/ti-adc128s052.c +++ b/drivers/iio/adc/ti-adc128s052.c @@ -12,6 +12,7 @@ * published by the Free Software Foundation. */ +#include #include #include #include @@ -136,9 +137,22 @@ static int adc128_probe(struct spi_device *spi) { struct iio_dev *indio_dev; struct adc128 *adc; - int config = spi_get_device_id(spi)->driver_data; + int config; int ret; + if (ACPI_COMPANION(&spi->dev)) { + const struct acpi_device_id *ad_id; + + ad_id = acpi_match_device(spi->dev.driver->acpi_match_table, + &spi->dev); + if (!ad_id) + return -ENODEV; + + config = ad_id->driver_data; + } else { + config = spi_get_device_id(spi)->driver_data; + } + indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adc)); if (!indio_dev) return -ENOMEM; @@ -207,10 +221,19 @@ static const struct spi_device_id adc128_id[] = { }; MODULE_DEVICE_TABLE(spi, adc128_id); +#ifdef CONFIG_ACPI +static const struct acpi_device_id adc128_acpi_match[] = { + { "AANT1280", 2 }, /* ADC124S021 compatible ACPI ID */ + { } +}; +MODULE_DEVICE_TABLE(acpi, adc128_acpi_match); +#endif + static struct spi_driver adc128_driver = { .driver = { .name = "adc128s052", .of_match_table = of_match_ptr(adc128_of_match), + .acpi_match_table = ACPI_PTR(adc128_acpi_match), }, .probe = adc128_probe, .remove = adc128_remove,