mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [patch] x86: add compilation checks to pci_unmap_ macros
@ 2008-06-29  6:22 Matti Linnanvuori
  2008-06-29 12:52 ` Jan Engelhardt
  2008-06-30 10:23 ` Ingo Molnar
  0 siblings, 2 replies; 5+ messages in thread
From: Matti Linnanvuori @ 2008-06-29  6:22 UTC (permalink / raw)
  To: tglx, mingo, hpa, linux-kernel

From: Matti Linnanvuori <mattilinnanvuori@yahoo.com>

Add compilation checks to pci_unmap_ macros.

Signed-off-by: Matti Linnanvuori <mattilinnanvuori@yahoo.com>

---

--- a/include/asm-x86/pci_32.h	2008-06-29 08:15:20.129045000 +0300
+++ b/include/asm-x86/pci_32.h	2008-06-29 09:03:29.623927000 +0300
@@ -18,12 +18,14 @@ struct pci_dev;
 #define PCI_DMA_BUS_IS_PHYS	(1)

 /* pci_unmap_{page,single} is a nop so... */
-#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)
-#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)
-#define pci_unmap_addr(PTR, ADDR_NAME)		(0)
-#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL)	do { } while (0)
-#define pci_unmap_len(PTR, LEN_NAME)		(0)
-#define pci_unmap_len_set(PTR, LEN_NAME, VAL)	do { } while (0)
+#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)	dma_addr_t ADDR_NAME[0];
+#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)	unsigned LEN_NAME[0];
+#define pci_unmap_addr(PTR, ADDR_NAME)	sizeof((PTR)->ADDR_NAME)
+#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) \
+	do { break; } while (pci_unmap_addr(PTR, ADDR_NAME))
+#define pci_unmap_len(PTR, LEN_NAME)		sizeof((PTR)->LEN_NAME)
+#define pci_unmap_len_set(PTR, LEN_NAME, VAL) \
+	do { break; } while (pci_unmap_len(PTR, LEN_NAME))


 #endif /* __KERNEL__ */

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] x86: add compilation checks to pci_unmap_ macros
  2008-06-29  6:22 [patch] x86: add compilation checks to pci_unmap_ macros Matti Linnanvuori
@ 2008-06-29 12:52 ` Jan Engelhardt
  2008-06-30  6:34   ` Matti Linnanvuori
  2008-06-30 10:18   ` Ingo Molnar
  2008-06-30 10:23 ` Ingo Molnar
  1 sibling, 2 replies; 5+ messages in thread
From: Jan Engelhardt @ 2008-06-29 12:52 UTC (permalink / raw)
  To: Matti Linnanvuori; +Cc: tglx, mingo, hpa, linux-kernel


On Sunday 2008-06-29 08:22, Matti Linnanvuori wrote:
>+#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)	dma_addr_t ADDR_NAME[0];
>+#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)	unsigned LEN_NAME[0];
>+#define pci_unmap_addr(PTR, ADDR_NAME)	sizeof((PTR)->ADDR_NAME)
>+#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) \
>+	do { break; } while (pci_unmap_addr(PTR, ADDR_NAME))

Mh. If addr_name happens to be non-0 for some reason (like, a typo),
then this just introduces a lockup.
(Better to have a no-op with a typo than a sudden lockup. Given
that these are no-ops means they are deprecated, is not it the case?)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] x86: add compilation checks to pci_unmap_ macros
  2008-06-29 12:52 ` Jan Engelhardt
@ 2008-06-30  6:34   ` Matti Linnanvuori
  2008-06-30 10:18   ` Ingo Molnar
  1 sibling, 0 replies; 5+ messages in thread
From: Matti Linnanvuori @ 2008-06-30  6:34 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: tglx, mingo, hpa, linux-kernel

2008/6/29 Jan Engelhardt <jengelh@medozas.de>:
>
> On Sunday 2008-06-29 08:22, Matti Linnanvuori wrote:
>>+#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)     dma_addr_t ADDR_NAME[0];
>>+#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)       unsigned LEN_NAME[0];
>>+#define pci_unmap_addr(PTR, ADDR_NAME)        sizeof((PTR)->ADDR_NAME)
>>+#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) \
>>+      do { break; } while (pci_unmap_addr(PTR, ADDR_NAME))
>
> Mh. If addr_name happens to be non-0 for some reason (like, a typo),
> then this just introduces a lockup.
> (Better to have a no-op with a typo than a sudden lockup.

No, it does not lock up because there is a break statement in the do block.

> Given
> that these are no-ops means they are deprecated, is not it the case?)

I don't think they are deprecated. There is no text about the
deprecation in kernel documents.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] x86: add compilation checks to pci_unmap_ macros
  2008-06-29 12:52 ` Jan Engelhardt
  2008-06-30  6:34   ` Matti Linnanvuori
@ 2008-06-30 10:18   ` Ingo Molnar
  1 sibling, 0 replies; 5+ messages in thread
From: Ingo Molnar @ 2008-06-30 10:18 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: Matti Linnanvuori, tglx, mingo, hpa, linux-kernel


* Jan Engelhardt <jengelh@medozas.de> wrote:

> [...] Given that these are no-ops means they are deprecated, is not it 
> the case?)

see higher up in the file:

/* Dynamic DMA mapping stuff.
 * i386 has everything mapped statically.
 */

because everything is 1:1 mapped on 32-bit it's a NOP.

	Ingo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] x86: add compilation checks to pci_unmap_ macros
  2008-06-29  6:22 [patch] x86: add compilation checks to pci_unmap_ macros Matti Linnanvuori
  2008-06-29 12:52 ` Jan Engelhardt
@ 2008-06-30 10:23 ` Ingo Molnar
  1 sibling, 0 replies; 5+ messages in thread
From: Ingo Molnar @ 2008-06-30 10:23 UTC (permalink / raw)
  To: Matti Linnanvuori; +Cc: tglx, mingo, hpa, linux-kernel


* Matti Linnanvuori <mattilinn@gmail.com> wrote:

> From: Matti Linnanvuori <mattilinnanvuori@yahoo.com>
> 
> Add compilation checks to pci_unmap_ macros.

> -#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)
> -#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)
> -#define pci_unmap_addr(PTR, ADDR_NAME)		(0)
> -#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL)	do { } while (0)
> -#define pci_unmap_len(PTR, LEN_NAME)		(0)
> -#define pci_unmap_len_set(PTR, LEN_NAME, VAL)	do { } while (0)
> +#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)	dma_addr_t ADDR_NAME[0];
> +#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)	unsigned LEN_NAME[0];
> +#define pci_unmap_addr(PTR, ADDR_NAME)	sizeof((PTR)->ADDR_NAME)
> +#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) \
> +	do { break; } while (pci_unmap_addr(PTR, ADDR_NAME))
> +#define pci_unmap_len(PTR, LEN_NAME)		sizeof((PTR)->LEN_NAME)
> +#define pci_unmap_len_set(PTR, LEN_NAME, VAL) \
> +	do { break; } while (pci_unmap_len(PTR, LEN_NAME))

applied to tip/x86/cleanups - thanks Matti.

Would you be interested in doing a small cleanup as well and convert the 
parameter names to non-shouting lower-case letters? (If you do it then 
please do it as a delta patch as i've already applied your current 
patch.)

	Ingo

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-06-30 10:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-06-29  6:22 [patch] x86: add compilation checks to pci_unmap_ macros Matti Linnanvuori
2008-06-29 12:52 ` Jan Engelhardt
2008-06-30  6:34   ` Matti Linnanvuori
2008-06-30 10:18   ` Ingo Molnar
2008-06-30 10:23 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome