Re: [2.5.54][PATCH] SB16 convertation to new PnP layer.

Adam Belay (ambx1@neo.rr.com)
Thu, 9 Jan 2003 15:26:54 +0000


On Thu, Jan 09, 2003 at 06:35:12PM +0300, Ruslan U. Zakirov wrote:

> 1) As I've understood we need to free all reserved resources when
> remove function called, am I right?

Yes, all resources must be freed or the device will not work if it is
attached to the driver a second time. This is becuase the driver will
think the device is busy when actually the resources were just never
freed from the previous session. Also the resources must be freed to
safetly disable the device.

> 2) Who decide card is accessible at some time or not?

This is determined by both the pnp layer and the driver model. Becuase a
card is a group of devices the individual devices must also not be matched
to more than one driver. PnP Card Services have a few bugs in this area,
all of which have been resolved in the patch I released last week. Greg,
could you please forward that to Linus.

> 3) And the last, where is the place of ISA not PnP cards in the device
> lists? As I think, they are fit with PnP bus, but their resources
> static(not configurable) or it's just lays under ALSA, apears in
> /proc/asound only and ALSA internals?

Currently the pnp layer does not support legacy non PnP devices. I plan
to add support for them soon. This support should achieve two objectives.
1.) Reserve resources used by the legacy devices
a.) if the resources match an existing pnp devices, bind to that
device
b.) if they conflict but do not match exactly return an error
c.) otherwise reserve the resources and prevent pnp devices from
using them.
2.) Represent these legacy devices in sysfs. Maybe the current legacy dir
could be used or I may have to create "pnp_legacy". Needs more research.

Regards,
Adam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/