[PATCH v2 3/9] ata: ahci: custom irq init for host init
Hans de Goede
hdegoede at redhat.com
Mon Nov 9 09:00:58 EST 2020
Hi,
On 11/4/20 4:52 PM, sven.auhagen at voleatech.de wrote:
> From: Sven Auhagen <sven.auhagen at voleatech.de>
>
> Disable the platform irq init in ahci init platform host
> if it was initiated by a custom function.
> To check for it I am using the AHCI_HFLAG_MULTI_MSI flag.
>
> Suggested-by: Hans de Goede <hdegoede at redhat.com>
> Signed-off-by: Sven Auhagen <sven.auhagen at voleatech.de>
The code is fine here. But I'm not entirely happy with
the commit message how about:
"""
ata: libahci_platform: Do not try to get an IRQ when AHCI_HFLAG_MULTI_MSI is set
When the ahci-host AHCI_HFLAG_MULTI_MSI flag is set then the driver must provide
a get_irq_vector callback and take care of getting the IRQs itself. So in this
case ahci_platform_init_host() should not try to get an IRQ itself.
"""
With the commit message updated to the above (or something similar) you
may add my:
Reviewed-by: Hans de Goede <hdegoede at redhat.com>
I've also just given you my Reviewed-by for patch 4 and 5, and the
result already has a Reviewed-by.
So if you can sendout a v3 of this series with the commit message for
this patch fixed, then it is ready for merging from my pov.
Regards,
Hans
> ---
> drivers/ata/libahci_platform.c | 16 +++++++++-------
> 1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/ata/libahci_platform.c b/drivers/ata/libahci_platform.c
> index de638dafce21..f6f2a111d226 100644
> --- a/drivers/ata/libahci_platform.c
> +++ b/drivers/ata/libahci_platform.c
> @@ -581,14 +581,16 @@ int ahci_platform_init_host(struct platform_device *pdev,
> struct ata_host *host;
> int i, irq, n_ports, rc;
>
> - irq = platform_get_irq(pdev, 0);
> - if (irq <= 0) {
> - if (irq != -EPROBE_DEFER)
> - dev_err(dev, "no irq\n");
> - return irq;
> - }
> + if (!(hpriv->flags & AHCI_HFLAG_MULTI_MSI)) {
> + irq = platform_get_irq(pdev, 0);
> + if (irq <= 0) {
> + if (irq != -EPROBE_DEFER)
> + dev_err(dev, "no irq\n");
> + return irq;
> + }
>
> - hpriv->irq = irq;
> + hpriv->irq = irq;
> + }
>
> /* prepare host */
> pi.private_data = (void *)(unsigned long)hpriv->flags;
>
More information about the linux-arm-kernel
mailing list