cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sysfs_upload.h (1314B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      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 */
     18enum 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
     27struct 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;		  /* protect data structure contents */
     33	struct work_struct work;
     34	const u8 *data;			  /* pointer to update data */
     35	u32 remaining_size;		  /* size remaining to transfer */
     36	enum fw_upload_prog progress;
     37	enum fw_upload_prog err_progress; /* progress at time of failure */
     38	enum fw_upload_err err_code;	  /* security manager error code */
     39};
     40
     41#endif /* __SYSFS_UPLOAD_H */