Late pull request as I was planing to include another series that
is waiting for a fix to end up in char-misc-next. That can wait
for next cycle.
Includes one immutable branch merge from MFD to get a necessary header
change.
Usual mix of a few new drivers, additional device support for existing
drivers, new features and a bunch of cleanup across tree.
New device support
==================
asahi-kasei,ak8975
- A few minor fixes as precursors to support for the AK09118 magnetometer
that is very similar to the already supported AK09112
awinic,aw96103
- New driver for this capacitive proximity sensor.
x-powers,axp202
- Add support for the axp717 (including merge of MFD immutable branch).
sophgo,saradc
- New driver for this SOC ADC.
Features
========
adi,ad4695
- Add calibration support.
bosch,bmi323
- Ensure device is in lowest power state on suspend.
Cleanup and minor fixes
=======================
treewide
- Start to standardize formatting of id tables (ADC drivers done so far).
adi,ad5449
- Drop platform data support as long unused in upstream kernel.
bosch,bmc150
- Use fwnode_irq_get_by_name() in place of of_ variant.
- Use ACPI_HANDLE() to get the handle directly rather than via
ACPI_COMPANION()
google,cros_ec_mkbp_proximity
- Include mod_devicetable.h instead of broader of.h
mirochip,mcp320x
- Drop vendorless compatible entries as not needed for backwards
compatibility and should not be used in new boards.
st,lsm6dsx
- Use iio_read_acpi_mount_matrix() helper instead of open coding the
same.
- Drop some unnecessary dev_fwnode() calls to check if a fwnode is
available. All the calls made handle this anyway.
xilinx,ams
- Use device_for_each_child_node_scoped() to avoid manual release of
fwnode handle.
tools,generic-buffer
- Handle failure to allocate trigger name.
- Cleanup .*.cmd files if present.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAmbdfjgRHGppYzIzQGtl
cm5lbC5vcmcACgkQVIU0mcT0FohI9Q/+LtJgdtVs+o9PVc/C77D1+5GLYnZfSi5c
an3YuxsWZi4Cz9AdS3CWeRhBMvIS23nFHfD5iCkiWaL0Q4HkUp20DQy2nvHuGH17
OSDYef1tIyiIJs9jb8u1BI8PuE3H9SfEbJ8GO2EHrfsLnEM9Oj1K3fEuYUldqOrp
qZhIQw24FPiib0kcIGyLE8IHIg8WTEGDg2J2/TsP+J466N3QJl3nriAc8OAlwAIZ
RFA1dfK4wTD7uFJ9buSZcQXYv8EAfF0QWm3FYUNGCOtCvyaVSLmMcgk/bVudqJcj
0rRYSFUSqdLiMMBsKEbLpJtMXQ33WkD9ywNgjhlKyUDfa85RHaRb0xsjFEyJkDB0
XzPVdkv626WT/u6eOI3EkTaN1+D0uX/YFHzECEXJFAR2RpggptVerZxTFppphA0x
0HJ6rO6g8mhYH/yKXkTEFs7eV7+8k2oCOiwAcuPNdj52+8qyclykbdLiEy9YpWjF
SsgRKwHz/Uao2RnVDwb9tsT/VvCq5hXnFL72xqobE1xpny40crOBm43bsajoSYul
YvLtf0m3eJTv5UYaTTNtzXbbYfexKk8WcyYisRbeQGqki6LKBtRE+aoN1fCZ0GBH
ZlLZaq29fkz8z47dHBEux++QS/LLaP812PQaFGC97p4rEhpxyZ3i8gUj2qgaXEYl
5wCowP2+XgA=
=pFg9
-----END PGP SIGNATURE-----
Merge tag 'iio-for-6.12b' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-next
Jonathan writes:
IIO: 2nd set of new device support features and cleanup for 6.12
Late pull request as I was planing to include another series that
is waiting for a fix to end up in char-misc-next. That can wait
for next cycle.
Includes one immutable branch merge from MFD to get a necessary header
change.
Usual mix of a few new drivers, additional device support for existing
drivers, new features and a bunch of cleanup across tree.
New device support
==================
asahi-kasei,ak8975
- A few minor fixes as precursors to support for the AK09118 magnetometer
that is very similar to the already supported AK09112
awinic,aw96103
- New driver for this capacitive proximity sensor.
x-powers,axp202
- Add support for the axp717 (including merge of MFD immutable branch).
sophgo,saradc
- New driver for this SOC ADC.
Features
========
adi,ad4695
- Add calibration support.
bosch,bmi323
- Ensure device is in lowest power state on suspend.
Cleanup and minor fixes
=======================
treewide
- Start to standardize formatting of id tables (ADC drivers done so far).
adi,ad5449
- Drop platform data support as long unused in upstream kernel.
bosch,bmc150
- Use fwnode_irq_get_by_name() in place of of_ variant.
- Use ACPI_HANDLE() to get the handle directly rather than via
ACPI_COMPANION()
google,cros_ec_mkbp_proximity
- Include mod_devicetable.h instead of broader of.h
mirochip,mcp320x
- Drop vendorless compatible entries as not needed for backwards
compatibility and should not be used in new boards.
st,lsm6dsx
- Use iio_read_acpi_mount_matrix() helper instead of open coding the
same.
- Drop some unnecessary dev_fwnode() calls to check if a fwnode is
available. All the calls made handle this anyway.
xilinx,ams
- Use device_for_each_child_node_scoped() to avoid manual release of
fwnode handle.
tools,generic-buffer
- Handle failure to allocate trigger name.
- Cleanup .*.cmd files if present.
* tag 'iio-for-6.12b' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (28 commits)
iio: adc: axp20x_adc: add support for AXP717 ADC
dt-bindings: iio: adc: Add AXP717 compatible
iio: adc: axp20x_adc: Add adc_en1 and adc_en2 to axp_data
tools: iio: rm .*.cmd when make clean
iio: adc: standardize on formatting for id match tables
iio: proximity: aw96103: Add support for aw96103/aw96105 proximity sensor
dt-bindings: iio: aw96103: Add bindings for aw96103/aw96105 sensor
iio: adc: sophgo-saradc: Add driver for Sophgo CV1800B SARADC
dt-bindings: iio: adc: sophgo,cv1800b-saradc: Add Sophgo CV1800B SARADC
tools/iio: Add memory allocation failure check for trigger_name
iio: imu: st_lsm6dsx: Remove useless dev_fwnode() calls
iio: imu: st_lsm6dsx: Use iio_read_acpi_mount_matrix() helper
iio: adc: mcp320x: Drop vendorless compatible strings
iio: dac: ad5449: drop support for platform data
iio: adc: xilinx-ams: use device_* to iterate over device child nodes
iio: ABI: document ad4695 new attributes
doc: iio: ad4695: update for calibration support
iio: adc: ad4695: implement calibration support
iio: adc: ad4695: add 2nd regmap for 16-bit registers
iio: bmi323: peripheral in lowest power state on suspend
...
Add support for the AXP717 ADC. The AXP717 differs from other ADCs
in this series by utilizing a 14 bit ADC for all channels (a full 16
bits with the first 2 digits reserved). It also differs by lacking a
battery discharge current channel.
Note that while the current charge channel itself is included in this
driver for the AXP717 and listed in the datasheet, no scale or offset
was given for this channel. For now no scale or offset is provided in
this driver.
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Link: https://patch.msgid.link/20240821215456.962564-13-macroalpha82@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Add compatible binding for the axp717.
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Link: https://patch.msgid.link/20240821215456.962564-9-macroalpha82@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Add the register for adc_en1 and adc_en2 to the axp_data struct. This
allows us to specify a different register to enable the adc channels
for different devices such as the AXP717.
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20240821215456.962564-2-macroalpha82@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This driver doesn't use the driver_data member of struct i2c_device_id,
so don't explicitly initialize this member.
This prepares putting driver_data in an anonymous union which requires
either no initialization or named designators. But it's also a nice
cleanup on its own.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20240725160909.326143-2-u.kleine-koenig@baylibre.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240906141135.72080-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This pull request contains the interconnect changes for the 6.12-rc1 merge
window. It contains new drivers and fixes with the following highlights:
Driver changes:
- New driver for MSM8976 platforms
- New driver for MSM8937 platforms
- Enable sync_state for SM8250 platforms
- Enable QoS support for QCS404
- Add ab_coeff bandwidth adjustments for MSM8953
- Drop the unsupported yet DISP nodes on SM8350 platforms
- Fix missed num_nodes initialization in icc-clk driver
- Misc DT and documentation fixes
Signed-off-by: Georgi Djakov <djakov@kernel.org>
-----BEGIN PGP SIGNATURE-----
iQIcBAABAgAGBQJm2yFVAAoJEIDQzArG2BZjftcP/iGk0eWtU4Y6NA539spBssDL
9WLFT2vj7KM9t+Ox+k+b/Gqzrhcg6R/8GvEDuf/BmkueqjO8XMIBY31NefDnAbzk
/oWZF5hS1MEHo1ok1+FsjZ6HUmNfNiVBXy/2d59BegWlNex8VQKqpt/cx2ZIZuoi
F6XoBNzLROwCpLKVPAizGa04cfvrqynkIUYFl9Tho44yjsyFRJxjLlvmcCvh56TH
svbaD7QHjHcA/18QhFRG5yA4+4MZorXy754GGTvV0QExm8Mc2Pn5IbhAARGFC1Ir
N4FzXkc1pfsmfMAkDhpBZtbtarGJHt74MStlLXyPkiLVZOxc4M4oQWSP3CxS01zn
5/pYenOBoO/YNClCM2PEK08PNNvoQxtebQJ36VJyh6HugHYKu2qqSHVtHm/cOY5l
cAPfJNrsFPqI4zjrdAgt63AhM+80+u0Z2YN5Oy8e1+gBvzrSf/pIqB+bdPgbs2CI
JxYc2LBJ2+9bS718TcjiiacHdpQCo1JV5mt1fwvupRG4yuOM1O5Y/xbDowQIAb7q
+NEwu9KxI2uVvscmv7WfHS5ZlTTec3/ri2OFf7CmY4pYNnTuzoT9C4I1kMtD4BCT
jcgCZXFeB+thkQ29pDtexeRxGdIYLa34T+BzfZQ+ipchqHGXVdne5QuSkH0syV/r
7wtCXwWzLXf1uPFCrFZy
=ckcc
-----END PGP SIGNATURE-----
Merge tag 'icc-6.12-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc into char-misc-next
Georgi writes:
interconnect changes for 6.12
This pull request contains the interconnect changes for the 6.12-rc1 merge
window. It contains new drivers and fixes with the following highlights:
Driver changes:
- New driver for MSM8976 platforms
- New driver for MSM8937 platforms
- Enable sync_state for SM8250 platforms
- Enable QoS support for QCS404
- Add ab_coeff bandwidth adjustments for MSM8953
- Drop the unsupported yet DISP nodes on SM8350 platforms
- Fix missed num_nodes initialization in icc-clk driver
- Misc DT and documentation fixes
Signed-off-by: Georgi Djakov <djakov@kernel.org>
* tag 'icc-6.12-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc:
dt-bindings: interconnect: qcom: Do not require reg for sc8180x virt NoCs
dt-bindings: interconnect: qcom-bwmon: Document SA8775p bwmon compatibles
dt-bindings: interconnect: qcom: msm8953: Fix 'See also' in description
interconnect: qcom: msm8953: Add ab_coeff
dt-bindings: interconnect: qcom: msm8939: Fix example
interconnect: qcom: qcs404: Add regmaps and more bus descriptions
interconnect: qcom: qcs404: Mark AP-owned nodes as such
interconnect: qcom: Add MSM8937 interconnect provider driver
interconnect: qcom: sm8250: Enable sync_state
dt-bindings: interconnect: qcom,sm8350: drop DISP nodes
interconnect: qcom: sm8350: drop DISP nodes
dt-bindings: interconnect: qcom: Add Qualcomm MSM8937 NoC
interconnect: qcom: Add MSM8976 interconnect provider driver
dt-bindings: interconnect: qcom: Add Qualcomm MSM8976 NoC
interconnect: icc-clk: Add missed num_nodes initialization
dt-bindings: interconnect: qcom,rpmh: correct sm8150 camnoc
This is a frequent minor comment in reviews, so start cleaning up
existing drivers in the hope we get fewer cases of cut and paste.
There are not kernel wide rules for these, but for IIO the style
that I prefer (and hence most common) is:
- Space after { and before }
- No comma after terminator { }
This may cause merge conflicts but they should be trivial to resolve
hence I have not broken this into per driver patches.
Link: https://patch.msgid.link/20240818180912.719399-1-jic23@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
AW96103 is a low power consumption capacitive touch and proximity controller.
Each channel can be independently config as sensor input, shield output.
Channel Information:
aw96103: 3-channel
aw96105: 5-channel
Signed-off-by: shuaijie wang <wangshuaijie@awinic.com>
Link: https://patch.msgid.link/20240827080229.1431784-3-wangshuaijie@awinic.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
========
core
----
- Used const qualifier for 'mhi_bus_type' to place it onto the read-only memory
segment.
pci_generic
-----------
- Fixed the Telit FE990A modem name as it was advertising the wrong product
name, thereby confusing the users.
- Added Netprisma LCUR57 and FCUN69 modems based on Qcom SDX24 and SDX6X SoCs.
- Updated the EDL (Emergency Download) firmware path for the Foxconn modems.
The patch that added the modem support mistakenly specified the generic EDL
firmware path common for Qcom based modems. But they won't work.
- Enabled the EDL trigger for all Foxconn modems to update the modem firmware.
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEZ6VDKoFIy9ikWCeXVZ8R5v6RzvUFAmbZu6sACgkQVZ8R5v6R
zvV3wQgAoAhLYgb7uHU5t4hGbqXlTMwAJZBi67iLewy2dyHomT90PD8f+YdJGba/
b8j4u8K4wePFuObDR3yWy8mmWoTt6+pt/5NagwVctXtYrIFvRNIm9OBMS5UuAZqL
HkRfHo41Xivh41uEmdFdwDjMqTw6DXCX1K5dnKw3aVEyLUdZMvoSkdL8ajOUxxiZ
5Sn6MIoThC+gE0oUHoL11OJV+HLod9IP3Oj0+yyqiRDciH9RnQZCOWHqRxRu4LVo
+ohTNaO4MNm2cLWPbPfU2bGLg5/JcYD61NvcvjNmtMk4+tcHbqMPVf12MQYNTnhJ
ZPK3v8E24vuIhbyQs2drZTMM1ECypA==
=ts9F
-----END PGP SIGNATURE-----
Merge tag 'mhi-for-v6.12' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mani/mhi into char-misc-next
Manivannan writes:
MHI Host
========
core
----
- Used const qualifier for 'mhi_bus_type' to place it onto the read-only memory
segment.
pci_generic
-----------
- Fixed the Telit FE990A modem name as it was advertising the wrong product
name, thereby confusing the users.
- Added Netprisma LCUR57 and FCUN69 modems based on Qcom SDX24 and SDX6X SoCs.
- Updated the EDL (Emergency Download) firmware path for the Foxconn modems.
The patch that added the modem support mistakenly specified the generic EDL
firmware path common for Qcom based modems. But they won't work.
- Enabled the EDL trigger for all Foxconn modems to update the modem firmware.
* tag 'mhi-for-v6.12' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mani/mhi:
bus: mhi: host: pci_generic: Enable EDL trigger for Foxconn modems
bus: mhi: host: pci_generic: Update EDL firmware path for Foxconn modems
bus: mhi: host: pci_generic: Add support for Netprisma LCUR57 and FCUN69
bus: mhi: host: make mhi_bus_type const
bus: mhi: host: pci_generic: Fix the name for the Telit FE990A
All Foxconn modems support generic EDL trigger to flash the firmware.
Hence, enable the EDL trigger using mhi_pci_dev_info::edl_trigger.
Signed-off-by: Slark Xiao <slark_xiao@163.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20240725022941.65948-2-slark_xiao@163.com
[mani: Reworded the subject and description]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Foxconn uses a unique firmware for their MHI based modems. So the generic
firmware from Qcom won't work. Hence, update the EDL firmware path to
include the 'foxconn' subdirectory based on the modem SoC so that the
Foxconn specific firmware could be used.
Respective firmware will be upstreamed to linux-firmware repo.
Cc: stable@vger.kernel.org # 6.11
Fixes: bf30a75e6e ("bus: mhi: host: Add support for Foxconn SDX72 modems")
Signed-off-by: Slark Xiao <slark_xiao@163.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20240725022941.65948-1-slark_xiao@163.com
[mani: Reworded the subject and description]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Add device tree bindings for aw96103/aw96105 proximity sensor.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: shuaijie wang <wangshuaijie@awinic.com>
Link: https://patch.msgid.link/20240827080229.1431784-2-wangshuaijie@awinic.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
The Sophgo CV1800B SARADC is a Successive Approximation ADC that can be
found in the Sophgo CV1800B SoC.
Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20240829-sg2002-adc-v5-1-aacb381e869b@bootlin.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
The device property APIs designed that way that they will return an error when
there is no valid fwnode provided. Moreover, the check for NULL of dev_fwnode()
is not fully correct as in some (currently rare) cases it may contain an error
pointer. This is not a problem anyway (see keyword 'valid' above) that's why
the code works properly even without this change.
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://patch.msgid.link/20240826212344.866928-3-andy.shevchenko@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Replace the duplicate ACPI "ROTM" data parsing code with the new
shared iio_read_acpi_mount_matrix() helper.
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://patch.msgid.link/20240826212344.866928-2-andy.shevchenko@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
The vendorless compatible strings are deprecated and weren't retained
when the binding was converted to schema. As a result, they are listed
as undocumented when running "make dt_compatible_check". Rather than add
them back to the schema, let's just drop them as they are unnecessary.
Furthermore, they are unnecessary as the SPI matching will strip the
vendor prefix on compatible string and match that against the
spi_device_id table.
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20240826191728.1415189-1-robh@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
There are no longer any users of the platform data struct. Remove
support for it from the driver.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://patch.msgid.link/20240814092629.9862-1-brgl@bgdev.pl
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Use `device_for_each_child_node_scoped()` in `ams_parse_firmware()`
to explicitly state device child node access, and simplify the child
node handling as it is not required outside the loop.
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Reviewed-by: Mike Leach <mike.leach@linaro.org>
Link: https://patch.msgid.link/20240820-device_child_node_access-v3-1-1ee09bdedb9e@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
The ad4695 driver now supports calibration using the
in_voltageY_calib{scale,bias}[_available] attributes.
Only one of these was documented before. This adds rest.
Signed-off-by: David Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20240820-ad4695-gain-offset-v1-4-c8f6e3b47551@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
The AD4695 has a calibration feature that allows the user to compensate
for variations in the analog front end. This implements this feature in
the driver using the standard `calibgain` and `calibbias` attributes.
Signed-off-by: David Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20240820-ad4695-gain-offset-v1-2-c8f6e3b47551@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
The AD4695 and similar chips have some multibyte registers that have
to be read/written in a single operation. So we need to add a 2nd regmap
for these registers.
These registers are removed from the 8-bit regmap allowable ranges and
AD4695_MAX_REG is dropped since it would be ambiguous now.
debugfs register access is also updated to automatically use the correct
regmap depending on the register address.
Signed-off-by: David Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20240820-ad4695-gain-offset-v1-1-c8f6e3b47551@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
The bmi323 is mounted on some devices that are powered
by an internal battery: help in reducing system overall power drain
while the system is in s2idle or the imu driver is not loaded
by resetting it in its lowest power draining state.
Signed-off-by: Denis Benato <benato.denis96@gmail.com>
Link: https://patch.msgid.link/20240824141122.334620-2-benato.denis96@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
By using ACPI_HANDLE() the handler argument can be retrieved directly.
Replace ACPI_COMPANION() + dereference with ACPI_HANDLE().
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://patch.msgid.link/20240823230107.745900-1-andy.shevchenko@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Use the generic fwnode_irq_get_byname() in place of of_irq_get_byname()
to get the IRQ number from the interrupt pin.
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://patch.msgid.link/20240823230056.745872-1-andy.shevchenko@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Add additional AK09118 to the magnetometer driver which has the same
register mapping and scaling as the AK09112 device.
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
Link: https://patch.msgid.link/20240819-ak09918-v4-4-f0734d14cfb9@mainlining.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Move ST2 reading with overflow handling after measurement data
reading.
ST2 register read have to be read after read measurment data,
because it means end of the reading and realease the lock on the data.
Remove ST2 read skip on interrupt based waiting because ST2 required to
be read out at and of the axis read.
Fixes: 57e73a423b ("iio: ak8975: add ak09911 and ak09912 support")
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
Link: https://patch.msgid.link/20240819-ak09918-v4-2-f0734d14cfb9@mainlining.org
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Relax failure when driver gets an unknown device id for
allow probe for register compatible devices.
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
Link: https://patch.msgid.link/20240819-ak09918-v4-1-f0734d14cfb9@mainlining.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
The function simple_strtoul performs no error checking
in scenarios where the input value overflows the intended
output variable.
We can replace the use of the simple_strtoul with the safer
alternatives kstrtoul.
Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
Link: https://lore.kernel.org/r/20240830080311.3545307-1-lihongbo22@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The usage of of_get_property() is wrong. What's returned in "val" is
the property's length, not the value. Fix this by using the preferred
typed of_property_read_u32() function instead.
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20240828131851.3631855-1-robh@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
In parport_attach, the return value of ida_alloc is unchecked, witch leads
to the use of an invalid index value.
To address this issue, index should be checked. When the index value is
abnormal, the device should be freed.
Found by code review, compile tested only.
Cc: stable@vger.kernel.org
Fixes: fb56d97df7 ("pps: client: use new parport device model")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
Acked-by: Rodolfo Giometti <giometti@enneenne.com>
Link: https://lore.kernel.org/r/20240828131814.3034338-1-make24@iscas.ac.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Add ref nvmem-deprecated-cells.yaml to support old style binding.
Fix below CHECK_DTBS warning.
efuse@1e80000: Unevaluated properties are not allowed ('unique-id@1c' was unexpected)
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240902142952.71639-10-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
There is no function called kstrbool().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240902142952.71639-9-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
platform_get_resource_byname() and devm_ioremap_resource() can be
replaced by devm_platform_ioremap_resource_byname(), which can
simplify the code logic a bit, No functional change here.
Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240902142952.71639-8-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
All nodes need an explicit additionalProperties or unevaluatedProperties
unless a $ref has one that's false. Fixing this for STM32
Factory-programmed data binding needs referencing fixed layout schema
for children. Add reference to the NVMEM deprecated cells for the
schema to be complete.
This fixes dt_binding_check warning:
st,stm32-romem.yaml: ^.*@[0-9a-f]+$: Missing additionalProperties/unevaluatedProperties constraint
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240902142952.71639-7-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
U-Boot environment variables can be stored in various data sources. MTD
is just one of available options. Refactor DT binding into a layout so
it can be used with UBI volumes and other NVMEM devices.
Link: https://lore.kernel.org/all/20231221173421.13737-1-zajec5@gmail.com/
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240902142952.71639-4-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
i.MX95 OCOTP has same accessing method, so add an entry for i.MX95, but
some fuse has ECC feature, so only read out the lower 16bits for ECC fuses.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240902142952.71639-3-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Add "cdsp1" as the new supported label for the CDSP1 fastrpc domain.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240902141821.70656-4-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The fastrpc supports 4 remoteproc. There are some products which
support cdsp1 remoteproc. Add changes to support cdsp1 remoteproc.
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
[Bartosz: ported to mainline]
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240902141821.70656-3-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The fastrpc components on the SA8775P SoC can require up to 10 IOMMU
entries. Bump the maxItems.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240902141821.70656-2-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Commit 9e663f4811 ("slimbus: core: add support to uevent") added the
MODALIAS=slim:* uevent variable, but modpost does not generate the
corresponding MODULE_ALIAS().
To support automatic module loading, slimbus drivers still need to
manually add MODULE_ALIAS("slim:<manf_id>:<prod_code>:*"), as seen in
sound/soc/codecs/wcd9335.c.
To automate this, make modpost generate the proper MODULE_ALIAS() from
MODULE_DEVICE_TABLE(slim, ).
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240902141004.70048-5-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
There is a confusing pattern in the kernel to use a variable named 'timeout' to
store the result of wait_for_completion_timeout() causing patterns like:
timeout = wait_for_completion_timeout(...)
if (!timeout) return -ETIMEDOUT;
with all kinds of permutations. Use 'time_left' as a variable to make the code
self explaining.
Fix to the proper variable type 'unsigned long' while here.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Link: https://lore.kernel.org/r/20240902141004.70048-4-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
There is a confusing pattern in the kernel to use a variable named 'timeout' to
store the result of wait_for_completion_timeout() causing patterns like:
timeout = wait_for_completion_timeout(...)
if (!timeout) return -ETIMEDOUT;
with all kinds of permutations. Use 'time_left' as a variable to make the code
self explaining.
Fix to the proper variable type 'unsigned long' while here.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Link: https://lore.kernel.org/r/20240902141004.70048-3-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>