On Fri, Jun 05, 2020 at 10:04:52PM -0700, Scott Branden wrote:
static struct fw_priv *__allocate_fw_priv(const char *fw_name, struct firmware_cache *fwc,
void *dbuf, size_t size)
void *dbuf, size_t size,
size_t offset,
enum kernel_pread_opt opt)
{
Your types are screwed up. size_t is the size of something in memory. loff_t is an offset in a file. This should be an loff_t. One of the other patches has the opposite problem.
(this is kind of a minor problem compared to all the complexity problems, but it's worth mentioning)