Re: [PATCH 0/6] PCI legacy I/O port free driver (take2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Here, there are many PCI devices that provide both I/O port and MMIO
> interface, and some of those devices can be handled without using I/O
> port interface. The reason why such devices provide I/O port interface
> is for compatibility to legacy OSs. So this kind of devices should
> work even if enough I/O port resources are not assigned. The "PCI
> Local Bus Specification Revision 3.0" also mentions about this topic
> (Please see p.44, "IMPLEMENTATION NOTE"). On the current linux,
> unfortunately, this kind of devices don't work if I/O port resources
> are not assigned, because pci_enable_device() for those devices fails.

Which is where the real problem is ... I'm afraid you are doing a
workaround for the wrong issue... do we really need to assign all
resources to the device at pci_enable_device() time ? Yeah, I know, that
sounds gross... but think about it... doesn't pci_request_region(s) look
like a better spot ? Or maybe we should change pci_enable_device()
itself to take a mask of BARs that are relevant. That would help dealing
with a couple of other cases of devices where some BARs really need to
be ignored...

The later is probably the best approach without breaking everything, by
having a new pci_enable_resources(mask) that would take a mask of BARs
to enable, with pci_enable_device() becoming just a call to the former
for all BARs ....

Ben.


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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux