Re: Question about multiple modules talking to one adapter

From: Roland Dreier
Date: Mon Aug 08 2005 - 17:13:42 EST


Timur> 1) Each driver registers its own ISR and has its own
Timur> mapping the adapter memory.

This is silly and leads to all sorts of horrible code. For example
you'll have to deal with the fact that only one driver can do
request_mem_region() on the PCI adapter, and no matter what you come
up with, it's going to be ugly.

Timur> 2) Create a single driver which does nothing but register
Timur> an ISR and map the kernel memory. Let's call this the CRM
Timur> driver. The other three drivers can then use XXXXXX to
Timur> provide callbacks for the ISR and obtain the address of the
Timur> mapping. The ISR will then query the adapter and call the
Timur> appropriate callback.

This is the best solution. I don't see any disadvantage to this.

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