Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp1386667pxb; Thu, 7 Oct 2021 06:51:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwRhQgKJsYADw3MF0YWgQY+8BmTl6UFHAFMQsED03yge+ODs3kZjQ0pl6ReJjNO08Fc5g6o X-Received: by 2002:a50:cfcb:: with SMTP id i11mr6437461edk.347.1633614677047; Thu, 07 Oct 2021 06:51:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633614677; cv=none; d=google.com; s=arc-20160816; b=LXvdWv+o0lvpYKa6OtyIyjs33/Azsm5CFR8VH9RQR5wr7m3dx2aGtq514HopZOiMtH Qh+/Yb5D039nQCt3PVnUN/h+/Y9nRUFJ0CTrAn4wGjSZ04imGCxyngZdj2SOA8qn7FqA 3LtAr74OwQpJnDXttevbIis24hr2a9iqs1b9WRbnbZQiaMuSagReWuhf70/s7Aw6OS2e 3cV9c1QwSX4XuwtlynCoDWXY6yGhK6Aog2pRJuz4J7XICvqvb5k+YrgbTUJcfTR/oZeb lvlTxc8eesIIp04HNYSOKEkkpQACumAZcn127Dzesuv8+R4zOxi+Y+BwUYNSxPVmv2iF JAeg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=SkzjWmGgT/i1H38wRenFdkkBAjqNYA/xh9dv+VS8yO0=; b=JHxeiVtSssdn9fqTxvhwyPaJ26kPMJ92C12b9uBhOtNgk2M1AbxbogXZBH8k26f6y+ Eale53HS3anAjqQz3wYJreqXfbdpzO9ESI/ORvHobJzK/ro6YWyVnNU3kNlpXXYNygu/ hP/apgOvh6U7aLpBc7GBUTbRl1NfeS3sTTOyR6ZRVOS/Q2a4g4JAfZexjvgw+ih1qmov HHXAuDU9YAWwhAkfYPZl7EGLog6EwXO6t/f/JoAhdw4R/d3N7O8/oQ1E6dw1MOePWTIm aU0rEHo35O9l/FvJ0RQBCkHB8VeIG7dNolGpqSBxvbTcoNm1BDSFdH/gObmG4vP6De6H LAhg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@axis.com header.s=axis-central1 header.b="WY79HO/0"; 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=axis.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n15si32635580ejd.124.2021.10.07.06.50.53; Thu, 07 Oct 2021 06:51:17 -0700 (PDT) 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 (test mode) header.i=@axis.com header.s=axis-central1 header.b="WY79HO/0"; 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=axis.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241651AbhJGNsp (ORCPT + 99 others); Thu, 7 Oct 2021 09:48:45 -0400 Received: from smtp1.axis.com ([195.60.68.17]:31231 "EHLO smtp1.axis.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241709AbhJGNsn (ORCPT ); Thu, 7 Oct 2021 09:48:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1633614409; x=1665150409; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=SkzjWmGgT/i1H38wRenFdkkBAjqNYA/xh9dv+VS8yO0=; b=WY79HO/0NG7FCAaZ3YUQAXA+dn6ZGnsJnIFWunV71DpEEikAoYchw4gc rrliTufvMH+/Zz/Zs0pM2qWA8B9tVj894CJZrD0w1bJVNrR0avlifx+EB CakNmXEYubYOVeBdaTc6UI542lVB/zIN0+6bozmQ5BHrl8c4/BnKavl5A z0dTdMC70V7V8i3rSzaDpuysnzdvdcj+bHqPOWK1B7uzsZP4P6wplMYhG wGHJNZE3PkhrW1NKwZw5uXlvckyQ1Tf6JngEesF66GRrhgUdOMs+OmbBu aZlYZHi3FpeNxC6ePtYvidqMVqXa0f45EHqZSLg2EHZ9puZpuzIFZEZ5R Q==; From: Vincent Whitchurch To: , , CC: , , , , , Vincent Whitchurch Subject: [PATCH v2 3/3] iio: multiplexer: iio-mux: Support settle-time-us property Date: Thu, 7 Oct 2021 15:46:41 +0200 Message-ID: <20211007134641.13417-4-vincent.whitchurch@axis.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20211007134641.13417-1-vincent.whitchurch@axis.com> References: <20211007134641.13417-1-vincent.whitchurch@axis.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If the devicetree specifies that the hardware requires a settle time, pass this time on to the mux APIs. Signed-off-by: Vincent Whitchurch --- drivers/iio/multiplexer/iio-mux.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/iio/multiplexer/iio-mux.c b/drivers/iio/multiplexer/iio-mux.c index d54ae5cbe51b..f422d44377df 100644 --- a/drivers/iio/multiplexer/iio-mux.c +++ b/drivers/iio/multiplexer/iio-mux.c @@ -33,6 +33,7 @@ struct mux { struct iio_chan_spec *chan; struct iio_chan_spec_ext_info *ext_info; struct mux_child *child; + u32 delay_us; }; static int iio_mux_select(struct mux *mux, int idx) @@ -42,7 +43,8 @@ static int iio_mux_select(struct mux *mux, int idx) int ret; int i; - ret = mux_control_select(mux->control, chan->channel); + ret = mux_control_select_delay(mux->control, chan->channel, + mux->delay_us); if (ret < 0) { mux->cached_state = -1; return ret; @@ -392,6 +394,9 @@ static int mux_probe(struct platform_device *pdev) mux->parent = parent; mux->cached_state = -1; + mux->delay_us = 0; + of_property_read_u32(np, "settle-time-us", &mux->delay_us); + indio_dev->name = dev_name(dev); indio_dev->info = &mux_info; indio_dev->modes = INDIO_DIRECT_MODE; -- 2.28.0