Re: The assemble file under the driver folder can not be recognized when the driver is built as module

From: Sam Ravnborg
Date: Mon Apr 10 2006 - 13:33:26 EST


On Mon, Apr 10, 2006 at 09:27:18PM +0800, Aubrey wrote:
> On 4/10/06, Erik Mouw <erik@xxxxxxxxxxxxxxxxxxxxx> wrote:
> > On Mon, Apr 10, 2006 at 06:16:56PM +0800, Aubrey wrote:
> > Why would you write a driver in assembly in the first place? That makes
> > it highly unportable, I bet you can't compile your driver for x86 and
> > ARM from the same source. There are only four drivers in the whole
> > kernel tree that have an assembly part, but those are so tied to their
> > platform (Acorn, Amiga) that they aren't portable anyway.
>
> Yes, the driver isn't portable. I'm working on the blackfin linux
> system. The driver is written mostly by c except one codec. You know,
> blackfin has DSP instruction set, so I write the codec in assembly to
> improve my driver's performance.
> >
> > I haven't seen your Makefile so I can't see what's wrong, but see
> > drivers/scsi/arm/Makefile for an example.
> >
> Makefile is simple.
> ===============================
> ----snip----
> obj-$(CONFIG_FB_BFIN_7171) += bfin_ad7171fb.o rgb2ycbcr.o
> ----snip----
> ===============================
> There are two files, bfin_ad7171fb.c and rgb2ycbcr.S under the folder
> " ./drivers/video".
> It should be OK because the driver can pass the compilation when
> select it as built-in.
What you say with the above is that you want to create two modules.
One module named: bfin_ad7171fb
and another module named: rgb2ycbcr

But kbuild does not support creating modules based on a .S file alone.
What I expect you to say is that you have one module named: bfin_7171
this is expressed like this:

obj-$(CONFIG_FB_BFIN_7171) += bfin_7171.o
bfin_7171-y := bfin_ad7171fb.o rgb2ycbcr.o

And then it works with your .S file.

Sam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/