From patchwork Tue Jul 18 12:30:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Waqar Hameed X-Patchwork-Id: 12211 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1724494vqt; Tue, 18 Jul 2023 06:00:51 -0700 (PDT) X-Google-Smtp-Source: APBJJlHxOmEgDiUpUVNyBVVh7WZfug5bIgokgnkC3uB/ZAKipvsGM7R80+CiYIEGnwOOoGy+4v/9 X-Received: by 2002:a17:90a:ae15:b0:263:753d:a97f with SMTP id t21-20020a17090aae1500b00263753da97fmr11550940pjq.24.1689685250848; Tue, 18 Jul 2023 06:00:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689685250; cv=none; d=google.com; s=arc-20160816; b=Yfmy+9LREfdTs62Q6nR6rZMYmeVslpslPqQhlbpKmubEtDBnveVkJ7OufFG8OYwYkn PvphwYK6LZI0buBWiz1OmiPNb6sPHZB2FNm25nluikEh9eK4Chz9owSiJrIPYI+RbPoS 0OYFY0xjJ+e8ntrFEL2bNQa8uJSlYZsx9nU/uSLBZSOkDKegIFAzjQj60kE34/Jlxzz3 EGZtLInQf0Ae2rduy2djcGOg+Zy4aO/4aT7vPvgXdUW4aIooujr1lWmBnoGIJRAsTxpI 1gocmZSuYM6qOln+/b2U4tTBX57FFEJG1EJfsYt68Z34V0BK0t0ZOrxfhoUmfpQ/dGOB onxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from :user-agent:dkim-signature; bh=Waw7ZxMMy2yoyoo75Qco+TZX/WtJXKx8nZC30Q6G+2g=; fh=JGYM2Q85S698F/UkubHNfXVmHXdrulhcDNpUt8Ct1Po=; b=zg5NRaCJ38TjfGFIVA0+0R2Y3XFmcWzPB1VlSYL3gVNcweLORM1MOvxHxG+U7wgUYr Xt6hhC6atPCV92gdGtKbSfW9TxhsQgZOpZKsW2mwUgsGmT24bg8Z+lMTn1DKtpxjak0K Quc2FeQb0vEoYfUvTqQZsw/dq5MwaMcHxo9rGyp0A59q/4eNRkZoyH6JuW7fFRm3VkMS pwgPMcGFtVK0QCTwadbxFUAyghDLsf95bfYTxMpjftxMcAsOTTwiYpLWU4qUbimLwdxr AuPGyoV+fu/EE3isY7jJiHETCzcCZa8nux8EPxYUbqmueaI3PEdHU+0nLfGtnMsgA8Vc MjpQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@axis.com header.s=axis-central1 header.b="jsPfg/lN"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=axis.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id mh13-20020a17090b4acd00b00263a643aaacsi1694606pjb.11.2023.07.18.06.00.35; Tue, 18 Jul 2023 06:00:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@axis.com header.s=axis-central1 header.b="jsPfg/lN"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=axis.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231639AbjGRMcg (ORCPT + 99 others); Tue, 18 Jul 2023 08:32:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51542 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231693AbjGRMc0 (ORCPT ); Tue, 18 Jul 2023 08:32:26 -0400 Received: from smtp1.axis.com (smtp1.axis.com [195.60.68.17]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A45F010EB; Tue, 18 Jul 2023 05:32:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1689683544; x=1721219544; h=from:to:cc:subject:date:message-id:mime-version; bh=Waw7ZxMMy2yoyoo75Qco+TZX/WtJXKx8nZC30Q6G+2g=; b=jsPfg/lNzic1m4HBkspcNWSIqjt/cEw3+9LoEZGEo1WVkEC0LoCJa3JE x4cLzJfAOcJ7H3u1aD6F5gUfowf0FN2yVj8lQXXVb7ma6QR5rTuVuPapI 4QRbSb1FMXQksqIaA9D83CYnws4q1K4WBkIrYoHZgDXtItaOUZ+P79K6l AS5nQHGIpcDHY/1vAdj3HEihFCe6LsSHhJ7L4UeDOqGC7+RRggRQ9n0yw g7kXZ8EOtd5Xl4ld4gzbkEcfcyJAiFk5+lRl8OaKfQLYy6ApEEXaIW20V w1V7+d2txCNHAfSRu83kYN3uzRhHUueefp6Jxcz5uHY+8tNEgZEVj4pBe A==; User-agent: a.out From: Waqar Hameed To: Jonathan Cameron , Lars-Peter Clausen , Rob Herring , Krzysztof Kozlowski , Conor Dooley CC: , , , Subject: [PATCH v3 0/3] Add driver for Murata IRS-D200 Date: Tue, 18 Jul 2023 14:30:11 +0200 Message-ID: MIME-Version: 1.0 X-Originating-IP: [10.0.5.60] X-ClientProxiedBy: se-mail02w.axis.com (10.20.40.8) To se-mail01w.axis.com (10.20.40.7) X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham 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-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771763401321680827 X-GMAIL-MSGID: 1771763401321680827 Murata IRS-D200 is a PIR sensor for human detection. In this series we add devicetree bindings and an IIO driver with support for triggered buffer and events. Link to the datasheet should be added to the devicetree bindings, when that is available. Changes in v3: [dt-bindings] * Add "Reviewed-by" footer in commit message. [iio] * Use `__le16` for buffers in `regmap_bulk_read/write()`. * Use `8` instead of `BIT(3)` in `irsd200_write_nr_count()`. * Rename `val` to `tmp` in `irsd200_write_event_config()`. * Return `0` on success in `irsd200_write_event_config()`. * Return `IRQ_HANDLED` instead of `IRQ_NONE` in error paths. * Return `IRQ_NONE` when not clearing anything in `irsd200_irq_thread()`. * Use `devm_regulator_get_enable()` in probe. Link to v2: https://lore.kernel.org/lkml/cover.1689174736.git.waqar.hameed@axis.com/ Changes in v2: [dt-bindings] * Remove "bindings for" in commit subject. * Remove superfluous yaml block style indicator ('|') for `description:`. * Change node name in example from `pir` to `proximity`. * Add required `vdd-supply` property. [iio] * Add event enums for running period and count. * Use `set_trigger_state` callback instead of `iio_buffer_setup_ops`'s `predisable` and `postenable`. * Use `regmap_bulk_read()` in `irsd200_read_data()` and `irsd200_read_timer()`. * Use `regmap_bulk_write()` in `irsd200_write_timer()`. * Remove comment for macro `IRS_UPPER_COUNT()`. * Move `IIO_EV_INFO_LOW/HIGH_PASS_FILTER_3DB` from `iio_event_spec` to `iio_chan_spec`. * Ignore timer (`IRS_INTR_TIMER`) interrupts. * Clarify comment on `ssleep(3)` in `irsd200_write_data_rate()`. * Only check for non-zero return values from `regmap` functions (as opposed to `ret < 0`). * Add macro defines for operation states. * Remove fix size in static const array declarations. * Remove unnecessary `ret` variable in `irsd200_write_raw()`. * Remove comments in `irsd200_event_spec[]`. * Remove unnecessary call to `i2c_set_clientdata()` in probe. * Use `dev_err_probe()` everywhere in probe. * Remove unnecessary braces around if statement in probe. * Get and enable regulator in probe. Link to v1: https://lore.kernel.org/lkml/cover.1686926857.git.waqarh@axis.com/ Waqar Hameed (3): dt-bindings: iio: proximity: Add Murata IRS-D200 iio: Add event enums for running period and count iio: Add driver for Murata IRS-D200 Documentation/ABI/testing/sysfs-bus-iio | 16 + .../iio/proximity/murata,irsd200.yaml | 60 ++ drivers/iio/industrialio-event.c | 2 + drivers/iio/proximity/Kconfig | 12 + drivers/iio/proximity/Makefile | 1 + drivers/iio/proximity/irsd200.c | 962 ++++++++++++++++++ include/linux/iio/types.h | 2 + 7 files changed, 1055 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/proximity/murata,irsd200.yaml create mode 100644 drivers/iio/proximity/irsd200.c base-commit: 3f01e9fed8454dcd89727016c3e5b2fbb8f8e50c