diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2022-06-07 18:06:31 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2022-07-10 15:22:10 +0100 |
commit | ad8ace53e5284a9b0c07f20ad10440dbc48dd4f7 (patch) | |
tree | 1a7c000ffffe6660640d96db5d3556b7801dcfb5 /firmware/target/mips/ingenic_x1000/nand-x1000.h | |
parent | cc017f211a338a68a571226e589ce34e47fc8ad3 (diff) | |
download | rockbox-ad8ace53e5284a9b0c07f20ad10440dbc48dd4f7.tar.gz rockbox-ad8ace53e5284a9b0c07f20ad10440dbc48dd4f7.zip |
x1000: remove 'typedef struct' from NAND driver
Using 'typedef struct' is not in line with the project coding style
and somewhat problematic, so get rid of it here.
Change-Id: Icfe79de72ed82cb7526e9f4e8296ec12084c01ac
Diffstat (limited to 'firmware/target/mips/ingenic_x1000/nand-x1000.h')
-rw-r--r-- | firmware/target/mips/ingenic_x1000/nand-x1000.h | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/firmware/target/mips/ingenic_x1000/nand-x1000.h b/firmware/target/mips/ingenic_x1000/nand-x1000.h index 176897e4f2..dda54eb5c6 100644 --- a/firmware/target/mips/ingenic_x1000/nand-x1000.h +++ b/firmware/target/mips/ingenic_x1000/nand-x1000.h | |||
@@ -95,7 +95,7 @@ | |||
95 | typedef uint32_t nand_block_t; | 95 | typedef uint32_t nand_block_t; |
96 | typedef uint32_t nand_page_t; | 96 | typedef uint32_t nand_page_t; |
97 | 97 | ||
98 | typedef struct nand_chip { | 98 | struct nand_chip { |
99 | /* Manufacturer and device ID bytes */ | 99 | /* Manufacturer and device ID bytes */ |
100 | uint8_t mf_id; | 100 | uint8_t mf_id; |
101 | uint8_t dev_id; | 101 | uint8_t dev_id; |
@@ -126,9 +126,9 @@ typedef struct nand_chip { | |||
126 | 126 | ||
127 | /* Chip specific flags */ | 127 | /* Chip specific flags */ |
128 | uint32_t flags; | 128 | uint32_t flags; |
129 | } nand_chip; | 129 | }; |
130 | 130 | ||
131 | typedef struct nand_drv { | 131 | struct nand_drv { |
132 | /* NAND access lock. Needs to be held during any operations. */ | 132 | /* NAND access lock. Needs to be held during any operations. */ |
133 | struct mutex mutex; | 133 | struct mutex mutex; |
134 | 134 | ||
@@ -150,7 +150,7 @@ typedef struct nand_drv { | |||
150 | uint8_t* page_buf; | 150 | uint8_t* page_buf; |
151 | 151 | ||
152 | /* Pointer to the chip data. */ | 152 | /* Pointer to the chip data. */ |
153 | const nand_chip* chip; | 153 | const struct nand_chip* chip; |
154 | 154 | ||
155 | /* Pages per block = 1 << chip->log2_ppb */ | 155 | /* Pages per block = 1 << chip->log2_ppb */ |
156 | unsigned ppb; | 156 | unsigned ppb; |
@@ -169,9 +169,9 @@ typedef struct nand_drv { | |||
169 | uint32_t cmd_program_load; | 169 | uint32_t cmd_program_load; |
170 | uint32_t cmd_program_execute; | 170 | uint32_t cmd_program_execute; |
171 | uint32_t cmd_block_erase; | 171 | uint32_t cmd_block_erase; |
172 | } nand_drv; | 172 | }; |
173 | 173 | ||
174 | extern const nand_chip supported_nand_chips[]; | 174 | extern const struct nand_chip supported_nand_chips[]; |
175 | extern const size_t nr_supported_nand_chips; | 175 | extern const size_t nr_supported_nand_chips; |
176 | 176 | ||
177 | /* Return the static NAND driver instance. | 177 | /* Return the static NAND driver instance. |
@@ -179,14 +179,14 @@ extern const size_t nr_supported_nand_chips; | |||
179 | * ALL normal Rockbox code should use this instance. The SPL does not | 179 | * ALL normal Rockbox code should use this instance. The SPL does not |
180 | * use it, because it needs to manually place buffers in external RAM. | 180 | * use it, because it needs to manually place buffers in external RAM. |
181 | */ | 181 | */ |
182 | extern nand_drv* nand_init(void); | 182 | extern struct nand_drv* nand_init(void); |
183 | 183 | ||
184 | static inline void nand_lock(nand_drv* drv) | 184 | static inline void nand_lock(struct nand_drv* drv) |
185 | { | 185 | { |
186 | mutex_lock(&drv->mutex); | 186 | mutex_lock(&drv->mutex); |
187 | } | 187 | } |
188 | 188 | ||
189 | static inline void nand_unlock(nand_drv* drv) | 189 | static inline void nand_unlock(struct nand_drv* drv) |
190 | { | 190 | { |
191 | mutex_unlock(&drv->mutex); | 191 | mutex_unlock(&drv->mutex); |
192 | } | 192 | } |
@@ -200,8 +200,8 @@ static inline void nand_unlock(nand_drv* drv) | |||
200 | * | 200 | * |
201 | * These functions require the lock to be held. | 201 | * These functions require the lock to be held. |
202 | */ | 202 | */ |
203 | extern int nand_open(nand_drv* drv); | 203 | extern int nand_open(struct nand_drv* drv); |
204 | extern void nand_close(nand_drv* drv); | 204 | extern void nand_close(struct nand_drv* drv); |
205 | 205 | ||
206 | /* Read / program / erase operations. Buffer needs to be cache-aligned for DMA. | 206 | /* Read / program / erase operations. Buffer needs to be cache-aligned for DMA. |
207 | * Read and program operate on full page data, ie. including OOB data areas. | 207 | * Read and program operate on full page data, ie. including OOB data areas. |
@@ -209,15 +209,15 @@ extern void nand_close(nand_drv* drv); | |||
209 | * NOTE: ECC is not implemented. If it ever needs to be, these functions will | 209 | * NOTE: ECC is not implemented. If it ever needs to be, these functions will |
210 | * probably use ECC transparently. All code should be written to expect this. | 210 | * probably use ECC transparently. All code should be written to expect this. |
211 | */ | 211 | */ |
212 | extern int nand_block_erase(nand_drv* drv, nand_block_t block); | 212 | extern int nand_block_erase(struct nand_drv* drv, nand_block_t block); |
213 | extern int nand_page_program(nand_drv* drv, nand_page_t page, const void* buffer); | 213 | extern int nand_page_program(struct nand_drv* drv, nand_page_t page, const void* buffer); |
214 | extern int nand_page_read(nand_drv* drv, nand_page_t page, void* buffer); | 214 | extern int nand_page_read(struct nand_drv* drv, nand_page_t page, void* buffer); |
215 | 215 | ||
216 | /* Wrappers to read/write bytes. For simple access to the main data area only. | 216 | /* Wrappers to read/write bytes. For simple access to the main data area only. |
217 | * The write address / length must align to a block boundary. Reads do not have | 217 | * The write address / length must align to a block boundary. Reads do not have |
218 | * any alignment requirement. OOB data is never read, and is written as 0xff. | 218 | * any alignment requirement. OOB data is never read, and is written as 0xff. |
219 | */ | 219 | */ |
220 | extern int nand_read_bytes(nand_drv* drv, uint32_t byte_addr, uint32_t byte_len, void* buffer); | 220 | extern int nand_read_bytes(struct nand_drv* drv, uint32_t byte_addr, uint32_t byte_len, void* buffer); |
221 | extern int nand_write_bytes(nand_drv* drv, uint32_t byte_addr, uint32_t byte_len, const void* buffer); | 221 | extern int nand_write_bytes(struct nand_drv* drv, uint32_t byte_addr, uint32_t byte_len, const void* buffer); |
222 | 222 | ||
223 | #endif /* __NAND_X1000_H__ */ | 223 | #endif /* __NAND_X1000_H__ */ |