|  | /* | 
|  | * Copyright (C) 2007 Jens Axboe <jens.axboe@oracle.com> | 
|  | * | 
|  | * Scatterlist handling helpers. | 
|  | * | 
|  | * This source code is licensed under the GNU General Public License, | 
|  | * Version 2. See the file COPYING for more details. | 
|  | */ | 
|  |  | 
|  | #include <linux_compat.h> | 
|  |  | 
|  | void sg_init_table(struct scatterlist *sgl, unsigned int nents) | 
|  | { | 
|  | memset(sgl, 0, sizeof(*sgl) * nents); | 
|  | sg_mark_end(&sgl[nents - 1]); | 
|  | } | 
|  |  | 
|  | struct scatterlist *sg_next(struct scatterlist *sg) | 
|  | { | 
|  | if (sg_is_last(sg)) | 
|  | return NULL; | 
|  |  | 
|  | sg++; | 
|  | if (unlikely(sg_is_chain(sg))) | 
|  | sg = sg_chain_ptr(sg); | 
|  |  | 
|  | return sg; | 
|  | } |