GNU Linux-libre 5.4.274-gnu1
[releases.git] / arch / arm / include / asm / mach / flash.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  *  arch/arm/include/asm/mach/flash.h
4  *
5  *  Copyright (C) 2003 Russell King, All Rights Reserved.
6  */
7 #ifndef ASMARM_MACH_FLASH_H
8 #define ASMARM_MACH_FLASH_H
9
10 struct mtd_partition;
11 struct mtd_info;
12
13 /*
14  * map_name:    the map probe function name
15  * name:        flash device name (eg, as used with mtdparts=)
16  * width:       width of mapped device
17  * init:        method called at driver/device initialisation
18  * exit:        method called at driver/device removal
19  * set_vpp:     method called to enable or disable VPP
20  * mmcontrol:   method called to enable or disable Sync. Burst Read in OneNAND
21  * parts:       optional array of mtd_partitions for static partitioning
22  * nr_parts:    number of mtd_partitions for static partitioning
23  */
24 struct flash_platform_data {
25         const char      *map_name;
26         const char      *name;
27         unsigned int    width;
28         int             (*init)(void);
29         void            (*exit)(void);
30         void            (*set_vpp)(int on);
31         void            (*mmcontrol)(struct mtd_info *mtd, int sync_read);
32         struct mtd_partition *parts;
33         unsigned int    nr_parts;
34 };
35
36 #endif