On Wed, 2013-02-20 at 16:42 +0000, James Hogan wrote: > On 13 February 2013 15:10, Imre Deak <imre.deak@xxxxxxxxx> 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@xxxxxxxxxx>. > > > > Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> > > --- > > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html