Re: [uml-devel] [PATCH] UML: Fix some apparent bitrot
From: Stephen Rothwell
Date: Wed Jun 24 2009 - 23:59:23 EST
Hi all,
I applied the following patch to yesterday's linux-next and the i386 uml
defconfig build succeeded.
The last hunk of this patch (arch/um/include/asm/mmu_context.h) needs to
be notified to Rusty Russell (cc'd) since that only applied after merging
his tree.
The rest appears to apply ok to Linus' tree.
Please split this and send it to the appropriate people and cc me.
On Mon, 22 Jun 2009 11:43:52 +0300 Boaz Harrosh <bharrosh@xxxxxxxxxxx> wrote:
>
> On 06/20/2009 03:55 AM, Paul Menage wrote:
> > UML: Fix some apparent bitrot
> >
> > - migration of net_device methods into net_device_ops
> > - dma_sync_single() changes
> > - cpumask_clear() -> cpumask_clear_cpu()
> >
> > Signed-off-by: Paul Menage <menage@xxxxxxxxxx>
> >
> > --
> >
> > Fixes the following compile errors:
> >
> > include/linux/dma-mapping.h:113: error: redefinition of 'dma_sync_single'
> > arch/um/include/asm/dma-mapping.h:84: error: previous definition of 'dma_sync_single' was here
> > include/linux/dma-mapping.h: In function 'dma_sync_single':
> > include/linux/dma-mapping.h:117: error: implicit declaration of function 'dma_sync_single_for_cpu'
> > include/linux/dma-mapping.h: At top level:
> > include/linux/dma-mapping.h:120: error: redefinition of 'dma_sync_sg'
> > arch/um/include/asm/dma-mapping.h:91: error: previous definition of 'dma_sync_sg' was here
> > include/linux/dma-mapping.h: In function 'dma_sync_sg':
> > include/linux/dma-mapping.h:124: error: implicit declaration of function 'dma_sync_sg_for_cpu'
> >
> >
> > arch/um/drivers/slirp_kern.c: In function 'slirp_init':
> > arch/um/drivers/slirp_kern.c:35: error: 'struct net_device' has no member named 'init'
> >
> >
> > arch/um/include/asm/mmu_context.h: In function 'switch_mm':
> > arch/um/include/asm/mmu_context.h:38: warning: passing argument 1 of 'cpumask_clear' makes pointer from integer without
> > a cast
> > arch/um/include/asm/mmu_context.h:38: error: too many arguments to function 'cpumask_clear'
> >
> > ---
>
> Stephan hi.
>
> The above breakage is the usual stuff we get every merge window. With people doing
> cross arch work and neglecting UML.
>
> Who is the person or people responsible for the large linux-next compilation rig?
> Is it possible to also add a UML traget, at least for the x86_64/x86_32 sub-arch?
>
> Thanks
> Boaz
>
> >
> > arch/um/drivers/slip_kern.c | 1 -
> > arch/um/drivers/slirp_kern.c | 1 -
> > arch/um/include/asm/dma-mapping.h | 4 ++--
> > arch/um/include/asm/mmu_context.h | 2 +-
> > 4 files changed, 3 insertions(+), 5 deletions(-)
> >
> > diff --git a/arch/um/drivers/slip_kern.c b/arch/um/drivers/slip_kern.c
> > index 5ec1756..dd2aadc 100644
> > --- a/arch/um/drivers/slip_kern.c
> > +++ b/arch/um/drivers/slip_kern.c
> > @@ -30,7 +30,6 @@ static void slip_init(struct net_device *dev, void *data)
> >
> > slip_proto_init(&spri->slip);
> >
> > - dev->init = NULL;
> > dev->hard_header_len = 0;
> > dev->header_ops = NULL;
> > dev->addr_len = 0;
> > diff --git a/arch/um/drivers/slirp_kern.c b/arch/um/drivers/slirp_kern.c
> > index f15a6e7..e376284 100644
> > --- a/arch/um/drivers/slirp_kern.c
> > +++ b/arch/um/drivers/slirp_kern.c
> > @@ -32,7 +32,6 @@ void slirp_init(struct net_device *dev, void *data)
> >
> > slip_proto_init(&spri->slip);
> >
> > - dev->init = NULL;
> > dev->hard_header_len = 0;
> > dev->header_ops = NULL;
> > dev->addr_len = 0;
> > diff --git a/arch/um/include/asm/dma-mapping.h b/arch/um/include/asm/dma-mapping.h
> > index 90fc708..378de4b 100644
> > --- a/arch/um/include/asm/dma-mapping.h
> > +++ b/arch/um/include/asm/dma-mapping.h
> > @@ -79,14 +79,14 @@ dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries,
> > }
> >
> > static inline void
> > -dma_sync_single(struct device *dev, dma_addr_t dma_handle, size_t size,
> > +dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, size_t size,
> > enum dma_data_direction direction)
> > {
> > BUG();
> > }
> >
> > static inline void
> > -dma_sync_sg(struct device *dev, struct scatterlist *sg, int nelems,
> > +dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems,
> > enum dma_data_direction direction)
> > {
> > BUG();
> > diff --git a/arch/um/include/asm/mmu_context.h b/arch/um/include/asm/mmu_context.h
> > index edd719e..34d8130 100644
> > --- a/arch/um/include/asm/mmu_context.h
> > +++ b/arch/um/include/asm/mmu_context.h
> > @@ -35,7 +35,7 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
> > unsigned cpu = smp_processor_id();
> >
> > if(prev != next){
> > - cpumask_clear(cpu, mm_cpumask(prev));
> > + cpumask_clear_cpu(cpu, mm_cpumask(prev));
> > cpumask_set_cpu(cpu, mm_cpumask(next));
> > if(next != &init_mm)
> > __switch_mm(&next->context.id);
> >
--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/
Attachment:
pgp00000.pgp
Description: PGP signature