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>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 13 October 2005 21:51, John Baldwin wrote:
> On Thursday 06 October 2005 07:21 am, Milan Obuch wrote:

=2E..

> > 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.
> >

=2E..

> >
> > 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. =A0Can
> 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=20
6.0-RC1, after looking elsewhere I added 'MODULE_VERSION(pcf_isa, 1);' as=20
well. Those ones are not written literally at other places, but nevertheles=
s,=20
this works.

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

With Makefile changed to

=2EPATH: =A0 =A0 =A0 =A0 =A0${.CURDIR}/../../../../dev/pcf
KMOD =A0 =A0 =A0 =A0 =A0 =A0=3D pcf
SRCS =A0 =A0 =A0 =A0 =A0 =A0=3D device_if.h bus_if.h iicbus_if.h isa_if.h \
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 pcf.c pcf_isa.c

=2Einclude <bsd.kmod.mk>

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

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

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

Milan



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