summaryrefslogtreecommitdiffstats
path: root/include/memory
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2022-11-23 15:41:17 +0100
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>2023-01-23 11:47:59 +0100
commit51de3fc9a84d8e99dd3f02536a623f9fb95d0c0a (patch)
tree7cb1accea8b6d951cd61c4eef284c1cfc09f93b9 /include/memory
parent1b929c02afd37871d5afb9d498426f83432e71c2 (diff)
downloadlinux-51de3fc9a84d8e99dd3f02536a623f9fb95d0c0a.tar.gz
linux-51de3fc9a84d8e99dd3f02536a623f9fb95d0c0a.tar.bz2
linux-51de3fc9a84d8e99dd3f02536a623f9fb95d0c0a.zip
memory: renesas-rpc-if: Split-off private data from struct rpcif
The rpcif structure is used as a common data structure, shared by the RPC-IF core driver and by the HyperBus and SPI child drivers. This poses several problems: - Most structure members describe private core driver state, which should not be accessible by the child drivers, - The structure's lifetime is controlled by the child drivers, complicating use by the core driver. Fix this by moving the private core driver state to its own structure, managed by the RPC-IF core driver, and store it in the core driver's private data field. This requires absorbing the child's platform device, as that was stored in the driver's private data field before. Fixes: ca7d8b980b67 ("memory: add Renesas RPC-IF driver") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Link: https://lore.kernel.org/r/09fbb6fa67d5a8cd48a08808c9afa2f6a499aa42.1669213027.git.geert+renesas@glider.be Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Diffstat (limited to 'include/memory')
-rw-r--r--include/memory/renesas-rpc-if.h16
1 files changed, 0 insertions, 16 deletions
diff --git a/include/memory/renesas-rpc-if.h b/include/memory/renesas-rpc-if.h
index 862eff613dc7..2dcb82df0d17 100644
--- a/include/memory/renesas-rpc-if.h
+++ b/include/memory/renesas-rpc-if.h
@@ -65,24 +65,8 @@ enum rpcif_type {
struct rpcif {
struct device *dev;
- void __iomem *base;
void __iomem *dirmap;
- struct regmap *regmap;
- struct reset_control *rstc;
size_t size;
- enum rpcif_type type;
- enum rpcif_data_dir dir;
- u8 bus_size;
- u8 xfer_size;
- void *buffer;
- u32 xferlen;
- u32 smcr;
- u32 smadr;
- u32 command; /* DRCMR or SMCMR */
- u32 option; /* DROPR or SMOPR */
- u32 enable; /* DRENR or SMENR */
- u32 dummy; /* DRDMCR or SMDMCR */
- u32 ddr; /* DRDRENR or SMDRENR */
};
int rpcif_sw_init(struct rpcif *rpc, struct device *dev);