Re: [PATCH 0/3] Revert MSI msg API churn

From: Bjorn Helgaas
Date: Wed Oct 01 2014 - 14:36:13 EST


On Wed, Oct 01, 2014 at 10:48:16AM -0600, Alex Williamson wrote:
> The MSI message API has gone through some churn, that I think results
> in an inconsistent interface. We now have this:
>
> void read_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
> void get_cached_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
> void __write_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
> void write_msi_msg(unsigned int irq, struct msi_msg *msg);
>
> write_msi_msg() takes an irq arg, but read_msi_msg() takes an
> msi_desc. Presumably write_msi_msg() was not converted because it
> has a much larger user base, but this sort of inconsitency results
> in a poor API.

Yeah, that isn't good, thanks for noticing.

I rebuilt the pci/msi branch and dropped the commits you mentioned.
The ones that are left are these:

56b72b409579 PCI/MSI: Use __write_msi_msg() instead of write_msi_msg()
1e8f4cc82ede MSI/powerpc: Use __read_msi_msg() instead of read_msi_msg()
2b260085e466 PCI/MSI: Use __get_cached_msi_msg() instead of get_cached_msi_msg()

which I think are OK.

> This series reverts a selection of commits to return us to:
>
> void __read_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
> void __get_cached_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
> void __write_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
> void get_cached_msi_msg(unsigned int irq, struct msi_msg *msg);
> void write_msi_msg(unsigned int irq, struct msi_msg *msg);
>
> I've left the removal of read_msi_msg() since it has no users, but
> restored get_cached_msi_msg() since it has an imminent user. This
> will also cleanup the upcoming merge conflicts in next. Thanks,
>
> Alex
>
> ---
>
> Alex Williamson (3):
> Revert "PCI/MSI: Remove unused get_cached_msi_msg()"
> Revert "PCI/MSI: Rename __get_cached_msi_msg() to get_cached_msi_msg()"
> Revert "PCI/MSI: Rename __read_msi_msg() to read_msi_msg()"
>
>
> arch/ia64/kernel/msi_ia64.c | 2 +-
> arch/ia64/sn/kernel/msi_sn.c | 2 +-
> arch/powerpc/platforms/pseries/msi.c | 2 +-
> arch/x86/kernel/apic/io_apic.c | 2 +-
> arch/x86/pci/xen.c | 2 +-
> drivers/pci/msi.c | 11 +++++++++--
> include/linux/msi.h | 5 +++--
> 7 files changed, 17 insertions(+), 9 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/