On 13 February 2013 15:10, Imre Deak imre.deak@intel.com wrote:
For better code reuse use the newly added page iterator to iterate through the pages. The offset, length within the page is still calculated by the mapping iterator as well as the actual mapping. Idea from Tejun Heo tj@kernel.org.
Signed-off-by: Imre Deak imre.deak@intel.com
include/linux/scatterlist.h | 6 +++--- lib/scatterlist.c | 46 ++++++++++++++++++++----------------------- 2 files changed, 24 insertions(+), 28 deletions(-)
diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h index 788a853..a6cd692 100644 --- a/include/linux/scatterlist.h +++ b/include/linux/scatterlist.h @@ -295,9 +295,9 @@ struct sg_mapping_iter { size_t consumed; /* number of consumed bytes */
/* these are internal states, keep away */
struct scatterlist *__sg; /* current entry */
unsigned int __nents; /* nr of remaining entries */
unsigned int __offset; /* offset within sg */
unsigned int __offset; /* offset within page */
struct sg_page_iter __piter; /* page iterator */
unsigned int __remaining; /* remaining bytes on page */ unsigned int __flags;
};
Hi,
FYI, in next-20130220 this appears to break the build of the dw_mmc driver: drivers/mmc/host/dw_mmc.c In function 'dw_mci_read_data_pio': drivers/mmc/host/dw_mmc.c +1457 : error: 'struct sg_mapping_iter' has no member named '__sg' drivers/mmc/host/dw_mmc.c In function 'dw_mci_write_data_pio': drivers/mmc/host/dw_mmc.c +1512 : error: 'struct sg_mapping_iter' has no member named '__sg'
Cheers James
On Wed, 2013-02-20 at 16:42 +0000, James Hogan wrote:
On 13 February 2013 15:10, Imre Deak imre.deak@intel.com wrote:
For better code reuse use the newly added page iterator to iterate through the pages. The offset, length within the page is still calculated by the mapping iterator as well as the actual mapping. Idea from Tejun Heo tj@kernel.org.
Signed-off-by: Imre Deak imre.deak@intel.com
include/linux/scatterlist.h | 6 +++--- lib/scatterlist.c | 46 ++++++++++++++++++++----------------------- 2 files changed, 24 insertions(+), 28 deletions(-)
diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h index 788a853..a6cd692 100644 --- a/include/linux/scatterlist.h +++ b/include/linux/scatterlist.h @@ -295,9 +295,9 @@ struct sg_mapping_iter { size_t consumed; /* number of consumed bytes */
/* these are internal states, keep away */
struct scatterlist *__sg; /* current entry */
unsigned int __nents; /* nr of remaining entries */
unsigned int __offset; /* offset within sg */
unsigned int __offset; /* offset within page */
struct sg_page_iter __piter; /* page iterator */
unsigned int __remaining; /* remaining bytes on page */ unsigned int __flags;
};
Hi,
FYI, in next-20130220 this appears to break the build of the dw_mmc driver: drivers/mmc/host/dw_mmc.c In function 'dw_mci_read_data_pio': drivers/mmc/host/dw_mmc.c +1457 : error: 'struct sg_mapping_iter' has no member named '__sg' drivers/mmc/host/dw_mmc.c In function 'dw_mci_write_data_pio': drivers/mmc/host/dw_mmc.c +1512 : error: 'struct sg_mapping_iter' has no member named '__sg'
My fault, I haven't noticed this user of the field. It could be fixed by using __piter.sg instead of __sg. I will follow up with v4 of this patch including this change.
--Imre
linaro-mm-sig@lists.linaro.org