Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Oct 2005 06:51:53 +0200
From:      Milan Obuch <current@dino.sk>
To:        freebsd-current@freebsd.org
Subject:   Re: pcf module problem
Message-ID:  <200510140652.01440.current@dino.sk>
In-Reply-To: <200510131551.46397.jhb@freebsd.org>
References:  <200510061321.35170.current@dino.sk> <200510131551.46397.jhb@freebsd.org>

index | next in thread | previous in thread | raw e-mail

On Thursday 13 October 2005 21:51, John Baldwin wrote:
> On Thursday 06 October 2005 07:21 am, Milan Obuch wrote:

...

> > Then I checked pcf module and found the same behavior. If you have no
> > 'device iicbus' in kernel configuration, issuing 'kldload pcf' gives
> > link_elf: symbol iicbus_intr undefined
> > kldload: can't load pcf: No such file or directory.
> >
> > Adding 'device iibus' into kernel configuration and rebuilding kernel
> > fixes this, so it looks like symbol is just not exported.
> >

...

> >
> > Anyway, is anybody out there using pcf? There is some work done in this
> > area, but not yet linked into main tree. I have not pcf hardware, so I
> > can not test anything in this area, but it would be good to make the
> > transition from older i386/isa/pcf.c to new dev/pcf/...
>
> Sounds like it is missing a 'MODULE_DEPEND(iicbus, 1, 1, 1);' line.  Can
> you try adding one and seeing if it fixes the kldload of pcf?

Bingo!

Actually, it is 'MODULE_DEPEND(pcf_isa, iicbus, 1, 1, 1);', at least with 
6.0-RC1, after looking elsewhere I added 'MODULE_VERSION(pcf_isa, 1);' as 
well. Those ones are not written literally at other places, but nevertheless, 
this works.

Still, transition from 'sys/i386/isa/pcf.c' to '/sys/dev/pcf/*' solves this 
isue as well, because there it is already fixed.

With Makefile changed to

.PATH:          ${.CURDIR}/../../../../dev/pcf
KMOD            = pcf
SRCS            = device_if.h bus_if.h iicbus_if.h isa_if.h \
                  pcf.c pcf_isa.c

.include <bsd.kmod.mk>

it just works. I changed directly Makefile 
in /sr/src/sys/modules/i2c/controllers/pcf, just for test, so maybe this is 
not enough, however, it works.

So, the question remains - is anybody out there using pcf devices to confirm 
this really works? For me it compiles and kldloads, but I have no real device 
to test real functionality.

And the other question - is anybody out there using i2c devices at all? If so, 
I would like to hear about their experiences. This area seems to be not 
covered anywhere. Googling for 'freebsd i2c' and similar does not reveal 
anything interesting for me...

Milan


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510140652.01440.current>