I have a driver, drivers/spi/spi_s3c24xx.c in this case that I have
written an FIQ handler for which requires some assembly code. My attempts
at trying to change it so that I can build a single module with both the
C and ASM code linked together have not yet been a success.
The original makefile bit from drivers/spi/Makefile was:
obj-$(CONFIG_SPI_S3C24XX) += spi_s3c24xx.o
This allows it to work as a kernel builtin:
obj-$(CONFIG_SPI_S3C24XX) += spi_s3c24xx.o
obj-$(CONFIG_SPI_S3C24XX_FIQ) += spi_s3c24xx_fiq.o
I tried adding the following to the file, but this does not make
the FIQ code, I assume as there is still drivers/spi/spi_s3c24xx.c.
obj-spi_s3c24xx-y := spi_s3c24xx.o
obj-spi_s3c24xx-$(CONFIG_SPI_S3C24XX_FIQ) += spi_s3c24xx_fiq.o
Should I rename drivers/spi/spi_s3c24xx.c to something else to avoid
changing the module name, change the module name to avoid renaming the .c
to say spi_s3c24xx_hw (we have a gpio implementation, but that could easily
be removed in favour of gpiolib). Or is there something else that could
be done?
Note, I was initially against renaming the module, but with module autoload
working so well it seems easier to rename the module than try renaming the
.c file.
--
Ben ([email protected], http://www.fluff.org/)
'a smiley only costs 4 bytes'
On Tue, Oct 13, 2009 at 09:24:27AM +0100, Ben Dooks wrote:
> I have a driver, drivers/spi/spi_s3c24xx.c in this case that I have
> written an FIQ handler for which requires some assembly code. My attempts
> at trying to change it so that I can build a single module with both the
> C and ASM code linked together have not yet been a success.
>
> The original makefile bit from drivers/spi/Makefile was:
>
> obj-$(CONFIG_SPI_S3C24XX) += spi_s3c24xx.o
>
> This allows it to work as a kernel builtin:
>
> obj-$(CONFIG_SPI_S3C24XX) += spi_s3c24xx.o
> obj-$(CONFIG_SPI_S3C24XX_FIQ) += spi_s3c24xx_fiq.o
>
> I tried adding the following to the file, but this does not make
> the FIQ code, I assume as there is still drivers/spi/spi_s3c24xx.c.
>
> obj-spi_s3c24xx-y := spi_s3c24xx.o
> obj-spi_s3c24xx-$(CONFIG_SPI_S3C24XX_FIQ) += spi_s3c24xx_fiq.o
A multi-file module cannot have a .c file with a name
equal to the modulename.
So going from a single-file module to a multi-file
module rwquire you to rename the .c file if you want
to keep the old module name.
Sam