Re: dw_mmc build broken in next-20130220 (was Re: [PATCH v3 2/2] lib/scatterlist: use page iterator in the mapping iterator)

Imre Deak
2013-02-20T18:41:57Z

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