Lines Matching refs:ftp
34 ssize_t (*transfer)(const struct hmcdrv_ftp_cmdspec *ftp,
39 static int hmcdrv_ftp_parse(char *cmd, struct hmcdrv_ftp_cmdspec *ftp);
112 static int hmcdrv_ftp_parse(char *cmd, struct hmcdrv_ftp_cmdspec *ftp) in hmcdrv_ftp_parse() argument
117 ftp->id = HMCDRV_FTP_NOOP; in hmcdrv_ftp_parse()
118 ftp->fname = NULL; in hmcdrv_ftp_parse()
134 ftp->id = hmcdrv_ftp_cmd_getid(start, cmd - start); in hmcdrv_ftp_parse()
139 ftp->fname = start; in hmcdrv_ftp_parse()
149 if (!ftp->fname || (ftp->id == HMCDRV_FTP_NOOP)) in hmcdrv_ftp_parse()
161 ssize_t hmcdrv_ftp_do(const struct hmcdrv_ftp_cmdspec *ftp) in hmcdrv_ftp_do() argument
169 ftp->id, ftp->fname, (long long) ftp->ofs, ftp->len); in hmcdrv_ftp_do()
170 len = hmcdrv_cache_cmd(ftp, hmcdrv_ftp_funcs->transfer); in hmcdrv_ftp_do()
189 struct hmcdrv_ftp_cmdspec ftp = { in hmcdrv_ftp_probe() local
196 ftp.buf = (void *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in hmcdrv_ftp_probe()
198 if (!ftp.buf) in hmcdrv_ftp_probe()
206 rc = hmcdrv_ftp_do(&ftp); in hmcdrv_ftp_probe()
220 free_page((unsigned long) ftp.buf); in hmcdrv_ftp_probe()
242 struct hmcdrv_ftp_cmdspec ftp = {.len = len, .ofs = offset}; in hmcdrv_ftp_cmd() local
243 ssize_t retlen = hmcdrv_ftp_parse(cmd, &ftp); in hmcdrv_ftp_cmd()
248 order = get_order(ftp.len); in hmcdrv_ftp_cmd()
249 ftp.buf = (void *) __get_free_pages(GFP_KERNEL | GFP_DMA, order); in hmcdrv_ftp_cmd()
251 if (!ftp.buf) in hmcdrv_ftp_cmd()
254 switch (ftp.id) { in hmcdrv_ftp_cmd()
258 retlen = hmcdrv_ftp_do(&ftp); in hmcdrv_ftp_cmd()
261 copy_to_user(buf, ftp.buf, retlen)) in hmcdrv_ftp_cmd()
267 if (!copy_from_user(ftp.buf, buf, ftp.len)) in hmcdrv_ftp_cmd()
268 retlen = hmcdrv_ftp_do(&ftp); in hmcdrv_ftp_cmd()
274 retlen = hmcdrv_ftp_do(&ftp); in hmcdrv_ftp_cmd()
282 free_pages((unsigned long) ftp.buf, order); in hmcdrv_ftp_cmd()