Re: [PATCH 1/4] PCI: allow MSI chip providers to implement their own multiple MSI setup

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

 



On Thursday, June 05, 2014 11:46 PM, Lucas Stach wrote:
> 
> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>

(+cc Marek Vasut, Richard Zhu, Kishon Vijay Abraham I, Pratyush Anand)

Reviewed-by: Jingoo Han <jg1.han@xxxxxxxxxxx>

However, I want more detailed commit message as possible.
Thank you.

Best regards,
Jingoo Han

> ---
>  drivers/pci/msi.c   | 3 +++
>  include/linux/msi.h | 2 ++
>  2 files changed, 5 insertions(+)
> 
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index 27a7e67ddfe4..c45399d3061a 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -68,9 +68,12 @@ int __weak arch_msi_check_device(struct pci_dev *dev, int nvec, int type)
> 
>  int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
>  {
> +	struct msi_chip *chip = dev->bus->msi;
>  	struct msi_desc *entry;
>  	int ret;
> 
> +	if (chip && chip->setup_irqs)
> +		return chip->setup_irqs(chip, dev, nvec, type);
>  	/*
>  	 * If an architecture wants to support multiple MSI, it needs to
>  	 * override arch_setup_msi_irqs()
> diff --git a/include/linux/msi.h b/include/linux/msi.h
> index 92a2f991262a..d813f898194c 100644
> --- a/include/linux/msi.h
> +++ b/include/linux/msi.h
> @@ -75,6 +75,8 @@ struct msi_chip {
> 
>  	int (*setup_irq)(struct msi_chip *chip, struct pci_dev *dev,
>  			 struct msi_desc *desc);
> +	int (*setup_irqs)(struct msi_chip *chip, struct pci_dev *dev,
> +			  int nvec, int type);
>  	void (*teardown_irq)(struct msi_chip *chip, unsigned int irq);
>  	int (*check_device)(struct msi_chip *chip, struct pci_dev *dev,
>  			    int nvec, int type);
> --
> 2.0.0.rc2

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux