Re: [PATCH 1/2] lib/scatterlist: export sg_miter_skip()

2013-10-31 Thread Andrew Morton
On Wed, 30 Oct 2013 00:07:22 +0800 Ming Lei ming@canonical.com 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] lib/scatterlist: export sg_miter_skip()

2013-10-31 Thread Ming Lei
Hi Andrew,

Thank you for the comment.

On Fri, Nov 1, 2013 at 5:47 AM, Andrew Morton a...@linux-foundation.org wrote:

 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.

Greg and Alan, would you mind reviewing  commenting on 2/2 and merge
the two finally to usb-next tree if you are OK with it?


Thanks,
--
Ming Lei
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] lib/scatterlist: export sg_miter_skip()

2013-10-29 Thread Ming Lei
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.

Cc: Andrew Morton a...@linux-foundation.org,
Cc: FUJITA Tomonori fujita.tomon...@lab.ntt.co.jp,
Cc: Tejun Heo t...@kernel.org,
Cc: Jens Axboe ax...@kernel.dk
Signed-off-by: Ming Lei ming@canonical.com
---
 include/linux/scatterlist.h |1 +
 lib/scatterlist.c   |3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h
index adae88f..a964f72 100644
--- 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
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html