From nobody Fri Sep 25 23:12:14 2026 Received: from mail-wm2-f13.google.com (mail-wm2-f13.google.com [74.125.225.141]) (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 706E23CF20A for ; Sun, 20 Sep 2026 18:05:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.141 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789927530; cv=none; b=ftipT77ld61asHDSqDotG5AVDcAWAhWRVqiNdQOVpozleYCJJydc7mpT8su5TNFlOGT9UkENoWgfWnxbYkEmuST5ziVut6jvb2glL/mnQnMdAcLaqK5GcI/waPWDZPff7si3l1Y4X+SW9Dd1YW5qKqBIkMnlsJuGNTl2tzKoMQc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789927530; c=relaxed/simple; bh=BwmxFH2C+DfSY+nIiFts6BYW5ZTNOSbT64e6crQC/pU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LXIH/JPXf23GtHDM28AVl2ThY+rpJ+Rd1o9yoJXOtC5aKaI2ow74hiEfCLu+9QGIdjuLRbAzSOpTr5ZAmeknUXgg6+ToSLQyuadqq2VDpHuH5vriSIrMRyfJILsDLg2gU7Ab69P3LA+3e+4TCKBWJJXDVXtBIqBbW6GqLMY87/Y= 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=ipls20XY; arc=none smtp.client-ip=74.125.225.141 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="ipls20XY" Received: by mail-wm2-f13.google.com with SMTP id 5b1f17b1804b1-49e71cdb22bso16586605e9.2 for ; Sun, 20 Sep 2026 11:05:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789927527; x=1790532327; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=pMQIFtLzEXfAqoUeE/5GZXXM8VqBX7/IdrQeaFnts9Y=; b=ipls20XY/dqXwQSYmTu4BaoImvvvHLaFTirdVKPLe/EZAzSrqRw143zuZhFR33qUBJ ADSYzaUexfGPJzsSa2UrIoe2E2qteyfbFXTkMZc/jYGX16ZBInA2pv0yrLc7HcSU3XC2 2dbvuZdE8X103ELP6v3LDcIkMTD0FZRhrNS1xH0ISx4KNPherMY5juaMbqaNCzCJnldI WYT2p3PFihJUO4ptcndXnFGDmxPi9qEXvTnhcCqmpUqjaJs1jwMMP/XczNgg2I/gFuED zPjPUhgQ1F3EQFzq6HEuuTsLeWizexZ+cyXqDocfmmyhqya6ZXMzijOZtS50h2cztESA NLMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789927527; x=1790532327; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=pMQIFtLzEXfAqoUeE/5GZXXM8VqBX7/IdrQeaFnts9Y=; b=iKoJ2rccvMdL1ICsIBzYmwsn3JTjLeVILfhlq1KCso5hZS37DJp19RrBzEJ6+Ee9El wU/IJZvZwpa54fh8gBUwAJOTR9Moy7idy7Bkpvnh8hDUh8GD/JFc/CKHGKzASQOhzVA9 TjvKZha19KhWrxNLjPirS0dv2JmNvlKamvj4qmXi9uY2ifVU8/uq99EOvlgdYG1N/za+ 79hpyBe2TiQ5OOVclsdIUyCp5qpzbhFVdBc6w+QMFwU+2d/EmF3OQEy3Nv8IsGrCKTKS RcmDi6MNWv1rA3/p1oui4j5vDl5YFWPw/Y0xSfRqm3QH8VEhb3ljJSPUpo+d8/3HrkzQ g4Fg== X-Forwarded-Encrypted: i=1; AKwUvBzYHm3zuEw85YFgJqOUCUlriETL96hkQlRSR1tudzXt38kaAxNoCJaj5H2MIYYHgC8iDQAbylDVfX5vvfI=@vger.kernel.org X-Gm-Message-State: AFuF++ldj5urzu4bNacx6h8N90RwmUWoGyvQNkiK2/XOXS/d17+fpApr ETzcTRbfrIXRM1AeY94JwQ1vTyf5Zk23vk21FEw0KsR9yg+FuDaKqSHf X-Gm-Gg: AYBFou2kgw6mERgwE5DywiJs0f2no72esJJQUEiS91G4zpKWpOCQ0fSH3aqerq92XNC jkZ995U28IIo4MqvCamqPzT5VQHzavCt3iKe5BBg/vyBMNYyJwiT+JPpTngXIKihOVS54ETz8zb +mrAaecTq6k/pZ339lgU7rWGGXECk4yI4w98P99sdA4nY2PVIC8H2aIXjfTNs6mOBWzvsw/O0QC FYc1f/qtY9WPc4a4RfyZrph3G+jcvsuHEkvaZytxS3EelV699KKFh7cPrA1pLL7VGAA8I4eDJAb 4uwPWuC2fykWFH6NjN6HtF4uCPJTq3cKL7bUA7uExAvgQr67OsBc4QYxQw0YEXtHVtXckV4JUnn EXJ/8z855J0TDSxqLjTTEG/HBqUvT219a81Zt2sxSnGzoDdUrKvnTCKBXaFnVG+Vgas+JrqWA8X FJV/4p23IZS4xP+wZJYZeLtJgAS2XCMBNVJW8vg0Wu+tuvTcfTeNUdWW4kBSEXMKrUjeXruoZ5Y sME3/ofsZYUTkW5Sgzn5As35lXrWExsrNI09C24+qm59wANLdUqva5QKHt4rAyu/4p7RXV0P2rW yOR4cQpZb8uTzzUE1KEXfmKnLOladjYSkQS01+fzahkPHoDH2dYKCg2Vg+4LNF9W/5GMunlpxta QMjhopp/cczHaxr7GACing9eGmSfTz8uxulA= X-Received: by 2002:a05:600c:6309:b0:49e:6b55:22b8 with SMTP id 5b1f17b1804b1-49fc5669353mr108129965e9.4.1789927526579; Sun, 20 Sep 2026 11:05:26 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0::f9f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49fcd0f7b9bsm164648055e9.5.2026.09.20.11.05.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Sep 2026 11:05:26 -0700 (PDT) From: Joshua Crofts Date: Sun, 20 Sep 2026 20:05:23 +0200 Subject: [PATCH v9 1/5] iio: magnetometer: ak8975: switch to using managed resources Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260920-ak8975-cleanup-v9-1-1b0f00ec19ef@gmail.com> References: <20260920-ak8975-cleanup-v9-0-1b0f00ec19ef@gmail.com> In-Reply-To: <20260920-ak8975-cleanup-v9-0-1b0f00ec19ef@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts , Andy Shevchenko X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789927524; l=5704; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=OAFebd1XqhPLIm0Fc8MFZqjA1WKWD2dGwHfG18EEwB4=; b=yD2mRsiPLjvzli1PdtqX82j0QCxo3Tb8REjRM/85MN1dNpn63XW8FysudD9qvUIE5VEpC5dRx SniqBJ+IDMbDISexkkwsZCvVNWOv1aiSMgb2pcxNvkV8mk1mJZdPH0V X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= From: Andy Shevchenko Switch the driver to use managed resources (devm_*) which simplifier error handling and allows removing ak8975_remove() method from the driver. Note, on error path we now also set mode to POWER_DOWN state which is fine. Even if the device is in that mode, there is no problem to set that mode again, it should be no-op. Additionally, remove any pm_runtime_get/put*() function calls that dummy cycled the counter to autosuspend the device. Signed-off-by: Andy Shevchenko Co-developed-by: Joshua Crofts Signed-off-by: Joshua Crofts --- drivers/iio/magnetometer/ak8975.c | 80 +++++++++++++++++++++--------------= ---- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/a= k8975.c index 8b0c07f82602..d217fdf34bce 100644 --- a/drivers/iio/magnetometer/ak8975.c +++ b/drivers/iio/magnetometer/ak8975.c @@ -418,6 +418,7 @@ struct ak8975_data { wait_queue_head_t data_ready_queue; unsigned long flags; u8 cntl_cache; + bool powered_on; struct iio_mount_matrix orientation; struct regulator *vdd; struct regulator *vid; @@ -430,7 +431,7 @@ struct ak8975_data { }; =20 /* Enable attached power regulator if any. */ -static int ak8975_power_on(const struct ak8975_data *data) +static int ak8975_power_on(struct ak8975_data *data) { int ret; =20 @@ -457,16 +458,22 @@ static int ak8975_power_on(const struct ak8975_data *= data) */ fsleep(500); =20 + data->powered_on =3D true; return 0; } =20 /* Disable attached power regulator if any. */ -static void ak8975_power_off(const struct ak8975_data *data) +static void ak8975_power_off(struct ak8975_data *data) { + if (!data->powered_on) + return; + gpiod_set_value_cansleep(data->reset_gpiod, 1); =20 regulator_disable(data->vid); regulator_disable(data->vdd); + + data->powered_on =3D false; } =20 /* @@ -934,9 +941,23 @@ static const struct iio_buffer_setup_ops ak8975_buffer= _setup_ops =3D { .preenable =3D ak8975_buffer_preenable, .postdisable =3D ak8975_buffer_postdisable, }; + +static void devm_ak8975_power_off(void *data) +{ + struct ak8975_data *ak =3D data; + + if (!ak->powered_on) + return; + + /* Soft-stop the chip before hard-stopping the regulators */ + ak8975_set_mode(data, POWER_DOWN); + ak8975_power_off(data); +} + static int ak8975_probe(struct i2c_client *client) { const struct i2c_device_id *id =3D i2c_client_get_device_id(client); + struct device *dev =3D &client->dev; struct ak8975_data *data; struct iio_dev *indio_dev; struct gpio_desc *eoc_gpiod; @@ -1004,10 +1025,14 @@ static int ak8975_probe(struct i2c_client *client) if (ret) return ret; =20 + ret =3D devm_add_action_or_reset(dev, devm_ak8975_power_off, data); + if (ret) + return ret; + ret =3D ak8975_who_i_am(data, data->def->type); if (ret) { dev_err(&client->dev, "Unexpected device\n"); - goto power_off; + return ret; } dev_dbg(&client->dev, "Asahi compass chip %s\n", name); =20 @@ -1015,10 +1040,13 @@ static int ak8975_probe(struct i2c_client *client) ret =3D ak8975_setup(data); if (ret) { dev_err(&client->dev, "%s initialization fails\n", name); - goto power_off; + return ret; } =20 - mutex_init(&data->lock); + ret =3D devm_mutex_init(dev, &data->lock); + if (ret) + return ret; + indio_dev->channels =3D ak8975_channels; indio_dev->num_channels =3D ARRAY_SIZE(ak8975_channels); indio_dev->info =3D &ak8975_info; @@ -1026,52 +1054,33 @@ static int ak8975_probe(struct i2c_client *client) indio_dev->modes =3D INDIO_DIRECT_MODE; indio_dev->name =3D name; =20 - ret =3D iio_triggered_buffer_setup(indio_dev, NULL, ak8975_handle_trigger, - &ak8975_buffer_setup_ops); + ret =3D devm_iio_triggered_buffer_setup(dev, indio_dev, NULL, + ak8975_handle_trigger, + &ak8975_buffer_setup_ops); if (ret) { dev_err(&client->dev, "triggered buffer setup failed\n"); - goto power_off; + return ret; } =20 - ret =3D iio_device_register(indio_dev); + pm_runtime_set_active(dev); + ret =3D devm_pm_runtime_enable(dev); + if (ret) + return ret; + + ret =3D devm_iio_device_register(dev, indio_dev); if (ret) { dev_err(&client->dev, "device register failed\n"); - goto cleanup_buffer; + return ret; } =20 - /* Enable runtime PM */ - pm_runtime_get_noresume(&client->dev); - pm_runtime_set_active(&client->dev); - pm_runtime_enable(&client->dev); /* * The device comes online in 500us, so add two orders of magnitude * of delay before autosuspending: 50 ms. */ pm_runtime_set_autosuspend_delay(&client->dev, 50); pm_runtime_use_autosuspend(&client->dev); - pm_runtime_put(&client->dev); =20 return 0; - -cleanup_buffer: - iio_triggered_buffer_cleanup(indio_dev); -power_off: - ak8975_power_off(data); - return ret; -} - -static void ak8975_remove(struct i2c_client *client) -{ - struct iio_dev *indio_dev =3D i2c_get_clientdata(client); - struct ak8975_data *data =3D iio_priv(indio_dev); - - pm_runtime_get_sync(&client->dev); - pm_runtime_put_noidle(&client->dev); - pm_runtime_disable(&client->dev); - iio_device_unregister(indio_dev); - iio_triggered_buffer_cleanup(indio_dev); - ak8975_set_mode(data, POWER_DOWN); - ak8975_power_off(data); } =20 static int ak8975_runtime_suspend(struct device *dev) @@ -1165,7 +1174,6 @@ static struct i2c_driver ak8975_driver =3D { .acpi_match_table =3D ak_acpi_match, }, .probe =3D ak8975_probe, - .remove =3D ak8975_remove, .id_table =3D ak8975_id, }; module_i2c_driver(ak8975_driver); --=20 2.55.0 From nobody Fri Sep 25 23:12:14 2026 Received: from mail-wm2-f13.google.com (mail-wm2-f13.google.com [74.125.225.141]) (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 0B80D44064C for ; Sun, 20 Sep 2026 18:05:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.141 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789927530; cv=none; b=JIO//Oet2pu65uTwONPJGmLyJ8+biHUzgrkHz+EAKSH4F2z6LtoOhIWFxuG7nPkxL21bhIO/UAfGqj6V/efBAaDiuCqYztwjIjb9RoT9wm1jzhDNYM0SCr9aTuvJr4bpbNwZLLXD1/wkzaEU9cZzFur3wang1Lwd0kIcw/5qetM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789927530; c=relaxed/simple; bh=oi3+wQ1KpLiTezfjKyRL/LKSMBXvmjgVdRtMkOTKWtM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mh3dj/nnwbIG5iMlXHbPHvV+1FeGMbPxpFky8VA5nZCiiiQosX/KBGTe6RArBNNbj+f7Ns+jRmt7YEbofIEP8VurX/xSyQCyBR2terpm2JKdjxGmyWYmsBsHkEBomWi2MJhSS0W24js/GFviNJMpxwX4tymg8iTnaYiu6lnb3so= 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=T9xpQ215; arc=none smtp.client-ip=74.125.225.141 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="T9xpQ215" Received: by mail-wm2-f13.google.com with SMTP id 5b1f17b1804b1-49e79a408deso12393715e9.2 for ; Sun, 20 Sep 2026 11:05:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789927527; x=1790532327; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=gsqm4cPewXVzaiuJiVzcpJTsZHj6gKfFyJeJ9ki9Dwk=; b=T9xpQ215KfQ/0VjchjrKVVu310DS8VshZ6QORjRtkox9O8bNvCGYgt3iVDuQ2TspP5 RoHDEUXYKHSzkbfgkac+vd8ZYwcvTd6wcT9uXJvWTXliX1pnNAFHa6FprZW2Y+5te2wY 0gJS6EUJnB2mAWRY2yfHVOi4/RJ3rC/APoyUWfsdsLuV1PN0U4RsqaxxJQEmfMrGtT8U NxfqsJD5gT0WWtS7CUa5D5DGSPSxjPQupBXs79qTgkArGzcoT27Y1rfWofpkIRYFePcy 0a6TMOQwt02KsTIy1QaCuSzPek/PVxyDsgoYGhV/Btyq6xjHl7BEClNKfcA23h1L+LfH 2quQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789927527; x=1790532327; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=gsqm4cPewXVzaiuJiVzcpJTsZHj6gKfFyJeJ9ki9Dwk=; b=B/J6eC+KvKTcBuwNX9DDQ8gciFSvUIND1CyDsc66gJ59Jm+Sek3Ug8eBF2AaFoa925 EEY8AQglgXGAk2FNQgwvsPRfp/j5i16/sBQMH6p3HRuBgE0Uv3tLgDSfplaXYZbVpQpM yqVV50H44xtqbekmILUj/I/4z5ZLA2yyrBBj+I1cA6zrgCt0k+/WPkMRVXQ3jmxdkyII w13+dGIs3FXAzB9TsWZ/pvmC9D8ZUeW3llFmMZ9h8riaRCqHnRVZmizVDTc2AR4xhAdU w4DdnAhamgFZdjenJ1DkK2qPhBbajeqCBFXsQlRluT4Oz3mBimrBWTODOLCYTPqkpm8R /DIA== X-Forwarded-Encrypted: i=1; AKwUvBzBzwEVr1PbaTN3jBBEhbXBcuLwNYLoNnOrS+TOr1uzhpLz4njNdQAFsxGfmrLNYLbajrtZHwV/aMbTGrw=@vger.kernel.org X-Gm-Message-State: AFuF++nrGDWMO5UNGWF6eI6j7/EbS1tvxQIaJyRSdDy5H9G23ZJbdTDg GIdHRRNhQlVeybbcsLeHJy2n13fVfnhm+UtApJ3ibuNs8rAnEwOjk4uJ X-Gm-Gg: AYBFou0NY0VUwnL16Yr3pwR759DMnm8N2BQnpHyAzaqvH2cp5KSNCd9Ug5v/yTc0jEo rlRty9mfO24+gOm+nMl1eBS96lN0vbiICUY3/8YOI4tvO09tzNgi81Bv53LxueKCMLLNoO581wM AxaWv7scPWwqYTtMsiLjFkxVPYXlsaBCJUfsIiI33Dqgm5MsulbWLfo6/y8RuNEtnukfECiFEjL v79v8fcCsm+ksXq6OTMV5ixw823VNCBlKJPe4MWG8pLgi1DsbPeRHcID0aoz994kutO7sHMhUm/ 1eL9G4kxiaH3r0X50qi3MMAb12bwKLy7DUa0GZ9sKnFzh79rf9HJGm7FfDyAUdraguHFauN3G1X 9rpDNACgDdo4BWTxNFaytT+kQKTYEZ/XyLlg7KJ/UocZojFrCkpfdO6m5MiA4LSfhWZvYs1waQj muNnU4kd70JceCofqOZ/ioqjUsz12WufhbzH1NpmQWI/4s1B6yhCCNV6SL5mNeqgI6uUYd38rkK ttAymO6zZORVsM+MaP+in6T8LTajO1wkv0JZSFoKOzY2OmaMNC42lvqH2a8NrxCWPxfP7yCTH+w bzLA+xlUI+CwvXIcl4BbRxY+Rj8oaLtEmt24ZuYKjzb5KvrNp8s27losYBML4GhrlMYrwRO3X9p lfeB1x38LOkoQ4+LHRpDTdCmtgb/MjQtPzVU= X-Received: by 2002:a05:600c:4e46:b0:49e:642a:4f6f with SMTP id 5b1f17b1804b1-49fc585e9edmr115541405e9.33.1789927527400; Sun, 20 Sep 2026 11:05:27 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0::f9f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49fcd0f7b9bsm164648055e9.5.2026.09.20.11.05.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Sep 2026 11:05:27 -0700 (PDT) From: Joshua Crofts Date: Sun, 20 Sep 2026 20:05:24 +0200 Subject: [PATCH v9 2/5] iio: magnetometer: ak8975: unify messages with help of dev_err_probe() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260920-ak8975-cleanup-v9-2-1b0f00ec19ef@gmail.com> References: <20260920-ak8975-cleanup-v9-0-1b0f00ec19ef@gmail.com> In-Reply-To: <20260920-ak8975-cleanup-v9-0-1b0f00ec19ef@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts , Andy Shevchenko X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789927524; l=2774; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=pFfPcnzF8pUVPHOu2K48QMZEOPcPrcWHrj1EG+t2DZc=; b=poOj6zH2spN3oNlZcqPZLy9icG/xlgfcoDytiqpMUuOcdWZwllmr54RUviG9OsG/+9kxj31Ro fc5uE26WXbYA5kzV7MKO1cVGrvoMMH6oEpz/p/9WMeCYLPYJxA15zP4 X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= From: Andy Shevchenko Unify error messages that might appear during probe phase by switching to use dev_err_probe(). Signed-off-by: Andy Shevchenko Reviewed-by: Nuno S=C3=A1 Signed-off-by: Joshua Crofts --- drivers/iio/magnetometer/ak8975.c | 37 +++++++++++++----------------------= -- 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/a= k8975.c index d217fdf34bce..59a7bb83a731 100644 --- a/drivers/iio/magnetometer/ak8975.c +++ b/drivers/iio/magnetometer/ak8975.c @@ -501,14 +501,10 @@ static int ak8975_who_i_am(const struct ak8975_data *= data, AK09912_REG_WIA1, sizeof(wia_val), wia_val); - if (ret < 0) { - dev_err(&client->dev, "Error reading WIA\n"); - return ret; - } - if (ret !=3D sizeof(wia_val)) { - dev_err(&client->dev, "Error reading WIA\n"); - return -EIO; - } + if (ret < 0) + return dev_err_probe(&client->dev, ret, "Error reading WIA\n"); + if (ret !=3D sizeof(wia_val)) + return dev_err_probe(&client->dev, -EIO, "Error reading WIA\n"); =20 if (wia_val[0] !=3D AK8975_DEVICE_ID) return -ENODEV; @@ -1030,18 +1026,15 @@ static int ak8975_probe(struct i2c_client *client) return ret; =20 ret =3D ak8975_who_i_am(data, data->def->type); - if (ret) { - dev_err(&client->dev, "Unexpected device\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "Unexpected device\n"); + dev_dbg(&client->dev, "Asahi compass chip %s\n", name); =20 /* Perform some basic start-of-day setup of the device. */ ret =3D ak8975_setup(data); - if (ret) { - dev_err(&client->dev, "%s initialization fails\n", name); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "%s initialization fails\n", name); =20 ret =3D devm_mutex_init(dev, &data->lock); if (ret) @@ -1057,10 +1050,8 @@ static int ak8975_probe(struct i2c_client *client) ret =3D devm_iio_triggered_buffer_setup(dev, indio_dev, NULL, ak8975_handle_trigger, &ak8975_buffer_setup_ops); - if (ret) { - dev_err(&client->dev, "triggered buffer setup failed\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "triggered buffer setup failed\n"); =20 pm_runtime_set_active(dev); ret =3D devm_pm_runtime_enable(dev); @@ -1068,10 +1059,8 @@ static int ak8975_probe(struct i2c_client *client) return ret; =20 ret =3D devm_iio_device_register(dev, indio_dev); - if (ret) { - dev_err(&client->dev, "device register failed\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "device register failed\n"); =20 /* * The device comes online in 500us, so add two orders of magnitude --=20 2.55.0 From nobody Fri Sep 25 23:12:14 2026 Received: from mail-wm2-f13.google.com (mail-wm2-f13.google.com [74.125.225.141]) (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 36E55470EB2 for ; Sun, 20 Sep 2026 18:05:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.141 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789927532; cv=none; b=fOzhtwZwYsow/GAdeOaIeRk8TZum2iq/QQsWSg7FOsOlqGWeQ4YaTRQ9bzE+YuEUXF4RUs2m1IKwpewVhOfkFUn4AUOpJGqzvx3JV4FKMwgUJ7gA3bkM3zidvxAJrmX0Vdx/5GpJ7cS6TzEYJbhVHQRj87j7aUdmUZr2vslgm78= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789927532; c=relaxed/simple; bh=YgCqOrWQxVJ9FlU8nNZ/kRHpsjDAdbKIMAISWP9FdQc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WsDMYCJmCnvy+5qvg3kodXzbdFtMixpxPvxqhLcZqk86gxfpfSwg5KHwMXkFa7BlBm/Pt9DerBtd5zG81ijXxn+3YxUxS0Onvvp4lX6cBRI9HizIJ/2rdhcxzeSuRATPTUdbV7iKIYNUL2P+8r5qReuCuUcGSw+T3PCmhzAwMio= 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=fhJDI0Wh; arc=none smtp.client-ip=74.125.225.141 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="fhJDI0Wh" Received: by mail-wm2-f13.google.com with SMTP id 5b1f17b1804b1-49e71cdb22bso16586665e9.2 for ; Sun, 20 Sep 2026 11:05:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789927528; x=1790532328; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=wcqgoArmWocaqUGN27gh98cUQRMjwBxwt3AvnyaBbC0=; b=fhJDI0WhNqk2oSE3sTpAqWtDnzU30RE45zaWkKMjGUq01QJhqGzY3oC3iPE9/176NH XhfUe+BoZJV6rj9AtqpmfhlzRaiu1P/t38Mb7KqyG8gHeZ+KV+xE9ZxEAM0fEpUw1Zb5 MWUcKk1TTPVpstjzBeo2Sy8gJsPk2NJUBBoeId/noOmYDWxJr6qL3EEXWvLWkS46kxx5 ho6DmH4/MhAmK2DMYkMY1JRELX4D41sSaTtfnp8vIp7mDlo/keDdLXFDd597Ue0WT3i6 KgiNcE0NMj+XP1PcI8kEHu0fcpZSAXxtiCo6Ogjn4/gNzlho7OQl4IVo/v8D9kw3/Rl/ /OgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789927528; x=1790532328; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=wcqgoArmWocaqUGN27gh98cUQRMjwBxwt3AvnyaBbC0=; b=vZRJMHN7GVvyrOp1HunlNuHb6209OEuf3lVNH4MwdiwTCTiYh7Iu0pOq0SzVxWTaw6 0dvXJO8YGuxNTpJL5cjnrhcE0gGjtawMTXF5xe+liIMRho/QkOpynFMPeS1Lc/a3JAnk un69T4lN5I2kYMFVza2J975MHvKVWA2swx7QuTg9X25sH/3mwPS6h1wEJA3dYwEjKnPy EGBneIVAxzEWmPeIpIIsX36j+ewiTqNJa4GlC9FIvxLRbMbtpLom+A9TmrXDO/Z6cDc5 sw5rvQPhUsnLdFqFqoaDGQCwYKict3GjzNZg0gAreF/VDDeeV67/TBT9T/cIHRT/PnS+ 08ew== X-Forwarded-Encrypted: i=1; AKwUvByNP9Po4UAPkhC2YArEbDIDMLEuJkkssUuC+Bme1S1XaFAyuHC+maeSQls/FhhhkvwXCeu0KIduQ4wNxzY=@vger.kernel.org X-Gm-Message-State: AFuF++ksKFGLI9n9LQuKPcXCaSvyBS4KNiEkaFoKcwh1uFIjovoIQyPi 479jYd6TnwPGsSxm6PqQaftKV+w1Be/vUmnFjZclFZVou9Rd8jLCbi5g X-Gm-Gg: AYBFou0OBJ6FalDd0uCfucnrEgBi7Y4kJucOUSRXqGn3EbZ11KXtCnuTV41x2VkaEpI T8duiQZ3tqqFQKgjtAwS3z8uKg6tRMkujTyaxRza9UvX9LO63pS4PLrvd4Ca1jGamuMtkcn3kgP V4S4NOgNJjhbB7VR7WEG1ZupPTpQA3IZo07I9s7xJK4ICoIBLtJuJGjjhy8+k+Jm02SiYFfaon4 0gC9QB3nVuWBQejWOVRvqKRVKF2n03AO28nroUVb5CRtDYNkqkvnvKfmjOVL9NI3viXRSMYMjZD K+4qEd3XzB7RV/T54zoGIwiqiSQOj5GfqGTUZpYE0VUCX3XxxIksx9tLrTgyi8YigE/SAJ6H9SZ KkyBpEgA48Owgb03Ym6IfWR75I+2ox0V692z96i05lLbAFys9iYXtV/J2r6BsveRI7LD+rlPBEt eAjUyWxxW4w8875oMb60IcDKWe3CtAM3665TmvUq6bCL/jvxMlmoU40EmRc2lXESHUMBivmIBF4 zoZi14U24qGNtn0OAV285JiLB64ZbRXTOmzN7QZShSsR8NMBnO7tcqO5QnNxarI7Kfpb50bP6EL Lw0gVeMZ26Na8uri3/C5bOCWgK9MuM8DjG9FurEYkYT5P28v4gsh0b5NBGX2ZtJ108fAG6hdzGJ kes5l+QagAEo2Eu2r8Fah39TzuoajzpR1TR6ABkG+5giVPg== X-Received: by 2002:a05:600c:4f09:b0:493:aa0a:45ad with SMTP id 5b1f17b1804b1-49fc56692c6mr115229405e9.2.1789927528351; Sun, 20 Sep 2026 11:05:28 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0::f9f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49fcd0f7b9bsm164648055e9.5.2026.09.20.11.05.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Sep 2026 11:05:27 -0700 (PDT) From: Joshua Crofts Date: Sun, 20 Sep 2026 20:05:25 +0200 Subject: [PATCH v9 3/5] iio: magnetometer: ak8975: use temporary variable for struct device Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260920-ak8975-cleanup-v9-3-1b0f00ec19ef@gmail.com> References: <20260920-ak8975-cleanup-v9-0-1b0f00ec19ef@gmail.com> In-Reply-To: <20260920-ak8975-cleanup-v9-0-1b0f00ec19ef@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts , Andy Shevchenko X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789927524; l=8345; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=pQ2sT/6TLCQz8CRTj1fj/jJzxcC1GLC9Mr0TP4ugBFU=; b=uwDRET1cn92/LUbE3/IdCFE9JScqH/8OTTrvf+yXNpCEcc7WO8xCDmxVRxGwmVNRGDtv0FQa3 bojCudeqOLVDE7uJn/g5J0Jg38hsTAWCWVP9WDAaSKuYZkEfp29ffGX X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= From: Andy Shevchenko Use temporary variable for struct device to make code neater. Signed-off-by: Andy Shevchenko Reviewed-by: Nuno S=C3=A1 Signed-off-by: Joshua Crofts --- drivers/iio/magnetometer/ak8975.c | 65 +++++++++++++++++++----------------= ---- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/a= k8975.c index 59a7bb83a731..42f6892f4efd 100644 --- a/drivers/iio/magnetometer/ak8975.c +++ b/drivers/iio/magnetometer/ak8975.c @@ -433,18 +433,17 @@ struct ak8975_data { /* Enable attached power regulator if any. */ static int ak8975_power_on(struct ak8975_data *data) { + struct device *dev =3D &data->client->dev; int ret; =20 ret =3D regulator_enable(data->vdd); if (ret) { - dev_warn(&data->client->dev, - "Failed to enable specified Vdd supply\n"); + dev_warn(dev, "Failed to enable specified Vdd supply\n"); return ret; } ret =3D regulator_enable(data->vid); if (ret) { - dev_warn(&data->client->dev, - "Failed to enable specified Vid supply\n"); + dev_warn(dev, "Failed to enable specified Vid supply\n"); regulator_disable(data->vdd); return ret; } @@ -580,6 +579,7 @@ static irqreturn_t ak8975_irq_handler(int irq, void *da= ta) static int ak8975_setup_irq(struct ak8975_data *data) { struct i2c_client *client =3D data->client; + struct device *dev =3D &client->dev; int irq; int ret; =20 @@ -590,9 +590,8 @@ static int ak8975_setup_irq(struct ak8975_data *data) else irq =3D gpiod_to_irq(data->eoc_gpiod); =20 - ret =3D devm_request_irq(&client->dev, irq, ak8975_irq_handler, - IRQF_TRIGGER_RISING, - dev_name(&client->dev), data); + ret =3D devm_request_irq(dev, irq, ak8975_irq_handler, IRQF_TRIGGER_RISIN= G, + dev_name(dev), data); if (ret) return ret; =20 @@ -608,12 +607,13 @@ static int ak8975_setup_irq(struct ak8975_data *data) static int ak8975_setup(struct ak8975_data *data) { struct i2c_client *client =3D data->client; + struct device *dev =3D &client->dev; int ret; =20 /* Write the fused rom access mode. */ ret =3D ak8975_set_mode(data, FUSE_ROM); if (ret < 0) { - dev_err(&client->dev, "Error in setting fuse access mode\n"); + dev_err(dev, "Error in setting fuse access mode\n"); return ret; } =20 @@ -623,26 +623,25 @@ static int ak8975_setup(struct ak8975_data *data) sizeof(data->asa), data->asa); if (ret < 0) { - dev_err(&client->dev, "Not able to read asa data\n"); + dev_err(dev, "Not able to read asa data\n"); return ret; } if (ret !=3D sizeof(data->asa)) { - dev_err(&client->dev, "Error reading asa data\n"); + dev_err(dev, "Error reading asa data\n"); return -EIO; } =20 /* After reading fuse ROM data set power-down mode */ ret =3D ak8975_set_mode(data, POWER_DOWN); if (ret < 0) { - dev_err(&client->dev, "Error in setting power-down mode\n"); + dev_err(dev, "Error in setting power-down mode\n"); return ret; } =20 if (data->eoc_gpiod || client->irq > 0) { ret =3D ak8975_setup_irq(data); if (ret < 0) { - dev_err(&client->dev, - "Error setting data ready interrupt\n"); + dev_err(dev, "Error setting data ready interrupt\n"); return ret; } } @@ -748,10 +747,11 @@ static int ak8975_read_axis(struct iio_dev *indio_dev= , int index, int *val) struct ak8975_data *data =3D iio_priv(indio_dev); const struct i2c_client *client =3D data->client; const struct ak_def *def =3D data->def; + struct device *dev =3D &data->client->dev; __le16 rval; int ret; =20 - pm_runtime_get_sync(&data->client->dev); + pm_runtime_get_sync(dev); =20 mutex_lock(&data->lock); =20 @@ -773,20 +773,20 @@ static int ak8975_read_axis(struct iio_dev *indio_dev= , int index, int *val) /* Read out ST2 for release lock on measurement data. */ ret =3D i2c_smbus_read_byte_data(client, data->def->ctrl_regs[ST2]); if (ret < 0) { - dev_err(&client->dev, "Error in reading ST2\n"); + dev_err(dev, "Error in reading ST2\n"); goto exit; } =20 if (ret & (data->def->ctrl_masks[ST2_DERR] | data->def->ctrl_masks[ST2_HOFL])) { - dev_err(&client->dev, "ST2 status error 0x%x\n", ret); + dev_err(dev, "ST2 status error 0x%x\n", ret); ret =3D -EINVAL; goto exit; } =20 mutex_unlock(&data->lock); =20 - pm_runtime_put_autosuspend(&data->client->dev); + pm_runtime_put_autosuspend(dev); =20 /* Swap bytes and convert to valid range. */ *val =3D clamp_t(s16, le16_to_cpu(rval), -def->range, def->range); @@ -795,8 +795,8 @@ static int ak8975_read_axis(struct iio_dev *indio_dev, = int index, int *val) =20 exit: mutex_unlock(&data->lock); - pm_runtime_put_autosuspend(&data->client->dev); - dev_err(&client->dev, "Error in reading axis\n"); + pm_runtime_put_autosuspend(dev); + dev_err(dev, "Error in reading axis\n"); return ret; } =20 @@ -966,7 +966,7 @@ static int ak8975_probe(struct i2c_client *client) * We may not have a GPIO based IRQ to scan, that is fine, we will * poll if so. */ - eoc_gpiod =3D devm_gpiod_get_optional(&client->dev, NULL, GPIOD_IN); + eoc_gpiod =3D devm_gpiod_get_optional(dev, NULL, GPIOD_IN); if (IS_ERR(eoc_gpiod)) return PTR_ERR(eoc_gpiod); gpiod_set_consumer_name(eoc_gpiod, "ak_8975"); @@ -976,13 +976,12 @@ static int ak8975_probe(struct i2c_client *client) * deassert reset on ak8975_power_on() and assert reset on * ak8975_power_off(). */ - reset_gpiod =3D devm_gpiod_get_optional(&client->dev, - "reset", GPIOD_OUT_HIGH); + reset_gpiod =3D devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH); if (IS_ERR(reset_gpiod)) return PTR_ERR(reset_gpiod); =20 /* Register with IIO */ - indio_dev =3D devm_iio_device_alloc(&client->dev, sizeof(*data)); + indio_dev =3D devm_iio_device_alloc(dev, sizeof(*data)); if (indio_dev =3D=3D NULL) return -ENOMEM; =20 @@ -994,7 +993,7 @@ static int ak8975_probe(struct i2c_client *client) data->reset_gpiod =3D reset_gpiod; data->eoc_irq =3D 0; =20 - ret =3D iio_read_mount_matrix(&client->dev, &data->orientation); + ret =3D iio_read_mount_matrix(dev, &data->orientation); if (ret) return ret; =20 @@ -1004,16 +1003,16 @@ static int ak8975_probe(struct i2c_client *client) return -ENODEV; =20 /* If enumerated via firmware node, fix the ABI */ - if (dev_fwnode(&client->dev)) - name =3D dev_name(&client->dev); + if (dev_fwnode(dev)) + name =3D dev_name(dev); else name =3D id->name; =20 /* Fetch the regulators */ - data->vdd =3D devm_regulator_get(&client->dev, "vdd"); + data->vdd =3D devm_regulator_get(dev, "vdd"); if (IS_ERR(data->vdd)) return PTR_ERR(data->vdd); - data->vid =3D devm_regulator_get(&client->dev, "vid"); + data->vid =3D devm_regulator_get(dev, "vid"); if (IS_ERR(data->vid)) return PTR_ERR(data->vid); =20 @@ -1029,7 +1028,7 @@ static int ak8975_probe(struct i2c_client *client) if (ret) return dev_err_probe(dev, ret, "Unexpected device\n"); =20 - dev_dbg(&client->dev, "Asahi compass chip %s\n", name); + dev_dbg(dev, "Asahi compass chip %s\n", name); =20 /* Perform some basic start-of-day setup of the device. */ ret =3D ak8975_setup(data); @@ -1066,8 +1065,8 @@ static int ak8975_probe(struct i2c_client *client) * The device comes online in 500us, so add two orders of magnitude * of delay before autosuspending: 50 ms. */ - pm_runtime_set_autosuspend_delay(&client->dev, 50); - pm_runtime_use_autosuspend(&client->dev); + pm_runtime_set_autosuspend_delay(dev, 50); + pm_runtime_use_autosuspend(dev); =20 return 0; } @@ -1082,7 +1081,7 @@ static int ak8975_runtime_suspend(struct device *dev) /* Set the device in power down if it wasn't already */ ret =3D ak8975_set_mode(data, POWER_DOWN); if (ret < 0) { - dev_err(&client->dev, "Error in setting power-down mode\n"); + dev_err(dev, "Error in setting power-down mode\n"); return ret; } /* Next cut the regulators */ @@ -1106,7 +1105,7 @@ static int ak8975_runtime_resume(struct device *dev) */ ret =3D ak8975_set_mode(data, POWER_DOWN); if (ret < 0) { - dev_err(&client->dev, "Error in setting power-down mode\n"); + dev_err(dev, "Error in setting power-down mode\n"); return ret; } =20 --=20 2.55.0 From nobody Fri Sep 25 23:12:14 2026 Received: from mail-wm2-f13.google.com (mail-wm2-f13.google.com [74.125.225.141]) (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 A4C6B47142F for ; Sun, 20 Sep 2026 18:05:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.141 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789927532; cv=none; b=PmIYC/gf/RK0v8jzLZSKEoMaT1k0DOvrYsW3ZmBeuoMIBnlc+kGQB+of8NI9qtjkPAdDUw/IXKsGOT+rcyyH1GSKMUZttv2LbxM8GMqZw7ISpMXTLyQIsVUz5CSeFwTDwEv2JAuJzwdoLhLich7LUdLBBObw4PIxS1+1xZ5Ggmo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789927532; c=relaxed/simple; bh=dLxOYdKXvkaClOyJOYY7nRCSPbJKZs+aRfOmFRQ+mIo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uPGdEyiwInlNC71F0L568To/gZ8Ibmvyb+UaxCFz+GbFZSZNoeSR3XypX5OOCOdUcveNUD/0kwvuVM9rHIHT+BwzXHWL7yLK8yCSiemi8FGd+RUl+3A2qKzzIPcyEqunAmaTu60X7EVjtrUisYXUiWQ48B/ziUtjd8Ac00iyO6Y= 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=euBn8KNB; arc=none smtp.client-ip=74.125.225.141 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="euBn8KNB" Received: by mail-wm2-f13.google.com with SMTP id 5b1f17b1804b1-49cc9f581c4so9228005e9.0 for ; Sun, 20 Sep 2026 11:05:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789927529; x=1790532329; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=XLHPUDcQhR4jS0ghRdDc7IRJPvZddsu/qB7+ubmSKgc=; b=euBn8KNBfTbgStF5hqzNdM0Zy/iW0mueziCA2hWydhhTafAjkueggDd+EMHeZ6NOQq o3w6rNyN8NYGnyfDDCX/kcQtH5E1txf0xzrrCspmD+xTGjfcfdqsVXp+Pjt+C8yTnRau 2VfKKPfHNAOvPoJeqJTBDUffWFvAPPqQp5VSBPZnjE7Ln6B3/RYWvjYggbgxhU8y3E79 9jCOy7WzIT6GDs2ww0dq1DmdpmRilsCdhJVR23VCKjA6gLdUwvOOR38B4FUO/xYiTLgR kyr23IdzUv/M1k0anrT1Glrois72AeKIIKpwj8ww3AzfuMR5P9LweFIFI/7htWlfVjhx H37A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789927529; x=1790532329; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=XLHPUDcQhR4jS0ghRdDc7IRJPvZddsu/qB7+ubmSKgc=; b=dVRQw4w7gbZc7oNFniY59abI++HdHLqdeW1gs12FYBaw5hE9bogoXFiYiGX5OsgNe5 kVRZOjZj3Up0cSrQ7/yOM8iDiqTBPIuidzTTXNNied03Bf4QzeXeQAII+4fdZYjL73mD 3yCvFTWswHff8iyBbOhQM0KHX2dKGVGkpnOVnMZiYnP3th+3ZMlNrDwniHptO9eiMOZa eIo5IQM6KQnhaPmDK5JyY7hd9klH0W6Es/MtXxk3vp9mIvSco+vXngN6vWwTHcXJQKQX 0hb5Uxux4+kz+5db+5SrnbIudoVoFjw1Fpyr5MpmOPxyM8ATQjIDQeRU0iY45gvwE8/Z oAEg== X-Forwarded-Encrypted: i=1; AKwUvBwC47XDNe33oRURi5rrHPwBfd+sXLy1nPCSVo9qQl0b8uDVo5G5Co+jzzlC6sEl6+KlULFEy+Jc3h7Ewe8=@vger.kernel.org X-Gm-Message-State: AFuF++lJaLYHoby5ZFe9g5mf8nLWDEeBRcgEfBgppDaoRtEl7/SjS2V+ ZnOscgSor/MNyLK0Jg0/HeqNAGd0o+uUdYXp8yZh+ngMVXVLGvmQcImQ X-Gm-Gg: AYBFou1Gv9wGaBXTpL+vSDv7qu3/aaHBUc57B0Y5wIpKiZbb7rVhXNFarhkxCNYB9m8 iJLSAj2GhRUNeiv0znAebNV2rj1tjuXVgy6oriXdnWC5N5x2KpN9H6iwVfMXgZElnJu+5SRnaf5 d+QLZ02Rgiz6h7/5xcFiZX1dhm7yJFWxmV2xNljcHGbKNXhtzIfRm86tv8hQ+b3X0NCEWUCvz6K 4qbdM7zWlhJ1sAH0F47JaDYAJsvuEM/0daPwLzC8yXHYxKeo8sGolwehF3wBetrHL3kosvmzGLw E9Ca+iB2FDtp4+nu/pe8IbhJ5jjzHYlO01cXrpQzmyDre2KwZRjZqRLWv3eXaxf8q26+0sQ295n dMlDeXiPVBFkzbxDLTxAd0WFzh8X9Z6XK7ij7IMvuBKsi+Lo6sEUMVhWs92+cZx7twlbvALR+cZ cFsftdcUg9CM1JTmomAtEg6pNoU2KEHrVZF/qPnXiiseX0SToADGDNJdwgcunqZy/AuPQ3e1Zce EkHbHghN4CZaJqz+vTmAkJRcsr8opH2PLKhVDpU9XP54Vv4W2ugYQBaQQ7zDJBqPOhcU2x3Q+bC otkqQXqxw1BjUxwHzlcoY2kF+TRS+dF24AITmQgYCXUMCtYPYsdjw+lU5KwjYdvf9UZGK2dkFjP gLVXxHDJcXJ0SWXjAKstfL2OS5B2+2jVA5Xk= X-Received: by 2002:a05:600c:3f06:b0:49d:257c:a735 with SMTP id 5b1f17b1804b1-49fc4ff42b4mr132546265e9.11.1789927529036; Sun, 20 Sep 2026 11:05:29 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0::f9f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49fcd0f7b9bsm164648055e9.5.2026.09.20.11.05.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Sep 2026 11:05:28 -0700 (PDT) From: Joshua Crofts Date: Sun, 20 Sep 2026 20:05:26 +0200 Subject: [PATCH v9 4/5] iio: magnetometer: ak8975: add scan mask index enum Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260920-ak8975-cleanup-v9-4-1b0f00ec19ef@gmail.com> References: <20260920-ak8975-cleanup-v9-0-1b0f00ec19ef@gmail.com> In-Reply-To: <20260920-ak8975-cleanup-v9-0-1b0f00ec19ef@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789927524; l=1530; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=dLxOYdKXvkaClOyJOYY7nRCSPbJKZs+aRfOmFRQ+mIo=; b=957w/ie6wp15m2IKWReNJXqdl264V+6m3kEKGuUYbsq6Agb5MPU27RYMGJhiCyeMLa/fu/Lc6 V3FdLkJmOnTC2c7jxEhRlnEmStcYpd3tzZeQ0U+Ox5PQCJbAJRXnQuA X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= Add an enum to explicitly define scan mask indexes for the X, Y, Z and timestamp channels. Also, update the struct iio_chan_spec to use said enum for the .scan_index parameter. This prevents magic numbers from obscuring the hardware channel mapping and improves code style. No functional change. Suggested-by: Jonathan Cameron Reviewed-by: Nuno S=C3=A1 Signed-off-by: Joshua Crofts --- drivers/iio/magnetometer/ak8975.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/a= k8975.c index 42f6892f4efd..ac556644b02d 100644 --- a/drivers/iio/magnetometer/ak8975.c +++ b/drivers/iio/magnetometer/ak8975.c @@ -237,6 +237,13 @@ enum ak_ctrl_mode { MODE_END, }; =20 +enum ak_chan_index { + AK8975_CHAN_X, + AK8975_CHAN_Y, + AK8975_CHAN_Z, + AK8975_CHAN_TS, +}; + struct ak_def { enum asahi_compass_chipset type; long (*raw_to_gauss)(u16 data); @@ -851,8 +858,10 @@ static const struct iio_chan_spec_ext_info ak8975_ext_= info[] =3D { } =20 static const struct iio_chan_spec ak8975_channels[] =3D { - AK8975_CHANNEL(X, 0), AK8975_CHANNEL(Y, 1), AK8975_CHANNEL(Z, 2), - IIO_CHAN_SOFT_TIMESTAMP(3), + AK8975_CHANNEL(X, AK8975_CHAN_X), + AK8975_CHANNEL(Y, AK8975_CHAN_Y), + AK8975_CHANNEL(Z, AK8975_CHAN_Z), + IIO_CHAN_SOFT_TIMESTAMP(AK8975_CHAN_TS), }; =20 static const unsigned long ak8975_scan_masks[] =3D { 0x7, 0 }; --=20 2.55.0 From nobody Fri Sep 25 23:12:14 2026 Received: from mail-wr2-f12.google.com (mail-wr2-f12.google.com [74.125.225.76]) (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 7ECDC46EF92 for ; Sun, 20 Sep 2026 18:05:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.76 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789927533; cv=none; b=jtGFsqukr3BWut1AhVeCV+dRtTW5I5uRvejlCmoQGrxrBax4e5sME/vHqdGpGOu3Mdh/4f569pc2sQNpgVT97d53kBTguFqv/xRyIgcl/NWABkGtkgmKAdXAIzJgjMlQpD7Zff1VztCd+kNkhhKPOv+BVdaF9qXZT0CHnEYFGJY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789927533; c=relaxed/simple; bh=pjgBUps3bhRyY6u6ycXVMzX0Fos9VuZiAf5efJGxEsE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bro+DDLhpk3Bv9uz23wCVAgjJ3Qv3xmzgqJ8jqyO43WMXqiSxPezbyJjny/7k8GglfcgxDo0nvf39vfh9ymHLm3fdpewymN8xmwGeVWTw7O4wHFFpH3yomKonpeszzjMR0ovOiqyZH5DFtmrWER1VdDoiyTrlfshPi6nPmOvabs= 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=OEUEhQKZ; arc=none smtp.client-ip=74.125.225.76 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="OEUEhQKZ" Received: by mail-wr2-f12.google.com with SMTP id ffacd0b85a97d-485b1d2874fso777768f8f.0 for ; Sun, 20 Sep 2026 11:05:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789927529; x=1790532329; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=/eKvqLxq/FDnVLXWqL74StVCqkT72bEtQBBRhBThWEs=; b=OEUEhQKZKDkV1L/B+R+7tZsGgjYjLAZowSLRUM3FR4ktYBsQKn1WJ7yGPWDX2X1DYI nuQP22ynoC8zmU4p7qGeHts5oWvQkdFZLAvhMlzxUpkR5dODrCK8GctmlzGRnE+6pH/d FbP7y8tJXk4c5x1qBXW8se1pFBFfu3wn5YdJ9H2HER4kOhEQig6uGnZMKBqlxmTqhvBI qa4CncvlLK4W88PgavH5qX+F68O/JlGMjYWoD1Qi2vkLtYMpB/92WQ65qoDdKehUH8Bb 2MUafT4oy98sQTxTud+eR78+6/SYeqKekJeXEzMt+YsnH4l/zZigxL8rOPzNFvkTBVAe mrTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789927529; x=1790532329; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=/eKvqLxq/FDnVLXWqL74StVCqkT72bEtQBBRhBThWEs=; b=BC/OiuA6QmjNsUxNgTUZZ+/r/20wA0KBLmONYKLOMyQ7Xm0GL+lOyWA9PTXwZFJjfW 3UcQTbX7pLWgCQidpgjfZdId35ZCIOxgrVWDGcQ5g+Qoo/VPGSZd/SbCwUtdsNwdO3ym qG8XTLjn+gb7sIpAcktPrc7fx3kkhocv29OtAAeEc466ttMKE+uCrACKzibFOBNUlzxU iQmfiplwmRpMkYPCvAMwPkoaDZc8Zsz4RCVbcWljhhPgdYmwf93xp0SWciAf57VbujCB p6rZ2trpTLmnHcnaMRJoF86ZrH4hOvS5NmWzuq8s67e8AAs27wYnQ50pl0w7Vy7iF9AV cEEw== X-Forwarded-Encrypted: i=1; AKwUvBymDJp9e/6uz9in41ix9pxEUW7Ln264xz/tFXl8fKEeSH+hgr+z8AnhFeGEal46TNx/ABpoCxzfCxavG3E=@vger.kernel.org X-Gm-Message-State: AFuF++m6HrbaWM1zRu4/acspHLkb8/Lb0ALheoXupuG/2yD2CLUG9vWO iA7EST9PQjcOsMtkv9IEOp7xnPf4GtaH5jiyebNw18sPpV4fFehSYQaP X-Gm-Gg: AYBFou0YlYKSMHYjTf9texk8xyDxR278/5dwVluszZX8aAINgXFd1t9iebGA1CfFekH hoJfLLQk+cKU9ydT10R+F8Vc2GPkpc8m2yTskXkgPBXzZflisHXnRBDToNDdMlVHskkCDw/lxAc wPbGWBPIrPRvmuGC67BLw5PBNb6Qx7jxNIZsqdBWWP7xWU3WU9v9g76C/6plQh1XRrFWk6UMTjA 0PNSDB8YafOiJpzGnMRSFrwSOuB9lIHTzBUmemiMoiWZFi7SxQ6gHqH13XPmbWwW6vi0j+oU45R jr1YeBJAAwD8YTFjZabQdvIGT8WZRRFTRK4xVdiJ1ADthoZhuNJrc8DiQBjAujPh+oSptkSrcz/ UofFYnPH5izTCztO5NtGbdncj+RmD2HN344EoaA6lJBs9dshBUdfvtoE6QjnZ5IQQpYXsMXFPjR M1Eo0B7pEyR043ptaLZOOv19eR+OYy/Dn3fg5buoGDwvrWkb4XwiOLOvxDaMt+BgYyaSW1yE1ii 3Vii1R3SSehxkTtZfyYRAixE2I/eQhu5LnuAZU9HHkyCg/cc0KxH1mOoW/cIBSIGK4fIwWUkOaz fFNNc6RD7fl/0ZcgslbPKvDG/T8DcVMbsclwvb05NWnxIMHKHxX+2NC6hw4DnywkGcN2YfHur9Q jxbZmXSuUv/Eh0NLjhEmuE7FKAkDXnyIqFVJVnllb2rP2FQ== X-Received: by 2002:a05:600c:4714:b0:49e:6581:7baf with SMTP id 5b1f17b1804b1-49fc4f72886mr130088595e9.2.1789927529563; Sun, 20 Sep 2026 11:05:29 -0700 (PDT) Received: from [192.168.1.187] ([2a02:8308:4092:11f0::f9f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49fcd0f7b9bsm164648055e9.5.2026.09.20.11.05.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Sep 2026 11:05:29 -0700 (PDT) From: Joshua Crofts Date: Sun, 20 Sep 2026 20:05:27 +0200 Subject: [PATCH v9 5/5] iio: magnetometer: ak8975: make use of the macros from bits.h Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260920-ak8975-cleanup-v9-5-1b0f00ec19ef@gmail.com> References: <20260920-ak8975-cleanup-v9-0-1b0f00ec19ef@gmail.com> In-Reply-To: <20260920-ak8975-cleanup-v9-0-1b0f00ec19ef@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Joshua Crofts , Andy Shevchenko X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789927524; l=3014; i=joshua.crofts1@gmail.com; s=20260530; h=from:subject:message-id; bh=6ZMjVC6e/KIqTzgrm9DqPo2hpOPArGBVsN2S5dq6DFc=; b=51owwuPaLGk6u9mi2rhRJdyER1xoSr7TMn5CxXZCPw9yln+SCfYQCb9OH6/h3Bz8JTL/jEM24 RFPNwofyTeqDJWrQCF8I5sETkrcXmhra1aVT+W1+IAfiI1xbwaBKYaV X-Developer-Key: i=joshua.crofts1@gmail.com; a=ed25519; pk=RTDOoVwgeL4oFdASj9U+cxJuIjXuXk73zkjnGOJKbEo= From: Andy Shevchenko Make use of BIT() and GENMASK() where it makes sense. Signed-off-by: Andy Shevchenko Reviewed-by: Nuno S=C3=A1 Co-developed-by: Joshua Crofts Signed-off-by: Joshua Crofts --- drivers/iio/magnetometer/ak8975.c | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/a= k8975.c index ac556644b02d..05cdd285c5f4 100644 --- a/drivers/iio/magnetometer/ak8975.c +++ b/drivers/iio/magnetometer/ak8975.c @@ -44,8 +44,7 @@ #define AK8975_REG_INFO 0x01 =20 #define AK8975_REG_ST1 0x02 -#define AK8975_REG_ST1_DRDY_SHIFT 0 -#define AK8975_REG_ST1_DRDY_MASK (1 << AK8975_REG_ST1_DRDY_SHIFT) +#define AK8975_REG_ST1_DRDY_MASK BIT(0) =20 #define AK8975_REG_HXL 0x03 #define AK8975_REG_HXH 0x04 @@ -54,15 +53,12 @@ #define AK8975_REG_HZL 0x07 #define AK8975_REG_HZH 0x08 #define AK8975_REG_ST2 0x09 -#define AK8975_REG_ST2_DERR_SHIFT 2 -#define AK8975_REG_ST2_DERR_MASK (1 << AK8975_REG_ST2_DERR_SHIFT) +#define AK8975_REG_ST2_DERR_MASK BIT(2) =20 -#define AK8975_REG_ST2_HOFL_SHIFT 3 -#define AK8975_REG_ST2_HOFL_MASK (1 << AK8975_REG_ST2_HOFL_SHIFT) +#define AK8975_REG_ST2_HOFL_MASK BIT(3) =20 #define AK8975_REG_CNTL 0x0A -#define AK8975_REG_CNTL_MODE_SHIFT 0 -#define AK8975_REG_CNTL_MODE_MASK (0xF << AK8975_REG_CNTL_MODE_SHIFT) +#define AK8975_REG_CNTL_MODE_MASK GENMASK(3, 0) #define AK8975_REG_CNTL_MODE_POWER_DOWN 0x00 #define AK8975_REG_CNTL_MODE_ONCE 0x01 #define AK8975_REG_CNTL_MODE_SELF_TEST 0x08 @@ -94,8 +90,7 @@ =20 #define AK09912_REG_ST1 0x10 =20 -#define AK09912_REG_ST1_DRDY_SHIFT 0 -#define AK09912_REG_ST1_DRDY_MASK (1 << AK09912_REG_ST1_DRDY_SHIFT) +#define AK09912_REG_ST1_DRDY_MASK BIT(0) =20 #define AK09912_REG_HXL 0x11 #define AK09912_REG_HXH 0x12 @@ -106,8 +101,7 @@ #define AK09912_REG_TMPS 0x17 =20 #define AK09912_REG_ST2 0x18 -#define AK09912_REG_ST2_HOFL_SHIFT 3 -#define AK09912_REG_ST2_HOFL_MASK (1 << AK09912_REG_ST2_HOFL_SHIFT) +#define AK09912_REG_ST2_HOFL_MASK BIT(3) =20 #define AK09912_REG_CNTL1 0x30 =20 @@ -116,8 +110,7 @@ #define AK09912_REG_CNTL_MODE_ONCE 0x01 #define AK09912_REG_CNTL_MODE_SELF_TEST 0x10 #define AK09912_REG_CNTL_MODE_FUSE_ROM 0x1F -#define AK09912_REG_CNTL2_MODE_SHIFT 0 -#define AK09912_REG_CNTL2_MODE_MASK (0x1F << AK09912_REG_CNTL2_MODE_SHIFT) +#define AK09912_REG_CNTL2_MODE_MASK GENMASK(4, 0) =20 #define AK09912_REG_CNTL3 0x32 =20 @@ -864,7 +857,10 @@ static const struct iio_chan_spec ak8975_channels[] = =3D { IIO_CHAN_SOFT_TIMESTAMP(AK8975_CHAN_TS), }; =20 -static const unsigned long ak8975_scan_masks[] =3D { 0x7, 0 }; +static const unsigned long ak8975_scan_masks[] =3D { + BIT(AK8975_CHAN_X) | BIT(AK8975_CHAN_Y) | BIT(AK8975_CHAN_Z), + 0 +}; =20 static const struct iio_info ak8975_info =3D { .read_raw =3D &ak8975_read_raw, --=20 2.55.0