Date: Mon, 24 Jun 2002 23:17:18 +0100 From: Doug Rabson <dfr@nlsystems.com> To: "M. Warner Losh" <imp@village.org> Cc: arch@freebsd.org Subject: Re: It is time to admit that removable devices exist Message-ID: <200206242317.18561.dfr@nlsystems.com> In-Reply-To: <20020624.144627.115021679.imp@village.org> References: <20020623.171200.96231110.imp@village.org> <200206240958.48240.dfr@nlsystems.com> <20020624.144627.115021679.imp@village.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 24 June 2002 9:46 pm, M. Warner Losh wrote:
> In message: <200206240958.48240.dfr@nlsystems.com>
>
> Doug Rabson <dfr@nlsystems.com> writes:
> : In your implementation of bus_generic_child_present, you pass the
> : original device to the parent bus' child_present method. The idea of
> : cascading the request is a good one (e.g. the phy of a cardbus ethern=
et
> : card is clearly not present if the card itself isn't present). It mig=
ht
> : be better for the bus implementation though if you pass the bus rathe=
r
> : than the original child device, e.g.:
> :
> : int
> : +bus_generic_child_present(device_t bus, device_t child)
> : +{
> : +=09return (BUS_CHILD_PRESENT(device_get_parent(bus), bus));
> : +}
> :
> : This would give the parent bus enough information to find the ivars e=
tc.
> : to make a decision about whether 'bus' is still present.
>
> Maybe. However, I do not know if all busses can tell if an immediate
> child can be detached always. I'm thinking specifically about USB and
> its device tree. But USB could be written such that it can cope with
> this.
My thinking was that it would be hard for a bus to tell if something whic=
h=20
wasn't an immediate child was present, since it can't know anything about=
the=20
structure of its children's children.
--=20
Doug Rabson=09=09=09=09Mail: dfr@nlsystems.com
=09=09=09=09=09Phone: +44 20 8348 6160
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200206242317.18561.dfr>
