From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BFCD5C25B0E for ; Tue, 16 Aug 2022 13:40:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235187AbiHPNkh (ORCPT ); Tue, 16 Aug 2022 09:40:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235864AbiHPNkf (ORCPT ); Tue, 16 Aug 2022 09:40:35 -0400 Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B723574DD3; Tue, 16 Aug 2022 06:40:33 -0700 (PDT) Received: from fraeml706-chm.china.huawei.com (unknown [172.18.147.206]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4M6XGN4YHBz67Mkv; Tue, 16 Aug 2022 21:35:40 +0800 (CST) Received: from lhrpeml500005.china.huawei.com (7.191.163.240) by fraeml706-chm.china.huawei.com (10.206.15.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2375.24; Tue, 16 Aug 2022 15:40:31 +0200 Received: from localhost (10.202.226.42) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Tue, 16 Aug 2022 14:40:31 +0100 Date: Tue, 16 Aug 2022 14:40:29 +0100 From: Jonathan Cameron To: Krzysztof Kozlowski CC: George Mois , , , , , , , Subject: Re: [PATCH 2/2] drivers: iio: accel adxl312 and adxl314 support Message-ID: <20220816144029.00006dc3@huawei.com> In-Reply-To: References: <20220816102828.182345-1-george.mois@analog.com> <20220816102828.182345-3-george.mois@analog.com> <8cf4ea9e-89a4-1ab0-334b-9ecc5b1e6f25@linaro.org> <20220816134433.00002900@huawei.com> X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.29; i686-w64-mingw32) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.202.226.42] X-ClientProxiedBy: lhrpeml100002.china.huawei.com (7.191.160.241) To lhrpeml500005.china.huawei.com (7.191.163.240) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On Tue, 16 Aug 2022 16:34:59 +0300 Krzysztof Kozlowski wrote: > On 16/08/2022 15:44, Jonathan Cameron wrote: > >>> > >>> MODULE_DEVICE_TABLE(spi, adxl313_spi_id); > >>> > >>> static const struct of_device_id adxl313_of_match[] = { > >>> + { .compatible = "adi,adxl312" }, > >>> { .compatible = "adi,adxl313" }, > >>> + { .compatible = "adi,adxl314" }, > >> > >> You miss here driver data. I don't remember which driver matching takes > >> precedence (especially in various cases like DT platforms with device > >> instantiated by MFD), but for consistency I think both device id tables > >> should have same driver data. > > > > You can set it up to try device_get_match_data() first then fallback > > to the adxl313_spi_id[] table but there isn't a nice 'standard' way to > > do it. > > > > If that isn't done, then IIRC the match is against the compatible with > > the vendor ID dropped and the table used is the spi_device_id one. > > Which is just annoyingly complex and relies on the strings matching. > > > > In the ideal world the spi_device_id table would go away but there are > > still a few users (greybus - I think + remaining board files). > > So for now something like > > > > a = device_get_match_data(dev); > > if (!a) > > a = &adxl31x_spi_regmap_config[id->data]; > > > > Provides a good way of ensuring the id tables don't need to remain > > in sync. > > > > I guess the only minor issue is that first driver data - ADXL312 - is > equal to 0, so above code would make consider ADXL312 as missing data. Should have given a type to a. struct adxl31x_chip_info *a; It would be a pointer not an enum. Though we might run into some problems with that clang issue of whether array lookups are const (I've not really gotten my head around that yet). Jonathan > > Best regards, > Krzysztof