Hi,

Yes, and I also posted a patch for dynamic majors a while ago, where it
was thought that nobody needs dynamic majors in fusion?

Anyway - Nils, why do you initialize
fusion_major = FUSION_MAJOR;
twice in your patch, shouldn't be necessary? 


Cheers,
Andre'


On Mon, 2009-11-16 at 19:42 +0100, Niels Roest wrote:
> Hi Timothy,
> 
> supporting a dynamic major was something missing indeed.
> I do propose to implement it slightly different, namely first try the 
> static major, and attempt dynamic assignment on failure.
> This makes sure that systems without udev will still work.
> 
> I attached my patch..
> 
> Regarding /dev/fusion/0, a recent change suggested by a fellow 
> mailing-lister now tries both variants. This did not yet manage to find 
> its way in a release.
> 
> Also, I believe André Draszik provided an updated Makefile which I did 
> not fully check yet, but you might have a look to see if it suits your 
> needs, then I'll check it in.
> 
> Not sure why you are having problems with FCEF_ONEWAY..
> 
> Thanks for the updates,
> Greets
> Niels
> 
> Strelchun, Timothy wrote:
> > Hi guys,
> >
> > Here's a patch for linux-fusion-8.1.1 that handles dynamic major number 
> > generation.  In the interest of quickly getting this out, I have not 
> > stripped the original unmodified code (which the compile will revert back 
> > to if INTELCE_CHANGES is not defined).
> >
> > I also attached a full patch for the changes we did as described below.  
> > Not all, but most of the makefile changes are to custom the package work to 
> > build as a subcomponent in a different build environment.
> >
> >   Files:  Makefile
> >
> >     Modified to allow for proper building on kernel 2.6.28
> >
> >   Files:  linux/drivers/char/fusion/Makefile-2.6
> >           linux/drivers/char/fusion/fusiondev.c
> >           tests/calls.c
> >           tests/latency.c
> >           tests/throughput.c
> >           tests/Makefile
> >           Makefile
> >
> >     Modified makefiles to not depend on the host's kernel because the
> >     target's kernel is often different than the host's kernel and was
> >     modifying how the compile occurred.
> >
> >     Modified makefile to include IntelCE_Version.o and use DFB_FUSION_NAME
> >     environment variable in KERNEL_INCLUDE path.
> >
> >     Modified device registration to use a dynamically allocated major 
> > number.
> >
> >     Added INTELCE_CHANGES define to the Makefile.
> >
> >     Modified tests to use /dev/fusion0 instead of /dev/fusion/0.
> >
> >     Modified the 'calls' test to not use the FCEF_ONEWAY flag, which caused
> >     failures on the FUSION_CALL_RETURN ioctl.
> >
> > Regards,
> > Timothy
> >
> > --
> >
> > Timothy Strelchun
> > CE Software Engineering
> > Digital Home Group
> > Intel Corporation
> >
> > The views expressed above are my own and not those of Intel
> >
> >   
> >> -----Original Message-----
> >> From: directfb-dev-boun...@directfb.org 
> >> [mailto:directfb-dev-boun...@directfb.org] On Behalf Of Niels Roest
> >> Sent: Tuesday, November 10, 2009 1:02 PM
> >> To: Mark
> >> Cc: directfb-dev@directfb.org
> >> Subject: Re: [directfb-dev] Device ID issue in linux-fusion module
> >>
> >> As a quick comment:
> >>
> >> The device ID is indeed fixed, this is the "old fashioned" way 
> >> of assigning device IDs.
> >> In recent desktop linux environments the major number is now 
> >> normally configurable, the linux-fusion driver should be 
> >> updatable to support that. Note that some embedded devices do 
> >> not support this, and embedded systems in general do not 
> >> suffer as strongly from major number clogging as desktop 
> >> systems. Open for patches though..
> >>
> >> Greets
> >> Niels
> >>     
> >> ------------------------------------------------------------------------
> >>
> >> _______________________________________________
> >> directfb-dev mailing list
> >> directfb-dev@directfb.org
> >> http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev
> >>     
> 
> 
> plain text document attachment (Makefile)
> # for native builds:
> # make modules modules_install
> # make KERNELDIR=<not currently running kernel's build tree> modules 
> modules_install
> # make KERNEL_VERSION=<uname -r of the not currently running kernel> modules 
> modules_install
> #
> # for cross builds, using standard kernel make environment, i.e.
> # make KERNELDIR=<linux build tree> INSTALL_MOD_PATH=<target root fs> modules 
> modules_install
> 
> KERNEL_VERSION   ?= $(shell uname -r)
> INSTALL_MOD_PATH ?= /
> KERNELDIR        ?= $(INSTALL_MOD_PATH)/lib/modules/$(KERNEL_VERSION)/build
> 
> KERNEL_BUILD  = $(KERNELDIR)
> KERNEL_SOURCE = $(shell grep ^KERNELSRC $(KERNEL_BUILD)/Makefile | cut -d ' ' 
> -f 6)
> ifneq ($(KERNEL_SOURCE), )
>   K_VERSION    = $(shell grep '^VERSION =' $(KERNEL_SOURCE)/Makefile | cut -d 
> ' ' -f 3)
>   K_PATCHLEVEL = $(shell grep '^PATCHLEVEL =' $(KERNEL_SOURCE)/Makefile | cut 
> -d ' ' -f 3)
>   K_SUBLEVEL   = $(shell grep '^SUBLEVEL =' $(KERNEL_SOURCE)/Makefile | cut 
> -d ' ' -f 3)
> else
>   K_VERSION    = $(shell grep '^VERSION =' $(KERNEL_BUILD)/Makefile | cut -d 
> ' ' -f 3)
>   K_PATCHLEVEL = $(shell grep '^PATCHLEVEL =' $(KERNEL_BUILD)/Makefile | cut 
> -d ' ' -f 3)
>   K_SUBLEVEL   = $(shell grep '^SUBLEVEL =' $(KERNEL_BUILD)/Makefile | cut -d 
> ' ' -f 3)
> endif
> 
> SUB    = linux/drivers/char/fusion
> SUBMOD = drivers/char/fusion
> 
> export CONFIG_FUSION_DEVICE=m
> 
> 
> ifeq ($(DEBUG),yes)
>   CPPFLAGS += -DFUSION_DEBUG_SKIRMISH_DEADLOCK
> endif
> 
> ifeq ($(shell test -e $(KERNEL_BUILD)/include/linux/autoconf.h && echo 
> yes),yes)
>   AUTOCONF_H = -include $(KERNEL_BUILD)/include/linux/autoconf.h
> endif
> 
> ifeq ($(shell test -e $(KERNEL_BUILD)/include/linux/config.h && echo yes),yes)
>   CPPFLAGS += -DHAVE_LINUX_CONFIG_H
> endif
> 
> check-version = $(shell expr \( $(K_VERSION) \* 65536 + $(K_PATCHLEVEL) \* 
> 256 + $(K_SUBLEVEL) \) \>= \( $(1) \* 65536 + $(2) \* 256 + $(3) \))
> 
> .PHONY: all modules modules_install install clean
> 
> all: modules
> install: modules_install headers_install
> 
> modules:
>       rm -f $(SUB)/Makefile
>       ln -s Makefile-2.$(K_PATCHLEVEL) $(SUB)/Makefile
>       echo kernel is in $(KERNEL_SOURCE) and version is $(K_SUBLEVEL)
> ifeq ($(call check-version,2,6,24),1)
>       $(MAKE) -C $(KERNEL_BUILD) \
>               KCPPFLAGS="$(CPPFLAGS) -I`pwd`/linux/include" \
>               SUBDIRS=`pwd`/$(SUB) modules
> else
>       $(MAKE) -C $(KERNEL_BUILD) \
>               CPPFLAGS="$(CPPFLAGS) -D__KERNEL__ -I`pwd`/linux/include 
> -I$(KERNEL_BUILD)/include -I$(KERNEL_BUILD)/include2 
> -I$(KERNEL_SOURCE)/include $(AUTOCONF_H)" \
>               SUBDIRS=`pwd`/$(SUB) modules
> endif
> 
> modules_install: modules
> ifeq ($(K_PATCHLEVEL),4)
>       install -d 
> $(INSTALL_MOD_PATH)/lib/modules/$(KERNEL_VERSION)/drivers/char/fusion
>       install -m 644 $(SUB)/fusion.o 
> $(INSTALL_MOD_PATH)/lib/modules/$(KERNEL_VERSION)/drivers/char/fusion
>       rm -f $(INSTALL_MOD_PATH)/lib/modules/$(KERNEL_VERSION)/fusion.o
>       /sbin/depmod -ae -b $(INSTALL_MOD_PATH) $(KERNEL_VERSION)
> else
> ifeq ($(call check-version,2,6,24),1)
>       $(MAKE) -C $(KERNEL_BUILD) \
>               KCPPFLAGS="$(CPPFLAGS) -I`pwd`/linux/include" \
>               INSTALL_MOD_DIR="$(SUBMOD)" \
>               SUBDIRS=`pwd`/$(SUB) modules_install
> else
>       $(MAKE) -C $(KERNEL_BUILD) \
>               CPPFLAGS="$(CPPFLAGS) -D__KERNEL__ -I`pwd`/linux/include 
> -I$(KERNEL_BUILD)/include -I$(KERNEL_BUILD)/include2 
> -I$(KERNEL_SOURCE)/include $(AUTOCONF_H)" \
>               SUBDIRS=`pwd`/$(SUB) modules_install
> endif
> endif
> 
> headers_install:
>       install -d $(INSTALL_MOD_PATH)/usr/include/linux
>       install -m 644 linux/include/linux/fusion.h 
> $(INSTALL_MOD_PATH)/usr/include/linux
> 
> 
> 
> clean:
>       find $(SUB) -name *.o -o -name *.ko -o -name .*.o.cmd -o \
>               -name fusion.mod.* -o -name .fusion.* | xargs rm -f
>       rm -f $(SUB)/Makefile
> _______________________________________________
> directfb-dev mailing list
> directfb-dev@directfb.org
> http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev


_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to