/* * Load firmware files from Analog Devices SigmaStudio * * Copyright 2009-2011 Analog Devices Inc. * * Licensed under the GPL-2 or later. */ #ifndef __SIGMA_FIRMWARE_H__ #define __SIGMA_FIRMWARE_H__ #include #include struct sigma_action { u8 instr; u8 len_hi; __le16 len; __be16 addr; unsigned char payload[]; } __packed; struct sigma_firmware { const struct firmware *fw; size_t pos; void *control_data; int (*write)(void *control_data, const struct sigma_action *sa, size_t len); }; int _process_sigma_firmware(struct device *dev, struct sigma_firmware *ssfw, const char *name); struct i2c_client; extern int process_sigma_firmware(struct i2c_client *client, const char *name); extern int process_sigma_firmware_regmap(struct device *dev, struct regmap *regmap, const char *name); #endif