mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-22 23:04:43 +00:00
mcb: Add support for shared PCI IRQs
Add support for shared PCI IRQs to mcb and mcb-pci. Signed-off-by: Johannes Thumshirn <johannes.thumshirn@men.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
2e1c951f5d
commit
4ec65b77c6
3 changed files with 36 additions and 7 deletions
|
@ -20,6 +20,15 @@ struct priv {
|
|||
void __iomem *base;
|
||||
};
|
||||
|
||||
static int mcb_pci_get_irq(struct mcb_device *mdev)
|
||||
{
|
||||
struct mcb_bus *mbus = mdev->bus;
|
||||
struct device *dev = mbus->carrier;
|
||||
struct pci_dev *pdev = to_pci_dev(dev);
|
||||
|
||||
return pdev->irq;
|
||||
}
|
||||
|
||||
static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||
{
|
||||
struct priv *priv;
|
||||
|
@ -67,7 +76,13 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
|||
|
||||
pci_set_drvdata(pdev, priv);
|
||||
|
||||
priv->bus = mcb_alloc_bus();
|
||||
priv->bus = mcb_alloc_bus(&pdev->dev);
|
||||
if (IS_ERR(priv->bus)) {
|
||||
ret = PTR_ERR(priv->bus);
|
||||
goto err_drvdata;
|
||||
}
|
||||
|
||||
priv->bus->get_irq = mcb_pci_get_irq;
|
||||
|
||||
ret = chameleon_parse_cells(priv->bus, mapbase, priv->base);
|
||||
if (ret < 0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue