From patchwork Wed Sep 20 17:02:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 14280 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp4299355vqi; Wed, 20 Sep 2023 10:21:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEb/KpzZQc+0rXJJBGG4lPbful+l/z2zrJ204/TBc9eT3L5MtGB+atpt5DTxDu9sL5us8/C X-Received: by 2002:a05:6a20:a124:b0:125:517c:4f18 with SMTP id q36-20020a056a20a12400b00125517c4f18mr3629786pzk.8.1695230461359; Wed, 20 Sep 2023 10:21:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695230461; cv=none; d=google.com; s=arc-20160816; b=jbz/jjvWT1Yu6/OzFMHabPlSdpDP9nBz9Yb9Uf+ndtVOnpdnD+bs0IpYlhmAGz5bK1 HVu+suq1+h2dVWMNno4nc1qWxVHklJ2nziYwXmsSzIc/UmSJuSq0u0cjeHFjPHdFgP0v YqYN0Fv1TRIHw1eA7BNitn+tlKgRZ+OSgzRFN6mB8Rc7hzriqRbLfQzb90FC3MpArGnN gLFXmC4pVIBrQPepXkPpdtHmQDAEGfyDPl9BUcS3T+9pW6TtD+GR4L8Cmaq5TKl7twI2 E7QiGGCKhcYNw8Oh5rWc9PZoPCWqiKLDeKa14gOW/P83qgZXux9v/jNNk4s72kwW6Pc+ oDJw== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=pzNel1zOyPD8jvFnOCDGMVW3XENbkKI8LKl3iDeBXhU=; fh=pVeEhoLUJ1D8TGcQChex+j2H2duuaKdCKd46NzO92lI=; b=lWgeKOxTPNoFMI2UAM2skQd8jx9t7vx0gvydJ6BdBN4g4VInVWp0jXzinAHhjXWmzA R2mk7rx//uU8HIEG2la5o0tiwq9Q+tdrDaa98gtGbJHbkp/0Cjd1W9jgoEnZxbdXSjbq Z852XEvJ0bNZUHHDC7WE6rR98x0LO0E4ceMXp/1qeGqwbVsRQNiUKUeBEFwjWwEOQGh+ E7kxlmjX4DFcxJgom9O2tb5XWE6YP8RIyWtYmgloDSRLdvtsPlJnSCBS44ALXqQy8vVm 37N+OUBFYKDrks9YUSAPy5aQrZJ8cEtseiAsu6z3YzdTdmdxw041rrd1B73ZdIeiJz/P NY0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20230601.gappssmtp.com header.s=20230601 header.b="ozS/Kh09"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id t22-20020a62d156000000b0068e2dadcfc3si1692237pfl.48.2023.09.20.10.21.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Sep 2023 10:21:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20230601.gappssmtp.com header.s=20230601 header.b="ozS/Kh09"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 93C8C84AC656; Wed, 20 Sep 2023 10:03:48 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235086AbjITRDd (ORCPT + 27 others); Wed, 20 Sep 2023 13:03:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45220 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234622AbjITRDa (ORCPT ); Wed, 20 Sep 2023 13:03:30 -0400 Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8B869AF for ; Wed, 20 Sep 2023 10:03:21 -0700 (PDT) Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-317c3ac7339so49750f8f.0 for ; Wed, 20 Sep 2023 10:03:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1695229400; x=1695834200; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=pzNel1zOyPD8jvFnOCDGMVW3XENbkKI8LKl3iDeBXhU=; b=ozS/Kh09apWYpNP/gakkPbfX1ycxUwxHt6Cmi0RUd6fuD3UQqxjAtAOm9sbttnrQto Lsf+H/RYhmrqIyulWmFBc8xsDwzujdi1n5QEl+mdEE0GOKPOFvjzZfUFHTxk4jLkQoAS z4NNNc7cRVwE5MjHcFyLMLoHHqv4rEL/QKoKRO2Bpusq9cTyGdsQu2eeF+T7fXBmv60o nJ4YV+J8vXPPIadv9+AninTbH7TGyBNpBOYUqIZ5YuitZLOmKp8RNN/eGlLrfRDWEPBM +ZKVRd+dJ2Ttqoh17CvI34c3XlqPyYbaHYls+CKnEVI53ZHupoizo7375QLy+p6UC2FG ldSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695229400; x=1695834200; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=pzNel1zOyPD8jvFnOCDGMVW3XENbkKI8LKl3iDeBXhU=; b=Wlf4O3TXrY63SOuDfrBHkIQqX57xlC7vvMMXLDuNh49GaRpawzyFJv33OdRNwPI0LD PI10MWUgDUavzWfk10fDSWG/OVkYNNfuh+Kbh8cZrwzJAhmw5S5ZhMJ3J9G/UgK96yZD 38HqeybjO6daREjApUIG3Gm6KEJkbi1hSbEGwh+utsktndHK9gHaRphqS/sn2MNnVs0t 9LL/nIEuSo44CiWthJfjGs4VcU5dEVKSV7HnAm4scly/WycLFlbmdQYHW2DstgOcZVuk xjiyeF/BQY3bHzFmFkLxADXMSQgj+APzzyrbwngfGeetYYO3rdhkV2NQPSDkDoXT8UOL vSCA== X-Gm-Message-State: AOJu0YxgnnxMBwx71ObYt07B8f6O1kxEQtLp7/0tNqK6fo4O4RjtRjth o0IkUi1cLrsazsbAOE5HwEcJNA== X-Received: by 2002:a5d:6282:0:b0:321:4ca9:ee86 with SMTP id k2-20020a5d6282000000b003214ca9ee86mr3182467wru.53.1695229398985; Wed, 20 Sep 2023 10:03:18 -0700 (PDT) Received: from localhost.localdomain (abordeaux-655-1-129-86.w90-5.abo.wanadoo.fr. [90.5.10.86]) by smtp.gmail.com with ESMTPSA id g10-20020adff3ca000000b003200c918c81sm11221089wrp.112.2023.09.20.10.03.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Sep 2023 10:03:18 -0700 (PDT) From: David Lechner To: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-staging@lists.linux.dev Cc: David Lechner , linux-kernel@vger.kernel.org, Jonathan Cameron , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , Axel Haslam , Philip Molloy Subject: [PATCH 0/4] iio: resolver: move ad2s1210 out of staging Date: Wed, 20 Sep 2023 12:02:49 -0500 Message-Id: <20230920170253.203395-1-dlechner@baylibre.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Wed, 20 Sep 2023 10:03:48 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777577975868981962 X-GMAIL-MSGID: 1777577975868981962 This series moves the ad2s1210 resolver driver out of staging (after 13 years!). We have made quite a few fixes and improvements to the driver (specifics are listed in "iio: resolver: add new driver for AD2S1210"). The driver has been tested on actual hardware using a EVAL-AD2S1210 evaluation board. (Note: not all device tree features have been implemented in the driver since the eval board doesn't support them out of the box. We plan to add them later if needed.) One thing left over from the staging driver that probably needs more attention still is the fault handling (both the fault threshold attributes and how userspace gets notified of fault conditions). We considered adding these as events, but the fault conditions are related to internal measurements in the chip that aren't available as channels. Since the chip is designed to read the fault register each time we read the data registers for one of the two channels it seems like faults should be associated with channels one way or another. Would it make sense to add extra channels for the internal signals that only have fault events (mostly with IIO_EV_TYPE_THRESH)? Or would it make sense to add a new "flags" channel type where the "raw" value is bit flags? Or something else? Here is the table of available faults for context. Sine/cosine inputs are internal signals. | Bit | Description +-----+------------ | D7 | Sine/cosine inputs clipped | D6 | Sine/cosine inputs below LOS threshold | D5 | Sine/cosine inputs exceed DOS overrange threshold | D4 | Sine/cosine inputs exceed DOS mismatch threshold | D3 | Tracking error exceeds LOT threshold | D2 | Velocity exceeds maximum tracking rate | D1 | Phase error exceeds phase lock range | D0 | Configuration parity error David Lechner (4): dt-bindings: iio: resolver: add devicetree bindings for ad2s1210 iio: sysfs: add IIO_DEVICE_ATTR_NAMED_RW macro staging: iio: resolver: remove ad2s1210 driver iio: resolver: add new driver for AD2S1210 .../testing/sysfs-bus-iio-resolver-ad2s1210 | 109 ++ .../bindings/iio/resolver/adi,ad2s1210.yaml | 150 +++ drivers/iio/resolver/Kconfig | 13 + drivers/iio/resolver/Makefile | 1 + drivers/iio/resolver/ad2s1210.c | 948 ++++++++++++++++++ drivers/staging/iio/Kconfig | 1 - drivers/staging/iio/Makefile | 1 - drivers/staging/iio/resolver/Kconfig | 18 - drivers/staging/iio/resolver/Makefile | 6 - drivers/staging/iio/resolver/ad2s1210.c | 716 ------------- include/linux/iio/sysfs.h | 4 + 11 files changed, 1225 insertions(+), 742 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-resolver-ad2s1210 create mode 100644 Documentation/devicetree/bindings/iio/resolver/adi,ad2s1210.yaml create mode 100644 drivers/iio/resolver/ad2s1210.c delete mode 100644 drivers/staging/iio/resolver/Kconfig delete mode 100644 drivers/staging/iio/resolver/Makefile delete mode 100644 drivers/staging/iio/resolver/ad2s1210.c