On Wed, 30 Oct 2013 00:07:22 +0800 Ming Lei <ming.lei@xxxxxxxxxxxxx> wrote: > sg_copy_buffer() can't meet demand for some drrivers(such usb > mass storage), so we have to use the sg_miter_* APIs to access > sg buffer, then need export sg_miter_skip() for these drivers. > > The API is needed for converting to sg_miter_* APIs in USB storage > driver for accessing sg buffer. > > ... > > --- a/include/linux/scatterlist.h > +++ b/include/linux/scatterlist.h > @@ -345,6 +345,7 @@ struct sg_mapping_iter { > > void sg_miter_start(struct sg_mapping_iter *miter, struct scatterlist *sgl, > unsigned int nents, unsigned int flags); > +bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset); > bool sg_miter_next(struct sg_mapping_iter *miter); > void sg_miter_stop(struct sg_mapping_iter *miter); > > diff --git a/lib/scatterlist.c b/lib/scatterlist.c > index d16fa29..3a8e8e8 100644 > --- a/lib/scatterlist.c > +++ b/lib/scatterlist.c > @@ -495,7 +495,7 @@ static bool sg_miter_get_next_page(struct sg_mapping_iter *miter) > * true if @miter contains the valid mapping. false if end of sg > * list is reached. > */ > -static bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset) > +bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset) > { > sg_miter_stop(miter); > > @@ -513,6 +513,7 @@ static bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset) > > return true; > } > +EXPORT_SYMBOL(sg_miter_skip); > > /** > * sg_miter_next - proceed mapping iterator to the next mapping Looks OK to me. Please include this in whatever tree is used to merge "[PATCH 2/2] USB: storage: use sg_miter_* APIs to access scsi buffer". -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html