lkml.org 
[lkml]   [2007]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    SubjectRe: Build error with latest git
    Date

    [Adding needed CC's]

    16 Tem 2007 Pts tarihinde, Larry Finger şunları yazmıştı:
    > Using the latest git pull (commit
    > abce891a10559343d8ac9f79b46d78afdba63a40), I get the following linker
    > error:
    >
    > block/built-in.o: In function `bsg_init':
    > bsg.c:(.init.text+0x43d): undefined reference to `scsi_register_interface'
    >
    > This is on an x86_64 system with the following .config:

    I've hit that also (current git cannot compiled with CONFIG_BLK_DEV_BSG=y
    ), if i'm not wrongly interpret the Makefile it seems a ordering issue;

    Makefile
    ...
    ifeq ($(KBUILD_EXTMOD),)
    core-y· · += kernel/ mm/ fs/ ipc/ security/ crypto/ block/
    ...
    vmlinux-init := $(head-y) $(init-y)
    vmlinux-main := $(core-y) $(libs-y) $(drivers-y) $(net-y)
    ...

    but block block/bsg.c uses "scsi_register_interface" exported by
    drivers/scsi/scsi_sysfs.c which lives in drivers-y. Moving bsg in
    drivers/scsi seems solves this issues, see following

    Signed-off-by: S.Çağlar Onur <caglar@pardus.org.tr>

    block/Kconfig | 8 --------
    block/Makefile | 1 -
    drivers/scsi/Kconfig | 8 ++++++++
    drivers/scsi/Makefile | 1 +
    {block => drivers/scsi}/bsg.c | 0
    5 files changed, 9 insertions(+), 9 deletions(-)

    diff --git a/block/Kconfig b/block/Kconfig
    index 1d16b08..2859351 100644
    --- a/block/Kconfig
    +++ b/block/Kconfig
    @@ -51,12 +51,4 @@ config LSF

    endif # BLOCK

    -config BLK_DEV_BSG
    - bool "Block layer SG support"
    - depends on SCSI && EXPERIMENTAL
    - default y
    - ---help---
    - Saying Y here will enable generic SG (SCSI generic) v4
    - support for any block device.
    -
    source block/Kconfig.iosched
    diff --git a/block/Makefile b/block/Makefile
    index 959feeb..4b84d0d 100644
    --- a/block/Makefile
    +++ b/block/Makefile
    @@ -4,7 +4,6 @@

    obj-$(CONFIG_BLOCK) := elevator.o ll_rw_blk.o ioctl.o genhd.o scsi_ioctl.o

    -obj-$(CONFIG_BLK_DEV_BSG) += bsg.o
    obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o
    obj-$(CONFIG_IOSCHED_AS) += as-iosched.o
    obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o
    diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
    index 3727231..fbb06de 100644
    --- a/drivers/scsi/Kconfig
    +++ b/drivers/scsi/Kconfig
    @@ -81,6 +81,14 @@ config BLK_DEV_SD
    In this case, do not compile the driver for your SCSI host adapter
    (below) as a module either.

    +config BLK_DEV_BSG
    + bool "Block layer SG support"
    + depends on SCSI && EXPERIMENTAL
    + default y
    + ---help---
    + Saying Y here will enable generic SG (SCSI generic) v4
    + support for any block device.
    +
    config CHR_DEV_ST
    tristate "SCSI tape support"
    depends on SCSI
    diff --git a/drivers/scsi/Makefile b/drivers/scsi/Makefile
    index 0f86895..15de029 100644
    --- a/drivers/scsi/Makefile
    +++ b/drivers/scsi/Makefile
    @@ -139,6 +139,7 @@ obj-$(CONFIG_CHR_DEV_ST) += st.o
    obj-$(CONFIG_CHR_DEV_OSST) += osst.o
    obj-$(CONFIG_BLK_DEV_SD) += sd_mod.o
    obj-$(CONFIG_BLK_DEV_SR) += sr_mod.o
    +obj-$(CONFIG_BLK_DEV_BSG) += bsg.o
    obj-$(CONFIG_CHR_DEV_SG) += sg.o
    obj-$(CONFIG_CHR_DEV_SCH) += ch.o

    diff --git a/block/bsg.c b/drivers/scsi/bsg.c
    similarity index 100%
    rename from block/bsg.c
    rename to drivers/scsi/bsg.c


    Cheers
    --
    S.Çağlar Onur <caglar@pardus.org.tr>
    http://cekirdek.pardus.org.tr/~caglar/

    Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2007-07-16 22:41    [W:0.029 / U:29.224 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site