From patchwork Mon Apr 1 19:48:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13612983 Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) (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 3862B524BE; Mon, 1 Apr 2024 19:49:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000958; cv=none; b=lH25cOPD+QSLYOyR7tWEBgvSZlFDjz/ArbaFSqLwULcITA1uruZDYhXW2zkPAiCAs5RBXKXdH3rs2CiNFZFH18aV1s8+oCgnNhNQ4ZogDX86rtYGFMHnSx90G2px358x1yJrwg0VGnltvIlS8leGIMCvqYg/7igiid8VOi5BNMY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000958; c=relaxed/simple; bh=0tEgwdAwdlUtsG5TVVFCmyeARPff6RL2/ajnWue8kac=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=g3ykcctudR/SZBWfk3bHhFs5pih/G3BARLgpV9QCz2LwQ09nY63ZFjStQR5/z0wxwhQxZ0Kg5CkJr5Jiz506yUyLJPDK7BZ+6S5J9hoxMDAfwciGOi89fHVefSwSoRl5OxRxgu6JJd9fImy0Kfys5YUqEfjxajBpLRTypcSu8sg= 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=iEZAgqQR; arc=none smtp.client-ip=209.85.218.42 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="iEZAgqQR" Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-a4734ae95b3so562753366b.0; Mon, 01 Apr 2024 12:49:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712000955; x=1712605755; 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=VzxEGJuLh2FGOqj/Kc9LOkhC9QKX86lS8A0OCMB6aaE=; b=iEZAgqQRc4dR+jMTGmlsUPdjNhmBu0OyLSou6AKsBERFSIevP6kJH0eE4c0vB89WSJ DfWmbU958WznyhMokeD+lNMEwOgeEXZcABM5dO/sRXM2zwCPwEZMqAJK0v3pUgMEaCuI p7J0pwm6xoDnHxfnKjEcgpid0hg2pDkN+fLGVyV1O4GmV6VwfTiv7I8LQyN4ZFJQER1R nbFJNSDXTdlw984nPGSLz4tQ2/00hOSNIRhYGxeYMiCIqJv9Us1Ay6707aXh/5/8/POc Dc6iw6OmUgFXN4iCgShpp9bKXlowhYuHl4TtuMuiNWr9OwwzDWDizNptof25cWmqBBF/ RVBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712000955; x=1712605755; 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=VzxEGJuLh2FGOqj/Kc9LOkhC9QKX86lS8A0OCMB6aaE=; b=PLQ0LPuGSEYitmek+ryxmlAXePIB9IGoh4zjECwGaRzCbaxShxbkF34RauzpEdLAQO Qkap8vFY5og/t30DUrB7atdrsTJtRVKZQ3tsU1K8E/sCrSOlln6lcOVQWvSWmGYSQe0q jZ7wg2O+CNacyn+pytQYWLjFgZ4dxBaZLrbdj/iL97ng7O8W4DM6YnfATwLluvCb/pOL CvqRC5yFMqnXHHTIlbJMQdKpftn8Xm+RiRqgh5m3WKeTDrxPHOT/vy8Qvv9onc5GXta5 7IOMwU1w/yUWJtBS57haNLZ1r4Mgci7Vk2CBliD4F1nBWDpNcLBvyVQPfGn/B2YccK/2 uIug== X-Forwarded-Encrypted: i=1; AJvYcCUK1vZBHlVLRwpsXcEh/DRfs95/GRQTPXFd8vsHgc644kUSB/0y7zURcg3fHfAYc1eTjA7Cn90+3oFVUphsd65sXMfevslASbqXnpYiXiHvuVCXwUdMVRD2INDPfn44hYRlzcFOXAaECA== X-Gm-Message-State: AOJu0YyYZ/kGTumlY34SCLUs4tvN5nEAVMjmClagb5WwJ0TGqCv3Y1hm 3aMuTHV7QfVlTxjw6LoD635xDg9S8ZJF53u+PDdiO7GLYqFwoTvz X-Google-Smtp-Source: AGHT+IHge/DJLc7dTkUrTGkVUkMnYqgpDVPwEiXbFBWCMpvE6rREj6PqkmDxr/cgyt2cH+6WvbiRcg== X-Received: by 2002:a17:906:910:b0:a47:3555:6b73 with SMTP id i16-20020a170906091000b00a4735556b73mr6127782ejd.39.1712000955289; Mon, 01 Apr 2024 12:49:15 -0700 (PDT) Received: from 13a4f82a8f12.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id dn21-20020a17090794d500b00a4588098c5esm5540575ejc.132.2024.04.01.12.49.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 12:49:14 -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 v7 1/8] iio: accel: adxl345: Make data_range obsolete Date: Mon, 1 Apr 2024 19:48:59 +0000 Message-Id: <20240401194906.56810-2-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240401194906.56810-1-l.rubusch@gmail.com> References: <20240401194906.56810-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() to keep bus specific pre-configuration which might have happened before on the same register. The bus specific bits in data_format register then need to be masked out, 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 | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_core.c index 8bd30a23e..ff89215e9 100644 --- a/drivers/iio/accel/adxl345_core.c +++ b/drivers/iio/accel/adxl345_core.c @@ -37,7 +37,11 @@ #define ADXL345_POWER_CTL_MEASURE BIT(3) #define ADXL345_POWER_CTL_STANDBY 0x00 -#define ADXL345_DATA_FORMAT_FULL_RES BIT(3) /* Up to 13-bits resolution */ +#define ADXL345_DATA_FORMAT_RANGE GENMASK(1, 0) /* Set the g range */ +#define ADXL345_DATA_FORMAT_JUSTIFY BIT(2) /* Left-justified (MSB) mode */ +#define ADXL345_DATA_FORMAT_FULL_RES BIT(3) /* Up to 13-bits resolution */ +#define ADXL345_DATA_FORMAT_SELF_TEST BIT(7) /* Enable a self test */ + #define ADXL345_DATA_FORMAT_2G 0 #define ADXL345_DATA_FORMAT_4G 1 #define ADXL345_DATA_FORMAT_8G 2 @@ -48,7 +52,6 @@ struct adxl345_data { const struct adxl345_chip_info *info; struct regmap *regmap; - u8 data_range; }; #define ADXL345_CHANNEL(index, axis) { \ @@ -202,6 +205,10 @@ int adxl345_core_probe(struct device *dev, struct regmap *regmap) struct adxl345_data *data; struct iio_dev *indio_dev; u32 regval; + unsigned int data_format_mask = (ADXL345_DATA_FORMAT_RANGE | + ADXL345_DATA_FORMAT_JUSTIFY | + ADXL345_DATA_FORMAT_FULL_RES | + ADXL345_DATA_FORMAT_SELF_TEST); int ret; ret = regmap_read(regmap, ADXL345_REG_DEVID, ®val); @@ -218,15 +225,14 @@ 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) + /* Enable full-resolution mode */ + ret = regmap_update_bits(regmap, ADXL345_REG_DATA_FORMAT, + data_format_mask, 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 Mon Apr 1 19:49:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13612984 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 5184353E0C; Mon, 1 Apr 2024 19:49:18 +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=1712000959; cv=none; b=N6yDgaWL1dtIjQmjxfjQiJixvursnH4K6QOmA91OgdIDybTf+0RJhiD7yE2ZTYmYrxUIoPBBWBKGSKyy4xoc8xttZQrD8zuLW/PUnQJnUDD3LHWEo1bM7wK2RbqZ2N33dvbuN9DS/xKc8IxYx7UZxHVddv4dpogWORhPWHmasgA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000959; c=relaxed/simple; bh=zm86oDdJl6cIxDdoXgsyL0UvfiCEMG2mxojpGbrsdGg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=IGHeTgZDFF9DkCBPOxXhJG/EyIPxBQ2l6kxG4D4J81DSlw9iPMQ+j/AGlXzR+syBpALRZ9GXSLwS5xTqQLhAoXMZnltLkaai2bxdIopwMuo6S9t3OBhouyYWBtxWkkO9+XJYWrXgWhEqAmsf6NBpqZW1EzkowDv6tY9/i1Rp+W0= 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=M0EHfJ/A; 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="M0EHfJ/A" Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-a4a393b699fso657852566b.0; Mon, 01 Apr 2024 12:49:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712000957; x=1712605757; 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=CtxI4w0Qk7zIrSyvpR8HbIgO3d5u7cqE3RU/yO0B6Vw=; b=M0EHfJ/AjPd02JiyQInmYXpDk/s0BB4SWLFe6veFZviLp5cLGrBFQW7oDb+ek8T9pj uakyifaT0gvnIB9P0lZ/rad+BO5j9qXxnhrOroDskrhgpQ8n+rgAZZnhJCQDHCFVg98L m6w97SN8HQowbMGif9lljUDaTGGREB0A6Bkj6J6gkoPG3wLzRmrSfq3wcpaMPn83kOcp 2+87ng+YhU5LrsX0L4Ho52L5KgI9IvOf8IjBEfDBY2XQgnLUmUq5y8WgFeFyhxXPof4N OZtYaWatgf6qF2J7N/sFTS1PxPw/f2Akj76p7XEyJ/gYgtfo95TOuz1LZ1kqgRkQdJti 7HVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712000957; x=1712605757; 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=CtxI4w0Qk7zIrSyvpR8HbIgO3d5u7cqE3RU/yO0B6Vw=; b=ljxNPlFtiOtJhWPGYKRN5miwDyeFtE9ZvEIN9SrfOo6zO1pl0V4eWke12c2NoHIRSo +h3FiVZibzHWQ9JWmgV7dvGqPic5HIfGq4N+pmK3XICXcyzO7nZXf9DUC4gec1VsA0yR TaA6sLRE0E2urj9i9uOGB10SBIa1h0dU2Mz5SncKE44jhSuP2TKvH15Fh3xv+uJLw8nA ZI7cNXqNUUjgcH7ontZXjNl44LM9SQfm/Vd9H2bZiLeY4pu2a3XWwkpARmOAhCKcapbv nm9XfJl6Ms5IBgRefeTqzB1GmS1s2RrjBrYJ2k8dH2+7txISpQffZblKtviQ2rna6uma RZ3w== X-Forwarded-Encrypted: i=1; AJvYcCWICzJe7m6k7QsV1DlqNDMZOuCg5Q5iNpG8WmojYdf4SduqrPZJxFwVmpaP6LYoFxs+tgjdXirDA+d9kANw109YLiIJ49BvArqXT4MEY8J/m8PlA/5p+cfzKU3MGyNVNmJZKn9qypa6yA== X-Gm-Message-State: AOJu0YymilNznfyYeELgNBTZJuYREACZKyj+op4+RpCZJksU6Uo0heJ3 s+3o450D5R2xL1XFtOr/Z9aFHm1LSrAxsGKXyJhpa0BQapNPZjLL X-Google-Smtp-Source: AGHT+IH3RWiV5C16zahtay366pDFB7qgpr5W1IfZGXVR7HSUwL2ED5v9MRWxNey41nQ8uCW0qmkg1w== X-Received: by 2002:a17:906:6b87:b0:a4e:405d:8e3d with SMTP id l7-20020a1709066b8700b00a4e405d8e3dmr7900870ejr.22.1712000956709; Mon, 01 Apr 2024 12:49:16 -0700 (PDT) Received: from 13a4f82a8f12.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id dn21-20020a17090794d500b00a4588098c5esm5540575ejc.132.2024.04.01.12.49.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 12:49:16 -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 v7 2/8] iio: accel: adxl345: Group bus configuration Date: Mon, 1 Apr 2024 19:49:00 +0000 Message-Id: <20240401194906.56810-3-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240401194906.56810-1-l.rubusch@gmail.com> References: <20240401194906.56810-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 Group the indio_dev initialization and bus configuration for improved readability. Signed-off-by: Lothar Rubusch --- drivers/iio/accel/adxl345_core.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_core.c index ff89215e9..e4afc6d2a 100644 --- a/drivers/iio/accel/adxl345_core.c +++ b/drivers/iio/accel/adxl345_core.c @@ -229,18 +229,18 @@ int adxl345_core_probe(struct device *dev, struct regmap *regmap) if (!data->info) return -ENODEV; - /* Enable full-resolution mode */ - ret = regmap_update_bits(regmap, ADXL345_REG_DATA_FORMAT, - data_format_mask, 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, + data_format_mask, 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 Mon Apr 1 19:49:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13612985 Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) (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 1101754BF4; Mon, 1 Apr 2024 19:49:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000961; cv=none; b=ZXLA6EL4AkwmKrVKM6o+X6qNZzTOT04oTnMYXip3P1hph187pVhKV2ybTCzPE8GuChJhFpPYTOGc8ZIXgvMfBcBZWjSUg0yanQ7g+FJxNJirZiJypqxTbxBMjfdv2mVJHQ4gTOHxVPranNL2HRKT1DgrfSMHyj/XeAnXyUCPWzo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000961; c=relaxed/simple; bh=6ZXgZbhGDSIPcTYrtwC02tp6vJicbM7TlNaYhlrKI0Q=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DWlxXPQYMicF8o48/D91uGXhN4w0LuTRMf5gL/xySHpGmcP1QkyYs8o2ehnpp21SSdePmc4vCRm/a6cfsieQgf/quTScBZcCDEo6aN/17vW5444q6EbvXzC300HaGEnhXeollYJwSIlXI8w9wDVIY66aAYZQZUIKK9OFwsJoyY4= 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=dDazVwEw; arc=none smtp.client-ip=209.85.208.177 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="dDazVwEw" Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-2d700beb60bso76724101fa.1; Mon, 01 Apr 2024 12:49:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712000958; x=1712605758; 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=oAw5A/7fgz9+mCxUB6RBM8azMqA/dmbwe5pXpOefMGE=; b=dDazVwEwzlJHE//8/+V0oAywpPM6/SOqNDPAPvG1TSXbFwFm/4p+DqXhbLQbWQJQMP PZDT5zQFp4DzIZw7+GHH1xhPunzXCuBk2WKtRdIfGCbViFWcZUh/vHsoOBJ5Dg469wt8 lTeRMmWynfeMDt2doK+13J22kbKZovVlIBeq9hGLQkl9z19sPoQXHvCE3VKt4U5XP2y2 4uit0btpOV4lHwkizqKdvnAxch98CobSJu4mFmxyqiVFhcahZq7d9+5Kn9x7UkjOdstA FhdVhy4Ego8jltEX43KwROnu5YSd86GXBHsLSyAQlkyy7MzF2qJl6BUlvCdXgZVc++KS nneg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712000958; x=1712605758; 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=oAw5A/7fgz9+mCxUB6RBM8azMqA/dmbwe5pXpOefMGE=; b=tXqWVRxji++MMIIZY1uIOlQX+tUdv6IOrx7rIEicZYjbkE2jxjmntpVBi0LjWUhuO0 7fjUAw7WTQIEF2Xn5LN90eIE19ATfXUGY/aEJYxMkmWVlvB+O93wxEaWrLiS+9q0W6C7 6CVxoMA9vOfBhsF4ZjPKkqOIJxJhXHkJIhd1wcBaLFuiZHWDNikWbgaIHvsXNIqcpFXA OBF8fgvWzitGMmWBJQIMcCQzl0TKpHC6CzEKAPZu27NQ+e7fElA8m9yYlG8yu2EwGxef g+p0o15ZNlEcC/pSa+ABhhh7kY/qrDdLdLDiMM1VBYWAjqicsLDyjktBJFmlHf13EUcv lndA== X-Forwarded-Encrypted: i=1; AJvYcCX8jFxphpdOnqB8PTitoPkPTzd2sdXhvEjWOGaN/i9oTmGlL9d8N5XYDBDj9iRT6UMnSKN++AD327mHZ3R4pkhpwuza12GJtZtbLcNucFJVLEIJZMlHpSS3ereEqxDm8PqZQj1bSMMmWA== X-Gm-Message-State: AOJu0Yx/UWa6nCVlZLIDb+vxnionlkW7AlDq0KmMZRxGK+ME/6tkb2Xt MCQvEe5Z55a3B+1PiDvw5ImM3koxeArRxcQ9TtnAQpDPir5m1GqS X-Google-Smtp-Source: AGHT+IFg5XckEL2nafSgWUI0WOcYU4EOlo8slLZzICqg4YDieEaFCLAPw+PgmXGKf1PcMmwJ9BF7nw== X-Received: by 2002:a2e:890f:0:b0:2d4:7373:2a5b with SMTP id d15-20020a2e890f000000b002d473732a5bmr7627618lji.47.1712000958019; Mon, 01 Apr 2024 12:49:18 -0700 (PDT) Received: from 13a4f82a8f12.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id dn21-20020a17090794d500b00a4588098c5esm5540575ejc.132.2024.04.01.12.49.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 12:49:17 -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 v7 3/8] iio: accel: adxl345: Move defines to header Date: Mon, 1 Apr 2024 19:49:01 +0000 Message-Id: <20240401194906.56810-4-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240401194906.56810-1-l.rubusch@gmail.com> References: <20240401194906.56810-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 Move defines from core to the header file. Keep the defines block together in one location. Signed-off-by: Lothar Rubusch --- drivers/iio/accel/adxl345.h | 32 ++++++++++++++++++++++++++++++++ drivers/iio/accel/adxl345_core.c | 32 -------------------------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/drivers/iio/accel/adxl345.h b/drivers/iio/accel/adxl345.h index 284bd387c..732820d34 100644 --- a/drivers/iio/accel/adxl345.h +++ b/drivers/iio/accel/adxl345.h @@ -8,6 +8,38 @@ #ifndef _ADXL345_H_ #define _ADXL345_H_ +#define ADXL345_REG_DEVID 0x00 +#define ADXL345_REG_OFSX 0x1E +#define ADXL345_REG_OFSY 0x1F +#define ADXL345_REG_OFSZ 0x20 +#define ADXL345_REG_OFS_AXIS(index) (ADXL345_REG_OFSX + (index)) +#define ADXL345_REG_BW_RATE 0x2C +#define ADXL345_REG_POWER_CTL 0x2D +#define ADXL345_REG_DATA_FORMAT 0x31 +#define ADXL345_REG_DATAX0 0x32 +#define ADXL345_REG_DATAY0 0x34 +#define ADXL345_REG_DATAZ0 0x36 +#define ADXL345_REG_DATA_AXIS(index) \ + (ADXL345_REG_DATAX0 + (index) * sizeof(__le16)) + +#define ADXL345_BW_RATE GENMASK(3, 0) +#define ADXL345_BASE_RATE_NANO_HZ 97656250LL + +#define ADXL345_POWER_CTL_MEASURE BIT(3) +#define ADXL345_POWER_CTL_STANDBY 0x00 + +#define ADXL345_DATA_FORMAT_RANGE GENMASK(1, 0) /* Set the g range */ +#define ADXL345_DATA_FORMAT_JUSTIFY BIT(2) /* Left-justified (MSB) mode */ +#define ADXL345_DATA_FORMAT_FULL_RES BIT(3) /* Up to 13-bits resolution */ +#define ADXL345_DATA_FORMAT_SELF_TEST BIT(7) /* Enable a self test */ + +#define ADXL345_DATA_FORMAT_2G 0 +#define ADXL345_DATA_FORMAT_4G 1 +#define ADXL345_DATA_FORMAT_8G 2 +#define ADXL345_DATA_FORMAT_16G 3 + +#define ADXL345_DEVID 0xE5 + /* * In full-resolution mode, scale factor is maintained at ~4 mg/LSB * in all g ranges. diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_core.c index e4afc6d2a..f875a6275 100644 --- a/drivers/iio/accel/adxl345_core.c +++ b/drivers/iio/accel/adxl345_core.c @@ -17,38 +17,6 @@ #include "adxl345.h" -#define ADXL345_REG_DEVID 0x00 -#define ADXL345_REG_OFSX 0x1e -#define ADXL345_REG_OFSY 0x1f -#define ADXL345_REG_OFSZ 0x20 -#define ADXL345_REG_OFS_AXIS(index) (ADXL345_REG_OFSX + (index)) -#define ADXL345_REG_BW_RATE 0x2C -#define ADXL345_REG_POWER_CTL 0x2D -#define ADXL345_REG_DATA_FORMAT 0x31 -#define ADXL345_REG_DATAX0 0x32 -#define ADXL345_REG_DATAY0 0x34 -#define ADXL345_REG_DATAZ0 0x36 -#define ADXL345_REG_DATA_AXIS(index) \ - (ADXL345_REG_DATAX0 + (index) * sizeof(__le16)) - -#define ADXL345_BW_RATE GENMASK(3, 0) -#define ADXL345_BASE_RATE_NANO_HZ 97656250LL - -#define ADXL345_POWER_CTL_MEASURE BIT(3) -#define ADXL345_POWER_CTL_STANDBY 0x00 - -#define ADXL345_DATA_FORMAT_RANGE GENMASK(1, 0) /* Set the g range */ -#define ADXL345_DATA_FORMAT_JUSTIFY BIT(2) /* Left-justified (MSB) mode */ -#define ADXL345_DATA_FORMAT_FULL_RES BIT(3) /* Up to 13-bits resolution */ -#define ADXL345_DATA_FORMAT_SELF_TEST BIT(7) /* Enable a self test */ - -#define ADXL345_DATA_FORMAT_2G 0 -#define ADXL345_DATA_FORMAT_4G 1 -#define ADXL345_DATA_FORMAT_8G 2 -#define ADXL345_DATA_FORMAT_16G 3 - -#define ADXL345_DEVID 0xE5 - struct adxl345_data { const struct adxl345_chip_info *info; struct regmap *regmap; From patchwork Mon Apr 1 19:49:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13612986 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 63F4055C0A; Mon, 1 Apr 2024 19:49:21 +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=1712000963; cv=none; b=Y8B0Nz25Qe9AkhXtuz6psIJbUB6Rc+jvwBVvCIo3HrEDaR0wyyA3av5M+PF0Q1StDmLbyp4C2L1O2Emq735PVThO13oWcn3cZCEWo7SmxfrH2p/h71f4PjbfJXvCwcG9fbHxUia/g/edq5GbKSiyvZldKnzIYN+xpqU51ERBerQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000963; c=relaxed/simple; bh=V55YgCvLSpqkfe7ySR+HVIoEjCLAZ+Tf3byG4H1tlRk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=KK2F43fRUXX7XWQ6uJ5PrtfMr6+eJLhOqOfzEv8xHn0hMf9bLz9nZ+liDJotsW8NQ75UkKrmVYKWRcT5YovmaD/WERgFzXiXHHcMclQSURnj2z3PXbM6odpz3/lxM5ACVpRTCZ7Yt2pUoWRIhOM0ZOizFEsEI4H0W9cqeHBclZM= 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=O8so7tOF; 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="O8so7tOF" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-513d23be0b6so4771817e87.0; Mon, 01 Apr 2024 12:49:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712000959; x=1712605759; 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=Hfn3S64P658pp7FgLTURlhXPNN360y6ZzooV24q6Qx4=; b=O8so7tOF/YhXn//WIxDyLqEglOdeXlN3Zf19cy5R7YM6Msjoo6PMallCdj52rS3efu lD0z3oud94K+jOuGuFgCFEJs10qVS4V3XMID8woGakXhsRW/Jq4pXL4eVDi/AfF94plk 7z47tDYbN9f4/CCrp4eN7m73MR79MPR1rKOhCTXDwKRqh2Cj7yJKzZS6IUOCkIPyyWo1 pnPyCjCgDtyrwHX7n/RPrZzI/hIbzc4dglP2FJuw39dbcsFRN75PZZsG6MN7WAwRhplN MBaeEm2IU5Wzli11EfEzeuvILLeP56Wll4dcdI+ROnZyMGGhv07YXgUcPcRwGNJF49fd 01bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712000959; x=1712605759; 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=Hfn3S64P658pp7FgLTURlhXPNN360y6ZzooV24q6Qx4=; b=Zlvnq8gCeo+NRnNtYLVSMnZjpxKxys9Oy5jXWyB+FITjJF7u1ycaqcOSDyoWFgez7l ce4wc8krwsIFmwOsQJfmHzFlF6EuXrghh7nKJ9cBT0lSv6BP3jPGr6w9oPunvj+c5BJW QxKAjtwMEFAqeWWhlQKwEL7Kk0eDP4jGDF9wc8EyGd7K1Nfve0gJ9phxGqUujieAyYDL r0hT1/t1yHQOBGKPig0kEERbFcM4pVPDqtXjFhu4Kem+JOYKTVl9DOzPEjUyydcFiyiW fjqBRjNX2UrEfrnV6gwC4iSItPLj1blwtM+8htjvCj3rFelvyn2AQKV4FscVQkJYf6rY 3mRA== X-Forwarded-Encrypted: i=1; AJvYcCVnarc7JvGZDTneM9a/ugXB2hTkzvJY4ofBPRZey1AXUwPONKOCGfRwypCNIoazh/k3PFML3epvc5b4ZS26zOGyW0w/dlEvlwnEZKZQO4vepeCUtRBmnihW8vkWWTCr5gBmdqhP/+2FkA== X-Gm-Message-State: AOJu0YwZUlZT/MR6PGbwYo7Kmjgjc8eWcj3KMkzdXuiUo7pfUiTOepNo hOl3uNYZon5GlavPhM4NMK1adUnwtnSOgKcj/4lifevzHbuz6t8oFL0vkv6NSXE= X-Google-Smtp-Source: AGHT+IFtijRXGN094bF1bWf9vIA2wpxxin9Ex1YOy4Y4KcIcvK0hO1+wav25QFbOjFC7ckEjXELvTw== X-Received: by 2002:a05:6512:3e12:b0:515:d19b:babc with SMTP id i18-20020a0565123e1200b00515d19bbabcmr10107767lfv.68.1712000959442; Mon, 01 Apr 2024 12:49:19 -0700 (PDT) Received: from 13a4f82a8f12.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id dn21-20020a17090794d500b00a4588098c5esm5540575ejc.132.2024.04.01.12.49.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 12:49:19 -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, Krzysztof Kozlowski Subject: [PATCH v7 4/8] dt-bindings: iio: accel: adxl345: Add spi-3wire Date: Mon, 1 Apr 2024 19:49:02 +0000 Message-Id: <20240401194906.56810-5-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240401194906.56810-1-l.rubusch@gmail.com> References: <20240401194906.56810-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 device allows to be configured for spi 3-wire communication. 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 From patchwork Mon Apr 1 19:49:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13612987 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.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 6B5ED56459; Mon, 1 Apr 2024 19:49:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000964; cv=none; b=pSNHjrg961YieISLqzOssbqsYARt0mvPBfRlex4Zkt3UPOpPCzXdRI8Aa98/I6KQjidFhsL7dz6DB+86KR4Y3YAqW6oLdscHVLq6mTwUvfKPkedyvIxil75ESd74LEiJqIJjH4UMJzB0UGnc09Mc+8H0pDO3Y/U5kAVvtt8p6RA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000964; c=relaxed/simple; bh=WIUwpBmvhODwp/Pmv5TOZAvQxvE4P44+MWrhzYC1oDQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=sP8NsegADtSqpG5ubZV/i3vOYm+pGPxD9KZkkYjrDhkqMovQAz95zWLAQuIbyAjy+fA3X+wVNOlwSuBXvgWP+3oGjbgzV9vdBjLuomUH5LXusSICfdFCRbPUzqAukjO4Qx6WQGrUmkR+MlKZwS36ok083e7CEk0Mfa6vyPMsO1Y= 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=J03SfK4B; arc=none smtp.client-ip=209.85.218.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="J03SfK4B" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-a46ba938de0so580890766b.3; Mon, 01 Apr 2024 12:49:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712000961; x=1712605761; 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=GGTJQgHYVEHYV+zZnpaby/KS0FGoN58yasNoZmxBwEM=; b=J03SfK4BKLpBPSO+Y/iHPelqERECE25uq056a+ONuZJH00RDy5z7vCJj34r2XBpYJ7 s4How7RO7CarZdU3+vWZl/iX/5Nuub/kfd9vdQctNmnf/3G9R5YWyLbE0aBlKG6rx/GH MeAgs9fcA/UJWNrx0qX2Xuw7R+xGteoJnYit5pvjUHyVyfS8F3jhp66X26UJCZ71hNKV pu83QzDl2CUxzIn0RxY4cDeapUqGA7tGircuS7iHBnwy0J/NZ8mlloeigBihAyL94aOz ZHhZheEfUN1eOXOo76Aj8WnFHJASnU90VqtL0gXEBY9A69oDlhEHknB6NT+gZHXWrAuo Va8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712000961; x=1712605761; 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=GGTJQgHYVEHYV+zZnpaby/KS0FGoN58yasNoZmxBwEM=; b=nZZMouCbHpC4Ylq7DhJX5jyWufu8n1it9L7xmou9d4P9Ng6a5DQLGFLBjWsw65GqyP UZfs1RTWTxnN/LLlw6exN1gQwF8gcGUUjnjFsP0M+LpYwKVjfREipScKKUfUXjvxUvqp DczZqsDiurX0z9XaUj+36up3CoIa3gDT8VJlrQ4NVGCLOIRGhwaN1f2iM2I0JuzD3vVC 9y6aYq/7TsqhHvno1sHcwoV04eVxegktK1e1SgC82WNeKVM/MKCHgPReh/FkcSe31HiH IOxO7UeerLJtua8FhvZu0P1p58vetHovzPCtKAUJ20kQTQ6FvoTYJYFl2YTulLppn7YH eblQ== X-Forwarded-Encrypted: i=1; AJvYcCWvho5Igz8I4MyP0vGwcsJ1zbHt5yOnG6vHJH4RUdaOj3sh47WIwLsZLfjapfSrL6ZLgQLuhk0vxwRAHXR0JUUaz9WAJuOIjqf+7Rn+/X4CQUj3G/kGs8r61ayrhlNhBV44ySw73VVwhA== X-Gm-Message-State: AOJu0Yyu+QnlaURB+ciPZFa3XzvaCJzLmBVExwiPIcR1ZC33jOVdWWyb kweIkJHkkeT85GfihlJ/c+HpNZqWhYMKH21T3HJGG1KbKXzgtlJJ X-Google-Smtp-Source: AGHT+IFHcbVXsvqhwu1pQV9lyecrCN2a6YY77aM84smD+cJXvLTt4e/LHZDmec83/bPZYQy1anJrQQ== X-Received: by 2002:a17:907:72c6:b0:a47:30a1:4c1b with SMTP id du6-20020a17090772c600b00a4730a14c1bmr8424347ejc.55.1712000960922; Mon, 01 Apr 2024 12:49:20 -0700 (PDT) Received: from 13a4f82a8f12.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id dn21-20020a17090794d500b00a4588098c5esm5540575ejc.132.2024.04.01.12.49.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 12:49:20 -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 v7 5/8] iio: accel: adxl345: Pass function pointer to core Date: Mon, 1 Apr 2024 19:49:03 +0000 Message-Id: <20240401194906.56810-6-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240401194906.56810-1-l.rubusch@gmail.com> References: <20240401194906.56810-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 Provide a way for bus specific pre-configuration by adding a function pointer argument to the driver core's probe() function, and keep the driver core implementation bus independent. In case NULL was passed, a regmap_write() shall initialize all bits of the data_format register, else regmap_update() is used. In this way spi and i2c are covered. Signed-off-by: Lothar Rubusch --- drivers/iio/accel/adxl345.h | 3 ++- drivers/iio/accel/adxl345_core.c | 32 +++++++++++++++++++++++++------- drivers/iio/accel/adxl345_i2c.c | 2 +- drivers/iio/accel/adxl345_spi.c | 2 +- 4 files changed, 29 insertions(+), 10 deletions(-) diff --git a/drivers/iio/accel/adxl345.h b/drivers/iio/accel/adxl345.h index 732820d34..e859c01d4 100644 --- a/drivers/iio/accel/adxl345.h +++ b/drivers/iio/accel/adxl345.h @@ -60,6 +60,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 f875a6275..8d4a66d8c 100644 --- a/drivers/iio/accel/adxl345_core.c +++ b/drivers/iio/accel/adxl345_core.c @@ -168,7 +168,8 @@ 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; @@ -179,6 +180,29 @@ int adxl345_core_probe(struct device *dev, struct regmap *regmap) ADXL345_DATA_FORMAT_SELF_TEST); int ret; + if (setup) { + /* Perform optional initial bus specific configuration */ + ret = setup(dev, regmap); + if (ret) + return ret; + + /* Enable full-resolution mode */ + ret = regmap_update_bits(regmap, ADXL345_REG_DATA_FORMAT, + data_format_mask, + ADXL345_DATA_FORMAT_FULL_RES); + if (ret) + return dev_err_probe(dev, ret, + "Failed to set data range\n"); + + } else { + /* Enable full-resolution mode (init all data_format bits) */ + ret = regmap_write(regmap, ADXL345_REG_DATA_FORMAT, + ADXL345_DATA_FORMAT_FULL_RES); + if (ret) + return dev_err_probe(dev, ret, + "Failed to set data range\n"); + } + ret = regmap_read(regmap, ADXL345_REG_DEVID, ®val); if (ret < 0) return dev_err_probe(dev, ret, "Error reading device ID\n"); @@ -203,12 +227,6 @@ int adxl345_core_probe(struct device *dev, struct regmap *regmap) 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, - data_format_mask, 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) 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 Mon Apr 1 19:49:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13612988 Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) (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 5AAC8537EE; Mon, 1 Apr 2024 19:49:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000966; cv=none; b=BuXx0Pmh3V4r+S1ZvchgAkWUByg61fr892abm7z/WOhZGBhtBVhiBKTPN0GDIkPzyDC+lQBXreFO/xLIacrHcIUacQ0X/VkNB9n9dB0t+riJDoK62YzVo9gutavefaaah7Vwo5PFP0fplEFZFR34TqQGqQq2Q+GUKRvARh/U4Cc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000966; c=relaxed/simple; bh=xzt8SWl3KHViH+zyg/KZwkq5Er+lLdNQ8lhXyZZqUSg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=c1zBJyLNU7ZNe4NFREO4pimY/nU7zy4/53DPCtIeqOeV2iK4xTMy7c2cRxReZvXZ8BwZhgFD8uiI04xtYNLSerAf7/Swvvq7o5crODuaPpgAjk2L6prPwhLSyYKRLSUUyNH2sobUIuOCl85AkNgwbXKLV5qqeaBTagsH5Bo+8j8= 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=Fbk4o9N9; arc=none smtp.client-ip=209.85.167.44 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="Fbk4o9N9" Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-513dc9d6938so5308974e87.2; Mon, 01 Apr 2024 12:49:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712000962; x=1712605762; 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=fubKQbTeDO83qP8OCWWXIez2ufZ9jRBr/4WIn+ZDMy4=; b=Fbk4o9N980oTc4ftqrtiHRMUjy0yanrvbE/Q9raMrRyLgYh0vxbQXcQFGcKAEJAzku iX6TTmOo8kD+oUUo1thQdJEirSmu68bCGQTsueUIh9GNVi/B5xN2SS/skpXzfAPS00GE yb8RTPsoPvlRj2dd1ISXLKb07jIIcE+1/Dqy4VDjAY1wthV2be84t3g1S456oiFyLj9b I9F9NM08I4QuG35da2OJVMmHCYNjUxVZJyCWMVh9JVlSeXZg/tAC9tyTVt+S4i16LfqA Hzu8K4dPBiG94XGw5+5THOuG5tZT0OnVq0K0jgsaH6aH+TDiddjWBt/mJMnMh0Ydy8Kz kwCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712000962; x=1712605762; 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=fubKQbTeDO83qP8OCWWXIez2ufZ9jRBr/4WIn+ZDMy4=; b=lJzK0a4ByDVZwd39S/UerkCOyYW+TeFCOIsv47sUnBP1Fj2BaVOJDtJ1rCktzqYJ1X B8NS5ztorqv7ddaiqJePB40qCQabYSwnzjBarmPPoHfooiYyHlWWRa94cR7QrN3hvobU TyjjVFc303jBev/0viT+a3gOA+MDPmsWlbewt2w2Oy9LSKMz005ZbR10JximWyYRkIYy n4r4h6vy6xtbOHEWgjEJSV8mJf7ihdl/KIPV5SVaEGAPG4wzsTmvgAN0IzEy8Yae5Tgr FEsW7EyM0gZWkZi39FMFr+fi9LZ4Oi4GeAyiPKTq8WhEuKScTHg3qCrIDvy3kfvvHklK AFBw== X-Forwarded-Encrypted: i=1; AJvYcCWjVaKHmRY0SOrKCnf4BpPgGt1yvS1f2AEgcu+a/81ZIM2TU6r7Xw93Hy/vpXUGBIBCm33vGW/WNwO/Le29Ln/eMzLkK1Nz/92T24bIl9O7xJ3WTPU4JbrMjGv6S/enjjtR0ziTTdXyLA== X-Gm-Message-State: AOJu0Yycm7/XWZW1j0CX4zCDffWQttcdc+pONaOxkiho+kg8q44rKy5u UqaQQp0DRk3SQIRPWx5If4j5nIYY9dIaXNsPYFXbEFmPeAxKcsdx X-Google-Smtp-Source: AGHT+IFs2YgcgCmIwTNWSK5hbDttoCc2wfGPCuEqFhF/STwWFgmVgNJfLymJYUoof8bjQWs0sIMjLw== X-Received: by 2002:a05:6512:619:b0:515:9abe:6c46 with SMTP id b25-20020a056512061900b005159abe6c46mr6287650lfe.34.1712000962427; Mon, 01 Apr 2024 12:49:22 -0700 (PDT) Received: from 13a4f82a8f12.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id dn21-20020a17090794d500b00a4588098c5esm5540575ejc.132.2024.04.01.12.49.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 12:49:22 -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 v7 6/8] iio: accel: adxl345: Reorder probe initialization Date: Mon, 1 Apr 2024 19:49:04 +0000 Message-Id: <20240401194906.56810-7-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240401194906.56810-1-l.rubusch@gmail.com> References: <20240401194906.56810-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 Bring indio_dev, setup() and data initialization to begin of the probe() function to increase readability. Access members through data pointer to assure implicitely the driver's data instance is correctly initialized and functional. Signed-off-by: Lothar Rubusch --- drivers/iio/accel/adxl345_core.c | 40 ++++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_core.c index 8d4a66d8c..5d0f3243e 100644 --- a/drivers/iio/accel/adxl345_core.c +++ b/drivers/iio/accel/adxl345_core.c @@ -180,14 +180,30 @@ int adxl345_core_probe(struct device *dev, struct regmap *regmap, ADXL345_DATA_FORMAT_SELF_TEST); int ret; + indio_dev = devm_iio_device_alloc(dev, sizeof(*data)); + if (!indio_dev) + return -ENOMEM; + + data = iio_priv(indio_dev); + data->regmap = regmap; + data->info = device_get_match_data(dev); + if (!data->info) + return -ENODEV; + + 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); + if (setup) { /* Perform optional initial bus specific configuration */ - ret = setup(dev, regmap); + ret = setup(dev, data->regmap); if (ret) return ret; /* Enable full-resolution mode */ - ret = regmap_update_bits(regmap, ADXL345_REG_DATA_FORMAT, + ret = regmap_update_bits(data->regmap, ADXL345_REG_DATA_FORMAT, data_format_mask, ADXL345_DATA_FORMAT_FULL_RES); if (ret) @@ -196,14 +212,14 @@ int adxl345_core_probe(struct device *dev, struct regmap *regmap, } else { /* Enable full-resolution mode (init all data_format bits) */ - ret = regmap_write(regmap, ADXL345_REG_DATA_FORMAT, + ret = regmap_write(data->regmap, ADXL345_REG_DATA_FORMAT, ADXL345_DATA_FORMAT_FULL_RES); if (ret) return dev_err_probe(dev, ret, "Failed to set data range\n"); } - ret = regmap_read(regmap, ADXL345_REG_DEVID, ®val); + ret = regmap_read(data->regmap, ADXL345_REG_DEVID, ®val); if (ret < 0) return dev_err_probe(dev, ret, "Error reading device ID\n"); @@ -211,22 +227,6 @@ int adxl345_core_probe(struct device *dev, struct regmap *regmap, return dev_err_probe(dev, -ENODEV, "Invalid device ID: %x, expected %x\n", regval, ADXL345_DEVID); - indio_dev = devm_iio_device_alloc(dev, sizeof(*data)); - if (!indio_dev) - return -ENOMEM; - - data = iio_priv(indio_dev); - data->regmap = regmap; - data->info = device_get_match_data(dev); - if (!data->info) - return -ENODEV; - - 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 measurement mode */ ret = adxl345_powerup(data->regmap); if (ret < 0) From patchwork Mon Apr 1 19:49:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13612989 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (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 911AD5730A; Mon, 1 Apr 2024 19:49:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000967; cv=none; b=M1F967HAMlX0fPzkQtk2TQv1y9ykXkH/gVYuAjl5YGcMPGaz8VN0CNpfDpsJdQDruM5Ab6F3foCTXnkQc4e0HdNsUkljYMPFn9CjaPJT6ZSXFW02LqWogymdtOefXHVwE4OOWX6J/rYGuo/PYsarUgQmF5SPbiyoa0GSQQjmqmg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000967; c=relaxed/simple; bh=igZSiokSHxZZYZbPJ3bqgHJfKaRxjkQxdwMAadgF1wA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=D3vfaWRil43wTiACPjSYKJMm/jkBVauoutgGNqr0nKVQ69gHLFw+G9aYdTDsDbOYcDDEARAJDzwnZdM7GIRIS4LabrR33R5bffxB9sN+BEiKSpRSKHC0p0BBgxBKcKX/VKpuhmlju7KzUL8kiukmHlx9ah4jORINpmFj2nA0Ogw= 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=OmsXM0P3; arc=none smtp.client-ip=209.85.218.45 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="OmsXM0P3" Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-a4e60a64abcso203190366b.1; Mon, 01 Apr 2024 12:49:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712000964; x=1712605764; 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=Z9u6xO0mso3s0p6mb+hwA3wZM2r51h58gapOfOhMuxY=; b=OmsXM0P34FgrDwALrz4NeehDa3vHEtEgEeFkUsE9GzV2qx9yoMo/jDBHMXj7I294bI K9BEvNzMw2AcwBeOHQgMDDJEOnn0dILGXXYymVWz5e5pbgzh/y5aUel8NKE2sprDZsxK gy6Y+R0Yu8gYAWyV1aAVvekNXMZQMbgJJQg8Rgi6312HnZn62dufvq4HZ7YU6ItwDkWI jahfdx+l+3keBCCayVa39HTwzzJeYxLv4qvvyEcNBiKqKjUMusaiq1qrBSYTLoM8N+pN QKUoMy6EKplsJeBOvFHscQO3wmb0OSCP+coXOBIMztWfP/3dj0ND/i5ewwMVTyrI1pD7 FWvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712000964; x=1712605764; 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=Z9u6xO0mso3s0p6mb+hwA3wZM2r51h58gapOfOhMuxY=; b=JCKcaGwjYWcokde7g/+3KyTSttF/MSXVZLGupPZqj89BvjD7HZ4LHhF4/yTdkzwGMs iDzWkUqGJY2eWP0Lyx2Vd4tyR2wbFVy29xMsFH2L+psO41KdgBJuNjP03eXkkCIv2Ls8 ATLnEUTKClJlJhWzBxdOhGYFfV32TfNPrXlrnhJgXtf6FI/JMW+foqW56xMpKQIuQko1 ++a8eQfptkEsMm2/MtbTCfIVEN0zvGvyR587RLkpNCyzutcnWNE1LupiImK5dwgIRcZm f0bzNfzZpVbg/TezZw6VjxoHRDOTlJrRd1Z0Y9/b9On1h1dnsqNhUMOsYzn96ALCEva7 iQ9A== X-Forwarded-Encrypted: i=1; AJvYcCX9PkrrWu66orZ9s1sqWWnH+yuodctcCj42uelXS7llPHSfq8qDNUqiefrdSrAmD4pR70E1nye494fdZIAGeq6TnY6J5Pib1O2nu1xE2+d2bpmz8OHmemzQgo/8QnVz+Jx2YcM/3uMxjA== X-Gm-Message-State: AOJu0YweDomKs+/5ISyEYMe602D3rp0gXs564XGZLjBtlcRVAkvIiq97 e8tmUzXw6pyfdoCqXoxFQT6ZrTIiuofpenLmwWeU8Ls4f4nOJuEH X-Google-Smtp-Source: AGHT+IGrbhHcNHGFHhyx53bSueu6goilXaADw7MGcBw1c8D3DRlP8uz2Z1xUkHW5u2I2LReYwTnrUQ== X-Received: by 2002:a17:906:d0d3:b0:a4e:68af:b1d8 with SMTP id bq19-20020a170906d0d300b00a4e68afb1d8mr3488845ejb.2.1712000963797; Mon, 01 Apr 2024 12:49:23 -0700 (PDT) Received: from 13a4f82a8f12.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id dn21-20020a17090794d500b00a4588098c5esm5540575ejc.132.2024.04.01.12.49.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 12:49:23 -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 v7 7/8] iio: accel: adxl345: Add comment to probe Date: Mon, 1 Apr 2024 19:49:05 +0000 Message-Id: <20240401194906.56810-8-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240401194906.56810-1-l.rubusch@gmail.com> References: <20240401194906.56810-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 comment to the probe() function to describe the passed function pointer argument in particular. Signed-off-by: Lothar Rubusch --- drivers/iio/accel/adxl345_core.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_core.c index 5d0f3243e..006ce66c0 100644 --- a/drivers/iio/accel/adxl345_core.c +++ b/drivers/iio/accel/adxl345_core.c @@ -168,6 +168,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 + * + * Return: 0 on success, negative errno on error + */ int adxl345_core_probe(struct device *dev, struct regmap *regmap, int (*setup)(struct device*, struct regmap*)) { From patchwork Mon Apr 1 19:49:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lothar Rubusch X-Patchwork-Id: 13612990 Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 9CBE657864; Mon, 1 Apr 2024 19:49:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000968; cv=none; b=kNlQq5Yqv0l2NahFJJR70hTLESLQ/AttoT5wtcr3sHXwQO0fVkj1z4NdecctJuoFsgRWk2vJWRY7U9w/cRz8QNrk7ztpkkGh71zadGSM0uQR3s5H0kodOgM5uCfXCI1gpD7qCz9WhV3yocSMBApFvy5GUdx4f3a3MNhZpqf00FA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712000968; c=relaxed/simple; bh=wcU0/V8BT70h2ej/n3TH2PuQobK7ecf6aEFqsZf2Zzg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=eM1ZZtdgaBL/r95nIscY18Z9SlNgC/YBCHYvK2/E6wDGz8r6DDGoE1rgSg+J0rWNL0GuTE/o8FdSKAuBxqiSbJOOFo6xZbZMaT7P4PgT6smwGfm+KYp0O4sM8L2GHGPEg55udacveNDcEyEKm8dcjJ4FnE+w45iijVjV+zslT74= 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=b5DjHbkY; arc=none smtp.client-ip=209.85.208.52 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="b5DjHbkY" Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-55a179f5fa1so5034978a12.0; Mon, 01 Apr 2024 12:49:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712000965; x=1712605765; 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=Z5oZUE6Cc0M0M67CoAZ2nF2cwdSxIisLsw0v4EDbGXc=; b=b5DjHbkYbK/InIeSAmhqeBY4evqP5nrEcbL/bs5jBKgGLX5+wj5aeQVIzrubqbzbf7 nG05OCimk/fZ+2PG3L/4zAmTx9psptcIk4I2w/t73yZ5a3COccYQflkdnQxZVtt/JeEx hLq322A3Lrs7UtehDF4XLXHtugI7z/wltjE5LDrW3JBRMj+xGR7N78+17vBtBPR3JmEh 2WLCceacUk8HQfy5Nh3JnOkGT3PmnHtweQEMqjHFPn68hUIDYS3kYBuM9w6ehyarEB06 wsaXz0qJKhowqgeIaYptLEqLccTNrz8qg0dBRUbxDyj59JqwXb6+wAAH3+Pg7ITA4Y7Z Tdiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712000965; x=1712605765; 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=Z5oZUE6Cc0M0M67CoAZ2nF2cwdSxIisLsw0v4EDbGXc=; b=RWVtmGF8fRhcssgC15V4FIR1TMCMwT/G1l2hM9ugWW1MmNxe7TO8H7+nRT1pjX0/Lq D7F1L0HJRSBkoWOmLFGxTIpeVF19NcOuUnI/xVSE35U1HmrZv7bpqtccq22bxaDlbjrq x5gFo44Mh1lUevZbFQ3ChNIDAttDnsqAqccv4/+l9IgDZZszvFxoxJdPFXrbRSxLE3a3 yTDkVmVwZ3iVYsqnW4xXbeeliJ/P2Cpnj6wSUS2r4vm0jVihlRc/QBisahmPA4Fbxm1t IBj+wMdeAbzuzPYr4SgY/H7GCrpzB3BmW7PoCQeUgVA1FcEMcFyen53KZDCJThzhCwSv G3Jg== X-Forwarded-Encrypted: i=1; AJvYcCXhcp6yNsqH2/1EIc7X9Cbhj8GtC1LDvEKkiEsXDpOaGFu+tWJfVGNBthsuiqq6/RvoWGxyJqOt46W7otpNIiQFObekzQlt8m/rvhibHxSYnArLqGKdZd53w++t5NdEuF7BEa/45Y5ngw== X-Gm-Message-State: AOJu0YxFKvKvbgGkQ/lt5UVUwkrnzUH4xwtB3s1hM0bkB/yKkFjg/v5R oQyhud5oe5rNNbgdZWQzm/X8Y0iQBhdU+3+UZAyTsSLlO2muc5P8KQmH6Zhr7Oo= X-Google-Smtp-Source: AGHT+IFiLwGMMSIpuLh74HW6YtSEVtTpF8V1YJJE4d2OT/UWi6LY0YPWzCHT9au1LSErw9Fjgjqd/A== X-Received: by 2002:a17:906:f58a:b0:a4e:3c1a:d6c with SMTP id cm10-20020a170906f58a00b00a4e3c1a0d6cmr9087899ejd.9.1712000965145; Mon, 01 Apr 2024 12:49:25 -0700 (PDT) Received: from 13a4f82a8f12.v.cablecom.net (84-72-156-211.dclient.hispeed.ch. [84.72.156.211]) by smtp.gmail.com with ESMTPSA id dn21-20020a17090794d500b00a4588098c5esm5540575ejc.132.2024.04.01.12.49.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 12:49:24 -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 v7 8/8] iio: accel: adxl345: Add spi-3wire option Date: Mon, 1 Apr 2024 19:49:06 +0000 Message-Id: <20240401194906.56810-9-l.rubusch@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240401194906.56810-1-l.rubusch@gmail.com> References: <20240401194906.56810-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 when specified in the device-tree. If spi-3wire is not specified in the device-tree, NULL is returned as bus pre-initialization. This behavior is identical to the i2c initialization, hence the default initialization. Signed-off-by: Lothar Rubusch --- drivers/iio/accel/adxl345.h | 1 + drivers/iio/accel/adxl345_spi.c | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/iio/accel/adxl345.h b/drivers/iio/accel/adxl345.h index e859c01d4..3d5c8719d 100644 --- a/drivers/iio/accel/adxl345.h +++ b/drivers/iio/accel/adxl345.h @@ -31,6 +31,7 @@ #define ADXL345_DATA_FORMAT_RANGE GENMASK(1, 0) /* Set the g range */ #define ADXL345_DATA_FORMAT_JUSTIFY BIT(2) /* Left-justified (MSB) mode */ #define ADXL345_DATA_FORMAT_FULL_RES BIT(3) /* Up to 13-bits resolution */ +#define ADXL345_DATA_FORMAT_SPI_3WIRE BIT(6) /* 3-wire SPI mode */ #define ADXL345_DATA_FORMAT_SELF_TEST BIT(7) /* Enable a self test */ #define ADXL345_DATA_FORMAT_2G 0 diff --git a/drivers/iio/accel/adxl345_spi.c b/drivers/iio/accel/adxl345_spi.c index 1c0513bd3..57e16b441 100644 --- a/drivers/iio/accel/adxl345_spi.c +++ b/drivers/iio/accel/adxl345_spi.c @@ -20,6 +20,11 @@ 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) +{ + return regmap_write(regmap, ADXL345_REG_DATA_FORMAT, ADXL345_DATA_FORMAT_SPI_3WIRE); +} + static int adxl345_spi_probe(struct spi_device *spi) { struct regmap *regmap; @@ -33,7 +38,10 @@ 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); + if (spi->mode & SPI_3WIRE) + return adxl345_core_probe(&spi->dev, regmap, adxl345_spi_setup); + else + return adxl345_core_probe(&spi->dev, regmap, NULL); } static const struct adxl345_chip_info adxl345_spi_info = {