xref: /linux/drivers/dpll/zl3073x/flash.h (revision ccde82e909467abdf098a8ee6f63e1ecf9a47ce5)
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 
3 #ifndef __ZL3073X_FLASH_H
4 #define __ZL3073X_FLASH_H
5 
6 #include <linux/types.h>
7 
8 struct netlink_ext_ack;
9 struct zl3073x_dev;
10 
11 int zl3073x_flash_mode_enter(struct zl3073x_dev *zldev, const void *util_ptr,
12 			     size_t util_size, struct netlink_ext_ack *extack);
13 
14 int zl3073x_flash_mode_leave(struct zl3073x_dev *zldev,
15 			     struct netlink_ext_ack *extack);
16 
17 int zl3073x_flash_page(struct zl3073x_dev *zldev, const char *component,
18 		       u32 page, u32 addr, const void *data, size_t size,
19 		       struct netlink_ext_ack *extack);
20 
21 int zl3073x_flash_page_copy(struct zl3073x_dev *zldev, const char *component,
22 			    u32 src_page, u32 dst_page,
23 			    struct netlink_ext_ack *extack);
24 
25 int zl3073x_flash_sectors(struct zl3073x_dev *zldev, const char *component,
26 			  u32 page, u32 addr, const void *data, size_t size,
27 			  struct netlink_ext_ack *extack);
28 
29 #endif /* __ZL3073X_FLASH_H */
30