Re: Specifying properly the PCI driver model on all linux archite ctur es, (ioremap(), bus_to_virt(

Martin Mares (mj@ucw.cz)
Wed, 3 Nov 1999 00:15:00 +0100


Hello!

> FREX:
>
> Are you supposed to do:
> struct pci_dev *dev;
>
> irq_value = irq_cannonicalize(dev->irq);
>
> request_irq(irq_value, my_irq, SA_SHIRQ, "myIRQ", deviceID)
> or is the value in dev->irq supposed to have already been cannonized?

Already canonized.

> In the 2.3 version of pci.txt (as viewed on kernel.org, since I don't have a
> local copy) it makes reference to needing to call pci_set_master(). What (if
> anything) do you have to do on a 2.2 kernel if you have a bus mastering
> device? What LINUX_VERSION_CODE added this new routine?

(1) pci.txt never mentioned you _need_ to call pci_set_master(), you can
do the same thing itself if you want, it's only a helper routine in order
to simplify most drivers.

(2) pci_set_master() exists in both 2.2 and 2.3 and it works in the
same way.

> Based on a lot of reading between the lines, I believe you do not have to
> ever call check_region() or region_request() to claim your PCI address
> space. I think these routines are only used for ISA.

You should use them for PCI regions as well.

Have a nice fortnight

-- 
Martin `MJ' Mares   <mj@ucw.cz>   http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
"For every complex problem, there's a solution that is simple, neat and wrong."

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