linux/drivers/reset
Stephen Boyd d1aae06630 clk: starfive: Avoid casting iomem pointers
Let's use a wrapper struct for the auxiliary_device made in
jh7110_reset_controller_register() so that we can stop casting iomem
pointers. The casts trip up tools like sparse, and make for some awkward
casts that are largely unnecessary. While we're here, change the
allocation from devm and actually free the auxiliary_device memory in
the release function. This avoids any use after free problems where the
parent device driver is unbound from the device but the
auxiliuary_device is still in use accessing devm freed memory.

Cc: Tommaso Merciai <tomm.merciai@gmail.com>
Cc: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Cc: Hal Feng <hal.feng@starfivetech.com>
Cc: Conor Dooley <conor.dooley@microchip.com>
Cc: Xingyu Wu <xingyu.wu@starfivetech.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Fixes: edab7204af ("clk: starfive: Add StarFive JH7110 system clock driver")
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20230413205528.4044216-1-sboyd@kernel.org
2023-04-13 15:45:46 -07:00
..
hisilicon reset: hi6220: Use the correct HiSilicon copyright 2021-06-07 10:44:38 +02:00
starfive clk: starfive: Avoid casting iomem pointers 2023-04-13 15:45:46 -07:00
sti reset: sti/syscfg: replace comma with semicolon 2021-05-10 09:41:43 +02:00
tegra reset: tegra-bpmp: Restore Handle errors in BPMP response 2022-04-04 11:14:13 +02:00
core.c reset: ACPI reset support 2022-05-03 17:41:25 +02:00
Kconfig reset: Create subdirectory for StarFive drivers 2023-04-05 15:43:49 +01:00
Makefile reset: Create subdirectory for StarFive drivers 2023-04-05 15:43:49 +01:00
reset-a10sr.c reset: a10sr: add missing of_match_table reference 2021-05-10 09:48:17 +02:00
reset-ath79.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
reset-axs10x.c
reset-bcm6345.c reset: bcm6345: Make reset_control_ops const 2021-05-10 09:40:03 +02:00
reset-berlin.c reset: berlin: support module build 2021-06-07 12:45:59 +02:00
reset-brcmstb-rescal.c reset: brcmstb-rescal: fix incorrect polarity of status bit 2021-10-05 10:48:56 +02:00
reset-brcmstb.c reset: brcmstb: Add missing MODULE_DEVICE_TABLE 2021-05-12 08:01:26 +02:00
reset-hsdk.c ARC: HSDK: improve reset driver 2019-01-07 16:38:26 +01:00
reset-imx7.c reset: imx7: Fix the iMX8MP PCIe PHY PERST support 2022-08-30 16:28:48 +02:00
reset-intel-gw.c reset: intel: fix a compile warning about REG_OFFSET redefined 2020-07-20 11:01:19 +02:00
reset-k210.c riscv: Add Canaan Kendryte K210 reset controller 2021-01-14 15:08:53 -08:00
reset-lantiq.c reset: lantiq: use devm_reset_controller_register() 2021-06-07 11:26:31 +02:00
reset-lpc18xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
reset-meson-audio-arb.c reset: meson-audio-arb: add sm1 support 2019-10-03 19:56:51 +02:00
reset-meson.c reset: reset-meson: add support for the Meson-S4 SoC Reset Controller 2022-05-03 17:40:51 +02:00
reset-microchip-sparx5.c reset: microchip-sparx5: issue a reset on startup 2022-08-30 16:29:41 +02:00
reset-mpfs.c reset: add polarfire soc reset support 2022-09-14 10:55:17 +03:00
reset-npcm.c reset: npcm: fix iprst2 and iprst4 setting 2022-09-22 17:48:35 +02:00
reset-oxnas.c reset: oxnas: replace file name with short description 2021-05-10 09:40:04 +02:00
reset-pistachio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
reset-qcom-aoss.c reset: qcom-aoss: Allow CONFIG_RESET_QCOM_AOSS to be a tristate 2020-01-08 10:26:14 +01:00
reset-qcom-pdc.c reset: qcom: Add PDC Global reset signals for WPSS 2021-07-21 12:16:17 +02:00
reset-raspberrypi.c reset: raspberrypi: Release firmware handle on unbind 2021-03-22 17:59:51 +01:00
reset-rzg2l-usbphy-ctrl.c reset: renesas: Check return value of reset_control_deassert() 2022-04-04 11:00:27 +02:00
reset-scmi.c reset: reset-scmi: Port driver to the new scmi_reset_proto_ops interface 2021-03-30 16:34:54 +01:00
reset-simple.c reset: simple: Add AST2600 compatible 2022-05-03 17:40:51 +02:00
reset-socfpga.c reset: socfpga: add empty driver allowing consumers to probe 2021-10-05 12:23:16 +02:00
reset-sunplus.c reset: Add Sunplus SP7021 reset driver 2022-07-08 14:23:39 +02:00
reset-sunxi.c reset: Move reset-simple header out of drivers/reset 2020-06-16 14:19:56 +02:00
reset-ti-sci.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE 2022-06-10 14:51:36 +02:00
reset-ti-syscon.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE 2022-06-10 14:51:36 +02:00
reset-tn48m.c reset: Add Delta TN48M CPLD reset controller 2022-02-25 09:59:35 +01:00
reset-tps380x.c reset: tps380x: Fix spelling mistake "Voltags" -> "Voltage" 2022-07-28 14:08:50 +02:00
reset-uniphier-glue.c reset: uniphier-glue: Fix possible null-ptr-deref 2023-01-03 11:30:46 +01:00
reset-uniphier.c reset: uniphier: Add NX1 reset support 2021-10-05 11:57:40 +02:00
reset-zynq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
reset-zynqmp.c reset: reset-zynqmp: Fixed the argument data type 2021-08-23 12:55:18 +02:00