| 1 |
|
| 2 | #ifndef __SYSFS_UPLOAD_H
|
| 3 | #define __SYSFS_UPLOAD_H
|
| 4 |
|
| 5 | #include <linux/device.h>
|
| 6 |
|
| 7 | #include "sysfs.h"
|
| 8 |
|
| 9 | |
| 10 | * enum fw_upload_prog - firmware upload progress codes
|
| 11 | * @FW_UPLOAD_PROG_IDLE: there is no firmware upload in progress
|
| 12 | * @FW_UPLOAD_PROG_RECEIVING: worker thread is receiving firmware data
|
| 13 | * @FW_UPLOAD_PROG_PREPARING: target device is preparing for firmware upload
|
| 14 | * @FW_UPLOAD_PROG_TRANSFERRING: data is being copied to the device
|
| 15 | * @FW_UPLOAD_PROG_PROGRAMMING: device is performing the firmware update
|
| 16 | * @FW_UPLOAD_PROG_MAX: Maximum progress code marker
|
| 17 |
|
| 18 | enum fw_upload_prog {
|
| 19 | FW_UPLOAD_PROG_IDLE,
|
| 20 | FW_UPLOAD_PROG_RECEIVING,
|
| 21 | FW_UPLOAD_PROG_PREPARING,
|
| 22 | FW_UPLOAD_PROG_TRANSFERRING,
|
| 23 | FW_UPLOAD_PROG_PROGRAMMING,
|
| 24 | FW_UPLOAD_PROG_MAX
|
| 25 | };
|
| 26 |
|
| 27 | struct fw_upload_priv {
|
| 28 | struct fw_upload *fw_upload;
|
| 29 | struct module *module;
|
| 30 | const char *name;
|
| 31 | const struct fw_upload_ops *ops;
|
| 32 | struct mutex lock;
|
| 33 | struct work_struct work;
|
| 34 | const u8 *data;
|
| 35 | u32 remaining_size;
|
| 36 | enum fw_upload_prog progress;
|
| 37 | enum fw_upload_prog err_progress;
|
| 38 | enum fw_upload_err err_code;
|
| 39 | };
|
| 40 |
|
| 41 | #endif
|