Re: [PATCH 5/8] staging: vme: add functions for bridge module refcounting

From: Martyn Welch
Date: Tue Aug 09 2011 - 11:05:54 EST

On 09/08/11 15:35, Manohar Vanga wrote:
> Hey Martyn,
>>> I am not really an expert in these matters but would something like a sysfs file
>>> be a cleaner approach to providing information on allocated resources within the
>>> driver?
>> That would probably be a better idea.
> Great! We'll add a sysfs file for this :)

I'm thinking either one for each resource type (slave, master, lm, dma) would
be great. Though it might also be nice to be able to track how each resource
is being used (though I guess that would be quite a bit of work).

>>> int ret = 0;
>>> ...
>>> vme_bridge_get(bridge);
>>> if (driver->probe)
>>> ret = driver->probe(vdev);
>>> if (ret)
>>> vme_bridge_put(bridge);
>>> return ret;
>> After looking at the PCI and RapidIO subsystems, I think this is probably the
>> correct approach. I guess the only quiestion then is at which point is
>> vme_bridge_put() called assuming the probe is successful. I guess at module
>> unload time, though I haven't checked in the PCI and RapidIO code.
> vme_bus_remove()? If it's incorrect, we can always change this later.

Yes, that seems to follow how it's done in RapidIO.

> If we are agreed on this, let me know and I will make the changes and
> resend the patches today.

RapidIO has rio_dev_get and rio_dev_put functions that are called in
rio_device_probe and rio_device_remove. This is equivalent to vme_bus_probe
and vme_bus_remove in the VME code. That seems to be a very appropriate
solution and I'd be happy with that.


>> (Thank you for your patience)
> (no problem)!
> Thanks!
> --
> /manohar

Martyn Welch (Principal Software Engineer) | Registered in England and
GE Intelligent Platforms | Wales (3828642) at 100
T +44(0)127322748 | Barbirolli Square, Manchester,
E martyn.welch@xxxxxx | M2 3AB VAT:GB 927559189
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at