From patchwork Sat Mar 23 12:20:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13600625 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5DAF5F9EC; Sat, 23 Mar 2024 12:20:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711196444; cv=none; b=fHfEqMN21EX/vpfvTPdmVa7enJlnZ7mQ0i2HybTzZuvjLHQ9RopYROGjDDYhQuR65RTIOIzgS66/Vvvd+G6OrVsGaqkvPwAidvV0dPUwFNJR6RlbMyPNDzQzxMpDZRU4pTBYvwfauQRHygIESjlYpBtcORL82lxBRmnYRxXeyEk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711196444; c=relaxed/simple; bh=6ticcK4tk3gbdNMWg4cy9Rctjbu6e1KTIJk2wbKW1QI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=uZdox6SlOIVLoFfcwuQpmIWq0zUPYHSvBuUUyLJten/idkPBL/x2XFfYpvApn9/D4yokpORwoJI5jnzJMX2GwPtHZfbDhxWkbNvWLrZH7O7e5MQXsq4GCwVcHpzBUQCEGPt/oHn/cUH2B5k1nPbv/zTv9V7YAlrsq2SlMjAtdEE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Z47IzWox; arc=none smtp.client-ip=209.85.218.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Z47IzWox" Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-a44665605f3so337918666b.2; Sat, 23 Mar 2024 05:20:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711196440; x=1711801240; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=n1Jw5oqKQgZS0ALGTocIoCK3m4+0eTU5v4LaaAReICg=; b=Z47IzWoxgQCAdR5C4iz2QuNZ5Wuono2j3Kur5mYBl+4gHtCEHOBSiLv69wLlR4RfVt ZYXLtN01K0cfn89a8Nsa8cNfzG+yuSGrwkxH6gOAzz0rRCkcjz4CKThvmkq2Xk1TXvNI LbkIW4a0FV7UPBBwAUt44JTsRWl+kscNsnzV8VKHVIkP13E9XpCI4J+d7cnFBKqQ3Jho 75JuVHrXOKdFiKfLDfV+03E6u73iorx+Jsg8/pcWHlKVnM3u0VUmooQwozN4C+nuVqQT SpK8Hnee6N9oSHvRkwFomcu4Ql5nuNtY5exZtdEAqzk/51CYOim/h3Dm5cZHdEqh+EEm Jjdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711196440; x=1711801240; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=n1Jw5oqKQgZS0ALGTocIoCK3m4+0eTU5v4LaaAReICg=; b=qMDmbDR300UU4HU1TxHCF1BwcbftsM7b1vazauk1D2dwm+e3z0aXWBBPLs4x0PBzmB wEr1BTa0RKVwOv6hPUhDhzd57RZmgdJjcjzUbOale2k1QV5rV881E4m7VsKrm/Fnsj+c ruB91KNX3g6CYSXLXmsKdmVeMGFf+0OqDjogr8/MLorBF8bnxDOgfaUC2hgQs42nGqon FP0miLQvDgek1kMC7wGrRJvJJ9PaXRTpH983z3/PZqgavOIzciUCJkzNyP96yl0V4H8G etcWUp82bO7edIOs3hgZ3kYF+BeeE2BxEdkiOed7HCm9l44W+tQ51WNr2Zgd/O+mNzWV iubw== X-Forwarded-Encrypted: i=1; AJvYcCVBMvF9OLGuDvtEZEiqH27vHyG1kCA8CxgXQc3dZYxm8Twv+9wAJTnkLds5RKf9JpiWlFyxgj5v2GSHl5U5yUhW1xBtg9sGo1Gq+PCBP6/Gmk8QW6BPyu+83WKWEO14kqvHpSnESLzO+A== X-Gm-Message-State: AOJu0YyOsiyk5NoeFIkykbAGuAcisv7CaGJ0w2ZklBtP/POWe3y8cmhi prztBj7De9Rv7G9fKI2w3o0n1/5H9+QSxKTWpLLDNjSB423vGih4WyNHNsoD/ho= X-Google-Smtp-Source: AGHT+IFMXXWvbnEu3yNR+TnQhMi1OEbFTUSFn6yDOSyDGtsO8WrBRrTrDw16uHPYuG5SVYKcpBfNBw== X-Received: by 2002:a17:906:3ca:b0:a46:d49d:eebb with SMTP id c10-20020a17090603ca00b00a46d49deebbmr1457512eja.16.1711196440632; Sat, 23 Mar 2024 05:20:40 -0700 (PDT) Received: from 764c7355c69b.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id gx24-20020a1709068a5800b00a46f0d133b9sm857265ejc.98.2024.03.23.05.20.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Mar 2024 05:20:40 -0700 (PDT) From: Lothar Rubusch To: lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, eraretuya@gmail.com, l.rubusch@gmail.com Subject: [PATCH v3 1/6] iio: accel: adxl345: Pass function pointer to core Date: Sat, 23 Mar 2024 12:20:25 +0000 Message-Id: <20240323122030.21800-2-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240323122030.21800-1-l.rubusch@gmail.com> References: <20240323122030.21800-1-l.rubusch@gmail.com> Precedence: bulk X-Mailing-List: linux-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Add a function pointer argument to the probe function in the core module to provide a way to pre-configure the bus. The passed setup function can be prepared in the bus specific spi or the i2c module, or NULL otherwise. It shall then be executed in the bus independent core module. Signed-off-by: Lothar Rubusch --- drivers/iio/accel/adxl345.h | 3 ++- drivers/iio/accel/adxl345_core.c | 10 +++++++++- drivers/iio/accel/adxl345_i2c.c | 2 +- drivers/iio/accel/adxl345_spi.c | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/iio/accel/adxl345.h b/drivers/iio/accel/adxl345.h index 284bd387c..3c1ded0c2 100644 --- a/drivers/iio/accel/adxl345.h +++ b/drivers/iio/accel/adxl345.h @@ -28,6 +28,7 @@ struct adxl345_chip_info { int uscale; }; -int adxl345_core_probe(struct device *dev, struct regmap *regmap); +int adxl345_core_probe(struct device *dev, struct regmap *regmap, + int (*setup)(struct device*, struct regmap*)); #endif /* _ADXL345_H_ */ diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_core.c index 8bd30a23e..ae12836b5 100644 --- a/drivers/iio/accel/adxl345_core.c +++ b/drivers/iio/accel/adxl345_core.c @@ -197,13 +197,21 @@ static void adxl345_powerdown(void *regmap) regmap_write(regmap, ADXL345_REG_POWER_CTL, ADXL345_POWER_CTL_STANDBY); } -int adxl345_core_probe(struct device *dev, struct regmap *regmap) +int adxl345_core_probe(struct device *dev, struct regmap *regmap, + int (*setup)(struct device*, struct regmap*)) { struct adxl345_data *data; struct iio_dev *indio_dev; u32 regval; int ret; + /* Perform optional initial bus specific configuration */ + if (setup) { + ret = setup(dev, regmap); + if (ret) + return ret; + } + ret = regmap_read(regmap, ADXL345_REG_DEVID, ®val); if (ret < 0) return dev_err_probe(dev, ret, "Error reading device ID\n"); diff --git a/drivers/iio/accel/adxl345_i2c.c b/drivers/iio/accel/adxl345_i2c.c index a3084b0a8..4065b8f7c 100644 --- a/drivers/iio/accel/adxl345_i2c.c +++ b/drivers/iio/accel/adxl345_i2c.c @@ -27,7 +27,7 @@ static int adxl345_i2c_probe(struct i2c_client *client) if (IS_ERR(regmap)) return dev_err_probe(&client->dev, PTR_ERR(regmap), "Error initializing regmap\n"); - return adxl345_core_probe(&client->dev, regmap); + return adxl345_core_probe(&client->dev, regmap, NULL); } static const struct adxl345_chip_info adxl345_i2c_info = { diff --git a/drivers/iio/accel/adxl345_spi.c b/drivers/iio/accel/adxl345_spi.c index 93ca349f1..1c0513bd3 100644 --- a/drivers/iio/accel/adxl345_spi.c +++ b/drivers/iio/accel/adxl345_spi.c @@ -33,7 +33,7 @@ static int adxl345_spi_probe(struct spi_device *spi) if (IS_ERR(regmap)) return dev_err_probe(&spi->dev, PTR_ERR(regmap), "Error initializing regmap\n"); - return adxl345_core_probe(&spi->dev, regmap); + return adxl345_core_probe(&spi->dev, regmap, NULL); } static const struct adxl345_chip_info adxl345_spi_info = { From patchwork Sat Mar 23 12:20:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13600626 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 797CF3D0CD; Sat, 23 Mar 2024 12:20:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711196445; cv=none; b=dkoqxIao6sIzKeJXw+C9Pg6nATNyKR5+L+xq/lNzUiFTklQ63Ptn7dPmIdLrblev9MhzCPyWckwxIMfgpOe6rPQkLLjekofvvC+h0fkuxcvP08VTSMextEKHP8xJAEMrwTrhmnnyIBZqX7mD7Yy5T7ZKaAsyw8GMvUEwUPh486w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711196445; c=relaxed/simple; bh=FAvMVuNp7mg5L7oKkcGsDQhCb9LCgqTOmyldi4lvU7Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=bc3nIh/fZVAMaI1DK7F87bp11N2G8Ewo4D459HvgrF7d2/W30yZ7uDQ+w5ecq1k/20Fcp0tprdyH6u9cHy2Js2cprTSqkV3kixE0ZcVeJA/jSzyv7YZCLLEIc0aBZgziZYzCoWnNEAow4ErB0qfgveQA15hqwNUuxroHToXIuR4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=gNNLVOmm; arc=none smtp.client-ip=209.85.208.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="gNNLVOmm" Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-56be159c0b3so1838232a12.3; Sat, 23 Mar 2024 05:20:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711196442; x=1711801242; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sfD9ogcu0YmTy1/lsVwah5XVZmwlR7yt3/IMurcSlXI=; b=gNNLVOmmkUzZ7RQccNruNzTYurYejQSpZZUJQQicr/aUSPP1OLdAa+KIJdjpXrGNI0 RXwuPFonjp1aMR6XQKyJZ330RSxjaBbqjnpZ3OZ4TGceICb9DNIomt4oZWDZiQISW+xv J9JjsHUCwZGhyotcfmB1nMb0kXMh1kHWDO7vMUAm9i28ApK+UCvWk+emuLY3vom57Hgr 0zWP9zECoXAxyXugeqmW3ex1+ZyjnfdwnjijzA3GylJjux3Y9o78qCzdszYFaUJoBCvl fBDQcXaNStAOA8Wq6WI3T4flT1XRq1Pi9U/5l+2P73hrS2fDWaB0ODBKSUOLw60v5xaa CCew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711196442; x=1711801242; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sfD9ogcu0YmTy1/lsVwah5XVZmwlR7yt3/IMurcSlXI=; b=OYjdLqlyaeL8QErkmh5+y2BLDeXiL8C0C5sQeHpcd323mGMPmcPQ12mZwOFg92bADg cj2yjANz9F6/O56FXPrDVZ+UQYpyEA8a+aGnjXmr8EhUkS0RpINpfC2JOX1EqeRwfd3R EaTepd8n2hZdl2liGkAATtrR56IBDyi11E9t30Rq0OkAtsP8bczh7HsJ4c2dCwGOoMVo JDV41CjvQ46ObM6+0LygcjZ6rLwTtF7foOCUc52J9+dDWXd5Zee8MmAxGphU3MgzIMtd oRK1uINtVKvMsXtV0lxGmxgo0QVcic8Oh4LLrHyOpEg4iTYI0PX25I/+fBa5ilRz5OuH 6nCw== X-Forwarded-Encrypted: i=1; AJvYcCVS4EIqJgrtFoCsrPKZ+6a5ugHzRPfJgcoEnTBYsYMZNpfoZCAifaIDplvoUZTcT86269LKfwMI81Ybkwzp0UsU1YHPSJB7PfBMcLORX1ScgiShAAkVfCzY2murqCUEONQc6lxa1dBBxw== X-Gm-Message-State: AOJu0YxwfVTCHF9kF263f70r1M4O7yrjVid3v69CHcg0Ss3vWg/sx/lV CUNOJULYC2LQNsMoMCHJgbamb+oFt2vA6NZhnNm1okJrxM12Fajb X-Google-Smtp-Source: AGHT+IFs0dFgeRNaPVOY9h1HgOX/80K85jL0TE6TFdzWwZzq+TZJOQe8wZ/rWzadVd0jlOz3G1xtCw== X-Received: by 2002:a17:906:24d9:b0:a45:2e21:c776 with SMTP id f25-20020a17090624d900b00a452e21c776mr1568865ejb.3.1711196441841; Sat, 23 Mar 2024 05:20:41 -0700 (PDT) Received: from 764c7355c69b.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id gx24-20020a1709068a5800b00a46f0d133b9sm857265ejc.98.2024.03.23.05.20.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Mar 2024 05:20:41 -0700 (PDT) From: Lothar Rubusch To: lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, eraretuya@gmail.com, l.rubusch@gmail.com Subject: [PATCH v3 2/6] iio: accel: adxl345: Make data_range obsolete Date: Sat, 23 Mar 2024 12:20:26 +0000 Message-Id: <20240323122030.21800-3-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240323122030.21800-1-l.rubusch@gmail.com> References: <20240323122030.21800-1-l.rubusch@gmail.com> Precedence: bulk X-Mailing-List: linux-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Replace write() data_format by regmap_update_bits(), because bus specific pre-configuration may have happened before on the same register. Changes then need to be masked. Remove the data_range field from the struct adxl345_data, because it is not used anymore. Signed-off-by: Lothar Rubusch --- drivers/iio/accel/adxl345_core.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_core.c index ae12836b5..33424edca 100644 --- a/drivers/iio/accel/adxl345_core.c +++ b/drivers/iio/accel/adxl345_core.c @@ -42,13 +42,13 @@ #define ADXL345_DATA_FORMAT_4G 1 #define ADXL345_DATA_FORMAT_8G 2 #define ADXL345_DATA_FORMAT_16G 3 +#define ADXL345_DATA_FORMAT_MSK ~((u8) BIT(6)) /* ignore spi-3wire */ #define ADXL345_DEVID 0xE5 struct adxl345_data { const struct adxl345_chip_info *info; struct regmap *regmap; - u8 data_range; }; #define ADXL345_CHANNEL(index, axis) { \ @@ -227,14 +227,13 @@ int adxl345_core_probe(struct device *dev, struct regmap *regmap, data = iio_priv(indio_dev); data->regmap = regmap; /* Enable full-resolution mode */ - data->data_range = ADXL345_DATA_FORMAT_FULL_RES; data->info = device_get_match_data(dev); if (!data->info) return -ENODEV; - ret = regmap_write(data->regmap, ADXL345_REG_DATA_FORMAT, - data->data_range); - if (ret < 0) + ret = regmap_update_bits(regmap, ADXL345_REG_DATA_FORMAT, + ADXL345_DATA_FORMAT_MSK, ADXL345_DATA_FORMAT_FULL_RES); + if (ret) return dev_err_probe(dev, ret, "Failed to set data range\n"); indio_dev->name = data->info->name; From patchwork Sat Mar 23 12:20:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13600627 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1085B4204E; Sat, 23 Mar 2024 12:20:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711196447; cv=none; b=eF5JUf1/knZ/mqarlI9AtRYfnAG6Q1wSF3YIpMl668leTWavjZ0nvrhCZ6R1we4kfmhDlPLN/eNADFtO30IyZXm+PKOOOmqUQNTYElMnpX8TVOWMH5i9arrIW5HK733wDxBVCy5y4mYGWBPTISGGpwJWD5kpiyZY5eJzKXq9fyQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711196447; c=relaxed/simple; bh=F917oX/86+LzQsZH9R09o3vsMIcRYlaEtU1pcQYT4D4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=OZhgvh4GO4jhulLiR6ofZT908HWWOvULmLZmvAflfU3VVYJ+ZkYxt2N19zrZRkVVnoyRMmhot6UKDgsEJbGWye6fmr26PQdGrEzdYIqWNs6OHbV82n9AgH6T7/+8bIcOjGZwAlaEhR4gke8aMz1bgobaZ3IfIh6saPffKfxN7NM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=l9rPnrdU; arc=none smtp.client-ip=209.85.167.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="l9rPnrdU" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-513e10a4083so3408926e87.1; Sat, 23 Mar 2024 05:20:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711196444; x=1711801244; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=D9M/azYNBq/ofGwHBqxZwD22VAkNumDS9czczl76sTQ=; b=l9rPnrdUoL/ofkvkw6t3V/x+mmwjkOQer0i6fO89wyn5A53tp1VJwdhpn/8vtSZDEj cq8L8LBawdaiI045A/g3IYeB3sp0cw5yIlW0BBEiUEj8nj+zbwgQDRWN1KeRlLSfS6mI 5876RP30BjEWMg60UKWYuIiWAIiqJOVy7YaSiB195d2cESoAuJfYM38x1iPU9CX+Kr7m C7gjeczaL8jPg2ZUcf6yCX1qiQ8AWSt7vLLfIaBPE0DL1GdiCTWVXIASxjOJAm0GtFjm RmQxa2EjFuG0BKAH30ObZLD2b5PcGIFQywnArI1V0YTmBK0EmsuK8Tg70+2pcPKzLsq9 A2WQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711196444; x=1711801244; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=D9M/azYNBq/ofGwHBqxZwD22VAkNumDS9czczl76sTQ=; b=MKt8pPLhcPD9dpT12bfG081WjcHspWhGKfQ/+oph9r1FWeHPx9y+ksFFIoBT5Nhv1C u+HKAZXZFvAL2vOCEhbQ2vR3MHzBoqtD7Tr+uHG40IFuHs6WL+ZF9He1NJPd4h2ovXqD Rqpc0h8K/xXFeX98KliCETZDsLPBU5HCC/SwUH3NCdtz3utfgcIwY3d8wKQeWacCiuYQ 4WKANtyBUkS4qywTiF+iQelmB/ilc9EKtOHLKMG1aEIj3os8XWenGw5j7IQQEhTQF66Z Smk7USNDkgEi/F9HyM6zjkBLV7ONY7TNa8ULXFJsEmOjBa95TSBVsDJl6o3MaVYMDmeH AGDA== X-Forwarded-Encrypted: i=1; AJvYcCVGezvMfjCha6an1TVRywBzojUiqBYCSN93hX0D+yu4EzmBpPGyLuVjsuFqf0FAtlYdjfGT8kzrHenXSaEm6w6m6VvPIWVac4bweVQOnZh81ZgTF8NMlB+hAxT6FnGeUgxssouWiSzcQw== X-Gm-Message-State: AOJu0YyQRe2AiQtzGkrmpvmhM3NZtigcc6yO3bBiAIcnUJZ5HRZFcT5G dzy4UJSvEdl2jqAwEyNGmSwuNi3Bv3Vfp+CHqr1jQ43b232OhSYu X-Google-Smtp-Source: AGHT+IFbENMuoIu0VKadhifzuuDSg6swCOVCNZNuGUvbG3TGtUtkY9Pt9wBW5znbf+bJtSlVUi5GUw== X-Received: by 2002:a05:6512:558:b0:513:cfa0:b689 with SMTP id h24-20020a056512055800b00513cfa0b689mr1261877lfl.61.1711196443835; Sat, 23 Mar 2024 05:20:43 -0700 (PDT) Received: from 764c7355c69b.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id gx24-20020a1709068a5800b00a46f0d133b9sm857265ejc.98.2024.03.23.05.20.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Mar 2024 05:20:43 -0700 (PDT) From: Lothar Rubusch To: lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, eraretuya@gmail.com, l.rubusch@gmail.com Subject: [PATCH v3 3/6] iio: accel: adxl345: Add spi-3wire option Date: Sat, 23 Mar 2024 12:20:27 +0000 Message-Id: <20240323122030.21800-4-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240323122030.21800-1-l.rubusch@gmail.com> References: <20240323122030.21800-1-l.rubusch@gmail.com> Precedence: bulk X-Mailing-List: linux-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Add a setup function implementation to the spi module to enable spi-3wire as option when specified in the device-tree. Signed-off-by: Lothar Rubusch --- drivers/iio/accel/adxl345.h | 3 +++ drivers/iio/accel/adxl345_spi.c | 12 +++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/iio/accel/adxl345.h b/drivers/iio/accel/adxl345.h index 3c1ded0c2..6b84a2cee 100644 --- a/drivers/iio/accel/adxl345.h +++ b/drivers/iio/accel/adxl345.h @@ -8,6 +8,9 @@ #ifndef _ADXL345_H_ #define _ADXL345_H_ +#define ADXL345_REG_DATA_FORMAT 0x31 +#define ADXL345_DATA_FORMAT_SPI BIT(6) /* spi-3wire */ + /* * In full-resolution mode, scale factor is maintained at ~4 mg/LSB * in all g ranges. diff --git a/drivers/iio/accel/adxl345_spi.c b/drivers/iio/accel/adxl345_spi.c index 1c0513bd3..1094396ac 100644 --- a/drivers/iio/accel/adxl345_spi.c +++ b/drivers/iio/accel/adxl345_spi.c @@ -20,6 +20,16 @@ static const struct regmap_config adxl345_spi_regmap_config = { .read_flag_mask = BIT(7) | BIT(6), }; +static int adxl345_spi_setup(struct device *dev, struct regmap *regmap) +{ + struct spi_device *spi = container_of(dev, struct spi_device, dev); + + if (spi->mode & SPI_3WIRE) + return regmap_write(regmap, ADXL345_REG_DATA_FORMAT, + ADXL345_DATA_FORMAT_SPI); + return 0; +} + static int adxl345_spi_probe(struct spi_device *spi) { struct regmap *regmap; @@ -33,7 +43,7 @@ static int adxl345_spi_probe(struct spi_device *spi) if (IS_ERR(regmap)) return dev_err_probe(&spi->dev, PTR_ERR(regmap), "Error initializing regmap\n"); - return adxl345_core_probe(&spi->dev, regmap, NULL); + return adxl345_core_probe(&spi->dev, regmap, &adxl345_spi_setup); } static const struct adxl345_chip_info adxl345_spi_info = { From patchwork Sat Mar 23 12:20:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13600628 Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D631E405F9; Sat, 23 Mar 2024 12:20:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711196449; cv=none; b=MD4KwTfIifdExqVEaeWS12Ml5Nr/uLCu6KsIPspjUkM3uMKD/cTERdCLGgxCoWUpbEr4rBWfgV7EgRwkPftKVaCRmxgCfaccFP9eYbrQZ6Nxp0no721uk7zPOcocYBCIiNzz7oDsVc6RBsSubOpdxPnvJcOkfJXFcOVxEjgHOk0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711196449; c=relaxed/simple; bh=GXeXJ7p9rCjKuzMyD6PBhjw4946RJkUrBSuDdkeNakE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=subFMcDNaNmhUD+lVQlATslAYNHMbuhHqmyaNS+GO4pA+Mi8FJ9a/8Rfgomdqs+mLedNwtsMM/TKsXSdxVtrn2J+r1mny/iGHsXi5wTA7lBhKTdcjEDGX5lbcRuGCCCKSINKDejdwmu010VrPU+4xLaYBCA5jUSp1DF9arAmiFo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PA35LcD0; arc=none smtp.client-ip=209.85.167.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PA35LcD0" Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-513dd2d2415so3107905e87.3; Sat, 23 Mar 2024 05:20:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711196446; x=1711801246; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GEF9k6OTzx0WzlkimL6gzHMA0JvM+lJpkyegtgtFp/I=; b=PA35LcD0YRHoMv5nOlSASwa8JPWEETREc6cbWwRNqlB3FciE+9LA1w2Z4bx22Ag8fj Hw13cUlHC7eUDdEh0pPPAt/XUQrf8Fhnwjrta2xfdaezpFmZXmcT/TIqsCu/9O1DUcVY kj8KSUHXXCLEhZeivIMDdIv6Veg8OiMqvjVWVcnJlvlw2hahJ3esOXhJC1NGIfuJg9IP uayib9UFQMJzVopr948P2USw9HTHXx1JvZzdLfdyFhelcPxWecokPyF9MpFl+OiTs7Nv oXcgqRHdBi/QmRtch1xPdMoVMIMizcAldw71huWmpe3Ftq32YR3kOdw0D/w6xmLrjkW3 9sUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711196446; x=1711801246; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GEF9k6OTzx0WzlkimL6gzHMA0JvM+lJpkyegtgtFp/I=; b=ru++3aSdQusX193x5I5XQq6cm1rghgVUMCHXlYXhlbuMTp/c3fZt7GyoxMpo2K2+cO bViTcQWJ5tclc3b582cTMNiq4oYtTJkmEPPXdfpYBqt9SEOxw/FB5NUn6b51ilFfhjNQ Vxxeu/skvU+nSoVfec17xX6hnt9ay1dq5i21WVVg++s6JXUPdKVFfQe/Ti+OidcsTtvv UHs4zqkquXR4+UdgiOZyc+glxtrr9nstBe+cuZFj+m3iB04MP2/+5aTf+KaNFgmBO2vK ba3cVnQHZTXVd3zGePMy5EzarJscqQokLZ5+JN4yxNEtiAIh6otoVtLZCQ4w0+DxrQWn SowQ== X-Forwarded-Encrypted: i=1; AJvYcCUwGWSZK3Tqesit9hgVhZ2lwIElPVZ73dOUClDwBwsM6gEqjh5jeBWNL8EwmkZOWxz1sbYN5zcmxI3lBnhttGcQ7rUKDllZrYzYGcjqfM5uIv7Mquai0O3Q/meyfjrj5XI2aNHrttXCGg== X-Gm-Message-State: AOJu0Yz+XhmB/2u04NKQ8gc1qdB4bbLUi7VtffXMdA9jsj80zINAEiMC cszYkg6w1NNDYFLTaXdNnNfsGy/2mBPqct90B5922O81DyuSXUIR X-Google-Smtp-Source: AGHT+IE6i1OaBSulAf2ARyIB2hJ0C0FiKBkWhCpQomvMTB0RP8G0v5EfHh642qgQUTQxmQMiGsdkIg== X-Received: by 2002:a05:6512:718:b0:515:8a62:682c with SMTP id b24-20020a056512071800b005158a62682cmr1380173lfs.58.1711196445872; Sat, 23 Mar 2024 05:20:45 -0700 (PDT) Received: from 764c7355c69b.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id gx24-20020a1709068a5800b00a46f0d133b9sm857265ejc.98.2024.03.23.05.20.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Mar 2024 05:20:45 -0700 (PDT) From: Lothar Rubusch To: lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, eraretuya@gmail.com, l.rubusch@gmail.com Subject: [PATCH v3 4/6] iio: accel: adxl345: Remove single info instances Date: Sat, 23 Mar 2024 12:20:28 +0000 Message-Id: <20240323122030.21800-5-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240323122030.21800-1-l.rubusch@gmail.com> References: <20240323122030.21800-1-l.rubusch@gmail.com> Precedence: bulk X-Mailing-List: linux-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Add a common array adxl3x5_chip_info and an enum for indexing. This allows to remove local redundantly initialized code in the bus specific modules. Signed-off-by: Lothar Rubusch --- drivers/iio/accel/adxl345.h | 7 +++++++ drivers/iio/accel/adxl345_core.c | 12 ++++++++++++ drivers/iio/accel/adxl345_i2c.c | 20 +++++--------------- drivers/iio/accel/adxl345_spi.c | 20 +++++--------------- 4 files changed, 29 insertions(+), 30 deletions(-) diff --git a/drivers/iio/accel/adxl345.h b/drivers/iio/accel/adxl345.h index 6b84a2cee..de6b1767d 100644 --- a/drivers/iio/accel/adxl345.h +++ b/drivers/iio/accel/adxl345.h @@ -26,11 +26,18 @@ */ #define ADXL375_USCALE 480000 +enum adxl345_device_type { + ADXL345, + ADXL375, +}; + struct adxl345_chip_info { const char *name; int uscale; }; +extern const struct adxl345_chip_info adxl3x5_chip_info[]; + int adxl345_core_probe(struct device *dev, struct regmap *regmap, int (*setup)(struct device*, struct regmap*)); diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_core.c index 33424edca..e3718d0dd 100644 --- a/drivers/iio/accel/adxl345_core.c +++ b/drivers/iio/accel/adxl345_core.c @@ -62,6 +62,18 @@ struct adxl345_data { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ } +const struct adxl345_chip_info adxl3x5_chip_info[] = { + [ADXL345] = { + .name = "adxl345", + .uscale = ADXL345_USCALE, + }, + [ADXL375] = { + .name = "adxl375", + .uscale = ADXL375_USCALE, + }, +}; +EXPORT_SYMBOL_NS_GPL(adxl3x5_chip_info, IIO_ADXL345); + static const struct iio_chan_spec adxl345_channels[] = { ADXL345_CHANNEL(0, X), ADXL345_CHANNEL(1, Y), diff --git a/drivers/iio/accel/adxl345_i2c.c b/drivers/iio/accel/adxl345_i2c.c index 4065b8f7c..afb2d0b79 100644 --- a/drivers/iio/accel/adxl345_i2c.c +++ b/drivers/iio/accel/adxl345_i2c.c @@ -30,32 +30,22 @@ static int adxl345_i2c_probe(struct i2c_client *client) return adxl345_core_probe(&client->dev, regmap, NULL); } -static const struct adxl345_chip_info adxl345_i2c_info = { - .name = "adxl345", - .uscale = ADXL345_USCALE, -}; - -static const struct adxl345_chip_info adxl375_i2c_info = { - .name = "adxl375", - .uscale = ADXL375_USCALE, -}; - static const struct i2c_device_id adxl345_i2c_id[] = { - { "adxl345", (kernel_ulong_t)&adxl345_i2c_info }, - { "adxl375", (kernel_ulong_t)&adxl375_i2c_info }, + { "adxl345", (kernel_ulong_t)&adxl3x5_chip_info[ADXL345] }, + { "adxl375", (kernel_ulong_t)&adxl3x5_chip_info[ADXL375] }, { } }; MODULE_DEVICE_TABLE(i2c, adxl345_i2c_id); static const struct of_device_id adxl345_of_match[] = { - { .compatible = "adi,adxl345", .data = &adxl345_i2c_info }, - { .compatible = "adi,adxl375", .data = &adxl375_i2c_info }, + { .compatible = "adi,adxl345", .data = &adxl3x5_chip_info[ADXL345] }, + { .compatible = "adi,adxl375", .data = &adxl3x5_chip_info[ADXL375] }, { } }; MODULE_DEVICE_TABLE(of, adxl345_of_match); static const struct acpi_device_id adxl345_acpi_match[] = { - { "ADS0345", (kernel_ulong_t)&adxl345_i2c_info }, + { "ADS0345", (kernel_ulong_t)&adxl3x5_chip_info[ADXL345] }, { } }; MODULE_DEVICE_TABLE(acpi, adxl345_acpi_match); diff --git a/drivers/iio/accel/adxl345_spi.c b/drivers/iio/accel/adxl345_spi.c index 1094396ac..5c1109136 100644 --- a/drivers/iio/accel/adxl345_spi.c +++ b/drivers/iio/accel/adxl345_spi.c @@ -46,32 +46,22 @@ static int adxl345_spi_probe(struct spi_device *spi) return adxl345_core_probe(&spi->dev, regmap, &adxl345_spi_setup); } -static const struct adxl345_chip_info adxl345_spi_info = { - .name = "adxl345", - .uscale = ADXL345_USCALE, -}; - -static const struct adxl345_chip_info adxl375_spi_info = { - .name = "adxl375", - .uscale = ADXL375_USCALE, -}; - static const struct spi_device_id adxl345_spi_id[] = { - { "adxl345", (kernel_ulong_t)&adxl345_spi_info }, - { "adxl375", (kernel_ulong_t)&adxl375_spi_info }, + { "adxl345", (kernel_ulong_t)&adxl3x5_chip_info[ADXL345] }, + { "adxl375", (kernel_ulong_t)&adxl3x5_chip_info[ADXL375] }, { } }; MODULE_DEVICE_TABLE(spi, adxl345_spi_id); static const struct of_device_id adxl345_of_match[] = { - { .compatible = "adi,adxl345", .data = &adxl345_spi_info }, - { .compatible = "adi,adxl375", .data = &adxl375_spi_info }, + { .compatible = "adi,adxl345", .data = &adxl3x5_chip_info[ADXL345] }, + { .compatible = "adi,adxl375", .data = &adxl3x5_chip_info[ADXL375] }, { } }; MODULE_DEVICE_TABLE(of, adxl345_of_match); static const struct acpi_device_id adxl345_acpi_match[] = { - { "ADS0345", (kernel_ulong_t)&adxl345_spi_info }, + { "ADS0345", (kernel_ulong_t)&adxl3x5_chip_info[ADXL345] }, { } }; MODULE_DEVICE_TABLE(acpi, adxl345_acpi_match); From patchwork Sat Mar 23 12:20:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13600629 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 36E6047F46; Sat, 23 Mar 2024 12:20:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711196451; cv=none; b=UrXutuQpFHOGWm8kVjyfdZClky5qK/MTnqMwIgS6aeFDOa5a1aBrRvcIBO0sUmo721CtpVpP9Hp7GXmRsBI4dWi7S+qmEcz5TIlPVvnaW0EoxzIsRqkY42MxHP66RmmeKpGlXkPOBCGtASm9EiXpfyFzXWUGbRqwcRPvVbCCHWg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711196451; c=relaxed/simple; bh=+hksS7cYoCxKlnPaPD0csY/wWZfTxuNPy2blg52hfXM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=qZdDSOobr7SIW/KCFv/JDA+GE3XLqTHfbY7xIWzMZ2qRREXtiJ9vmZLwzBRRHNy0dlaoyQ9BhgsYiAY+9RjyZIhkaKS8Sxl8b8VgL3CPjrnFwgVJifnRpHD7P8HWi1NyH2gvjc6QLtJQy6OFvIZi8jVjz8zqR30bi7UIvqTxtI8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jK46ST+P; arc=none smtp.client-ip=209.85.167.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jK46ST+P" Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-513dd2d2415so3107914e87.3; Sat, 23 Mar 2024 05:20:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711196447; x=1711801247; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wRpIX2NoDjrlLfYxowFXuiPiSun/0ui+T5NHiqb1OJc=; b=jK46ST+PEfq2ANsEPZu3HSTXmX/5lyUxBmpRh4xb1kGEhv7bK9CiyY1HzkE362Fzck 2CgAwOT2EkEC+eISE/c7qVqUBvxnbWqevD9d+wmMexksX5W/H3kH2DWv6WpWpPVtaPTr XWnvwZ706S++HesywxOfKrTGAewVrusiQV2tkpbVX0nRChD5OTaTqfDqmaJ1H5K0acoj 7ROqGwHIPGX5c3nCPMltFi/qRZEoIcXxDtMUI2Ep3jrLIkKUrlrhf/sVrkRPDe1v1buM 58BCicjkU7drYCxFS1dNT7zaFEtMUdjqM2i6QtJl0jAAOPbpzLiDauTRCQOCBJEl51yB 7cXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711196447; x=1711801247; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wRpIX2NoDjrlLfYxowFXuiPiSun/0ui+T5NHiqb1OJc=; b=vytiJT3WYpWRxKKsenj7nVEDtFprcpn99lwS4Gcr2eg9eAJ43HQKPdK24Z1LedYZSC hQAEuGP4BgJ/QJ+beJyIFmFrVtgZp2QRz9aNZAUBTSIlTLPR+NnCLmKPpQKuEMGIk6VT MtKpfL6vxmhG+anGyoYz82AaE+1mOdPfL/O8bidP03hrjcq0ILIYnDo+uEFNQXzyNkLu Ox/k9HQxA8nkRX87Y8zWc61bLKGlzi3AE9InQPO2po04p6ph4kZsaqDGtcd7xgcjX3ac IX4ki9GnoiwTFYqDPN1R8OSea8SyRI5Ns7S4U+mmeUQM2cEsSSW4wlYzhHbH1+zR8g+Z ab9A== X-Forwarded-Encrypted: i=1; AJvYcCUEcGITihfY+WsHXYZPlh368HW6Yu1zNNeWloJ1RuP3Ofibw6vM1/zW7CTLb2BTQl4JxKCy0i3tfq27DzMZOUbALM3qlsAf9CcHt6iF//PuiR1/+VMcaC/REZWXY198hTdQlKoPSLkPGA== X-Gm-Message-State: AOJu0YyWNi2T9L1SGYaSYbrhVHooC7DUiSnfpX6iOUq+IT8VmniDhc6c 0jkhHuffBLxPSgMoKA+Hp3lMNG2do9/81JNbxUZ5W4w060oGQbD+ X-Google-Smtp-Source: AGHT+IF0wwBYKx6UbRzIZR97lSbHApfDdyvelMsJ0GtqeayZj7rUfVL2duFLpeOlwyLJ2lOjfCUJRg== X-Received: by 2002:ac2:58c5:0:b0:513:994e:ace0 with SMTP id u5-20020ac258c5000000b00513994eace0mr1332346lfo.15.1711196447265; Sat, 23 Mar 2024 05:20:47 -0700 (PDT) Received: from 764c7355c69b.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id gx24-20020a1709068a5800b00a46f0d133b9sm857265ejc.98.2024.03.23.05.20.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Mar 2024 05:20:46 -0700 (PDT) From: Lothar Rubusch To: lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, eraretuya@gmail.com, l.rubusch@gmail.com Subject: [PATCH v3 5/6] iio: accel: adxl345: Group bus configuration Date: Sat, 23 Mar 2024 12:20:29 +0000 Message-Id: <20240323122030.21800-6-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240323122030.21800-1-l.rubusch@gmail.com> References: <20240323122030.21800-1-l.rubusch@gmail.com> Precedence: bulk X-Mailing-List: linux-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In the probe function group bus configuration and the indio_dev initialization to improve readability. Add a comment to the probe function to explain function arguments. Signed-off-by: Lothar Rubusch --- drivers/iio/accel/adxl345_core.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_core.c index e3718d0dd..662628cdf 100644 --- a/drivers/iio/accel/adxl345_core.c +++ b/drivers/iio/accel/adxl345_core.c @@ -209,6 +209,16 @@ static void adxl345_powerdown(void *regmap) regmap_write(regmap, ADXL345_REG_POWER_CTL, ADXL345_POWER_CTL_STANDBY); } +/** + * adxl345_core_probe() - probe and setup for the adxl345 accelerometer, + * also covers the adlx375 accelerometer + * @dev: Driver model representation of the device + * @regmap: Regmap instance for the device + * @setup: Setup routine to be executed right before the standard device + * setup, can also be set to NULL if not required + * + * Return: 0 on success, negative errno on error + */ int adxl345_core_probe(struct device *dev, struct regmap *regmap, int (*setup)(struct device*, struct regmap*)) { @@ -238,22 +248,23 @@ int adxl345_core_probe(struct device *dev, struct regmap *regmap, data = iio_priv(indio_dev); data->regmap = regmap; - /* Enable full-resolution mode */ + data->info = device_get_match_data(dev); if (!data->info) return -ENODEV; - ret = regmap_update_bits(regmap, ADXL345_REG_DATA_FORMAT, - ADXL345_DATA_FORMAT_MSK, ADXL345_DATA_FORMAT_FULL_RES); - if (ret) - return dev_err_probe(dev, ret, "Failed to set data range\n"); - indio_dev->name = data->info->name; indio_dev->info = &adxl345_info; indio_dev->modes = INDIO_DIRECT_MODE; indio_dev->channels = adxl345_channels; indio_dev->num_channels = ARRAY_SIZE(adxl345_channels); + /* Enable full-resolution mode */ + ret = regmap_update_bits(regmap, ADXL345_REG_DATA_FORMAT, + ADXL345_DATA_FORMAT_MSK, ADXL345_DATA_FORMAT_FULL_RES); + if (ret) + return dev_err_probe(dev, ret, "Failed to set data range\n"); + /* Enable measurement mode */ ret = adxl345_powerup(data->regmap); if (ret < 0) From patchwork Sat Mar 23 12:20:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13600630 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 374954D9F8; Sat, 23 Mar 2024 12:20:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711196451; cv=none; b=ZKTPI3N4l7AHBsFRHdUvwbrwxmhkSbAdmlV1j+FzfvQqiCMvNkn57rmt/gV1d50oSNfUIkceqEtURRfOZlyH2fd93DvfY295UXgFmebDkcKYfwisz1X6BVAATd68KtCBSsp/Cllo4RKsolcSOIFd4ha8BbKk5gCFN1Upm7n+yIs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711196451; c=relaxed/simple; bh=pToit27TqLaZTZVIWd9WSIUZ1i+05Dk9aFS/Q3bfuoY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=loeBhR1awqP9kOBT45iguoC0Qxk4sjSXNmcLwBY1wBw5ePalYW04aTKmMFw8W1VzAFQizbR5Qrd0foKbWAwHFJXngKuP9leUG2skSmdKGZuDl2dkezpaGZDb/UbBWe6CljvnewlCy9H2VjpunaGsYSJ13xXvrSNnbXI7GFiZ1EI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=a50eC65e; arc=none smtp.client-ip=209.85.167.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="a50eC65e" Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-513d599dbabso3872907e87.1; Sat, 23 Mar 2024 05:20:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711196448; x=1711801248; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6xtVnBwEs4bYQsVbe2uhOnHxLXkyj8rDngprTSIhtgU=; b=a50eC65eWaBcRPKIcQcHSDmCk3duVu5wYKrISH7GjiTV1zbiU+N6OBlUug/hRrvQDD 5rTVnP4OcvtZaPakEWfpTDkWKgHJZtpJGLQwnU1K0ykLtbt8dgcY+rNwtxhZU0rz+zKo Ha+hOgZSO4o5zWG0yjGlbu4k6fS6LOWbi7La47qyz1O7HOOLnVtuI4TXR/KH0O5qgy4A haTEXN0RNT4VaHMH+6FxeLmRB/H9Sd5SNRPLhYc9DpX0/yddEG+2B8BWE2als1s+6ZLW wQzidtMxBAXN5JqVQoeU5iEtkVAaQSAeIDCCl5Gp1nuraPeSNiKNcIS5LF8sORruoz4D FKtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711196448; x=1711801248; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6xtVnBwEs4bYQsVbe2uhOnHxLXkyj8rDngprTSIhtgU=; b=prvBf5ttBRmVLeeG4os6/O58nTA6iHEx4AXKUUpOmLUt+O8AaaTyBFxpEZ5q6ihJ6S D/h61/uW7ZnBTEJvvrU/c6sZseoMOlWv9fMOUE2MDLXKmEhLZquyHIR953bjct+A2s7J eRUN2sTy37oqfLWq6FFnQKIeg9o7zduVjWkVGNm1D1RO9qlLZMMVd9GXhH+ZhnRseWUg 2Ji7zEvwMlYnn5aTXZ7+RRnjbU7iMX8FVLQz3W+wVT1MUmp2WcytD3otuDh/g6dDMksh J5Z96/wKrYbJA1KNnzrMzB9QMShmXou6HjPgOWhRYt9NPn98Cm6VKl+/Md9RHMwcurWT qS3g== X-Forwarded-Encrypted: i=1; AJvYcCXIy5pvJHCu3pamlKvWnvCyu1zcN9Qgv6NOlT2BBShZaDoh+MXQn3dYRdgCx5yJGqbrhqvDlsi5BcCvLnH507tt5FelTZSJv4O7OEppI/lJKiJgQCEQLed8eP1L72bK54ZG9xgFPvkrsw== X-Gm-Message-State: AOJu0YysA9gNW8fdSyfDNa4vgcghFdlbcrFx8OJMGcMcTF6/WJgYjFh7 atSgWeaAHMOdtB8+OSGmUnfHW/QfJpQkmP1oetRnioTxW4axqODV X-Google-Smtp-Source: AGHT+IEL9fGHncT0nfVkXdgNVn5H3HiyENNSgBkVIsx/OHDiKca1zsqf+jxso+E1tHLiUKLd3OA+yQ== X-Received: by 2002:a05:6512:2ed:b0:513:25c6:e98e with SMTP id m13-20020a05651202ed00b0051325c6e98emr1535015lfq.1.1711196448352; Sat, 23 Mar 2024 05:20:48 -0700 (PDT) Received: from 764c7355c69b.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id gx24-20020a1709068a5800b00a46f0d133b9sm857265ejc.98.2024.03.23.05.20.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Mar 2024 05:20:48 -0700 (PDT) From: Lothar Rubusch To: lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, eraretuya@gmail.com, l.rubusch@gmail.com Subject: [PATCH v3 6/6] dt-bindings: iio: accel: adxl345: Add spi-3wire Date: Sat, 23 Mar 2024 12:20:30 +0000 Message-Id: <20240323122030.21800-7-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240323122030.21800-1-l.rubusch@gmail.com> References: <20240323122030.21800-1-l.rubusch@gmail.com> Precedence: bulk X-Mailing-List: linux-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Add spi-3wire because the driver optionally supports spi-3wire. Signed-off-by: Lothar Rubusch Reviewed-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/iio/accel/adi,adxl345.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/iio/accel/adi,adxl345.yaml b/Documentation/devicetree/bindings/iio/accel/adi,adxl345.yaml index 07cacc3f6..280ed479e 100644 --- a/Documentation/devicetree/bindings/iio/accel/adi,adxl345.yaml +++ b/Documentation/devicetree/bindings/iio/accel/adi,adxl345.yaml @@ -32,6 +32,8 @@ properties: spi-cpol: true + spi-3wire: true + interrupts: maxItems: 1