Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3978104pxb; Tue, 25 Jan 2022 00:29:51 -0800 (PST) X-Google-Smtp-Source: ABdhPJwTONxQkZ0q8uv4ZrwsdpQiC5wbsCacj8GwV7Tnw7PJZnk7tOZHBQauV2jnOn8egXkXdyM9 X-Received: by 2002:a17:902:9049:b0:14a:ea20:1f21 with SMTP id w9-20020a170902904900b0014aea201f21mr17960442plz.35.1643099391369; Tue, 25 Jan 2022 00:29:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643099391; cv=none; d=google.com; s=arc-20160816; b=rRZfMt5j3+sSaASn4N5SOuBPOXSbZGliwFW/0jRC4+m4jNI65SPS7QCozSrbYdYjdc rMdOH8RFRvyCaWyTb73BeIyAvM5WJeaIhVOq7H2JwFKi3el5YZs9hex7j73zkiwlwgEr LL+moQ0bhqP6onqPaXk8dfJV8xZbLsU6WKHRq40UgG3ZnXej8pWlsK+mr3mjOb4lkKmz tYjZCHnjBG93gSG92v9Fw0p7YuuCq2Q7tshzuqiBWDQcZCY0YFXJ6A1VPldjiH7ZsM9d zN9cgsI9E3R1tlQeeueVvAEMtU9YwT6ZZ1m0RnL13sSTU5j1PaOLb0hDm/0aZaKTknTA 2x/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=imbcaJ2m9ZmaIvKNEF29u2KiRfhdhxGOvBuNksNcnXk=; b=k36+xh8W77LhOq1hgx87mHQuOhS3qRxn82LzXLg1P8kwo88c/mgD86upcXw+wDHKI+ 3lfOAwOEn7+5SHesT0cwFDu+CkEonz3+/pNbQlHzBqF4sK1RWW4yhjU9ZwHf8T8n57Px Q+idduCDjtLduudsA8cUqUat8BVDpVR3PxtmaBAQwrrlvfkmlTm8nW/HWWiZJ0iXvB9f LoENTWf6VL6YipOlr/3wrr+exTvD+GmfFPTIQRjahXAK/hS1uWvEktAS//Lu+cgkAGi0 +RjhoTTdDDpVwj8w8OBWIchPPqdQQgZyiHB4fDyok5MXwIeGn7KNHlLXMLVTK746M+Dq F1iQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ouLjJSPP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n1si18108522plc.226.2022.01.25.00.29.39; Tue, 25 Jan 2022 00:29:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ouLjJSPP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1353318AbiAYCdr (ORCPT + 99 others); Mon, 24 Jan 2022 21:33:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37730 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1384162AbiAXU3T (ORCPT ); Mon, 24 Jan 2022 15:29:19 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C0D52C082571; Mon, 24 Jan 2022 11:42:21 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 7CD32B80FA1; Mon, 24 Jan 2022 19:42:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9B23CC340E5; Mon, 24 Jan 2022 19:42:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1643053339; bh=uwBEOBweT8nlFVJJg0CeubIROq7ixtblezKhAsWjI78=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ouLjJSPP9nvx2WNcfXshbJPIHnc3Z13uxOexjRFiC99z7S7wu/d3UdgBYI3GdBhkp j87PmjwbNQT2v9INa9txKy4VmXqPkBms9g+j1xUD99ZCH+cX2NUqf5zDNReZnqR+2r uvUm0QY1/0/8Kq0tpsgTulPy9xWBQ2QGSVtTcUXw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Kunyang Fan , Jonathan Cameron , Andy Shevchenko , Stable@vger.kernel.org Subject: [PATCH 5.10 031/563] iio: adc: ti-adc081c: Partial revert of removal of ACPI IDs Date: Mon, 24 Jan 2022 19:36:36 +0100 Message-Id: <20220124184025.503755457@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220124184024.407936072@linuxfoundation.org> References: <20220124184024.407936072@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jonathan Cameron commit c9791a94384af07592d29504004d2255dbaf8663 upstream. Unfortuanately a non standards compliant ACPI ID is known to be in the wild on some AAEON boards. Partly revert the removal of these IDs so that ADC081C will again work + add a comment to that affect for future reference. Whilst here use generic firmware properties rather than the ACPI specific handling previously found in this driver. Reported-by: Kunyang Fan Fixes: c458b7ca3fd0 ("iio:adc:ti-adc081c: Drop ACPI ids that seem very unlikely to be official.") Signed-off-by: Jonathan Cameron Cc: Andy Shevchenko Tested-by: Kunyang Fan #UP-extremei11 Link: https://lore.kernel.org/r/20211205172728.2826512-1-jic23@kernel.org Cc: Signed-off-by: Greg Kroah-Hartman --- drivers/iio/adc/ti-adc081c.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) --- a/drivers/iio/adc/ti-adc081c.c +++ b/drivers/iio/adc/ti-adc081c.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -151,13 +152,16 @@ static int adc081c_probe(struct i2c_clie { struct iio_dev *iio; struct adc081c *adc; - struct adcxx1c_model *model; + const struct adcxx1c_model *model; int err; if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA)) return -EOPNOTSUPP; - model = &adcxx1c_models[id->driver_data]; + if (dev_fwnode(&client->dev)) + model = device_get_match_data(&client->dev); + else + model = &adcxx1c_models[id->driver_data]; iio = devm_iio_device_alloc(&client->dev, sizeof(*adc)); if (!iio) @@ -224,10 +228,17 @@ static const struct i2c_device_id adc081 }; MODULE_DEVICE_TABLE(i2c, adc081c_id); +static const struct acpi_device_id adc081c_acpi_match[] = { + /* Used on some AAEON boards */ + { "ADC081C", (kernel_ulong_t)&adcxx1c_models[ADC081C] }, + { } +}; +MODULE_DEVICE_TABLE(acpi, adc081c_acpi_match); + static const struct of_device_id adc081c_of_match[] = { - { .compatible = "ti,adc081c" }, - { .compatible = "ti,adc101c" }, - { .compatible = "ti,adc121c" }, + { .compatible = "ti,adc081c", .data = &adcxx1c_models[ADC081C] }, + { .compatible = "ti,adc101c", .data = &adcxx1c_models[ADC101C] }, + { .compatible = "ti,adc121c", .data = &adcxx1c_models[ADC121C] }, { } }; MODULE_DEVICE_TABLE(of, adc081c_of_match); @@ -236,6 +247,7 @@ static struct i2c_driver adc081c_driver .driver = { .name = "adc081c", .of_match_table = adc081c_of_match, + .acpi_match_table = adc081c_acpi_match, }, .probe = adc081c_probe, .remove = adc081c_remove,